diff --git a/Makefile b/Makefile
index ddfe73c063fa76e3655da0eef46ae8183a407d7f..e922ec3a7bcde15c6a68a4715909bca3ef4c53aa 100644
--- a/Makefile
+++ b/Makefile
@@ -193,7 +193,7 @@ ifdef SOC
 LIBS += $(CPUDIR)/$(SOC)/lib$(SOC).a
 endif
 ifeq ($(CPU),ixp)
-LIBS += cpu/ixp/npe/libnpe.a
+LIBS += arch/arm/cpu/ixp/npe/libnpe.a
 endif
 LIBS += arch/$(ARCH)/lib/lib$(ARCH).a
 LIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a \
diff --git a/cpu/arm1136/Makefile b/arch/arm/cpu/arm1136/Makefile
similarity index 100%
rename from cpu/arm1136/Makefile
rename to arch/arm/cpu/arm1136/Makefile
diff --git a/cpu/arm1136/config.mk b/arch/arm/cpu/arm1136/config.mk
similarity index 100%
rename from cpu/arm1136/config.mk
rename to arch/arm/cpu/arm1136/config.mk
diff --git a/cpu/arm1136/cpu.c b/arch/arm/cpu/arm1136/cpu.c
similarity index 100%
rename from cpu/arm1136/cpu.c
rename to arch/arm/cpu/arm1136/cpu.c
diff --git a/cpu/arm1136/mx31/Makefile b/arch/arm/cpu/arm1136/mx31/Makefile
similarity index 100%
rename from cpu/arm1136/mx31/Makefile
rename to arch/arm/cpu/arm1136/mx31/Makefile
diff --git a/cpu/arm1136/mx31/devices.c b/arch/arm/cpu/arm1136/mx31/devices.c
similarity index 100%
rename from cpu/arm1136/mx31/devices.c
rename to arch/arm/cpu/arm1136/mx31/devices.c
diff --git a/cpu/arm1136/mx31/generic.c b/arch/arm/cpu/arm1136/mx31/generic.c
similarity index 100%
rename from cpu/arm1136/mx31/generic.c
rename to arch/arm/cpu/arm1136/mx31/generic.c
diff --git a/cpu/arm1136/mx31/timer.c b/arch/arm/cpu/arm1136/mx31/timer.c
similarity index 100%
rename from cpu/arm1136/mx31/timer.c
rename to arch/arm/cpu/arm1136/mx31/timer.c
diff --git a/cpu/arm1136/omap24xx/Makefile b/arch/arm/cpu/arm1136/omap24xx/Makefile
similarity index 100%
rename from cpu/arm1136/omap24xx/Makefile
rename to arch/arm/cpu/arm1136/omap24xx/Makefile
diff --git a/cpu/arm1136/omap24xx/reset.S b/arch/arm/cpu/arm1136/omap24xx/reset.S
similarity index 100%
rename from cpu/arm1136/omap24xx/reset.S
rename to arch/arm/cpu/arm1136/omap24xx/reset.S
diff --git a/cpu/arm1136/omap24xx/timer.c b/arch/arm/cpu/arm1136/omap24xx/timer.c
similarity index 100%
rename from cpu/arm1136/omap24xx/timer.c
rename to arch/arm/cpu/arm1136/omap24xx/timer.c
diff --git a/cpu/arm1136/start.S b/arch/arm/cpu/arm1136/start.S
similarity index 100%
rename from cpu/arm1136/start.S
rename to arch/arm/cpu/arm1136/start.S
diff --git a/cpu/arm1136/u-boot.lds b/arch/arm/cpu/arm1136/u-boot.lds
similarity index 97%
rename from cpu/arm1136/u-boot.lds
rename to arch/arm/cpu/arm1136/u-boot.lds
index 7181a569eaf58325513661b09da8ac45383aadef..e7eefc972c4262ca3f5e22712c15272a3523c2a2 100644
--- a/cpu/arm1136/u-boot.lds
+++ b/arch/arm/cpu/arm1136/u-boot.lds
@@ -39,7 +39,7 @@ SECTIONS
 	. = ALIGN(4);
 	.text :
 	{
-		cpu/arm1136/start.o	(.text)
+		arch/arm/cpu/arm1136/start.o	(.text)
 		*(.text)
 	}
 
diff --git a/cpu/arm1176/Makefile b/arch/arm/cpu/arm1176/Makefile
similarity index 100%
rename from cpu/arm1176/Makefile
rename to arch/arm/cpu/arm1176/Makefile
diff --git a/cpu/arm1176/config.mk b/arch/arm/cpu/arm1176/config.mk
similarity index 100%
rename from cpu/arm1176/config.mk
rename to arch/arm/cpu/arm1176/config.mk
diff --git a/cpu/arm1176/cpu.c b/arch/arm/cpu/arm1176/cpu.c
similarity index 100%
rename from cpu/arm1176/cpu.c
rename to arch/arm/cpu/arm1176/cpu.c
diff --git a/cpu/arm1176/s3c64xx/Makefile b/arch/arm/cpu/arm1176/s3c64xx/Makefile
similarity index 100%
rename from cpu/arm1176/s3c64xx/Makefile
rename to arch/arm/cpu/arm1176/s3c64xx/Makefile
diff --git a/cpu/arm1176/s3c64xx/config.mk b/arch/arm/cpu/arm1176/s3c64xx/config.mk
similarity index 100%
rename from cpu/arm1176/s3c64xx/config.mk
rename to arch/arm/cpu/arm1176/s3c64xx/config.mk
diff --git a/cpu/arm1176/s3c64xx/cpu_init.S b/arch/arm/cpu/arm1176/s3c64xx/cpu_init.S
similarity index 100%
rename from cpu/arm1176/s3c64xx/cpu_init.S
rename to arch/arm/cpu/arm1176/s3c64xx/cpu_init.S
diff --git a/cpu/arm1176/s3c64xx/reset.S b/arch/arm/cpu/arm1176/s3c64xx/reset.S
similarity index 100%
rename from cpu/arm1176/s3c64xx/reset.S
rename to arch/arm/cpu/arm1176/s3c64xx/reset.S
diff --git a/cpu/arm1176/s3c64xx/speed.c b/arch/arm/cpu/arm1176/s3c64xx/speed.c
similarity index 100%
rename from cpu/arm1176/s3c64xx/speed.c
rename to arch/arm/cpu/arm1176/s3c64xx/speed.c
diff --git a/cpu/arm1176/s3c64xx/timer.c b/arch/arm/cpu/arm1176/s3c64xx/timer.c
similarity index 100%
rename from cpu/arm1176/s3c64xx/timer.c
rename to arch/arm/cpu/arm1176/s3c64xx/timer.c
diff --git a/cpu/arm1176/start.S b/arch/arm/cpu/arm1176/start.S
similarity index 100%
rename from cpu/arm1176/start.S
rename to arch/arm/cpu/arm1176/start.S
diff --git a/cpu/arm1176/u-boot.lds b/arch/arm/cpu/arm1176/u-boot.lds
similarity index 97%
rename from cpu/arm1176/u-boot.lds
rename to arch/arm/cpu/arm1176/u-boot.lds
index cc682f54dfc543fd4337e10dd25c9abdf8b7ab67..8969587e8c6416ecbbb1330f44c4698aa6e3a7ac 100644
--- a/cpu/arm1176/u-boot.lds
+++ b/arch/arm/cpu/arm1176/u-boot.lds
@@ -31,7 +31,7 @@ SECTIONS
 	. = ALIGN(4);
 	.text :
 	{
-		cpu/arm1176/start.o	(.text)
+		arch/arm/cpu/arm1176/start.o	(.text)
 		*(.text)
 	}
 
diff --git a/cpu/arm720t/Makefile b/arch/arm/cpu/arm720t/Makefile
similarity index 100%
rename from cpu/arm720t/Makefile
rename to arch/arm/cpu/arm720t/Makefile
diff --git a/cpu/arm720t/config.mk b/arch/arm/cpu/arm720t/config.mk
similarity index 100%
rename from cpu/arm720t/config.mk
rename to arch/arm/cpu/arm720t/config.mk
diff --git a/cpu/arm720t/cpu.c b/arch/arm/cpu/arm720t/cpu.c
similarity index 100%
rename from cpu/arm720t/cpu.c
rename to arch/arm/cpu/arm720t/cpu.c
diff --git a/cpu/arm720t/interrupts.c b/arch/arm/cpu/arm720t/interrupts.c
similarity index 100%
rename from cpu/arm720t/interrupts.c
rename to arch/arm/cpu/arm720t/interrupts.c
diff --git a/cpu/arm720t/lpc2292/Makefile b/arch/arm/cpu/arm720t/lpc2292/Makefile
similarity index 100%
rename from cpu/arm720t/lpc2292/Makefile
rename to arch/arm/cpu/arm720t/lpc2292/Makefile
diff --git a/cpu/arm720t/lpc2292/flash.c b/arch/arm/cpu/arm720t/lpc2292/flash.c
similarity index 100%
rename from cpu/arm720t/lpc2292/flash.c
rename to arch/arm/cpu/arm720t/lpc2292/flash.c
diff --git a/cpu/arm720t/lpc2292/iap_entry.S b/arch/arm/cpu/arm720t/lpc2292/iap_entry.S
similarity index 100%
rename from cpu/arm720t/lpc2292/iap_entry.S
rename to arch/arm/cpu/arm720t/lpc2292/iap_entry.S
diff --git a/cpu/arm720t/lpc2292/mmc.c b/arch/arm/cpu/arm720t/lpc2292/mmc.c
similarity index 100%
rename from cpu/arm720t/lpc2292/mmc.c
rename to arch/arm/cpu/arm720t/lpc2292/mmc.c
diff --git a/cpu/arm720t/lpc2292/mmc_hw.c b/arch/arm/cpu/arm720t/lpc2292/mmc_hw.c
similarity index 100%
rename from cpu/arm720t/lpc2292/mmc_hw.c
rename to arch/arm/cpu/arm720t/lpc2292/mmc_hw.c
diff --git a/cpu/arm720t/lpc2292/mmc_hw.h b/arch/arm/cpu/arm720t/lpc2292/mmc_hw.h
similarity index 100%
rename from cpu/arm720t/lpc2292/mmc_hw.h
rename to arch/arm/cpu/arm720t/lpc2292/mmc_hw.h
diff --git a/cpu/arm720t/lpc2292/spi.c b/arch/arm/cpu/arm720t/lpc2292/spi.c
similarity index 100%
rename from cpu/arm720t/lpc2292/spi.c
rename to arch/arm/cpu/arm720t/lpc2292/spi.c
diff --git a/cpu/arm720t/s3c4510b/Makefile b/arch/arm/cpu/arm720t/s3c4510b/Makefile
similarity index 100%
rename from cpu/arm720t/s3c4510b/Makefile
rename to arch/arm/cpu/arm720t/s3c4510b/Makefile
diff --git a/cpu/arm720t/s3c4510b/cache.c b/arch/arm/cpu/arm720t/s3c4510b/cache.c
similarity index 100%
rename from cpu/arm720t/s3c4510b/cache.c
rename to arch/arm/cpu/arm720t/s3c4510b/cache.c
diff --git a/cpu/arm720t/start.S b/arch/arm/cpu/arm720t/start.S
similarity index 100%
rename from cpu/arm720t/start.S
rename to arch/arm/cpu/arm720t/start.S
diff --git a/cpu/arm720t/u-boot.lds b/arch/arm/cpu/arm720t/u-boot.lds
similarity index 97%
rename from cpu/arm720t/u-boot.lds
rename to arch/arm/cpu/arm720t/u-boot.lds
index 111c3f5a6a85c76fa88aad1bb4e10d94907f170d..c975fc3d5e4ffb5e7e8200f78bd17ae4c88ffa32 100644
--- a/cpu/arm720t/u-boot.lds
+++ b/arch/arm/cpu/arm720t/u-boot.lds
@@ -31,7 +31,7 @@ SECTIONS
 	. = ALIGN(4);
 	.text :
 	{
-		cpu/arm720t/start.o	(.text)
+		arch/arm/cpu/arm720t/start.o	(.text)
 		*(.text)
 	}
 
