diff --git a/arch/x86/cpu/sc520/sc520.c b/arch/x86/cpu/sc520/sc520.c
index e37c4037dd0571205a7a925713d6b646de049978..4892c0153f93c8b965cfe96bb0012596220f6681 100644
--- a/arch/x86/cpu/sc520/sc520.c
+++ b/arch/x86/cpu/sc520/sc520.c
@@ -27,7 +27,7 @@
 #include <common.h>
 #include <asm/io.h>
 #include <asm/processor-flags.h>
-#include <asm/ic/sc520.h>
+#include <asm/arch/sc520.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/sc520/sc520_car.S b/arch/x86/cpu/sc520/sc520_car.S
index a33f94f4919a5d5cc448cd91747eb72f04120702..7cac4d1def913dac0568da6c7fe9494b0728777a 100644
--- a/arch/x86/cpu/sc520/sc520_car.S
+++ b/arch/x86/cpu/sc520/sc520_car.S
@@ -23,7 +23,7 @@
 
 #include <config.h>
 #include <asm/processor-flags.h>
-#include <asm/ic/sc520.h>
+#include <asm/arch/sc520.h>
 
 .section .text
 
diff --git a/arch/x86/cpu/sc520/sc520_pci.c b/arch/x86/cpu/sc520/sc520_pci.c
index 32d4802ebad3b2571b8f0c1596b3f927fa380a9b..e26793ab1bd4ab8249c4190143c47d5a7eab4b0a 100644
--- a/arch/x86/cpu/sc520/sc520_pci.c
+++ b/arch/x86/cpu/sc520/sc520_pci.c
@@ -28,8 +28,8 @@
 #include <pci.h>
 #include <asm/io.h>
 #include <asm/pci.h>
-#include <asm/ic/pci.h>
-#include <asm/ic/sc520.h>
+#include <asm/arch/pci.h>
+#include <asm/arch/sc520.h>
 
 static struct {
 	u8 priority;
diff --git a/arch/x86/cpu/sc520/sc520_reset.c b/arch/x86/cpu/sc520/sc520_reset.c
index 18890c3a537c3d41ccc80eb2d8f71cfdb2cd9aca..137af978c1b127fc37f944355b479423df1a2fda 100644
--- a/arch/x86/cpu/sc520/sc520_reset.c
+++ b/arch/x86/cpu/sc520/sc520_reset.c
@@ -26,7 +26,7 @@
 
 #include <common.h>
 #include <asm/io.h>
-#include <asm/ic/sc520.h>
+#include <asm/arch/sc520.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/sc520/sc520_sdram.c b/arch/x86/cpu/sc520/sc520_sdram.c
index f3623f53f2580ec5efcf1feb9d6550bade277137..57e4e7ddc3455149b0920e181c416e21095b87b6 100644
--- a/arch/x86/cpu/sc520/sc520_sdram.c
+++ b/arch/x86/cpu/sc520/sc520_sdram.c
@@ -24,7 +24,7 @@
 #include <common.h>
 #include <asm/io.h>
 #include <asm/processor-flags.h>
-#include <asm/ic/sc520.h>
+#include <asm/arch/sc520.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/sc520/sc520_ssi.c b/arch/x86/cpu/sc520/sc520_ssi.c
index 47aa80bfce7bbbacdda576fa5a6a753e194ac982..3a6a85809126eef1f6c7cd7d4b418ce21f8ec63f 100644
--- a/arch/x86/cpu/sc520/sc520_ssi.c
+++ b/arch/x86/cpu/sc520/sc520_ssi.c
@@ -23,8 +23,8 @@
 
 #include <common.h>
 #include <asm/io.h>
-#include <asm/ic/ssi.h>
-#include <asm/ic/sc520.h>
+#include <asm/arch/ssi.h>
+#include <asm/arch/sc520.h>
 
 int ssi_set_interface(int freq, int lsb_first, int inv_clock, int inv_phase)
 {
diff --git a/arch/x86/cpu/sc520/sc520_timer.c b/arch/x86/cpu/sc520/sc520_timer.c
index 5cccda1f2870b29dd70fe2177a24b78c1973df27..05bc9c1103cf2070818ba7cd32863f79f81baaec 100644
--- a/arch/x86/cpu/sc520/sc520_timer.c
+++ b/arch/x86/cpu/sc520/sc520_timer.c
@@ -27,7 +27,7 @@
 #include <common.h>
 #include <asm/io.h>
 #include <asm/interrupt.h>
-#include <asm/ic/sc520.h>
+#include <asm/arch/sc520.h>
 
 void sc520_timer_isr(void)
 {
diff --git a/arch/x86/cpu/start16.S b/arch/x86/cpu/start16.S
index 3d3017a0eb963c32ba29d164fcd1188cb247b994..9dabff2b9f3309f2253ead84d28130f7a28066f0 100644
--- a/arch/x86/cpu/start16.S
+++ b/arch/x86/cpu/start16.S
@@ -50,7 +50,7 @@ board_init16_ret:
 
 	/* Turn of cache (this might require a 486-class CPU) */
 	movl	%cr0, %eax
-	orl	$(X86_CR0_NW & X86_CR0_CD), %eax
+	orl	$(X86_CR0_NW | X86_CR0_CD), %eax
 	movl	%eax, %cr0
 	wbinvd
 
diff --git a/arch/x86/include/asm/ic/pci.h b/arch/x86/include/asm/arch-sc520/pci.h
similarity index 100%
rename from arch/x86/include/asm/ic/pci.h
rename to arch/x86/include/asm/arch-sc520/pci.h
diff --git a/arch/x86/include/asm/ic/sc520.h b/arch/x86/include/asm/arch-sc520/sc520.h
similarity index 100%
rename from arch/x86/include/asm/ic/sc520.h
rename to arch/x86/include/asm/arch-sc520/sc520.h
diff --git a/arch/x86/include/asm/ic/ssi.h b/arch/x86/include/asm/arch-sc520/ssi.h
similarity index 100%
rename from arch/x86/include/asm/ic/ssi.h
rename to arch/x86/include/asm/arch-sc520/ssi.h
diff --git a/arch/x86/include/asm/u-boot-x86.h b/arch/x86/include/asm/u-boot-x86.h
index accc8fa4c7a85d41c85912a197c83da3544acd04..d3e2f4c492805a6726f13850add227d88b032fbf 100644
--- a/arch/x86/include/asm/u-boot-x86.h
+++ b/arch/x86/include/asm/u-boot-x86.h
@@ -42,7 +42,6 @@ int dram_init_f(void);
 int cpu_init_interrupts(void);
 
 /* board/.../... */
-int board_init(void);
 int dram_init(void);
 
 void setup_pcat_compatibility(void);
diff --git a/arch/x86/lib/realmode.c b/arch/x86/lib/realmode.c
index c1133934155b389ad41f42d6955ae6c611267ce2..6aa0f23a1a411fcca5235942e5870035a364c01b 100644
--- a/arch/x86/lib/realmode.c
+++ b/arch/x86/lib/realmode.c
@@ -41,7 +41,7 @@ int realmode_setup(void)
 	if (realmode_size > (REALMODE_MAILBOX - (char *)REALMODE_BASE)) {
 		printf("realmode switch too large (%ld bytes, max is %d)\n",
 		       realmode_size,
-		       (REALMODE_MAILBOX - (char *)REALMODE_BASE));
+		       (int)(REALMODE_MAILBOX - (char *)REALMODE_BASE));
 		return -1;
 	}
 
diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c
index 6682e0de580517a93d5d4b24ab6e7d89ff49ad81..d2dd6fd4493788c7920f3b5b5fdede07cab62731 100644
--- a/arch/x86/lib/zimage.c
+++ b/arch/x86/lib/zimage.c
@@ -35,7 +35,6 @@
 #include <asm/realmode.h>
 #include <asm/byteorder.h>
 #include <asm/bootparam.h>
-#include <asm/ic/sc520.h>
 
 /*
  * Memory lay-out:
diff --git a/board/eNET/eNET.c b/board/eNET/eNET.c
index 2a5636c0737360bbbac273b2e2a7c41057988202..c4ed82029df72c5089af8ad6d6c9b348a191366a 100644
--- a/board/eNET/eNET.c
+++ b/board/eNET/eNET.c
@@ -23,7 +23,7 @@
 
 #include <common.h>
 #include <asm/io.h>
-#include <asm/ic/sc520.h>
+#include <asm/arch/sc520.h>
 #include <net.h>
 #include <netdev.h>
 
diff --git a/board/eNET/eNET_pci.c b/board/eNET/eNET_pci.c
index d97387ecd7f334100d701797842dbd641e34e529..29d13d2518a3f0c209377498bdaaac510027f804 100644
--- a/board/eNET/eNET_pci.c
+++ b/board/eNET/eNET_pci.c
@@ -27,7 +27,7 @@
 #include <common.h>
 #include <pci.h>
 #include <asm/pci.h>
-#include <asm/ic/pci.h>
+#include <asm/arch/pci.h>
 
 static void pci_enet_fixup_irq(struct pci_controller *hose, pci_dev_t dev)
 {
diff --git a/board/eNET/eNET_start16.S b/board/eNET/eNET_start16.S
index 77e5519640da489e37f84e5dcd2ce069538fbf7b..4241f6e10411dc82326d4e04753833876f40a299 100644
--- a/board/eNET/eNET_start16.S
+++ b/board/eNET/eNET_start16.S
@@ -27,11 +27,9 @@
  * that is used by U-boot to its final destination.
  */
 
-/* #include <asm/ic/sc520_defs.h> */
-
 #include "config.h"
 #include "hardware.h"
-#include <asm/ic/sc520.h>
+#include <asm/arch/sc520.h>
 
 .text
 .section .start16, "ax"