Fixed architecture dependencies and removed unnecesary SMP support.
Cleanup of x86 specific code
Rewrite architecture detection code