diff --git a/cpu/arm920t/Makefile b/arch/arm/cpu/arm920t/Makefile
similarity index 100%
rename from cpu/arm920t/Makefile
rename to arch/arm/cpu/arm920t/Makefile
diff --git a/cpu/arm920t/a320/Makefile b/arch/arm/cpu/arm920t/a320/Makefile
similarity index 100%
rename from cpu/arm920t/a320/Makefile
rename to arch/arm/cpu/arm920t/a320/Makefile
diff --git a/cpu/arm920t/a320/ftsmc020.c b/arch/arm/cpu/arm920t/a320/ftsmc020.c
similarity index 100%
rename from cpu/arm920t/a320/ftsmc020.c
rename to arch/arm/cpu/arm920t/a320/ftsmc020.c
diff --git a/cpu/arm920t/a320/reset.S b/arch/arm/cpu/arm920t/a320/reset.S
similarity index 100%
rename from cpu/arm920t/a320/reset.S
rename to arch/arm/cpu/arm920t/a320/reset.S
diff --git a/cpu/arm920t/a320/timer.c b/arch/arm/cpu/arm920t/a320/timer.c
similarity index 100%
rename from cpu/arm920t/a320/timer.c
rename to arch/arm/cpu/arm920t/a320/timer.c
diff --git a/cpu/arm920t/at91/Makefile b/arch/arm/cpu/arm920t/at91/Makefile
similarity index 100%
rename from cpu/arm920t/at91/Makefile
rename to arch/arm/cpu/arm920t/at91/Makefile
diff --git a/cpu/arm920t/at91/lowlevel_init.S b/arch/arm/cpu/arm920t/at91/lowlevel_init.S
similarity index 100%
rename from cpu/arm920t/at91/lowlevel_init.S
rename to arch/arm/cpu/arm920t/at91/lowlevel_init.S
diff --git a/cpu/arm920t/at91/reset.c b/arch/arm/cpu/arm920t/at91/reset.c
similarity index 100%
rename from cpu/arm920t/at91/reset.c
rename to arch/arm/cpu/arm920t/at91/reset.c
diff --git a/cpu/arm920t/at91/timer.c b/arch/arm/cpu/arm920t/at91/timer.c
similarity index 100%
rename from cpu/arm920t/at91/timer.c
rename to arch/arm/cpu/arm920t/at91/timer.c
diff --git a/cpu/arm920t/at91rm9200/Makefile b/arch/arm/cpu/arm920t/at91rm9200/Makefile
similarity index 100%
rename from cpu/arm920t/at91rm9200/Makefile
rename to arch/arm/cpu/arm920t/at91rm9200/Makefile
diff --git a/cpu/arm920t/at91rm9200/bcm5221.c b/arch/arm/cpu/arm920t/at91rm9200/bcm5221.c
similarity index 100%
rename from cpu/arm920t/at91rm9200/bcm5221.c
rename to arch/arm/cpu/arm920t/at91rm9200/bcm5221.c
diff --git a/cpu/arm920t/at91rm9200/dm9161.c b/arch/arm/cpu/arm920t/at91rm9200/dm9161.c
similarity index 100%
rename from cpu/arm920t/at91rm9200/dm9161.c
rename to arch/arm/cpu/arm920t/at91rm9200/dm9161.c
diff --git a/cpu/arm920t/at91rm9200/ether.c b/arch/arm/cpu/arm920t/at91rm9200/ether.c
similarity index 100%
rename from cpu/arm920t/at91rm9200/ether.c
rename to arch/arm/cpu/arm920t/at91rm9200/ether.c
diff --git a/cpu/arm920t/at91rm9200/i2c.c b/arch/arm/cpu/arm920t/at91rm9200/i2c.c
similarity index 100%
rename from cpu/arm920t/at91rm9200/i2c.c
rename to arch/arm/cpu/arm920t/at91rm9200/i2c.c
diff --git a/cpu/arm920t/at91rm9200/ks8721.c b/arch/arm/cpu/arm920t/at91rm9200/ks8721.c
similarity index 100%
rename from cpu/arm920t/at91rm9200/ks8721.c
rename to arch/arm/cpu/arm920t/at91rm9200/ks8721.c
diff --git a/cpu/arm920t/at91rm9200/lowlevel_init.S b/arch/arm/cpu/arm920t/at91rm9200/lowlevel_init.S
similarity index 100%
rename from cpu/arm920t/at91rm9200/lowlevel_init.S
rename to arch/arm/cpu/arm920t/at91rm9200/lowlevel_init.S
diff --git a/cpu/arm920t/at91rm9200/lxt972.c b/arch/arm/cpu/arm920t/at91rm9200/lxt972.c
similarity index 100%
rename from cpu/arm920t/at91rm9200/lxt972.c
rename to arch/arm/cpu/arm920t/at91rm9200/lxt972.c
diff --git a/cpu/arm920t/at91rm9200/reset.c b/arch/arm/cpu/arm920t/at91rm9200/reset.c
similarity index 100%
rename from cpu/arm920t/at91rm9200/reset.c
rename to arch/arm/cpu/arm920t/at91rm9200/reset.c
diff --git a/cpu/arm920t/at91rm9200/spi.c b/arch/arm/cpu/arm920t/at91rm9200/spi.c
similarity index 100%
rename from cpu/arm920t/at91rm9200/spi.c
rename to arch/arm/cpu/arm920t/at91rm9200/spi.c
diff --git a/cpu/arm920t/at91rm9200/timer.c b/arch/arm/cpu/arm920t/at91rm9200/timer.c
similarity index 100%
rename from cpu/arm920t/at91rm9200/timer.c
rename to arch/arm/cpu/arm920t/at91rm9200/timer.c
diff --git a/cpu/arm920t/at91rm9200/usb.c b/arch/arm/cpu/arm920t/at91rm9200/usb.c
similarity index 100%
rename from cpu/arm920t/at91rm9200/usb.c
rename to arch/arm/cpu/arm920t/at91rm9200/usb.c
diff --git a/cpu/arm920t/config.mk b/arch/arm/cpu/arm920t/config.mk
similarity index 100%
rename from cpu/arm920t/config.mk
rename to arch/arm/cpu/arm920t/config.mk
diff --git a/cpu/arm920t/cpu.c b/arch/arm/cpu/arm920t/cpu.c
similarity index 100%
rename from cpu/arm920t/cpu.c
rename to arch/arm/cpu/arm920t/cpu.c
diff --git a/cpu/arm920t/ep93xx/Makefile b/arch/arm/cpu/arm920t/ep93xx/Makefile
similarity index 100%
rename from cpu/arm920t/ep93xx/Makefile
rename to arch/arm/cpu/arm920t/ep93xx/Makefile
diff --git a/cpu/arm920t/ep93xx/cpu.c b/arch/arm/cpu/arm920t/ep93xx/cpu.c
similarity index 100%
rename from cpu/arm920t/ep93xx/cpu.c
rename to arch/arm/cpu/arm920t/ep93xx/cpu.c
diff --git a/cpu/arm920t/ep93xx/led.c b/arch/arm/cpu/arm920t/ep93xx/led.c
similarity index 100%
rename from cpu/arm920t/ep93xx/led.c
rename to arch/arm/cpu/arm920t/ep93xx/led.c
diff --git a/cpu/arm920t/ep93xx/lowlevel_init.S b/arch/arm/cpu/arm920t/ep93xx/lowlevel_init.S
similarity index 100%
rename from cpu/arm920t/ep93xx/lowlevel_init.S
rename to arch/arm/cpu/arm920t/ep93xx/lowlevel_init.S
diff --git a/cpu/arm920t/ep93xx/speed.c b/arch/arm/cpu/arm920t/ep93xx/speed.c
similarity index 100%
rename from cpu/arm920t/ep93xx/speed.c
rename to arch/arm/cpu/arm920t/ep93xx/speed.c
diff --git a/cpu/arm920t/ep93xx/timer.c b/arch/arm/cpu/arm920t/ep93xx/timer.c
similarity index 100%
rename from cpu/arm920t/ep93xx/timer.c
rename to arch/arm/cpu/arm920t/ep93xx/timer.c
diff --git a/cpu/arm920t/ep93xx/u-boot.lds b/arch/arm/cpu/arm920t/ep93xx/u-boot.lds
similarity index 97%
rename from cpu/arm920t/ep93xx/u-boot.lds
rename to arch/arm/cpu/arm920t/ep93xx/u-boot.lds
index 737c9d8c1bed4a9b4e5c13cfa947fff9f3135a49..5bfcb02317ef2fc201bb080b736dd20ff3d0ce53 100644
--- a/cpu/arm920t/ep93xx/u-boot.lds
+++ b/arch/arm/cpu/arm920t/ep93xx/u-boot.lds
@@ -31,7 +31,7 @@ SECTIONS
 	. = ALIGN(4);
 	.text      :
 	{
-	  cpu/arm920t/start.o	(.text)
+	  arch/arm/cpu/arm920t/start.o	(.text)
 		/* the EP93xx expects to find the pattern 'CRUS' at 0x1000 */
 	  . = 0x1000;
 	  LONG(0x53555243)
diff --git a/cpu/arm920t/imx/Makefile b/arch/arm/cpu/arm920t/imx/Makefile
similarity index 100%
rename from cpu/arm920t/imx/Makefile
rename to arch/arm/cpu/arm920t/imx/Makefile
diff --git a/cpu/arm920t/imx/generic.c b/arch/arm/cpu/arm920t/imx/generic.c
similarity index 100%
rename from cpu/arm920t/imx/generic.c
rename to arch/arm/cpu/arm920t/imx/generic.c
diff --git a/cpu/arm920t/imx/speed.c b/arch/arm/cpu/arm920t/imx/speed.c
similarity index 100%
rename from cpu/arm920t/imx/speed.c
rename to arch/arm/cpu/arm920t/imx/speed.c
diff --git a/cpu/arm920t/imx/timer.c b/arch/arm/cpu/arm920t/imx/timer.c
similarity index 100%
rename from cpu/arm920t/imx/timer.c
rename to arch/arm/cpu/arm920t/imx/timer.c
diff --git a/cpu/arm920t/interrupts.c b/arch/arm/cpu/arm920t/interrupts.c
similarity index 100%
rename from cpu/arm920t/interrupts.c
rename to arch/arm/cpu/arm920t/interrupts.c
diff --git a/cpu/arm920t/ks8695/Makefile b/arch/arm/cpu/arm920t/ks8695/Makefile
similarity index 100%
rename from cpu/arm920t/ks8695/Makefile
rename to arch/arm/cpu/arm920t/ks8695/Makefile
diff --git a/cpu/arm920t/ks8695/lowlevel_init.S b/arch/arm/cpu/arm920t/ks8695/lowlevel_init.S
similarity index 100%
rename from cpu/arm920t/ks8695/lowlevel_init.S
rename to arch/arm/cpu/arm920t/ks8695/lowlevel_init.S
diff --git a/cpu/arm920t/ks8695/timer.c b/arch/arm/cpu/arm920t/ks8695/timer.c
similarity index 100%
rename from cpu/arm920t/ks8695/timer.c
rename to arch/arm/cpu/arm920t/ks8695/timer.c
diff --git a/cpu/arm920t/s3c24x0/Makefile b/arch/arm/cpu/arm920t/s3c24x0/Makefile
similarity index 100%
rename from cpu/arm920t/s3c24x0/Makefile
rename to arch/arm/cpu/arm920t/s3c24x0/Makefile
diff --git a/cpu/arm920t/s3c24x0/interrupts.c b/arch/arm/cpu/arm920t/s3c24x0/interrupts.c
similarity index 100%
rename from cpu/arm920t/s3c24x0/interrupts.c
rename to arch/arm/cpu/arm920t/s3c24x0/interrupts.c
diff --git a/cpu/arm920t/s3c24x0/speed.c b/arch/arm/cpu/arm920t/s3c24x0/speed.c
similarity index 100%
rename from cpu/arm920t/s3c24x0/speed.c
rename to arch/arm/cpu/arm920t/s3c24x0/speed.c
diff --git a/cpu/arm920t/s3c24x0/timer.c b/arch/arm/cpu/arm920t/s3c24x0/timer.c
similarity index 100%
rename from cpu/arm920t/s3c24x0/timer.c
rename to arch/arm/cpu/arm920t/s3c24x0/timer.c
diff --git a/cpu/arm920t/s3c24x0/usb.c b/arch/arm/cpu/arm920t/s3c24x0/usb.c
similarity index 100%
rename from cpu/arm920t/s3c24x0/usb.c
rename to arch/arm/cpu/arm920t/s3c24x0/usb.c
diff --git a/cpu/arm920t/s3c24x0/usb_ohci.c b/arch/arm/cpu/arm920t/s3c24x0/usb_ohci.c
similarity index 100%
rename from cpu/arm920t/s3c24x0/usb_ohci.c
rename to arch/arm/cpu/arm920t/s3c24x0/usb_ohci.c
diff --git a/cpu/arm920t/s3c24x0/usb_ohci.h b/arch/arm/cpu/arm920t/s3c24x0/usb_ohci.h
similarity index 100%
rename from cpu/arm920t/s3c24x0/usb_ohci.h
rename to arch/arm/cpu/arm920t/s3c24x0/usb_ohci.h
diff --git a/cpu/arm920t/start.S b/arch/arm/cpu/arm920t/start.S
similarity index 100%
rename from cpu/arm920t/start.S
rename to arch/arm/cpu/arm920t/start.S
diff --git a/cpu/arm920t/u-boot.lds b/arch/arm/cpu/arm920t/u-boot.lds
similarity index 97%
rename from cpu/arm920t/u-boot.lds
rename to arch/arm/cpu/arm920t/u-boot.lds
index d9bfbee73b098803b89ee222668cfab9cee01cce..a7decfcd7db221f46e82e578ee42f613373dea52 100644
--- a/cpu/arm920t/u-boot.lds
+++ b/arch/arm/cpu/arm920t/u-boot.lds
@@ -39,7 +39,7 @@ SECTIONS
 	. = ALIGN(4);
 	.text :
 	{
-		cpu/arm920t/start.o	(.text)
+		arch/arm/cpu/arm920t/start.o	(.text)
 		*(.text)
 	}
 
diff --git a/cpu/arm925t/Makefile b/arch/arm/cpu/arm925t/Makefile
similarity index 100%
rename from cpu/arm925t/Makefile
rename to arch/arm/cpu/arm925t/Makefile
diff --git a/cpu/arm925t/config.mk b/arch/arm/cpu/arm925t/config.mk
similarity index 100%
rename from cpu/arm925t/config.mk
rename to arch/arm/cpu/arm925t/config.mk
diff --git a/cpu/arm925t/cpu.c b/arch/arm/cpu/arm925t/cpu.c
similarity index 100%
rename from cpu/arm925t/cpu.c
rename to arch/arm/cpu/arm925t/cpu.c
diff --git a/cpu/arm925t/omap925.c b/arch/arm/cpu/arm925t/omap925.c
similarity index 100%
rename from cpu/arm925t/omap925.c
rename to arch/arm/cpu/arm925t/omap925.c
diff --git a/cpu/arm925t/start.S b/arch/arm/cpu/arm925t/start.S
similarity index 100%
rename from cpu/arm925t/start.S
rename to arch/arm/cpu/arm925t/start.S
diff --git a/cpu/arm925t/timer.c b/arch/arm/cpu/arm925t/timer.c
similarity index 100%
rename from cpu/arm925t/timer.c
rename to arch/arm/cpu/arm925t/timer.c
diff --git a/cpu/arm925t/u-boot.lds b/arch/arm/cpu/arm925t/u-boot.lds
similarity index 97%
rename from cpu/arm925t/u-boot.lds
rename to arch/arm/cpu/arm925t/u-boot.lds
index 694780eba2eba52da9bffc7dca0133679ef67abe..e21d6dc5a7d469d33f54a784212873c928ddadfc 100644
--- a/cpu/arm925t/u-boot.lds
+++ b/arch/arm/cpu/arm925t/u-boot.lds
@@ -34,7 +34,7 @@ SECTIONS
 	. = ALIGN(4);
 	.text :
 	{
-		cpu/arm925t/start.o	(.text)
+		arch/arm/cpu/arm925t/start.o	(.text)
 		*(.text)
 	}
 
diff --git a/cpu/arm926ejs/Makefile b/arch/arm/cpu/arm926ejs/Makefile
similarity index 100%
rename from cpu/arm926ejs/Makefile
rename to arch/arm/cpu/arm926ejs/Makefile
diff --git a/cpu/arm926ejs/at91/Makefile b/arch/arm/cpu/arm926ejs/at91/Makefile
similarity index 100%
rename from cpu/arm926ejs/at91/Makefile
rename to arch/arm/cpu/arm926ejs/at91/Makefile
diff --git a/cpu/arm926ejs/at91/at91cap9_devices.c b/arch/arm/cpu/arm926ejs/at91/at91cap9_devices.c
similarity index 100%
rename from cpu/arm926ejs/at91/at91cap9_devices.c
rename to arch/arm/cpu/arm926ejs/at91/at91cap9_devices.c
diff --git a/cpu/arm926ejs/at91/at91sam9260_devices.c b/arch/arm/cpu/arm926ejs/at91/at91sam9260_devices.c
similarity index 100%
rename from cpu/arm926ejs/at91/at91sam9260_devices.c
rename to arch/arm/cpu/arm926ejs/at91/at91sam9260_devices.c
diff --git a/cpu/arm926ejs/at91/at91sam9261_devices.c b/arch/arm/cpu/arm926ejs/at91/at91sam9261_devices.c
similarity index 100%
rename from cpu/arm926ejs/at91/at91sam9261_devices.c
rename to arch/arm/cpu/arm926ejs/at91/at91sam9261_devices.c
diff --git a/cpu/arm926ejs/at91/at91sam9263_devices.c b/arch/arm/cpu/arm926ejs/at91/at91sam9263_devices.c
similarity index 100%
rename from cpu/arm926ejs/at91/at91sam9263_devices.c
rename to arch/arm/cpu/arm926ejs/at91/at91sam9263_devices.c
diff --git a/cpu/arm926ejs/at91/at91sam9m10g45_devices.c b/arch/arm/cpu/arm926ejs/at91/at91sam9m10g45_devices.c
similarity index 100%
rename from cpu/arm926ejs/at91/at91sam9m10g45_devices.c
rename to arch/arm/cpu/arm926ejs/at91/at91sam9m10g45_devices.c
diff --git a/cpu/arm926ejs/at91/at91sam9rl_devices.c b/arch/arm/cpu/arm926ejs/at91/at91sam9rl_devices.c
similarity index 100%
rename from cpu/arm926ejs/at91/at91sam9rl_devices.c
rename to arch/arm/cpu/arm926ejs/at91/at91sam9rl_devices.c
diff --git a/cpu/arm926ejs/at91/clock.c b/arch/arm/cpu/arm926ejs/at91/clock.c
similarity index 100%
rename from cpu/arm926ejs/at91/clock.c
rename to arch/arm/cpu/arm926ejs/at91/clock.c
diff --git a/cpu/arm926ejs/at91/config.mk b/arch/arm/cpu/arm926ejs/at91/config.mk
similarity index 100%
rename from cpu/arm926ejs/at91/config.mk
rename to arch/arm/cpu/arm926ejs/at91/config.mk
diff --git a/cpu/arm926ejs/at91/cpu.c b/arch/arm/cpu/arm926ejs/at91/cpu.c
similarity index 100%
rename from cpu/arm926ejs/at91/cpu.c
rename to arch/arm/cpu/arm926ejs/at91/cpu.c
diff --git a/cpu/arm926ejs/at91/led.c b/arch/arm/cpu/arm926ejs/at91/led.c
similarity index 100%
rename from cpu/arm926ejs/at91/led.c
rename to arch/arm/cpu/arm926ejs/at91/led.c
diff --git a/cpu/arm926ejs/at91/lowlevel_init.S b/arch/arm/cpu/arm926ejs/at91/lowlevel_init.S
similarity index 100%
rename from cpu/arm926ejs/at91/lowlevel_init.S
rename to arch/arm/cpu/arm926ejs/at91/lowlevel_init.S
diff --git a/cpu/arm926ejs/at91/reset.c b/arch/arm/cpu/arm926ejs/at91/reset.c
similarity index 100%
rename from cpu/arm926ejs/at91/reset.c
rename to arch/arm/cpu/arm926ejs/at91/reset.c
diff --git a/cpu/arm926ejs/at91/timer.c b/arch/arm/cpu/arm926ejs/at91/timer.c
similarity index 100%
rename from cpu/arm926ejs/at91/timer.c
rename to arch/arm/cpu/arm926ejs/at91/timer.c
diff --git a/cpu/arm926ejs/config.mk b/arch/arm/cpu/arm926ejs/config.mk
similarity index 100%
rename from cpu/arm926ejs/config.mk
rename to arch/arm/cpu/arm926ejs/config.mk
diff --git a/cpu/arm926ejs/cpu.c b/arch/arm/cpu/arm926ejs/cpu.c
similarity index 100%
rename from cpu/arm926ejs/cpu.c
rename to arch/arm/cpu/arm926ejs/cpu.c
diff --git a/cpu/arm926ejs/davinci/Makefile b/arch/arm/cpu/arm926ejs/davinci/Makefile
similarity index 100%
rename from cpu/arm926ejs/davinci/Makefile
rename to arch/arm/cpu/arm926ejs/davinci/Makefile
diff --git a/cpu/arm926ejs/davinci/config.mk b/arch/arm/cpu/arm926ejs/davinci/config.mk
similarity index 100%
rename from cpu/arm926ejs/davinci/config.mk
rename to arch/arm/cpu/arm926ejs/davinci/config.mk
diff --git a/cpu/arm926ejs/davinci/cpu.c b/arch/arm/cpu/arm926ejs/davinci/cpu.c
similarity index 100%
rename from cpu/arm926ejs/davinci/cpu.c
rename to arch/arm/cpu/arm926ejs/davinci/cpu.c
diff --git a/cpu/arm926ejs/davinci/dm355.c b/arch/arm/cpu/arm926ejs/davinci/dm355.c
similarity index 100%
rename from cpu/arm926ejs/davinci/dm355.c
rename to arch/arm/cpu/arm926ejs/davinci/dm355.c
diff --git a/cpu/arm926ejs/davinci/dm365.c b/arch/arm/cpu/arm926ejs/davinci/dm365.c
similarity index 100%
rename from cpu/arm926ejs/davinci/dm365.c
rename to arch/arm/cpu/arm926ejs/davinci/dm365.c
diff --git a/cpu/arm926ejs/davinci/dm644x.c b/arch/arm/cpu/arm926ejs/davinci/dm644x.c
similarity index 100%
rename from cpu/arm926ejs/davinci/dm644x.c
rename to arch/arm/cpu/arm926ejs/davinci/dm644x.c
diff --git a/cpu/arm926ejs/davinci/dm646x.c b/arch/arm/cpu/arm926ejs/davinci/dm646x.c
similarity index 100%
rename from cpu/arm926ejs/davinci/dm646x.c
rename to arch/arm/cpu/arm926ejs/davinci/dm646x.c
diff --git a/cpu/arm926ejs/davinci/dp83848.c b/arch/arm/cpu/arm926ejs/davinci/dp83848.c
similarity index 100%
rename from cpu/arm926ejs/davinci/dp83848.c
rename to arch/arm/cpu/arm926ejs/davinci/dp83848.c
diff --git a/cpu/arm926ejs/davinci/lowlevel_init.S b/arch/arm/cpu/arm926ejs/davinci/lowlevel_init.S
similarity index 100%
rename from cpu/arm926ejs/davinci/lowlevel_init.S
rename to arch/arm/cpu/arm926ejs/davinci/lowlevel_init.S
diff --git a/cpu/arm926ejs/davinci/lxt972.c b/arch/arm/cpu/arm926ejs/davinci/lxt972.c
similarity index 100%
rename from cpu/arm926ejs/davinci/lxt972.c
rename to arch/arm/cpu/arm926ejs/davinci/lxt972.c
diff --git a/cpu/arm926ejs/davinci/psc.c b/arch/arm/cpu/arm926ejs/davinci/psc.c
similarity index 100%
rename from cpu/arm926ejs/davinci/psc.c
rename to arch/arm/cpu/arm926ejs/davinci/psc.c
diff --git a/cpu/arm926ejs/davinci/reset.S b/arch/arm/cpu/arm926ejs/davinci/reset.S
similarity index 100%
rename from cpu/arm926ejs/davinci/reset.S
rename to arch/arm/cpu/arm926ejs/davinci/reset.S
diff --git a/cpu/arm926ejs/davinci/timer.c b/arch/arm/cpu/arm926ejs/davinci/timer.c
similarity index 100%
rename from cpu/arm926ejs/davinci/timer.c
rename to arch/arm/cpu/arm926ejs/davinci/timer.c
diff --git a/cpu/arm926ejs/kirkwood/Makefile b/arch/arm/cpu/arm926ejs/kirkwood/Makefile
similarity index 100%
rename from cpu/arm926ejs/kirkwood/Makefile
rename to arch/arm/cpu/arm926ejs/kirkwood/Makefile
diff --git a/cpu/arm926ejs/kirkwood/cpu.c b/arch/arm/cpu/arm926ejs/kirkwood/cpu.c
similarity index 100%
rename from cpu/arm926ejs/kirkwood/cpu.c
rename to arch/arm/cpu/arm926ejs/kirkwood/cpu.c
diff --git a/cpu/arm926ejs/kirkwood/dram.c b/arch/arm/cpu/arm926ejs/kirkwood/dram.c
similarity index 100%
rename from cpu/arm926ejs/kirkwood/dram.c
rename to arch/arm/cpu/arm926ejs/kirkwood/dram.c
diff --git a/cpu/arm926ejs/kirkwood/mpp.c b/arch/arm/cpu/arm926ejs/kirkwood/mpp.c
similarity index 100%
rename from cpu/arm926ejs/kirkwood/mpp.c
rename to arch/arm/cpu/arm926ejs/kirkwood/mpp.c
diff --git a/cpu/arm926ejs/kirkwood/timer.c b/arch/arm/cpu/arm926ejs/kirkwood/timer.c
similarity index 100%
rename from cpu/arm926ejs/kirkwood/timer.c
rename to arch/arm/cpu/arm926ejs/kirkwood/timer.c
diff --git a/cpu/arm926ejs/mx25/Makefile b/arch/arm/cpu/arm926ejs/mx25/Makefile
similarity index 94%
rename from cpu/arm926ejs/mx25/Makefile
rename to arch/arm/cpu/arm926ejs/mx25/Makefile
index 55c1e899be7023f39595453046b16b675545a73c..76f01791a0a35a82c09d0e62c14e5a77a204eab3 100644
--- a/cpu/arm926ejs/mx25/Makefile
+++ b/arch/arm/cpu/arm926ejs/mx25/Makefile
@@ -28,7 +28,7 @@ COBJS	= generic.o timer.o
 MX27OBJS = reset.o
 
 SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
-SRCS	+= $(addprefix $(SRCTREE)/cpu/arm926ejs/mx27/,$(MX27OBJS:.o=.c))
+SRCS	+= $(addprefix $(SRCTREE)/arch/arm/cpu/arm926ejs/mx27/,$(MX27OBJS:.o=.c))
 OBJS	:= $(addprefix $(obj),$(SOBJS) $(COBJS) $(MX27OBJS))
 
 all:	$(obj).depend $(LIB)
diff --git a/cpu/arm926ejs/mx25/generic.c b/arch/arm/cpu/arm926ejs/mx25/generic.c
similarity index 100%
rename from cpu/arm926ejs/mx25/generic.c
rename to arch/arm/cpu/arm926ejs/mx25/generic.c
diff --git a/cpu/arm926ejs/mx25/reset.c b/arch/arm/cpu/arm926ejs/mx25/reset.c
similarity index 100%
rename from cpu/arm926ejs/mx25/reset.c
rename to arch/arm/cpu/arm926ejs/mx25/reset.c
diff --git a/cpu/arm926ejs/mx25/timer.c b/arch/arm/cpu/arm926ejs/mx25/timer.c
similarity index 100%
rename from cpu/arm926ejs/mx25/timer.c
rename to arch/arm/cpu/arm926ejs/mx25/timer.c
diff --git a/cpu/arm926ejs/mx27/Makefile b/arch/arm/cpu/arm926ejs/mx27/Makefile
similarity index 100%
rename from cpu/arm926ejs/mx27/Makefile
rename to arch/arm/cpu/arm926ejs/mx27/Makefile
diff --git a/cpu/arm926ejs/mx27/generic.c b/arch/arm/cpu/arm926ejs/mx27/generic.c
similarity index 100%
rename from cpu/arm926ejs/mx27/generic.c
rename to arch/arm/cpu/arm926ejs/mx27/generic.c
diff --git a/cpu/arm926ejs/mx27/reset.c b/arch/arm/cpu/arm926ejs/mx27/reset.c
similarity index 100%
rename from cpu/arm926ejs/mx27/reset.c
rename to arch/arm/cpu/arm926ejs/mx27/reset.c
diff --git a/cpu/arm926ejs/mx27/timer.c b/arch/arm/cpu/arm926ejs/mx27/timer.c
similarity index 100%
rename from cpu/arm926ejs/mx27/timer.c
rename to arch/arm/cpu/arm926ejs/mx27/timer.c
diff --git a/cpu/arm926ejs/nomadik/Makefile b/arch/arm/cpu/arm926ejs/nomadik/Makefile
similarity index 100%
rename from cpu/arm926ejs/nomadik/Makefile
rename to arch/arm/cpu/arm926ejs/nomadik/Makefile
diff --git a/cpu/arm926ejs/nomadik/gpio.c b/arch/arm/cpu/arm926ejs/nomadik/gpio.c
similarity index 100%
rename from cpu/arm926ejs/nomadik/gpio.c
rename to arch/arm/cpu/arm926ejs/nomadik/gpio.c
diff --git a/cpu/arm926ejs/nomadik/reset.S b/arch/arm/cpu/arm926ejs/nomadik/reset.S
similarity index 100%
rename from cpu/arm926ejs/nomadik/reset.S
rename to arch/arm/cpu/arm926ejs/nomadik/reset.S
diff --git a/cpu/arm926ejs/nomadik/timer.c b/arch/arm/cpu/arm926ejs/nomadik/timer.c
similarity index 100%
rename from cpu/arm926ejs/nomadik/timer.c
rename to arch/arm/cpu/arm926ejs/nomadik/timer.c
diff --git a/cpu/arm926ejs/omap/Makefile b/arch/arm/cpu/arm926ejs/omap/Makefile
similarity index 100%
rename from cpu/arm926ejs/omap/Makefile
rename to arch/arm/cpu/arm926ejs/omap/Makefile
diff --git a/cpu/arm926ejs/omap/cpuinfo.c b/arch/arm/cpu/arm926ejs/omap/cpuinfo.c
similarity index 100%
rename from cpu/arm926ejs/omap/cpuinfo.c
rename to arch/arm/cpu/arm926ejs/omap/cpuinfo.c
diff --git a/cpu/arm926ejs/omap/reset.S b/arch/arm/cpu/arm926ejs/omap/reset.S
similarity index 100%
rename from cpu/arm926ejs/omap/reset.S
rename to arch/arm/cpu/arm926ejs/omap/reset.S
diff --git a/cpu/arm926ejs/omap/timer.c b/arch/arm/cpu/arm926ejs/omap/timer.c
similarity index 100%
rename from cpu/arm926ejs/omap/timer.c
rename to arch/arm/cpu/arm926ejs/omap/timer.c
diff --git a/cpu/arm926ejs/spear/Makefile b/arch/arm/cpu/arm926ejs/spear/Makefile
similarity index 100%
rename from cpu/arm926ejs/spear/Makefile
rename to arch/arm/cpu/arm926ejs/spear/Makefile
diff --git a/cpu/arm926ejs/spear/reset.c b/arch/arm/cpu/arm926ejs/spear/reset.c
similarity index 100%
rename from cpu/arm926ejs/spear/reset.c
rename to arch/arm/cpu/arm926ejs/spear/reset.c
diff --git a/cpu/arm926ejs/spear/timer.c b/arch/arm/cpu/arm926ejs/spear/timer.c
similarity index 100%
rename from cpu/arm926ejs/spear/timer.c
rename to arch/arm/cpu/arm926ejs/spear/timer.c
diff --git a/cpu/arm926ejs/start.S b/arch/arm/cpu/arm926ejs/start.S
similarity index 100%
rename from cpu/arm926ejs/start.S
rename to arch/arm/cpu/arm926ejs/start.S
diff --git a/cpu/arm926ejs/u-boot.lds b/arch/arm/cpu/arm926ejs/u-boot.lds
similarity index 97%
rename from cpu/arm926ejs/u-boot.lds
rename to arch/arm/cpu/arm926ejs/u-boot.lds
index ee5eeb590ae30d970fb19c9459bc85161459a3c1..ecbc58c7c24fa83f23c9a9a83649457087a73e82 100644
--- a/cpu/arm926ejs/u-boot.lds
+++ b/arch/arm/cpu/arm926ejs/u-boot.lds
@@ -31,7 +31,7 @@ SECTIONS
 	. = ALIGN(4);
 	.text :
 	{
-		cpu/arm926ejs/start.o	(.text)
+		arch/arm/cpu/arm926ejs/start.o	(.text)
 		*(.text)
 	}
 
diff --git a/cpu/arm926ejs/versatile/Makefile b/arch/arm/cpu/arm926ejs/versatile/Makefile
similarity index 100%
rename from cpu/arm926ejs/versatile/Makefile
rename to arch/arm/cpu/arm926ejs/versatile/Makefile
diff --git a/cpu/arm926ejs/versatile/reset.S b/arch/arm/cpu/arm926ejs/versatile/reset.S
similarity index 100%
rename from cpu/arm926ejs/versatile/reset.S
rename to arch/arm/cpu/arm926ejs/versatile/reset.S
diff --git a/cpu/arm926ejs/versatile/timer.c b/arch/arm/cpu/arm926ejs/versatile/timer.c
similarity index 100%
rename from cpu/arm926ejs/versatile/timer.c
rename to arch/arm/cpu/arm926ejs/versatile/timer.c
diff --git a/cpu/arm946es/Makefile b/arch/arm/cpu/arm946es/Makefile
similarity index 100%
rename from cpu/arm946es/Makefile
rename to arch/arm/cpu/arm946es/Makefile
diff --git a/cpu/arm946es/config.mk b/arch/arm/cpu/arm946es/config.mk
similarity index 100%
rename from cpu/arm946es/config.mk
rename to arch/arm/cpu/arm946es/config.mk
diff --git a/cpu/arm946es/cpu.c b/arch/arm/cpu/arm946es/cpu.c
similarity index 100%
rename from cpu/arm946es/cpu.c
rename to arch/arm/cpu/arm946es/cpu.c
diff --git a/cpu/arm946es/start.S b/arch/arm/cpu/arm946es/start.S
similarity index 100%
rename from cpu/arm946es/start.S
rename to arch/arm/cpu/arm946es/start.S
diff --git a/cpu/arm946es/u-boot.lds b/arch/arm/cpu/arm946es/u-boot.lds
similarity index 97%
rename from cpu/arm946es/u-boot.lds
rename to arch/arm/cpu/arm946es/u-boot.lds
index 5bd4390fb56e9eabf1f7e0bf18c59004864f689d..fef21c7587ff727b802eef4c16a7e3ba44061b48 100644
--- a/cpu/arm946es/u-boot.lds
+++ b/arch/arm/cpu/arm946es/u-boot.lds
@@ -31,7 +31,7 @@ SECTIONS
 	. = ALIGN(4);
 	.text :
 	{
-		cpu/arm946es/start.o	(.text)
+		arch/arm/cpu/arm946es/start.o	(.text)
 		*(.text)
 	}
 
diff --git a/cpu/arm_cortexa8/Makefile b/arch/arm/cpu/arm_cortexa8/Makefile
similarity index 100%
rename from cpu/arm_cortexa8/Makefile
rename to arch/arm/cpu/arm_cortexa8/Makefile
diff --git a/cpu/arm_cortexa8/config.mk b/arch/arm/cpu/arm_cortexa8/config.mk
similarity index 100%
rename from cpu/arm_cortexa8/config.mk
rename to arch/arm/cpu/arm_cortexa8/config.mk
diff --git a/cpu/arm_cortexa8/cpu.c b/arch/arm/cpu/arm_cortexa8/cpu.c
similarity index 100%
rename from cpu/arm_cortexa8/cpu.c
rename to arch/arm/cpu/arm_cortexa8/cpu.c
diff --git a/cpu/arm_cortexa8/mx51/Makefile b/arch/arm/cpu/arm_cortexa8/mx51/Makefile
similarity index 100%
rename from cpu/arm_cortexa8/mx51/Makefile
rename to arch/arm/cpu/arm_cortexa8/mx51/Makefile
diff --git a/cpu/arm_cortexa8/mx51/clock.c b/arch/arm/cpu/arm_cortexa8/mx51/clock.c
similarity index 100%
rename from cpu/arm_cortexa8/mx51/clock.c
rename to arch/arm/cpu/arm_cortexa8/mx51/clock.c
diff --git a/cpu/arm_cortexa8/mx51/iomux.c b/arch/arm/cpu/arm_cortexa8/mx51/iomux.c
similarity index 100%
rename from cpu/arm_cortexa8/mx51/iomux.c
rename to arch/arm/cpu/arm_cortexa8/mx51/iomux.c
diff --git a/cpu/arm_cortexa8/mx51/lowlevel_init.S b/arch/arm/cpu/arm_cortexa8/mx51/lowlevel_init.S
similarity index 100%
rename from cpu/arm_cortexa8/mx51/lowlevel_init.S
rename to arch/arm/cpu/arm_cortexa8/mx51/lowlevel_init.S
diff --git a/cpu/arm_cortexa8/mx51/soc.c b/arch/arm/cpu/arm_cortexa8/mx51/soc.c
similarity index 100%
rename from cpu/arm_cortexa8/mx51/soc.c
rename to arch/arm/cpu/arm_cortexa8/mx51/soc.c
diff --git a/cpu/arm_cortexa8/mx51/speed.c b/arch/arm/cpu/arm_cortexa8/mx51/speed.c
similarity index 100%
rename from cpu/arm_cortexa8/mx51/speed.c
rename to arch/arm/cpu/arm_cortexa8/mx51/speed.c
diff --git a/cpu/arm_cortexa8/mx51/timer.c b/arch/arm/cpu/arm_cortexa8/mx51/timer.c
similarity index 100%
rename from cpu/arm_cortexa8/mx51/timer.c
rename to arch/arm/cpu/arm_cortexa8/mx51/timer.c
diff --git a/cpu/arm_cortexa8/mx51/u-boot.lds b/arch/arm/cpu/arm_cortexa8/mx51/u-boot.lds
similarity index 97%
rename from cpu/arm_cortexa8/mx51/u-boot.lds
rename to arch/arm/cpu/arm_cortexa8/mx51/u-boot.lds
index 84c173ac7196a26d7521faaa7b91261513fc62c0..2953b9363215db832930050ff1501d6cfe7efc51 100644
--- a/cpu/arm_cortexa8/mx51/u-boot.lds
+++ b/arch/arm/cpu/arm_cortexa8/mx51/u-boot.lds
@@ -36,7 +36,7 @@ SECTIONS
 	. = ALIGN(4);
 	.text	   :
 	{
-	  cpu/arm_cortexa8/start.o
+	  arch/arm/cpu/arm_cortexa8/start.o
 	  *(.text)
 	}
 
diff --git a/cpu/arm_cortexa8/omap3/Makefile b/arch/arm/cpu/arm_cortexa8/omap3/Makefile
similarity index 100%
rename from cpu/arm_cortexa8/omap3/Makefile
rename to arch/arm/cpu/arm_cortexa8/omap3/Makefile
diff --git a/cpu/arm_cortexa8/omap3/board.c b/arch/arm/cpu/arm_cortexa8/omap3/board.c
similarity index 100%
rename from cpu/arm_cortexa8/omap3/board.c
rename to arch/arm/cpu/arm_cortexa8/omap3/board.c
diff --git a/cpu/arm_cortexa8/omap3/cache.S b/arch/arm/cpu/arm_cortexa8/omap3/cache.S
similarity index 100%
rename from cpu/arm_cortexa8/omap3/cache.S
rename to arch/arm/cpu/arm_cortexa8/omap3/cache.S
diff --git a/cpu/arm_cortexa8/omap3/clock.c b/arch/arm/cpu/arm_cortexa8/omap3/clock.c
similarity index 100%
rename from cpu/arm_cortexa8/omap3/clock.c
rename to arch/arm/cpu/arm_cortexa8/omap3/clock.c
diff --git a/cpu/arm_cortexa8/omap3/gpio.c b/arch/arm/cpu/arm_cortexa8/omap3/gpio.c
similarity index 100%
rename from cpu/arm_cortexa8/omap3/gpio.c
rename to arch/arm/cpu/arm_cortexa8/omap3/gpio.c
diff --git a/cpu/arm_cortexa8/omap3/lowlevel_init.S b/arch/arm/cpu/arm_cortexa8/omap3/lowlevel_init.S
similarity index 100%
rename from cpu/arm_cortexa8/omap3/lowlevel_init.S
rename to arch/arm/cpu/arm_cortexa8/omap3/lowlevel_init.S
diff --git a/cpu/arm_cortexa8/omap3/mem.c b/arch/arm/cpu/arm_cortexa8/omap3/mem.c
similarity index 100%
rename from cpu/arm_cortexa8/omap3/mem.c
rename to arch/arm/cpu/arm_cortexa8/omap3/mem.c
diff --git a/cpu/arm_cortexa8/omap3/reset.S b/arch/arm/cpu/arm_cortexa8/omap3/reset.S
similarity index 100%
rename from cpu/arm_cortexa8/omap3/reset.S
rename to arch/arm/cpu/arm_cortexa8/omap3/reset.S
diff --git a/cpu/arm_cortexa8/omap3/sys_info.c b/arch/arm/cpu/arm_cortexa8/omap3/sys_info.c
similarity index 100%
rename from cpu/arm_cortexa8/omap3/sys_info.c
rename to arch/arm/cpu/arm_cortexa8/omap3/sys_info.c
diff --git a/cpu/arm_cortexa8/omap3/syslib.c b/arch/arm/cpu/arm_cortexa8/omap3/syslib.c
similarity index 100%
rename from cpu/arm_cortexa8/omap3/syslib.c
rename to arch/arm/cpu/arm_cortexa8/omap3/syslib.c
diff --git a/cpu/arm_cortexa8/omap3/timer.c b/arch/arm/cpu/arm_cortexa8/omap3/timer.c
similarity index 100%
rename from cpu/arm_cortexa8/omap3/timer.c
rename to arch/arm/cpu/arm_cortexa8/omap3/timer.c
diff --git a/cpu/arm_cortexa8/s5pc1xx/Makefile b/arch/arm/cpu/arm_cortexa8/s5pc1xx/Makefile
similarity index 100%
rename from cpu/arm_cortexa8/s5pc1xx/Makefile
rename to arch/arm/cpu/arm_cortexa8/s5pc1xx/Makefile
diff --git a/cpu/arm_cortexa8/s5pc1xx/cache.S b/arch/arm/cpu/arm_cortexa8/s5pc1xx/cache.S
similarity index 98%
rename from cpu/arm_cortexa8/s5pc1xx/cache.S
rename to arch/arm/cpu/arm_cortexa8/s5pc1xx/cache.S
index 23f527a48548fc5faf9ee2f339c4eea22fe0bd85..906118d8208f1d31aea60dd546274b1ec570d2cd 100644
--- a/cpu/arm_cortexa8/s5pc1xx/cache.S
+++ b/arch/arm/cpu/arm_cortexa8/s5pc1xx/cache.S
@@ -2,7 +2,7 @@
  * Copyright (C) 2009 Samsung Electronics
  * Minkyu Kang <mk7.kang@samsung.com>
  *
- * based on cpu/arm_cortexa8/omap3/cache.S
+ * based on arch/arm/cpu/arm_cortexa8/omap3/cache.S
  *
  * See file CREDITS for list of people who contributed to this
  * project.
diff --git a/cpu/arm_cortexa8/s5pc1xx/clock.c b/arch/arm/cpu/arm_cortexa8/s5pc1xx/clock.c
similarity index 100%
rename from cpu/arm_cortexa8/s5pc1xx/clock.c
rename to arch/arm/cpu/arm_cortexa8/s5pc1xx/clock.c
diff --git a/cpu/arm_cortexa8/s5pc1xx/cpu_info.c b/arch/arm/cpu/arm_cortexa8/s5pc1xx/cpu_info.c
similarity index 100%
rename from cpu/arm_cortexa8/s5pc1xx/cpu_info.c
rename to arch/arm/cpu/arm_cortexa8/s5pc1xx/cpu_info.c
diff --git a/cpu/arm_cortexa8/s5pc1xx/gpio.c b/arch/arm/cpu/arm_cortexa8/s5pc1xx/gpio.c
similarity index 100%
rename from cpu/arm_cortexa8/s5pc1xx/gpio.c
rename to arch/arm/cpu/arm_cortexa8/s5pc1xx/gpio.c
diff --git a/cpu/arm_cortexa8/s5pc1xx/reset.S b/arch/arm/cpu/arm_cortexa8/s5pc1xx/reset.S
similarity index 100%
rename from cpu/arm_cortexa8/s5pc1xx/reset.S
rename to arch/arm/cpu/arm_cortexa8/s5pc1xx/reset.S
diff --git a/cpu/arm_cortexa8/s5pc1xx/sromc.c b/arch/arm/cpu/arm_cortexa8/s5pc1xx/sromc.c
similarity index 100%
rename from cpu/arm_cortexa8/s5pc1xx/sromc.c
rename to arch/arm/cpu/arm_cortexa8/s5pc1xx/sromc.c
diff --git a/cpu/arm_cortexa8/s5pc1xx/timer.c b/arch/arm/cpu/arm_cortexa8/s5pc1xx/timer.c
similarity index 100%
rename from cpu/arm_cortexa8/s5pc1xx/timer.c
rename to arch/arm/cpu/arm_cortexa8/s5pc1xx/timer.c
diff --git a/cpu/arm_cortexa8/start.S b/arch/arm/cpu/arm_cortexa8/start.S
similarity index 100%
rename from cpu/arm_cortexa8/start.S
rename to arch/arm/cpu/arm_cortexa8/start.S
diff --git a/cpu/arm_cortexa8/u-boot.lds b/arch/arm/cpu/arm_cortexa8/u-boot.lds
similarity index 97%
rename from cpu/arm_cortexa8/u-boot.lds
rename to arch/arm/cpu/arm_cortexa8/u-boot.lds
index 4f1711cca00068c7fcd37bf8dae7ddb5cf7c9c80..820e3a10431488310f25a14a0ffd30989ae881a6 100644
--- a/cpu/arm_cortexa8/u-boot.lds
+++ b/arch/arm/cpu/arm_cortexa8/u-boot.lds
@@ -34,7 +34,7 @@ SECTIONS
 	. = ALIGN(4);
 	.text	:
 	{
-		cpu/arm_cortexa8/start.o	(.text)
+		arch/arm/cpu/arm_cortexa8/start.o	(.text)
 		*(.text)
 	}
 
diff --git a/cpu/arm_intcm/Makefile b/arch/arm/cpu/arm_intcm/Makefile
similarity index 100%
rename from cpu/arm_intcm/Makefile
rename to arch/arm/cpu/arm_intcm/Makefile
diff --git a/cpu/arm_intcm/config.mk b/arch/arm/cpu/arm_intcm/config.mk
similarity index 100%
rename from cpu/arm_intcm/config.mk
rename to arch/arm/cpu/arm_intcm/config.mk
diff --git a/cpu/arm_intcm/cpu.c b/arch/arm/cpu/arm_intcm/cpu.c
similarity index 100%
rename from cpu/arm_intcm/cpu.c
rename to arch/arm/cpu/arm_intcm/cpu.c
diff --git a/cpu/arm_intcm/start.S b/arch/arm/cpu/arm_intcm/start.S
similarity index 100%
rename from cpu/arm_intcm/start.S
rename to arch/arm/cpu/arm_intcm/start.S
diff --git a/cpu/arm_intcm/u-boot.lds b/arch/arm/cpu/arm_intcm/u-boot.lds
similarity index 97%
rename from cpu/arm_intcm/u-boot.lds
rename to arch/arm/cpu/arm_intcm/u-boot.lds
index 5eb87fbee76b38874a39f43f2faece7274794132..4ed7d8906d3c5f34e9403171c6dc409cd974b213 100644
--- a/cpu/arm_intcm/u-boot.lds
+++ b/arch/arm/cpu/arm_intcm/u-boot.lds
@@ -31,7 +31,7 @@ SECTIONS
 	. = ALIGN(4);
 	.text :
 	{
-		cpu/arm_intcm/start.o	(.text)
+		arch/arm/cpu/arm_intcm/start.o	(.text)
 		*(.text)
 	}
 
diff --git a/cpu/ixp/Makefile b/arch/arm/cpu/ixp/Makefile
similarity index 100%
rename from cpu/ixp/Makefile
rename to arch/arm/cpu/ixp/Makefile
diff --git a/cpu/ixp/config.mk b/arch/arm/cpu/ixp/config.mk
similarity index 100%
rename from cpu/ixp/config.mk
rename to arch/arm/cpu/ixp/config.mk
diff --git a/cpu/ixp/cpu.c b/arch/arm/cpu/ixp/cpu.c
similarity index 100%
rename from cpu/ixp/cpu.c
rename to arch/arm/cpu/ixp/cpu.c
diff --git a/cpu/ixp/interrupts.c b/arch/arm/cpu/ixp/interrupts.c
similarity index 100%
rename from cpu/ixp/interrupts.c
rename to arch/arm/cpu/ixp/interrupts.c
diff --git a/cpu/ixp/npe/IxEthAcc.c b/arch/arm/cpu/ixp/npe/IxEthAcc.c
similarity index 100%
rename from cpu/ixp/npe/IxEthAcc.c
rename to arch/arm/cpu/ixp/npe/IxEthAcc.c
diff --git a/cpu/ixp/npe/IxEthAccCommon.c b/arch/arm/cpu/ixp/npe/IxEthAccCommon.c
similarity index 100%
rename from cpu/ixp/npe/IxEthAccCommon.c
rename to arch/arm/cpu/ixp/npe/IxEthAccCommon.c
diff --git a/cpu/ixp/npe/IxEthAccControlInterface.c b/arch/arm/cpu/ixp/npe/IxEthAccControlInterface.c
similarity index 100%
rename from cpu/ixp/npe/IxEthAccControlInterface.c
rename to arch/arm/cpu/ixp/npe/IxEthAccControlInterface.c
diff --git a/cpu/ixp/npe/IxEthAccDataPlane.c b/arch/arm/cpu/ixp/npe/IxEthAccDataPlane.c
similarity index 100%
rename from cpu/ixp/npe/IxEthAccDataPlane.c
rename to arch/arm/cpu/ixp/npe/IxEthAccDataPlane.c
diff --git a/cpu/ixp/npe/IxEthAccMac.c b/arch/arm/cpu/ixp/npe/IxEthAccMac.c
similarity index 100%
rename from cpu/ixp/npe/IxEthAccMac.c
rename to arch/arm/cpu/ixp/npe/IxEthAccMac.c
diff --git a/cpu/ixp/npe/IxEthAccMii.c b/arch/arm/cpu/ixp/npe/IxEthAccMii.c
similarity index 100%
rename from cpu/ixp/npe/IxEthAccMii.c
rename to arch/arm/cpu/ixp/npe/IxEthAccMii.c
diff --git a/cpu/ixp/npe/IxEthDBAPI.c b/arch/arm/cpu/ixp/npe/IxEthDBAPI.c
similarity index 100%
rename from cpu/ixp/npe/IxEthDBAPI.c
rename to arch/arm/cpu/ixp/npe/IxEthDBAPI.c
diff --git a/cpu/ixp/npe/IxEthDBAPISupport.c b/arch/arm/cpu/ixp/npe/IxEthDBAPISupport.c
similarity index 100%
rename from cpu/ixp/npe/IxEthDBAPISupport.c
rename to arch/arm/cpu/ixp/npe/IxEthDBAPISupport.c
diff --git a/cpu/ixp/npe/IxEthDBCore.c b/arch/arm/cpu/ixp/npe/IxEthDBCore.c
similarity index 100%
rename from cpu/ixp/npe/IxEthDBCore.c
rename to arch/arm/cpu/ixp/npe/IxEthDBCore.c
diff --git a/cpu/ixp/npe/IxEthDBEvents.c b/arch/arm/cpu/ixp/npe/IxEthDBEvents.c
similarity index 100%
rename from cpu/ixp/npe/IxEthDBEvents.c
rename to arch/arm/cpu/ixp/npe/IxEthDBEvents.c
diff --git a/cpu/ixp/npe/IxEthDBFeatures.c b/arch/arm/cpu/ixp/npe/IxEthDBFeatures.c
similarity index 100%
rename from cpu/ixp/npe/IxEthDBFeatures.c
rename to arch/arm/cpu/ixp/npe/IxEthDBFeatures.c
diff --git a/cpu/ixp/npe/IxEthDBFirewall.c b/arch/arm/cpu/ixp/npe/IxEthDBFirewall.c
similarity index 100%
rename from cpu/ixp/npe/IxEthDBFirewall.c
rename to arch/arm/cpu/ixp/npe/IxEthDBFirewall.c
diff --git a/cpu/ixp/npe/IxEthDBHashtable.c b/arch/arm/cpu/ixp/npe/IxEthDBHashtable.c
similarity index 100%
rename from cpu/ixp/npe/IxEthDBHashtable.c
rename to arch/arm/cpu/ixp/npe/IxEthDBHashtable.c
diff --git a/cpu/ixp/npe/IxEthDBLearning.c b/arch/arm/cpu/ixp/npe/IxEthDBLearning.c
similarity index 100%
rename from cpu/ixp/npe/IxEthDBLearning.c
rename to arch/arm/cpu/ixp/npe/IxEthDBLearning.c
diff --git a/cpu/ixp/npe/IxEthDBMem.c b/arch/arm/cpu/ixp/npe/IxEthDBMem.c
similarity index 100%
rename from cpu/ixp/npe/IxEthDBMem.c
rename to arch/arm/cpu/ixp/npe/IxEthDBMem.c
diff --git a/cpu/ixp/npe/IxEthDBNPEAdaptor.c b/arch/arm/cpu/ixp/npe/IxEthDBNPEAdaptor.c
similarity index 100%
rename from cpu/ixp/npe/IxEthDBNPEAdaptor.c
rename to arch/arm/cpu/ixp/npe/IxEthDBNPEAdaptor.c
diff --git a/cpu/ixp/npe/IxEthDBPortUpdate.c b/arch/arm/cpu/ixp/npe/IxEthDBPortUpdate.c
similarity index 100%
rename from cpu/ixp/npe/IxEthDBPortUpdate.c
rename to arch/arm/cpu/ixp/npe/IxEthDBPortUpdate.c
diff --git a/cpu/ixp/npe/IxEthDBReports.c b/arch/arm/cpu/ixp/npe/IxEthDBReports.c
similarity index 100%
rename from cpu/ixp/npe/IxEthDBReports.c
rename to arch/arm/cpu/ixp/npe/IxEthDBReports.c
diff --git a/cpu/ixp/npe/IxEthDBSearch.c b/arch/arm/cpu/ixp/npe/IxEthDBSearch.c
similarity index 100%
rename from cpu/ixp/npe/IxEthDBSearch.c
rename to arch/arm/cpu/ixp/npe/IxEthDBSearch.c
diff --git a/cpu/ixp/npe/IxEthDBSpanningTree.c b/arch/arm/cpu/ixp/npe/IxEthDBSpanningTree.c
similarity index 100%
rename from cpu/ixp/npe/IxEthDBSpanningTree.c
rename to arch/arm/cpu/ixp/npe/IxEthDBSpanningTree.c
diff --git a/cpu/ixp/npe/IxEthDBUtil.c b/arch/arm/cpu/ixp/npe/IxEthDBUtil.c
similarity index 100%
rename from cpu/ixp/npe/IxEthDBUtil.c
rename to arch/arm/cpu/ixp/npe/IxEthDBUtil.c
diff --git a/cpu/ixp/npe/IxEthDBVlan.c b/arch/arm/cpu/ixp/npe/IxEthDBVlan.c
similarity index 100%
rename from cpu/ixp/npe/IxEthDBVlan.c
rename to arch/arm/cpu/ixp/npe/IxEthDBVlan.c
diff --git a/cpu/ixp/npe/IxEthDBWiFi.c b/arch/arm/cpu/ixp/npe/IxEthDBWiFi.c
similarity index 100%
rename from cpu/ixp/npe/IxEthDBWiFi.c
rename to arch/arm/cpu/ixp/npe/IxEthDBWiFi.c
diff --git a/cpu/ixp/npe/IxEthMii.c b/arch/arm/cpu/ixp/npe/IxEthMii.c
similarity index 100%
rename from cpu/ixp/npe/IxEthMii.c
rename to arch/arm/cpu/ixp/npe/IxEthMii.c
diff --git a/cpu/ixp/npe/IxFeatureCtrl.c b/arch/arm/cpu/ixp/npe/IxFeatureCtrl.c
similarity index 100%
rename from cpu/ixp/npe/IxFeatureCtrl.c
rename to arch/arm/cpu/ixp/npe/IxFeatureCtrl.c
diff --git a/cpu/ixp/npe/IxNpeDl.c b/arch/arm/cpu/ixp/npe/IxNpeDl.c
similarity index 100%
rename from cpu/ixp/npe/IxNpeDl.c
rename to arch/arm/cpu/ixp/npe/IxNpeDl.c
diff --git a/cpu/ixp/npe/IxNpeDlImageMgr.c b/arch/arm/cpu/ixp/npe/IxNpeDlImageMgr.c
similarity index 100%
rename from cpu/ixp/npe/IxNpeDlImageMgr.c
rename to arch/arm/cpu/ixp/npe/IxNpeDlImageMgr.c
diff --git a/cpu/ixp/npe/IxNpeDlNpeMgr.c b/arch/arm/cpu/ixp/npe/IxNpeDlNpeMgr.c
similarity index 100%
rename from cpu/ixp/npe/IxNpeDlNpeMgr.c
rename to arch/arm/cpu/ixp/npe/IxNpeDlNpeMgr.c
diff --git a/cpu/ixp/npe/IxNpeDlNpeMgrUtils.c b/arch/arm/cpu/ixp/npe/IxNpeDlNpeMgrUtils.c
similarity index 100%
rename from cpu/ixp/npe/IxNpeDlNpeMgrUtils.c
rename to arch/arm/cpu/ixp/npe/IxNpeDlNpeMgrUtils.c
diff --git a/cpu/ixp/npe/IxNpeMh.c b/arch/arm/cpu/ixp/npe/IxNpeMh.c
similarity index 100%
rename from cpu/ixp/npe/IxNpeMh.c
rename to arch/arm/cpu/ixp/npe/IxNpeMh.c
diff --git a/cpu/ixp/npe/IxNpeMhConfig.c b/arch/arm/cpu/ixp/npe/IxNpeMhConfig.c
similarity index 100%
rename from cpu/ixp/npe/IxNpeMhConfig.c
rename to arch/arm/cpu/ixp/npe/IxNpeMhConfig.c
diff --git a/cpu/ixp/npe/IxNpeMhReceive.c b/arch/arm/cpu/ixp/npe/IxNpeMhReceive.c
similarity index 100%
rename from cpu/ixp/npe/IxNpeMhReceive.c
rename to arch/arm/cpu/ixp/npe/IxNpeMhReceive.c
diff --git a/cpu/ixp/npe/IxNpeMhSend.c b/arch/arm/cpu/ixp/npe/IxNpeMhSend.c
similarity index 100%
rename from cpu/ixp/npe/IxNpeMhSend.c
rename to arch/arm/cpu/ixp/npe/IxNpeMhSend.c
diff --git a/cpu/ixp/npe/IxNpeMhSolicitedCbMgr.c b/arch/arm/cpu/ixp/npe/IxNpeMhSolicitedCbMgr.c
similarity index 100%
rename from cpu/ixp/npe/IxNpeMhSolicitedCbMgr.c
rename to arch/arm/cpu/ixp/npe/IxNpeMhSolicitedCbMgr.c
diff --git a/cpu/ixp/npe/IxNpeMhUnsolicitedCbMgr.c b/arch/arm/cpu/ixp/npe/IxNpeMhUnsolicitedCbMgr.c
similarity index 100%
rename from cpu/ixp/npe/IxNpeMhUnsolicitedCbMgr.c
rename to arch/arm/cpu/ixp/npe/IxNpeMhUnsolicitedCbMgr.c
diff --git a/cpu/ixp/npe/IxOsalBufferMgt.c b/arch/arm/cpu/ixp/npe/IxOsalBufferMgt.c
similarity index 100%
rename from cpu/ixp/npe/IxOsalBufferMgt.c
rename to arch/arm/cpu/ixp/npe/IxOsalBufferMgt.c
diff --git a/cpu/ixp/npe/IxOsalIoMem.c b/arch/arm/cpu/ixp/npe/IxOsalIoMem.c
similarity index 100%
rename from cpu/ixp/npe/IxOsalIoMem.c
rename to arch/arm/cpu/ixp/npe/IxOsalIoMem.c
diff --git a/cpu/ixp/npe/IxOsalOsCacheMMU.c b/arch/arm/cpu/ixp/npe/IxOsalOsCacheMMU.c
similarity index 100%
rename from cpu/ixp/npe/IxOsalOsCacheMMU.c
rename to arch/arm/cpu/ixp/npe/IxOsalOsCacheMMU.c
diff --git a/cpu/ixp/npe/IxOsalOsMsgQ.c b/arch/arm/cpu/ixp/npe/IxOsalOsMsgQ.c
similarity index 100%
rename from cpu/ixp/npe/IxOsalOsMsgQ.c
rename to arch/arm/cpu/ixp/npe/IxOsalOsMsgQ.c
diff --git a/cpu/ixp/npe/IxOsalOsSemaphore.c b/arch/arm/cpu/ixp/npe/IxOsalOsSemaphore.c
similarity index 100%
rename from cpu/ixp/npe/IxOsalOsSemaphore.c
rename to arch/arm/cpu/ixp/npe/IxOsalOsSemaphore.c
diff --git a/cpu/ixp/npe/IxOsalOsServices.c b/arch/arm/cpu/ixp/npe/IxOsalOsServices.c
similarity index 100%
rename from cpu/ixp/npe/IxOsalOsServices.c
rename to arch/arm/cpu/ixp/npe/IxOsalOsServices.c
diff --git a/cpu/ixp/npe/IxOsalOsThread.c b/arch/arm/cpu/ixp/npe/IxOsalOsThread.c
similarity index 100%
rename from cpu/ixp/npe/IxOsalOsThread.c
rename to arch/arm/cpu/ixp/npe/IxOsalOsThread.c
diff --git a/cpu/ixp/npe/IxQMgrAqmIf.c b/arch/arm/cpu/ixp/npe/IxQMgrAqmIf.c
similarity index 100%
rename from cpu/ixp/npe/IxQMgrAqmIf.c
rename to arch/arm/cpu/ixp/npe/IxQMgrAqmIf.c
diff --git a/cpu/ixp/npe/IxQMgrDispatcher.c b/arch/arm/cpu/ixp/npe/IxQMgrDispatcher.c
similarity index 100%
rename from cpu/ixp/npe/IxQMgrDispatcher.c
rename to arch/arm/cpu/ixp/npe/IxQMgrDispatcher.c
diff --git a/cpu/ixp/npe/IxQMgrInit.c b/arch/arm/cpu/ixp/npe/IxQMgrInit.c
similarity index 100%
rename from cpu/ixp/npe/IxQMgrInit.c
rename to arch/arm/cpu/ixp/npe/IxQMgrInit.c
diff --git a/cpu/ixp/npe/IxQMgrQAccess.c b/arch/arm/cpu/ixp/npe/IxQMgrQAccess.c
similarity index 100%
rename from cpu/ixp/npe/IxQMgrQAccess.c
rename to arch/arm/cpu/ixp/npe/IxQMgrQAccess.c
diff --git a/cpu/ixp/npe/IxQMgrQCfg.c b/arch/arm/cpu/ixp/npe/IxQMgrQCfg.c
similarity index 100%
rename from cpu/ixp/npe/IxQMgrQCfg.c
rename to arch/arm/cpu/ixp/npe/IxQMgrQCfg.c
diff --git a/cpu/ixp/npe/Makefile b/arch/arm/cpu/ixp/npe/Makefile
similarity index 95%
rename from cpu/ixp/npe/Makefile
rename to arch/arm/cpu/ixp/npe/Makefile
index 8fefd29eb561da008266ece2539c3920fae3d704..e1f970062df863b17c5d23069e1e507eb87aac98 100644
--- a/cpu/ixp/npe/Makefile
+++ b/arch/arm/cpu/ixp/npe/Makefile
@@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
 
 LIB := $(obj)libnpe.a
 
-LOCAL_CFLAGS  += -I$(TOPDIR)/cpu/ixp/npe/include -DCONFIG_IXP425_COMPONENT_ETHDB -D__linux
+LOCAL_CFLAGS  += -I$(TOPDIR)/arch/arm/cpu/ixp/npe/include -DCONFIG_IXP425_COMPONENT_ETHDB -D__linux
 CFLAGS  += $(LOCAL_CFLAGS)
 HOSTCFLAGS  += $(LOCAL_CFLAGS)
 
diff --git a/cpu/ixp/npe/include/IxAssert.h b/arch/arm/cpu/ixp/npe/include/IxAssert.h
similarity index 100%
rename from cpu/ixp/npe/include/IxAssert.h
rename to arch/arm/cpu/ixp/npe/include/IxAssert.h
diff --git a/cpu/ixp/npe/include/IxAtmSch.h b/arch/arm/cpu/ixp/npe/include/IxAtmSch.h
similarity index 100%
rename from cpu/ixp/npe/include/IxAtmSch.h
rename to arch/arm/cpu/ixp/npe/include/IxAtmSch.h
diff --git a/cpu/ixp/npe/include/IxAtmTypes.h b/arch/arm/cpu/ixp/npe/include/IxAtmTypes.h
similarity index 100%
rename from cpu/ixp/npe/include/IxAtmTypes.h
rename to arch/arm/cpu/ixp/npe/include/IxAtmTypes.h
diff --git a/cpu/ixp/npe/include/IxAtmdAcc.h b/arch/arm/cpu/ixp/npe/include/IxAtmdAcc.h
similarity index 100%
rename from cpu/ixp/npe/include/IxAtmdAcc.h
rename to arch/arm/cpu/ixp/npe/include/IxAtmdAcc.h
diff --git a/cpu/ixp/npe/include/IxAtmdAccCtrl.h b/arch/arm/cpu/ixp/npe/include/IxAtmdAccCtrl.h
similarity index 100%
rename from cpu/ixp/npe/include/IxAtmdAccCtrl.h
rename to arch/arm/cpu/ixp/npe/include/IxAtmdAccCtrl.h
diff --git a/cpu/ixp/npe/include/IxAtmm.h b/arch/arm/cpu/ixp/npe/include/IxAtmm.h
similarity index 100%
rename from cpu/ixp/npe/include/IxAtmm.h
rename to arch/arm/cpu/ixp/npe/include/IxAtmm.h
diff --git a/cpu/ixp/npe/include/IxDmaAcc.h b/arch/arm/cpu/ixp/npe/include/IxDmaAcc.h
similarity index 100%
rename from cpu/ixp/npe/include/IxDmaAcc.h
rename to arch/arm/cpu/ixp/npe/include/IxDmaAcc.h
diff --git a/cpu/ixp/npe/include/IxEthAcc.h b/arch/arm/cpu/ixp/npe/include/IxEthAcc.h
similarity index 100%
rename from cpu/ixp/npe/include/IxEthAcc.h
rename to arch/arm/cpu/ixp/npe/include/IxEthAcc.h
diff --git a/cpu/ixp/npe/include/IxEthAccDataPlane_p.h b/arch/arm/cpu/ixp/npe/include/IxEthAccDataPlane_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxEthAccDataPlane_p.h
rename to arch/arm/cpu/ixp/npe/include/IxEthAccDataPlane_p.h
diff --git a/cpu/ixp/npe/include/IxEthAccMac_p.h b/arch/arm/cpu/ixp/npe/include/IxEthAccMac_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxEthAccMac_p.h
rename to arch/arm/cpu/ixp/npe/include/IxEthAccMac_p.h
diff --git a/cpu/ixp/npe/include/IxEthAccMii_p.h b/arch/arm/cpu/ixp/npe/include/IxEthAccMii_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxEthAccMii_p.h
rename to arch/arm/cpu/ixp/npe/include/IxEthAccMii_p.h
diff --git a/cpu/ixp/npe/include/IxEthAccQueueAssign_p.h b/arch/arm/cpu/ixp/npe/include/IxEthAccQueueAssign_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxEthAccQueueAssign_p.h
rename to arch/arm/cpu/ixp/npe/include/IxEthAccQueueAssign_p.h
diff --git a/cpu/ixp/npe/include/IxEthAcc_p.h b/arch/arm/cpu/ixp/npe/include/IxEthAcc_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxEthAcc_p.h
rename to arch/arm/cpu/ixp/npe/include/IxEthAcc_p.h
diff --git a/cpu/ixp/npe/include/IxEthDB.h b/arch/arm/cpu/ixp/npe/include/IxEthDB.h
similarity index 100%
rename from cpu/ixp/npe/include/IxEthDB.h
rename to arch/arm/cpu/ixp/npe/include/IxEthDB.h
diff --git a/cpu/ixp/npe/include/IxEthDBLocks_p.h b/arch/arm/cpu/ixp/npe/include/IxEthDBLocks_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxEthDBLocks_p.h
rename to arch/arm/cpu/ixp/npe/include/IxEthDBLocks_p.h
diff --git a/cpu/ixp/npe/include/IxEthDBLog_p.h b/arch/arm/cpu/ixp/npe/include/IxEthDBLog_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxEthDBLog_p.h
rename to arch/arm/cpu/ixp/npe/include/IxEthDBLog_p.h
diff --git a/cpu/ixp/npe/include/IxEthDBMessages_p.h b/arch/arm/cpu/ixp/npe/include/IxEthDBMessages_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxEthDBMessages_p.h
rename to arch/arm/cpu/ixp/npe/include/IxEthDBMessages_p.h
diff --git a/cpu/ixp/npe/include/IxEthDBPortDefs.h b/arch/arm/cpu/ixp/npe/include/IxEthDBPortDefs.h
similarity index 100%
rename from cpu/ixp/npe/include/IxEthDBPortDefs.h
rename to arch/arm/cpu/ixp/npe/include/IxEthDBPortDefs.h
diff --git a/cpu/ixp/npe/include/IxEthDBQoS.h b/arch/arm/cpu/ixp/npe/include/IxEthDBQoS.h
similarity index 100%
rename from cpu/ixp/npe/include/IxEthDBQoS.h
rename to arch/arm/cpu/ixp/npe/include/IxEthDBQoS.h
diff --git a/cpu/ixp/npe/include/IxEthDB_p.h b/arch/arm/cpu/ixp/npe/include/IxEthDB_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxEthDB_p.h
rename to arch/arm/cpu/ixp/npe/include/IxEthDB_p.h
diff --git a/cpu/ixp/npe/include/IxEthMii.h b/arch/arm/cpu/ixp/npe/include/IxEthMii.h
similarity index 100%
rename from cpu/ixp/npe/include/IxEthMii.h
rename to arch/arm/cpu/ixp/npe/include/IxEthMii.h
diff --git a/cpu/ixp/npe/include/IxEthMii_p.h b/arch/arm/cpu/ixp/npe/include/IxEthMii_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxEthMii_p.h
rename to arch/arm/cpu/ixp/npe/include/IxEthMii_p.h
diff --git a/cpu/ixp/npe/include/IxEthNpe.h b/arch/arm/cpu/ixp/npe/include/IxEthNpe.h
similarity index 100%
rename from cpu/ixp/npe/include/IxEthNpe.h
rename to arch/arm/cpu/ixp/npe/include/IxEthNpe.h
diff --git a/cpu/ixp/npe/include/IxFeatureCtrl.h b/arch/arm/cpu/ixp/npe/include/IxFeatureCtrl.h
similarity index 100%
rename from cpu/ixp/npe/include/IxFeatureCtrl.h
rename to arch/arm/cpu/ixp/npe/include/IxFeatureCtrl.h
diff --git a/cpu/ixp/npe/include/IxHssAcc.h b/arch/arm/cpu/ixp/npe/include/IxHssAcc.h
similarity index 100%
rename from cpu/ixp/npe/include/IxHssAcc.h
rename to arch/arm/cpu/ixp/npe/include/IxHssAcc.h
diff --git a/cpu/ixp/npe/include/IxI2cDrv.h b/arch/arm/cpu/ixp/npe/include/IxI2cDrv.h
similarity index 100%
rename from cpu/ixp/npe/include/IxI2cDrv.h
rename to arch/arm/cpu/ixp/npe/include/IxI2cDrv.h
diff --git a/cpu/ixp/npe/include/IxNpeA.h b/arch/arm/cpu/ixp/npe/include/IxNpeA.h
similarity index 100%
rename from cpu/ixp/npe/include/IxNpeA.h
rename to arch/arm/cpu/ixp/npe/include/IxNpeA.h
diff --git a/cpu/ixp/npe/include/IxNpeDl.h b/arch/arm/cpu/ixp/npe/include/IxNpeDl.h
similarity index 100%
rename from cpu/ixp/npe/include/IxNpeDl.h
rename to arch/arm/cpu/ixp/npe/include/IxNpeDl.h
diff --git a/cpu/ixp/npe/include/IxNpeDlImageMgr_p.h b/arch/arm/cpu/ixp/npe/include/IxNpeDlImageMgr_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxNpeDlImageMgr_p.h
rename to arch/arm/cpu/ixp/npe/include/IxNpeDlImageMgr_p.h
diff --git a/cpu/ixp/npe/include/IxNpeDlMacros_p.h b/arch/arm/cpu/ixp/npe/include/IxNpeDlMacros_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxNpeDlMacros_p.h
rename to arch/arm/cpu/ixp/npe/include/IxNpeDlMacros_p.h
diff --git a/cpu/ixp/npe/include/IxNpeDlNpeMgrEcRegisters_p.h b/arch/arm/cpu/ixp/npe/include/IxNpeDlNpeMgrEcRegisters_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxNpeDlNpeMgrEcRegisters_p.h
rename to arch/arm/cpu/ixp/npe/include/IxNpeDlNpeMgrEcRegisters_p.h
diff --git a/cpu/ixp/npe/include/IxNpeDlNpeMgrUtils_p.h b/arch/arm/cpu/ixp/npe/include/IxNpeDlNpeMgrUtils_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxNpeDlNpeMgrUtils_p.h
rename to arch/arm/cpu/ixp/npe/include/IxNpeDlNpeMgrUtils_p.h
diff --git a/cpu/ixp/npe/include/IxNpeDlNpeMgr_p.h b/arch/arm/cpu/ixp/npe/include/IxNpeDlNpeMgr_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxNpeDlNpeMgr_p.h
rename to arch/arm/cpu/ixp/npe/include/IxNpeDlNpeMgr_p.h
diff --git a/cpu/ixp/npe/include/IxNpeMh.h b/arch/arm/cpu/ixp/npe/include/IxNpeMh.h
similarity index 100%
rename from cpu/ixp/npe/include/IxNpeMh.h
rename to arch/arm/cpu/ixp/npe/include/IxNpeMh.h
diff --git a/cpu/ixp/npe/include/IxNpeMhConfig_p.h b/arch/arm/cpu/ixp/npe/include/IxNpeMhConfig_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxNpeMhConfig_p.h
rename to arch/arm/cpu/ixp/npe/include/IxNpeMhConfig_p.h
diff --git a/cpu/ixp/npe/include/IxNpeMhMacros_p.h b/arch/arm/cpu/ixp/npe/include/IxNpeMhMacros_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxNpeMhMacros_p.h
rename to arch/arm/cpu/ixp/npe/include/IxNpeMhMacros_p.h
diff --git a/cpu/ixp/npe/include/IxNpeMhReceive_p.h b/arch/arm/cpu/ixp/npe/include/IxNpeMhReceive_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxNpeMhReceive_p.h
rename to arch/arm/cpu/ixp/npe/include/IxNpeMhReceive_p.h
diff --git a/cpu/ixp/npe/include/IxNpeMhSend_p.h b/arch/arm/cpu/ixp/npe/include/IxNpeMhSend_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxNpeMhSend_p.h
rename to arch/arm/cpu/ixp/npe/include/IxNpeMhSend_p.h
diff --git a/cpu/ixp/npe/include/IxNpeMhSolicitedCbMgr_p.h b/arch/arm/cpu/ixp/npe/include/IxNpeMhSolicitedCbMgr_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxNpeMhSolicitedCbMgr_p.h
rename to arch/arm/cpu/ixp/npe/include/IxNpeMhSolicitedCbMgr_p.h
diff --git a/cpu/ixp/npe/include/IxNpeMhUnsolicitedCbMgr_p.h b/arch/arm/cpu/ixp/npe/include/IxNpeMhUnsolicitedCbMgr_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxNpeMhUnsolicitedCbMgr_p.h
rename to arch/arm/cpu/ixp/npe/include/IxNpeMhUnsolicitedCbMgr_p.h
diff --git a/cpu/ixp/npe/include/IxNpeMicrocode.h b/arch/arm/cpu/ixp/npe/include/IxNpeMicrocode.h
similarity index 100%
rename from cpu/ixp/npe/include/IxNpeMicrocode.h
rename to arch/arm/cpu/ixp/npe/include/IxNpeMicrocode.h
diff --git a/cpu/ixp/npe/include/IxOsBufLib.h b/arch/arm/cpu/ixp/npe/include/IxOsBufLib.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsBufLib.h
rename to arch/arm/cpu/ixp/npe/include/IxOsBufLib.h
diff --git a/cpu/ixp/npe/include/IxOsBuffMgt.h b/arch/arm/cpu/ixp/npe/include/IxOsBuffMgt.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsBuffMgt.h
rename to arch/arm/cpu/ixp/npe/include/IxOsBuffMgt.h
diff --git a/cpu/ixp/npe/include/IxOsBuffPoolMgt.h b/arch/arm/cpu/ixp/npe/include/IxOsBuffPoolMgt.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsBuffPoolMgt.h
rename to arch/arm/cpu/ixp/npe/include/IxOsBuffPoolMgt.h
diff --git a/cpu/ixp/npe/include/IxOsCacheMMU.h b/arch/arm/cpu/ixp/npe/include/IxOsCacheMMU.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsCacheMMU.h
rename to arch/arm/cpu/ixp/npe/include/IxOsCacheMMU.h
diff --git a/cpu/ixp/npe/include/IxOsPrintf.h b/arch/arm/cpu/ixp/npe/include/IxOsPrintf.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsPrintf.h
rename to arch/arm/cpu/ixp/npe/include/IxOsPrintf.h
diff --git a/cpu/ixp/npe/include/IxOsServices.h b/arch/arm/cpu/ixp/npe/include/IxOsServices.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsServices.h
rename to arch/arm/cpu/ixp/npe/include/IxOsServices.h
diff --git a/cpu/ixp/npe/include/IxOsServicesComponents.h b/arch/arm/cpu/ixp/npe/include/IxOsServicesComponents.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsServicesComponents.h
rename to arch/arm/cpu/ixp/npe/include/IxOsServicesComponents.h
diff --git a/cpu/ixp/npe/include/IxOsServicesEndianess.h b/arch/arm/cpu/ixp/npe/include/IxOsServicesEndianess.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsServicesEndianess.h
rename to arch/arm/cpu/ixp/npe/include/IxOsServicesEndianess.h
diff --git a/cpu/ixp/npe/include/IxOsServicesMemAccess.h b/arch/arm/cpu/ixp/npe/include/IxOsServicesMemAccess.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsServicesMemAccess.h
rename to arch/arm/cpu/ixp/npe/include/IxOsServicesMemAccess.h
diff --git a/cpu/ixp/npe/include/IxOsServicesMemMap.h b/arch/arm/cpu/ixp/npe/include/IxOsServicesMemMap.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsServicesMemMap.h
rename to arch/arm/cpu/ixp/npe/include/IxOsServicesMemMap.h
diff --git a/cpu/ixp/npe/include/IxOsal.h b/arch/arm/cpu/ixp/npe/include/IxOsal.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsal.h
rename to arch/arm/cpu/ixp/npe/include/IxOsal.h
diff --git a/cpu/ixp/npe/include/IxOsalAssert.h b/arch/arm/cpu/ixp/npe/include/IxOsalAssert.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalAssert.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalAssert.h
diff --git a/cpu/ixp/npe/include/IxOsalBackward.h b/arch/arm/cpu/ixp/npe/include/IxOsalBackward.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalBackward.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalBackward.h
diff --git a/cpu/ixp/npe/include/IxOsalBackwardAssert.h b/arch/arm/cpu/ixp/npe/include/IxOsalBackwardAssert.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalBackwardAssert.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalBackwardAssert.h
diff --git a/cpu/ixp/npe/include/IxOsalBackwardBufferMgt.h b/arch/arm/cpu/ixp/npe/include/IxOsalBackwardBufferMgt.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalBackwardBufferMgt.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalBackwardBufferMgt.h
diff --git a/cpu/ixp/npe/include/IxOsalBackwardCacheMMU.h b/arch/arm/cpu/ixp/npe/include/IxOsalBackwardCacheMMU.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalBackwardCacheMMU.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalBackwardCacheMMU.h
diff --git a/cpu/ixp/npe/include/IxOsalBackwardMemMap.h b/arch/arm/cpu/ixp/npe/include/IxOsalBackwardMemMap.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalBackwardMemMap.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalBackwardMemMap.h
diff --git a/cpu/ixp/npe/include/IxOsalBackwardOsServices.h b/arch/arm/cpu/ixp/npe/include/IxOsalBackwardOsServices.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalBackwardOsServices.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalBackwardOsServices.h
diff --git a/cpu/ixp/npe/include/IxOsalBackwardOssl.h b/arch/arm/cpu/ixp/npe/include/IxOsalBackwardOssl.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalBackwardOssl.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalBackwardOssl.h
diff --git a/cpu/ixp/npe/include/IxOsalBufferMgt.h b/arch/arm/cpu/ixp/npe/include/IxOsalBufferMgt.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalBufferMgt.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalBufferMgt.h
diff --git a/cpu/ixp/npe/include/IxOsalBufferMgtDefault.h b/arch/arm/cpu/ixp/npe/include/IxOsalBufferMgtDefault.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalBufferMgtDefault.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalBufferMgtDefault.h
diff --git a/cpu/ixp/npe/include/IxOsalConfig.h b/arch/arm/cpu/ixp/npe/include/IxOsalConfig.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalConfig.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalConfig.h
diff --git a/cpu/ixp/npe/include/IxOsalEndianess.h b/arch/arm/cpu/ixp/npe/include/IxOsalEndianess.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalEndianess.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalEndianess.h
diff --git a/cpu/ixp/npe/include/IxOsalIoMem.h b/arch/arm/cpu/ixp/npe/include/IxOsalIoMem.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalIoMem.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalIoMem.h
diff --git a/cpu/ixp/npe/include/IxOsalMemAccess.h b/arch/arm/cpu/ixp/npe/include/IxOsalMemAccess.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalMemAccess.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalMemAccess.h
diff --git a/cpu/ixp/npe/include/IxOsalOem.h b/arch/arm/cpu/ixp/npe/include/IxOsalOem.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalOem.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalOem.h
diff --git a/cpu/ixp/npe/include/IxOsalOs.h b/arch/arm/cpu/ixp/npe/include/IxOsalOs.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalOs.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalOs.h
diff --git a/cpu/ixp/npe/include/IxOsalOsAssert.h b/arch/arm/cpu/ixp/npe/include/IxOsalOsAssert.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalOsAssert.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalOsAssert.h
diff --git a/cpu/ixp/npe/include/IxOsalOsBufferMgt.h b/arch/arm/cpu/ixp/npe/include/IxOsalOsBufferMgt.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalOsBufferMgt.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalOsBufferMgt.h
diff --git a/cpu/ixp/npe/include/IxOsalOsIxp400.h b/arch/arm/cpu/ixp/npe/include/IxOsalOsIxp400.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalOsIxp400.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalOsIxp400.h
diff --git a/cpu/ixp/npe/include/IxOsalOsIxp400CustomizedMapping.h b/arch/arm/cpu/ixp/npe/include/IxOsalOsIxp400CustomizedMapping.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalOsIxp400CustomizedMapping.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalOsIxp400CustomizedMapping.h
diff --git a/cpu/ixp/npe/include/IxOsalOsTypes.h b/arch/arm/cpu/ixp/npe/include/IxOsalOsTypes.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalOsTypes.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalOsTypes.h
diff --git a/cpu/ixp/npe/include/IxOsalOsUtilitySymbols.h b/arch/arm/cpu/ixp/npe/include/IxOsalOsUtilitySymbols.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalOsUtilitySymbols.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalOsUtilitySymbols.h
diff --git a/cpu/ixp/npe/include/IxOsalTypes.h b/arch/arm/cpu/ixp/npe/include/IxOsalTypes.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalTypes.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalTypes.h
diff --git a/cpu/ixp/npe/include/IxOsalUtilitySymbols.h b/arch/arm/cpu/ixp/npe/include/IxOsalUtilitySymbols.h
similarity index 100%
rename from cpu/ixp/npe/include/IxOsalUtilitySymbols.h
rename to arch/arm/cpu/ixp/npe/include/IxOsalUtilitySymbols.h
diff --git a/cpu/ixp/npe/include/IxParityENAcc.h b/arch/arm/cpu/ixp/npe/include/IxParityENAcc.h
similarity index 100%
rename from cpu/ixp/npe/include/IxParityENAcc.h
rename to arch/arm/cpu/ixp/npe/include/IxParityENAcc.h
diff --git a/cpu/ixp/npe/include/IxPerfProfAcc.h b/arch/arm/cpu/ixp/npe/include/IxPerfProfAcc.h
similarity index 100%
rename from cpu/ixp/npe/include/IxPerfProfAcc.h
rename to arch/arm/cpu/ixp/npe/include/IxPerfProfAcc.h
diff --git a/cpu/ixp/npe/include/IxQMgr.h b/arch/arm/cpu/ixp/npe/include/IxQMgr.h
similarity index 100%
rename from cpu/ixp/npe/include/IxQMgr.h
rename to arch/arm/cpu/ixp/npe/include/IxQMgr.h
diff --git a/cpu/ixp/npe/include/IxQMgrAqmIf_p.h b/arch/arm/cpu/ixp/npe/include/IxQMgrAqmIf_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxQMgrAqmIf_p.h
rename to arch/arm/cpu/ixp/npe/include/IxQMgrAqmIf_p.h
diff --git a/cpu/ixp/npe/include/IxQMgrDefines_p.h b/arch/arm/cpu/ixp/npe/include/IxQMgrDefines_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxQMgrDefines_p.h
rename to arch/arm/cpu/ixp/npe/include/IxQMgrDefines_p.h
diff --git a/cpu/ixp/npe/include/IxQMgrDispatcher_p.h b/arch/arm/cpu/ixp/npe/include/IxQMgrDispatcher_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxQMgrDispatcher_p.h
rename to arch/arm/cpu/ixp/npe/include/IxQMgrDispatcher_p.h
diff --git a/cpu/ixp/npe/include/IxQMgrLog_p.h b/arch/arm/cpu/ixp/npe/include/IxQMgrLog_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxQMgrLog_p.h
rename to arch/arm/cpu/ixp/npe/include/IxQMgrLog_p.h
diff --git a/cpu/ixp/npe/include/IxQMgrQAccess_p.h b/arch/arm/cpu/ixp/npe/include/IxQMgrQAccess_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxQMgrQAccess_p.h
rename to arch/arm/cpu/ixp/npe/include/IxQMgrQAccess_p.h
diff --git a/cpu/ixp/npe/include/IxQMgrQCfg_p.h b/arch/arm/cpu/ixp/npe/include/IxQMgrQCfg_p.h
similarity index 100%
rename from cpu/ixp/npe/include/IxQMgrQCfg_p.h
rename to arch/arm/cpu/ixp/npe/include/IxQMgrQCfg_p.h
diff --git a/cpu/ixp/npe/include/IxQueueAssignments.h b/arch/arm/cpu/ixp/npe/include/IxQueueAssignments.h
similarity index 100%
rename from cpu/ixp/npe/include/IxQueueAssignments.h
rename to arch/arm/cpu/ixp/npe/include/IxQueueAssignments.h
diff --git a/cpu/ixp/npe/include/IxSspAcc.h b/arch/arm/cpu/ixp/npe/include/IxSspAcc.h
similarity index 100%
rename from cpu/ixp/npe/include/IxSspAcc.h
rename to arch/arm/cpu/ixp/npe/include/IxSspAcc.h
diff --git a/cpu/ixp/npe/include/IxTimeSyncAcc.h b/arch/arm/cpu/ixp/npe/include/IxTimeSyncAcc.h
similarity index 100%
rename from cpu/ixp/npe/include/IxTimeSyncAcc.h
rename to arch/arm/cpu/ixp/npe/include/IxTimeSyncAcc.h
diff --git a/cpu/ixp/npe/include/IxTimerCtrl.h b/arch/arm/cpu/ixp/npe/include/IxTimerCtrl.h
similarity index 100%
rename from cpu/ixp/npe/include/IxTimerCtrl.h
rename to arch/arm/cpu/ixp/npe/include/IxTimerCtrl.h
diff --git a/cpu/ixp/npe/include/IxTypes.h b/arch/arm/cpu/ixp/npe/include/IxTypes.h
similarity index 100%
rename from cpu/ixp/npe/include/IxTypes.h
rename to arch/arm/cpu/ixp/npe/include/IxTypes.h
diff --git a/cpu/ixp/npe/include/IxUART.h b/arch/arm/cpu/ixp/npe/include/IxUART.h
similarity index 100%
rename from cpu/ixp/npe/include/IxUART.h
rename to arch/arm/cpu/ixp/npe/include/IxUART.h
diff --git a/cpu/ixp/npe/include/IxVersionId.h b/arch/arm/cpu/ixp/npe/include/IxVersionId.h
similarity index 100%
rename from cpu/ixp/npe/include/IxVersionId.h
rename to arch/arm/cpu/ixp/npe/include/IxVersionId.h
diff --git a/cpu/ixp/npe/include/ix_error.h b/arch/arm/cpu/ixp/npe/include/ix_error.h
similarity index 100%
rename from cpu/ixp/npe/include/ix_error.h
rename to arch/arm/cpu/ixp/npe/include/ix_error.h
diff --git a/cpu/ixp/npe/include/ix_macros.h b/arch/arm/cpu/ixp/npe/include/ix_macros.h
similarity index 100%
rename from cpu/ixp/npe/include/ix_macros.h
rename to arch/arm/cpu/ixp/npe/include/ix_macros.h
diff --git a/cpu/ixp/npe/include/ix_os_type.h b/arch/arm/cpu/ixp/npe/include/ix_os_type.h
similarity index 100%
rename from cpu/ixp/npe/include/ix_os_type.h
rename to arch/arm/cpu/ixp/npe/include/ix_os_type.h
diff --git a/cpu/ixp/npe/include/ix_ossl.h b/arch/arm/cpu/ixp/npe/include/ix_ossl.h
similarity index 100%
rename from cpu/ixp/npe/include/ix_ossl.h
rename to arch/arm/cpu/ixp/npe/include/ix_ossl.h
diff --git a/cpu/ixp/npe/include/ix_symbols.h b/arch/arm/cpu/ixp/npe/include/ix_symbols.h
similarity index 100%
rename from cpu/ixp/npe/include/ix_symbols.h
rename to arch/arm/cpu/ixp/npe/include/ix_symbols.h
diff --git a/cpu/ixp/npe/include/ix_types.h b/arch/arm/cpu/ixp/npe/include/ix_types.h
similarity index 100%
rename from cpu/ixp/npe/include/ix_types.h
rename to arch/arm/cpu/ixp/npe/include/ix_types.h
diff --git a/cpu/ixp/npe/include/npe.h b/arch/arm/cpu/ixp/npe/include/npe.h
similarity index 100%
rename from cpu/ixp/npe/include/npe.h
rename to arch/arm/cpu/ixp/npe/include/npe.h
diff --git a/cpu/ixp/npe/include/os_datatypes.h b/arch/arm/cpu/ixp/npe/include/os_datatypes.h
similarity index 100%
rename from cpu/ixp/npe/include/os_datatypes.h
rename to arch/arm/cpu/ixp/npe/include/os_datatypes.h
diff --git a/cpu/ixp/npe/miiphy.c b/arch/arm/cpu/ixp/npe/miiphy.c
similarity index 100%
rename from cpu/ixp/npe/miiphy.c
rename to arch/arm/cpu/ixp/npe/miiphy.c
diff --git a/cpu/ixp/npe/npe.c b/arch/arm/cpu/ixp/npe/npe.c
similarity index 100%
rename from cpu/ixp/npe/npe.c
rename to arch/arm/cpu/ixp/npe/npe.c
diff --git a/cpu/ixp/start.S b/arch/arm/cpu/ixp/start.S
similarity index 100%
rename from cpu/ixp/start.S
rename to arch/arm/cpu/ixp/start.S
diff --git a/cpu/ixp/timer.c b/arch/arm/cpu/ixp/timer.c
similarity index 100%
rename from cpu/ixp/timer.c
rename to arch/arm/cpu/ixp/timer.c
diff --git a/cpu/ixp/u-boot.lds b/arch/arm/cpu/ixp/u-boot.lds
similarity index 97%
rename from cpu/ixp/u-boot.lds
rename to arch/arm/cpu/ixp/u-boot.lds
index 85209caf744d6c1b7b8488f4e0e439f4267fdb34..b8ff2eed5c92f98ec93263e813425d74e4aa9229 100644
--- a/cpu/ixp/u-boot.lds
+++ b/arch/arm/cpu/ixp/u-boot.lds
@@ -31,7 +31,7 @@ SECTIONS
 	. = ALIGN(4);
 	.text :
 	{
-		cpu/ixp/start.o(.text)
+		arch/arm/cpu/ixp/start.o(.text)
 		*(.text)
 	}
 
diff --git a/cpu/lh7a40x/Makefile b/arch/arm/cpu/lh7a40x/Makefile
similarity index 100%
rename from cpu/lh7a40x/Makefile
rename to arch/arm/cpu/lh7a40x/Makefile
diff --git a/cpu/lh7a40x/config.mk b/arch/arm/cpu/lh7a40x/config.mk
similarity index 100%
rename from cpu/lh7a40x/config.mk
rename to arch/arm/cpu/lh7a40x/config.mk
diff --git a/cpu/lh7a40x/cpu.c b/arch/arm/cpu/lh7a40x/cpu.c
similarity index 100%
rename from cpu/lh7a40x/cpu.c
rename to arch/arm/cpu/lh7a40x/cpu.c
diff --git a/cpu/lh7a40x/speed.c b/arch/arm/cpu/lh7a40x/speed.c
similarity index 100%
rename from cpu/lh7a40x/speed.c
rename to arch/arm/cpu/lh7a40x/speed.c
diff --git a/cpu/lh7a40x/start.S b/arch/arm/cpu/lh7a40x/start.S
similarity index 100%
rename from cpu/lh7a40x/start.S
rename to arch/arm/cpu/lh7a40x/start.S
diff --git a/cpu/lh7a40x/timer.c b/arch/arm/cpu/lh7a40x/timer.c
similarity index 100%
rename from cpu/lh7a40x/timer.c
rename to arch/arm/cpu/lh7a40x/timer.c
diff --git a/cpu/lh7a40x/u-boot.lds b/arch/arm/cpu/lh7a40x/u-boot.lds
similarity index 97%
rename from cpu/lh7a40x/u-boot.lds
rename to arch/arm/cpu/lh7a40x/u-boot.lds
index e7543c97ce0d44f172c0b1b74a9a8d0d21be90ef..5a8ccf58884e3f008e50c43e792ad3bcd21ce27c 100644
--- a/cpu/lh7a40x/u-boot.lds
+++ b/arch/arm/cpu/lh7a40x/u-boot.lds
@@ -31,7 +31,7 @@ SECTIONS
 	. = ALIGN(4);
 	.text :
 	{
-		cpu/lh7a40x/start.o	(.text)
+		arch/arm/cpu/lh7a40x/start.o	(.text)
 		*(.text)
 	}
 
diff --git a/cpu/pxa/Makefile b/arch/arm/cpu/pxa/Makefile
similarity index 100%
rename from cpu/pxa/Makefile
rename to arch/arm/cpu/pxa/Makefile
diff --git a/cpu/pxa/config.mk b/arch/arm/cpu/pxa/config.mk
similarity index 100%
rename from cpu/pxa/config.mk
rename to arch/arm/cpu/pxa/config.mk
diff --git a/cpu/pxa/cpu.c b/arch/arm/cpu/pxa/cpu.c
similarity index 100%
rename from cpu/pxa/cpu.c
rename to arch/arm/cpu/pxa/cpu.c
diff --git a/cpu/pxa/i2c.c b/arch/arm/cpu/pxa/i2c.c
similarity index 100%
rename from cpu/pxa/i2c.c
rename to arch/arm/cpu/pxa/i2c.c
diff --git a/cpu/pxa/pxafb.c b/arch/arm/cpu/pxa/pxafb.c
similarity index 100%
rename from cpu/pxa/pxafb.c
rename to arch/arm/cpu/pxa/pxafb.c
diff --git a/cpu/pxa/start.S b/arch/arm/cpu/pxa/start.S
similarity index 100%
rename from cpu/pxa/start.S
rename to arch/arm/cpu/pxa/start.S
diff --git a/cpu/pxa/timer.c b/arch/arm/cpu/pxa/timer.c
similarity index 100%
rename from cpu/pxa/timer.c
rename to arch/arm/cpu/pxa/timer.c
diff --git a/cpu/pxa/u-boot.lds b/arch/arm/cpu/pxa/u-boot.lds
similarity index 97%
rename from cpu/pxa/u-boot.lds
rename to arch/arm/cpu/pxa/u-boot.lds
index 77ab3c902b4c91636e10f22c59450feb95dc3b68..d4e85ef5500e31aa96a194db81d383629133b2d6 100644
--- a/cpu/pxa/u-boot.lds
+++ b/arch/arm/cpu/pxa/u-boot.lds
@@ -31,7 +31,7 @@ SECTIONS
 	. = ALIGN(4);
 	.text :
 	{
-		cpu/pxa/start.o	(.text)
+		arch/arm/cpu/pxa/start.o	(.text)
 		*(.text)
 	}
 
diff --git a/cpu/pxa/usb.c b/arch/arm/cpu/pxa/usb.c
similarity index 100%
rename from cpu/pxa/usb.c
rename to arch/arm/cpu/pxa/usb.c
diff --git a/cpu/s3c44b0/Makefile b/arch/arm/cpu/s3c44b0/Makefile
similarity index 100%
rename from cpu/s3c44b0/Makefile
rename to arch/arm/cpu/s3c44b0/Makefile
diff --git a/cpu/s3c44b0/cache.c b/arch/arm/cpu/s3c44b0/cache.c
similarity index 100%
rename from cpu/s3c44b0/cache.c
rename to arch/arm/cpu/s3c44b0/cache.c
diff --git a/cpu/s3c44b0/config.mk b/arch/arm/cpu/s3c44b0/config.mk
similarity index 100%
rename from cpu/s3c44b0/config.mk
rename to arch/arm/cpu/s3c44b0/config.mk
diff --git a/cpu/s3c44b0/cpu.c b/arch/arm/cpu/s3c44b0/cpu.c
similarity index 100%
rename from cpu/s3c44b0/cpu.c
rename to arch/arm/cpu/s3c44b0/cpu.c
diff --git a/cpu/s3c44b0/start.S b/arch/arm/cpu/s3c44b0/start.S
similarity index 100%
rename from cpu/s3c44b0/start.S
rename to arch/arm/cpu/s3c44b0/start.S
diff --git a/cpu/s3c44b0/timer.c b/arch/arm/cpu/s3c44b0/timer.c
similarity index 100%
rename from cpu/s3c44b0/timer.c
rename to arch/arm/cpu/s3c44b0/timer.c
diff --git a/cpu/s3c44b0/u-boot.lds b/arch/arm/cpu/s3c44b0/u-boot.lds
similarity index 97%
rename from cpu/s3c44b0/u-boot.lds
rename to arch/arm/cpu/s3c44b0/u-boot.lds
index 41ca3b4e8d2cc45db99c72bfe8f6d47681c5ef3e..267d94c083d6d3d72b5481801c1782e1f6d542b9 100644
--- a/cpu/s3c44b0/u-boot.lds
+++ b/arch/arm/cpu/s3c44b0/u-boot.lds
@@ -31,7 +31,7 @@ SECTIONS
 	. = ALIGN(4);
 	.text :
 	{
-		cpu/s3c44b0/start.o	(.text)
+		arch/arm/cpu/s3c44b0/start.o	(.text)
 		*(.text)
 	}
 
diff --git a/cpu/sa1100/Makefile b/arch/arm/cpu/sa1100/Makefile
similarity index 100%
rename from cpu/sa1100/Makefile
rename to arch/arm/cpu/sa1100/Makefile
diff --git a/cpu/sa1100/config.mk b/arch/arm/cpu/sa1100/config.mk
similarity index 100%
rename from cpu/sa1100/config.mk
rename to arch/arm/cpu/sa1100/config.mk
diff --git a/cpu/sa1100/cpu.c b/arch/arm/cpu/sa1100/cpu.c
similarity index 100%
rename from cpu/sa1100/cpu.c
rename to arch/arm/cpu/sa1100/cpu.c
diff --git a/cpu/sa1100/start.S b/arch/arm/cpu/sa1100/start.S
similarity index 100%
rename from cpu/sa1100/start.S
rename to arch/arm/cpu/sa1100/start.S
diff --git a/cpu/sa1100/timer.c b/arch/arm/cpu/sa1100/timer.c
similarity index 100%
rename from cpu/sa1100/timer.c
rename to arch/arm/cpu/sa1100/timer.c
diff --git a/cpu/sa1100/u-boot.lds b/arch/arm/cpu/sa1100/u-boot.lds
similarity index 97%
rename from cpu/sa1100/u-boot.lds
rename to arch/arm/cpu/sa1100/u-boot.lds
index 0c02e76e7ae21a9b52f2732d4d6b9b4bc7a99fbc..f6197acd819b04066939e70af36e59ead4adb0e2 100644
--- a/cpu/sa1100/u-boot.lds
+++ b/arch/arm/cpu/sa1100/u-boot.lds
@@ -34,7 +34,7 @@ SECTIONS
 	. = ALIGN(4);
 	.text :
 	{
-		cpu/sa1100/start.o	(.text)
+		arch/arm/cpu/sa1100/start.o	(.text)
 		*(.text)
 	}
 
diff --git a/arch/arm/include/asm/arch-mx51/asm-offsets.h b/arch/arm/include/asm/arch-mx51/asm-offsets.h
index 3a83fa07a18a4fe1be21ac04dc379af3b80e081e..fbba412aabe2093d61b168e3dd21e4fcce50e78a 100644
--- a/arch/arm/include/asm/arch-mx51/asm-offsets.h
+++ b/arch/arm/include/asm/arch-mx51/asm-offsets.h
@@ -1,5 +1,5 @@
 /*
- * needed for cpu/arm_cortexa8/mx51/lowlevel_init.S
+ * needed for arch/arm/cpu/arm_cortexa8/mx51/lowlevel_init.S
  *
  * These should be auto-generated
  */
diff --git a/board/actux1/config.mk b/board/actux1/config.mk
index 119140d8c340b2297db8885447a581909e406e17..a0dbe0bc4851a1f6c88950f713bfb5e0b34f4e75 100644
--- a/board/actux1/config.mk
+++ b/board/actux1/config.mk
@@ -1,6 +1,6 @@
 TEXT_BASE = 0x00e00000
 
 # include NPE ethernet driver
-BOARDLIBS = cpu/ixp/npe/libnpe.a
+BOARDLIBS = arch/arm/cpu/ixp/npe/libnpe.a
 
 LDSCRIPT := $(SRCTREE)/board/$(BOARDDIR)/u-boot.lds
diff --git a/board/actux1/u-boot.lds b/board/actux1/u-boot.lds
index 40b5ef3bd19365b6b600cf344e691f4e1104de6a..5c1ece79c8e149ce980dbdc46426deda1c406804 100644
--- a/board/actux1/u-boot.lds
+++ b/board/actux1/u-boot.lds
@@ -30,12 +30,12 @@ SECTIONS
 
 	. = ALIGN (4);
 	.text : {
-		cpu/ixp/start.o(.text)
+		arch/arm/cpu/ixp/start.o(.text)
 		lib/string.o(.text)
 		lib/vsprintf.o(.text)
 		arch/arm/lib/board.o(.text)
 		common/dlmalloc.o(.text)
-		cpu/ixp/cpu.o(.text)
+		arch/arm/cpu/ixp/cpu.o(.text)
 		. = env_offset;
 		common/env_embedded.o(.ppcenv)
 		* (.text)
diff --git a/board/actux2/config.mk b/board/actux2/config.mk
index 119140d8c340b2297db8885447a581909e406e17..a0dbe0bc4851a1f6c88950f713bfb5e0b34f4e75 100644
--- a/board/actux2/config.mk
+++ b/board/actux2/config.mk
@@ -1,6 +1,6 @@
 TEXT_BASE = 0x00e00000
 
 # include NPE ethernet driver
-BOARDLIBS = cpu/ixp/npe/libnpe.a
+BOARDLIBS = arch/arm/cpu/ixp/npe/libnpe.a
 
 LDSCRIPT := $(SRCTREE)/board/$(BOARDDIR)/u-boot.lds
diff --git a/board/actux2/u-boot.lds b/board/actux2/u-boot.lds
index f9ab281bc0a0591cd46b731f615317511fcdabf4..707c027ab56f1fbf90b37659bd872676f2fbaa3f 100644
--- a/board/actux2/u-boot.lds
+++ b/board/actux2/u-boot.lds
@@ -30,12 +30,12 @@ SECTIONS
 
 	. = ALIGN (4);
 	.text : {
-		cpu/ixp/start.o(.text)
+		arch/arm/cpu/ixp/start.o(.text)
 		lib/string.o(.text)
 		lib/vsprintf.o(.text)
 		arch/arm/lib/board.o(.text)
 		common/dlmalloc.o(.text)
-		cpu/ixp/cpu.o(.text)
+		arch/arm/cpu/ixp/cpu.o(.text)
 
 		. = env_offset;
 		common/env_embedded.o (.ppcenv)
diff --git a/board/actux3/config.mk b/board/actux3/config.mk
index 119140d8c340b2297db8885447a581909e406e17..a0dbe0bc4851a1f6c88950f713bfb5e0b34f4e75 100644
--- a/board/actux3/config.mk
+++ b/board/actux3/config.mk
@@ -1,6 +1,6 @@
 TEXT_BASE = 0x00e00000
 
 # include NPE ethernet driver
-BOARDLIBS = cpu/ixp/npe/libnpe.a
+BOARDLIBS = arch/arm/cpu/ixp/npe/libnpe.a
 
 LDSCRIPT := $(SRCTREE)/board/$(BOARDDIR)/u-boot.lds
diff --git a/board/actux3/u-boot.lds b/board/actux3/u-boot.lds
index 2fc3796150768bf3d99b70c9954800b9aa1e9b07..497ab97690895e4d367bcb7e92c61bd9829fcd70 100644
--- a/board/actux3/u-boot.lds
+++ b/board/actux3/u-boot.lds
@@ -30,12 +30,12 @@ SECTIONS
 
 	. = ALIGN (4);
 	.text : {
-		cpu/ixp/start.o (.text)
+		arch/arm/cpu/ixp/start.o (.text)
 		lib/string.o (.text)
 		lib/vsprintf.o (.text)
 		arch/arm/lib/board.o (.text)
 		common/dlmalloc.o (.text)
-		cpu/ixp/cpu.o (.text)
+		arch/arm/cpu/ixp/cpu.o (.text)
 
 		. = env_offset;
 		common/env_embedded.o (.ppcenv)
diff --git a/board/actux4/config.mk b/board/actux4/config.mk
index 9a634cdffab898a0cf8468b0c7735e2a75d81453..f2b5fc911a8d95b4756511c6d462eaa605ec4775 100644
--- a/board/actux4/config.mk
+++ b/board/actux4/config.mk
@@ -1,4 +1,4 @@
 TEXT_BASE = 0x00e00000
 
 # include NPE ethernet driver
-BOARDLIBS = cpu/ixp/npe/libnpe.a
+BOARDLIBS = arch/arm/cpu/ixp/npe/libnpe.a
diff --git a/board/davinci/dvevm/board_init.S b/board/davinci/dvevm/board_init.S
index 22d8adc18ca305d36eea2a29dacf21e952b8d0be..81b23d0436f05dcaa6aa086c412e5ff04eb2cab1 100644
--- a/board/davinci/dvevm/board_init.S
+++ b/board/davinci/dvevm/board_init.S
@@ -2,7 +2,7 @@
  * Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net>
  *
  * Board-specific low level initialization code. Called at the very end
- * of cpu/arm926ejs/davinci/lowlevel_init.S. Just returns if there is no
+ * of arch/arm/cpu/arm926ejs/davinci/lowlevel_init.S. Just returns if there is no
  * initialization required.
  *
  * This program is free software; you can redistribute it and/or
diff --git a/board/davinci/schmoogie/board_init.S b/board/davinci/schmoogie/board_init.S
index 22d8adc18ca305d36eea2a29dacf21e952b8d0be..81b23d0436f05dcaa6aa086c412e5ff04eb2cab1 100644
--- a/board/davinci/schmoogie/board_init.S
+++ b/board/davinci/schmoogie/board_init.S
@@ -2,7 +2,7 @@
  * Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net>
  *
  * Board-specific low level initialization code. Called at the very end
- * of cpu/arm926ejs/davinci/lowlevel_init.S. Just returns if there is no
+ * of arch/arm/cpu/arm926ejs/davinci/lowlevel_init.S. Just returns if there is no
  * initialization required.
  *
  * This program is free software; you can redistribute it and/or
diff --git a/board/davinci/sffsdr/board_init.S b/board/davinci/sffsdr/board_init.S
index 22d8adc18ca305d36eea2a29dacf21e952b8d0be..81b23d0436f05dcaa6aa086c412e5ff04eb2cab1 100644
--- a/board/davinci/sffsdr/board_init.S
+++ b/board/davinci/sffsdr/board_init.S
@@ -2,7 +2,7 @@
  * Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net>
  *
  * Board-specific low level initialization code. Called at the very end
- * of cpu/arm926ejs/davinci/lowlevel_init.S. Just returns if there is no
+ * of arch/arm/cpu/arm926ejs/davinci/lowlevel_init.S. Just returns if there is no
  * initialization required.
  *
  * This program is free software; you can redistribute it and/or
diff --git a/board/davinci/sonata/board_init.S b/board/davinci/sonata/board_init.S
index fbb9ea73e9fb723b3df00bfd886294c1e463dc7b..3e4c7a2c54cb3c93e4bc06b79229c95f60c475e8 100644
--- a/board/davinci/sonata/board_init.S
+++ b/board/davinci/sonata/board_init.S
@@ -2,7 +2,7 @@
  * Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net>
  *
  * Board-specific low level initialization code. Called at the very end
- * of cpu/arm926ejs/davinci/lowlevel_init.S. Just returns if there is no
+ * of arch/arm/cpu/arm926ejs/davinci/lowlevel_init.S. Just returns if there is no
  * initialization required.
  *
  * For _OLDER_ Sonata boards sets up GPIO4 to control NAND WP line. Newer
diff --git a/board/edb93xx/config.mk b/board/edb93xx/config.mk
index b2fc6fac317b44710665bf3f1bda8fbe7561ba97..b627869c25fbcdfe0096e8fb5a98e7d040a8eb1d 100644
--- a/board/edb93xx/config.mk
+++ b/board/edb93xx/config.mk
@@ -1,4 +1,4 @@
-LDSCRIPT := $(SRCTREE)/cpu/arm920t/ep93xx/u-boot.lds
+LDSCRIPT := $(SRCTREE)/arch/arm/cpu/arm920t/ep93xx/u-boot.lds
 
 ifdef CONFIG_EDB9301
 TEXT_BASE = 0x05700000
diff --git a/board/freescale/mx31ads/u-boot.lds b/board/freescale/mx31ads/u-boot.lds
index 6f5bda4572110d9ac3adabf82afc769e78da76fa..273129457b227ee95506a38b69fb309fc0fe7aa0 100644
--- a/board/freescale/mx31ads/u-boot.lds
+++ b/board/freescale/mx31ads/u-boot.lds
@@ -37,7 +37,7 @@ SECTIONS
 	  /* WARNING - the following is hand-optimized to fit within	*/
 	  /* the sector layout of our flash chips!	XXX FIXME XXX	*/
 
-	  cpu/arm1136/start.o			(.text)
+	  arch/arm/cpu/arm1136/start.o			(.text)
 	  board/freescale/mx31ads/libmx31ads.a	(.text)
 	  arch/arm/lib/libarm.a			(.text)
 	  net/libnet.a				(.text)
diff --git a/board/logicpd/zoom2/zoom2.c b/board/logicpd/zoom2/zoom2.c
index 387ed2d3968211dbff057dece019af12caabf1e5..6455d1dc3cb087e58e297a30d16b20a86c2adec6 100644
--- a/board/logicpd/zoom2/zoom2.c
+++ b/board/logicpd/zoom2/zoom2.c
@@ -46,7 +46,7 @@
 /*
  * This the the zoom2, board specific, gpmc configuration for the
  * quad uart on the debug board.   The more general gpmc configurations
- * are setup at the cpu level in cpu/arm_cortexa8/omap3/mem.c
+ * are setup at the cpu level in arch/arm/cpu/arm_cortexa8/omap3/mem.c
  *
  * The details of the setting of the serial gpmc setup are not available.
  * The values were provided by another party.
diff --git a/board/lpc2292sodimm/flash.c b/board/lpc2292sodimm/flash.c
index a7e175d8edbcf3502322cf178bbb6eb98860cc02..fd5389fb98c4475f4b60ac8f97a38fff62a3bda3 100644
--- a/board/lpc2292sodimm/flash.c
+++ b/board/lpc2292sodimm/flash.c
@@ -1,7 +1,7 @@
 /*
  * (C) Copyright 2006 Embedded Artists AB <www.embeddedartists.com>
  *
- * Modified to use the routines in cpu/arm720t/lpc2292/flash.c by
+ * Modified to use the routines in arch/arm/cpu/arm720t/lpc2292/flash.c by
  * Gary Jennejohn <garyj@denx,de>
  *
  * This program is free software; you can redistribute it and/or
diff --git a/board/samsung/smdk6400/u-boot-nand.lds b/board/samsung/smdk6400/u-boot-nand.lds
index a074420c15106ab691e8141893497f3d33e34434..29a4f61e361ee9c714237ddffa2126bb21abdc1a 100644
--- a/board/samsung/smdk6400/u-boot-nand.lds
+++ b/board/samsung/smdk6400/u-boot-nand.lds
@@ -34,8 +34,8 @@ SECTIONS
 	. = ALIGN(4);
 	.text      :
 	{
-	  cpu/arm1176/start.o	(.text)
-	  cpu/arm1176/s3c64xx/cpu_init.o	(.text)
+	  arch/arm/cpu/arm1176/start.o	(.text)
+	  arch/arm/cpu/arm1176/s3c64xx/cpu_init.o	(.text)
 	  *(.text)
 	}
 
diff --git a/board/siemens/SMN42/flash.c b/board/siemens/SMN42/flash.c
index 8cf17b8576c9bf5f91a1f7194cfcebf7da56c6bf..fc91574f8519c1ee1845c1ce88cb8c7f7955b8e8 100644
--- a/board/siemens/SMN42/flash.c
+++ b/board/siemens/SMN42/flash.c
@@ -2,7 +2,7 @@
  * (C) Copyright 2006 Embedded Artists AB <www.embeddedartists.com>
  *
  * (C) Copyright 2007 Gary Jennejohn garyj@denx.de
- * Modified to use the routines in cpu/arm720t/lpc2292/flash.c.
+ * Modified to use the routines in arch/arm/cpu/arm720t/lpc2292/flash.c.
  * Heavily modified to support the SMN42 board from Siemens
  *
  * This program is free software; you can redistribute it and/or
diff --git a/board/trab/rs485.c b/board/trab/rs485.c
index ad0c13665e41073c0a3f0a088e2304157b0f79fd..6a3a4cda9ce5e56895f30465799a3e5a9a6647ed 100644
--- a/board/trab/rs485.c
+++ b/board/trab/rs485.c
@@ -2,7 +2,7 @@
  * (C) Copyright 2003
  * Martin Krause, TQ-Systems GmbH, <martin.krause@tqs.de>
  *
- * Based on cpu/arm920t/serial.c, by Gary Jennejohn
+ * Based on arch/arm/cpu/arm920t/serial.c, by Gary Jennejohn
  * (C) Copyright 2002 Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
  *
  * This program is free software; you can redistribute it and/or modify
diff --git a/board/trab/rs485.h b/board/trab/rs485.h
index 16d69bbd5ca4bf62e4092a693dff5d45847706dd..19e32446c35865354e7dbc3f29e9f7935921178d 100644
--- a/board/trab/rs485.h
+++ b/board/trab/rs485.h
@@ -2,7 +2,7 @@
  * (C) Copyright 2003
  * Martin Krause, TQ-Systems GmbH, <martin.krause@tqs.de>
  *
- * Based on cpu/arm920t/serial.c, by Gary Jennejohn
+ * Based on arch/arm/cpu/arm920t/serial.c, by Gary Jennejohn
  * (C) Copyright 2002 Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
  *
  * This program is free software; you can redistribute it and/or modify
diff --git a/board/trab/u-boot.lds b/board/trab/u-boot.lds
index 05b929f569705e75e1de0f0bd243ccf452d9ea22..cd50e85242c4af99b43ef11f65a08e57ed95cb4b 100644
--- a/board/trab/u-boot.lds
+++ b/board/trab/u-boot.lds
@@ -32,7 +32,7 @@ SECTIONS
 	. = ALIGN(4);
 	.text      :
 	{
-	  cpu/arm920t/start.o	(.text)
+	  arch/arm/cpu/arm920t/start.o	(.text)
 	  lib/zlib.o	(.text)
 	  lib/crc32.o	(.text)
 	  lib/string.o	(.text)
diff --git a/doc/README-integrator b/doc/README-integrator
index 4daf3413aa6e92dd4b790a0dbaff750561f9c6f2..5a0e9349248a627935a2e5495a0d9ddff98c991e 100644
--- a/doc/README-integrator
+++ b/doc/README-integrator
@@ -52,7 +52,7 @@ cpu/arm<>/start.S so that it may be used by other boards.
 However, to avoid duplicating code through all processor files, a generic core
 for ARM Integrator CMs has been added
 
-	cpu/arm_intcm
+	arch/arm/cpu/arm_intcm
 
 Otherwise. for example,  the standard CM reset via the CM control register would
 need placing in each CM processor file......
diff --git a/doc/README.ARM-SoC b/doc/README.ARM-SoC
index 15f065dfbc7e3889804a20ff4432ea92e6a99c31..d6bd6248865cf1af01f143e184992ddc2f568c9e 100644
--- a/doc/README.ARM-SoC
+++ b/doc/README.ARM-SoC
@@ -1,7 +1,7 @@
 [By Steven Scholz <steven.scholz@imc-berlin.de>, 16 Aug 2004]
 
 Since the cpu/ directory gets clobbered with peripheral driver code I
-started cleaning up cpu/arm920t.
+started cleaning up arch/arm/cpu/arm920t.
 
 I introduced the concept of Soc (system on a chip) into the ./cpu
 directory. That means that code that is cpu (i.e. core) specific
@@ -17,8 +17,8 @@ peripherals around the core) is moved into
 Thus a library/archive "$(CPUDIR)/$(SOC)/lib$(SOC).a" will be build
 and linked. Examples will be
 
-	cpu/arm920t/imx/
-	cpu/arm920t/s3c24x0
+	arch/arm/cpu/arm920t/imx/
+	arch/arm/cpu/arm920t/s3c24x0
 
 One can select an SoC by passing the name of it to ./mkconfig just
 like
diff --git a/doc/README.modnet50 b/doc/README.modnet50
index f7bb254e16d0858316853c0ddb77aaca968b2664..2ac3c8fbe34bc5fb380b93b1a36fe0141ff81906 100644
--- a/doc/README.modnet50
+++ b/doc/README.modnet50
@@ -45,7 +45,7 @@ flash.
 
 Files:
 
-cpu/arm720t/serial_netarm.c .. serial I/O for the cpu
+arch/arm/cpu/arm720t/serial_netarm.c .. serial I/O for the cpu
 
 board/modnet50/lowlevel_init.S   .. memory setup for ModNET50
 board/modnet50/flash.c	    .. flash routines
diff --git a/nand_spl/board/freescale/mx31pdk/Makefile b/nand_spl/board/freescale/mx31pdk/Makefile
index 0e13d5de2607552b45d074386e30948adca826fb..c1dcf05f3b6519edf868de9a10b875ae9c4727ea 100644
--- a/nand_spl/board/freescale/mx31pdk/Makefile
+++ b/nand_spl/board/freescale/mx31pdk/Makefile
@@ -12,7 +12,7 @@ SOBJS	= start.o lowlevel_init.o
 COBJS	= nand_boot_fsl_nfc.o
 
 SRCS	:= $(SRCTREE)/nand_spl/nand_boot_fsl_nfc.c
-SRCS	+= $(SRCTREE)/cpu/arm1136/start.S
+SRCS	+= $(SRCTREE)/arch/arm/cpu/arm1136/start.S
 SRCS	+= $(SRCTREE)/board/freescale/mx31pdk/lowlevel_init.S
 OBJS	:= $(addprefix $(obj),$(SOBJS) $(COBJS))
 __OBJS	:= $(SOBJS) $(COBJS)
@@ -40,7 +40,7 @@ $(nandobj)u-boot.lds: $(LDSCRIPT)
 
 #########################################################################
 
-$(obj)%.o:	$(SRCTREE)/cpu/arm1136/%.S
+$(obj)%.o:	$(SRCTREE)/arch/arm/cpu/arm1136/%.S
 	$(CC) $(AFLAGS) -c -o $@ $<
 
 $(obj)%.o:	$(SRCTREE)/board/freescale/mx31pdk/%.S
diff --git a/nand_spl/board/karo/tx25/Makefile b/nand_spl/board/karo/tx25/Makefile
index ae71f6695fd87ad9e046d141017a26b482689fbc..62aa58351c74b79d110cda9ee9d949474fb2d727 100644
--- a/nand_spl/board/karo/tx25/Makefile
+++ b/nand_spl/board/karo/tx25/Makefile
@@ -33,7 +33,7 @@ SOBJS	= start.o lowlevel_init.o
 COBJS	= nand_boot_fsl_nfc.o
 
 SRCS	:= $(SRCTREE)/nand_spl/nand_boot_fsl_nfc.c
-SRCS	+= $(SRCTREE)/cpu/arm926ejs/start.S
+SRCS	+= $(SRCTREE)/arch/arm/cpu/arm926ejs/start.S
 SRCS	+= $(SRCTREE)/board/karo/tx25/lowlevel_init.S
 OBJS	:= $(addprefix $(obj),$(SOBJS) $(COBJS))
 __OBJS	:= $(SOBJS) $(COBJS)
@@ -61,7 +61,7 @@ $(nandobj)u-boot.lds: $(LDSCRIPT)
 
 #########################################################################
 
-$(obj)%.o:	$(SRCTREE)/cpu/arm926ejs/%.S
+$(obj)%.o:	$(SRCTREE)/arch/arm/cpu/arm926ejs/%.S
 	$(CC) $(AFLAGS) -c -o $@ $<
 
 $(obj)%.o:	$(SRCTREE)/board/karo/tx25/%.S
diff --git a/nand_spl/board/samsung/smdk6400/Makefile b/nand_spl/board/samsung/smdk6400/Makefile
index 0fdda25ac566480c17b826718bc7abfca3e7fe75..9cb485331808bfa4373e3fb90c2faedc52311fa8 100644
--- a/nand_spl/board/samsung/smdk6400/Makefile
+++ b/nand_spl/board/samsung/smdk6400/Makefile
@@ -67,12 +67,12 @@ $(nandobj)u-boot.lds: $(LDSCRIPT)
 # from cpu directory
 $(obj)start.S:
 	@rm -f $@
-	@ln -s $(TOPDIR)/cpu/arm1176/start.S $@
+	@ln -s $(TOPDIR)/arch/arm/cpu/arm1176/start.S $@
 
 # from SoC directory
 $(obj)cpu_init.S:
 	@rm -f $@
-	@ln -s $(TOPDIR)/cpu/arm1176/s3c64xx/cpu_init.S $@
+	@ln -s $(TOPDIR)/arch/arm/cpu/arm1176/s3c64xx/cpu_init.S $@
 
 # from board directory
 $(obj)lowlevel_init.S: