diff --git a/cpu/nios/Makefile b/arch/nios/cpu/Makefile
similarity index 100%
rename from cpu/nios/Makefile
rename to arch/nios/cpu/Makefile
diff --git a/cpu/nios/asmi.c b/arch/nios/cpu/asmi.c
similarity index 100%
rename from cpu/nios/asmi.c
rename to arch/nios/cpu/asmi.c
diff --git a/cpu/nios/config.mk b/arch/nios/cpu/config.mk
similarity index 100%
rename from cpu/nios/config.mk
rename to arch/nios/cpu/config.mk
diff --git a/cpu/nios/cpu.c b/arch/nios/cpu/cpu.c
similarity index 100%
rename from cpu/nios/cpu.c
rename to arch/nios/cpu/cpu.c
diff --git a/cpu/nios/interrupts.c b/arch/nios/cpu/interrupts.c
similarity index 100%
rename from cpu/nios/interrupts.c
rename to arch/nios/cpu/interrupts.c
diff --git a/cpu/nios/serial.c b/arch/nios/cpu/serial.c
similarity index 100%
rename from cpu/nios/serial.c
rename to arch/nios/cpu/serial.c
diff --git a/cpu/nios/spi.c b/arch/nios/cpu/spi.c
similarity index 100%
rename from cpu/nios/spi.c
rename to arch/nios/cpu/spi.c
diff --git a/cpu/nios/start.S b/arch/nios/cpu/start.S
similarity index 100%
rename from cpu/nios/start.S
rename to arch/nios/cpu/start.S
diff --git a/cpu/nios/traps.S b/arch/nios/cpu/traps.S
similarity index 100%
rename from cpu/nios/traps.S
rename to arch/nios/cpu/traps.S
diff --git a/board/altera/dk1c20/u-boot.lds b/board/altera/dk1c20/u-boot.lds
index 98ee8f83232f56471df79c8e05b91d8b85e4d95b..50c3fe75a089e70c3fa6553571dcfe4d59294419 100644
--- a/board/altera/dk1c20/u-boot.lds
+++ b/board/altera/dk1c20/u-boot.lds
@@ -30,7 +30,7 @@ SECTIONS
 {
 	.text :
 	{
-	  cpu/nios/start.o (.text)
+	  arch/nios/cpu/start.o (.text)
 	  *(.text)
 	}
 	__text_end = .;
diff --git a/board/altera/dk1s10/u-boot.lds b/board/altera/dk1s10/u-boot.lds
index 98ee8f83232f56471df79c8e05b91d8b85e4d95b..50c3fe75a089e70c3fa6553571dcfe4d59294419 100644
--- a/board/altera/dk1s10/u-boot.lds
+++ b/board/altera/dk1s10/u-boot.lds
@@ -30,7 +30,7 @@ SECTIONS
 {
 	.text :
 	{
-	  cpu/nios/start.o (.text)
+	  arch/nios/cpu/start.o (.text)
 	  *(.text)
 	}
 	__text_end = .;
diff --git a/board/altera/ep1c20/u-boot.lds b/board/altera/ep1c20/u-boot.lds
index e2eb3aa431337a7dc1a307104c8391542fc6da8a..b909e94f8fcfa48a532ae1cf69aed7d33c16e1f8 100644
--- a/board/altera/ep1c20/u-boot.lds
+++ b/board/altera/ep1c20/u-boot.lds
@@ -30,7 +30,7 @@ SECTIONS
 {
 	.text :
 	{
-	  cpu/nios2/start.o (.text)
+	  arch/nios/cpu2/start.o (.text)
 	  *(.text)
 	  *(.text.*)
 	  *(.gnu.linkonce.t*)
diff --git a/board/altera/ep1s10/u-boot.lds b/board/altera/ep1s10/u-boot.lds
index e2eb3aa431337a7dc1a307104c8391542fc6da8a..b909e94f8fcfa48a532ae1cf69aed7d33c16e1f8 100644
--- a/board/altera/ep1s10/u-boot.lds
+++ b/board/altera/ep1s10/u-boot.lds
@@ -30,7 +30,7 @@ SECTIONS
 {
 	.text :
 	{
-	  cpu/nios2/start.o (.text)
+	  arch/nios/cpu2/start.o (.text)
 	  *(.text)
 	  *(.text.*)
 	  *(.gnu.linkonce.t*)
diff --git a/board/altera/ep1s40/u-boot.lds b/board/altera/ep1s40/u-boot.lds
index e2eb3aa431337a7dc1a307104c8391542fc6da8a..b909e94f8fcfa48a532ae1cf69aed7d33c16e1f8 100644
--- a/board/altera/ep1s40/u-boot.lds
+++ b/board/altera/ep1s40/u-boot.lds
@@ -30,7 +30,7 @@ SECTIONS
 {
 	.text :
 	{
-	  cpu/nios2/start.o (.text)
+	  arch/nios/cpu2/start.o (.text)
 	  *(.text)
 	  *(.text.*)
 	  *(.gnu.linkonce.t*)
diff --git a/board/psyent/pci5441/u-boot.lds b/board/psyent/pci5441/u-boot.lds
index b2d88a55867e8f88d88b4b9412bb1d05a2421b1d..f155800a64d54817532e2c7b6b2cc6c62e7881f0 100644
--- a/board/psyent/pci5441/u-boot.lds
+++ b/board/psyent/pci5441/u-boot.lds
@@ -30,7 +30,7 @@ SECTIONS
 {
 	.text :
 	{
-	  cpu/nios2/start.o (.text)
+	  arch/nios/cpu2/start.o (.text)
 	  *(.text)
 	  *(.text.*)
 	  *(.gnu.linkonce.t*)
diff --git a/board/psyent/pk1c20/u-boot.lds b/board/psyent/pk1c20/u-boot.lds
index b2d88a55867e8f88d88b4b9412bb1d05a2421b1d..f155800a64d54817532e2c7b6b2cc6c62e7881f0 100644
--- a/board/psyent/pk1c20/u-boot.lds
+++ b/board/psyent/pk1c20/u-boot.lds
@@ -30,7 +30,7 @@ SECTIONS
 {
 	.text :
 	{
-	  cpu/nios2/start.o (.text)
+	  arch/nios/cpu2/start.o (.text)
 	  *(.text)
 	  *(.text.*)
 	  *(.gnu.linkonce.t*)
diff --git a/board/ssv/adnpesc1/u-boot.lds b/board/ssv/adnpesc1/u-boot.lds
index 98ee8f83232f56471df79c8e05b91d8b85e4d95b..50c3fe75a089e70c3fa6553571dcfe4d59294419 100644
--- a/board/ssv/adnpesc1/u-boot.lds
+++ b/board/ssv/adnpesc1/u-boot.lds
@@ -30,7 +30,7 @@ SECTIONS
 {
 	.text :
 	{
-	  cpu/nios/start.o (.text)
+	  arch/nios/cpu/start.o (.text)
 	  *(.text)
 	}
 	__text_end = .;
diff --git a/doc/README.nios b/doc/README.nios
index da30ff5ae4e711cbff1f2f6129f1da9ec9d3f684..56281446003472786c01fe0f835bb19ac4d3a5c2 100644
--- a/doc/README.nios
+++ b/doc/README.nios
@@ -243,7 +243,7 @@ cover most of the individual functions to get you started.
 	following commands, then close the console window:
 
 		(gdb) directory common
-		(gdb) directory cpu/nios
+		(gdb) directory arch/nios/cpu
 		(gdb) directory arch/nios/lib
 		(gdb) directory board/altera/dk1c20