aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/mips/Kconfig42
-rw-r--r--arch/mips/Makefile12
-rw-r--r--arch/mips/kernel/Makefile1
-rw-r--r--arch/mips/lib/Makefile1
-rw-r--r--arch/mips/mm/Makefile1
-rw-r--r--arch/mips/netlogic/Kconfig5
-rw-r--r--arch/mips/netlogic/xlr/Makefile5
7 files changed, 67 insertions, 0 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 351c80fbba7e..5016caac6b91 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -736,6 +736,33 @@ config CAVIUM_OCTEON_REFERENCE_BOARD
736 Hikari 736 Hikari
737 Say Y here for most Octeon reference boards. 737 Say Y here for most Octeon reference boards.
738 738
739config NLM_XLR_BOARD
740 bool "Netlogic XLR/XLS based systems"
741 depends on EXPERIMENTAL
742 select BOOT_ELF32
743 select NLM_COMMON
744 select NLM_XLR
745 select SYS_HAS_CPU_XLR
746 select SYS_SUPPORTS_SMP
747 select HW_HAS_PCI
748 select SWAP_IO_SPACE
749 select SYS_SUPPORTS_32BIT_KERNEL
750 select SYS_SUPPORTS_64BIT_KERNEL
751 select 64BIT_PHYS_ADDR
752 select SYS_SUPPORTS_BIG_ENDIAN
753 select SYS_SUPPORTS_HIGHMEM
754 select DMA_COHERENT
755 select NR_CPUS_DEFAULT_32
756 select CEVT_R4K
757 select CSRC_R4K
758 select IRQ_CPU
759 select ZONE_DMA if 64BIT
760 select SYNC_R4K
761 select SYS_HAS_EARLY_PRINTK
762 help
763 Support for systems based on Netlogic XLR and XLS processors.
764 Say Y here if you have a XLR or XLS based board.
765
739endchoice 766endchoice
740 767
741source "arch/mips/alchemy/Kconfig" 768source "arch/mips/alchemy/Kconfig"
@@ -752,6 +779,7 @@ source "arch/mips/txx9/Kconfig"
752source "arch/mips/vr41xx/Kconfig" 779source "arch/mips/vr41xx/Kconfig"
753source "arch/mips/cavium-octeon/Kconfig" 780source "arch/mips/cavium-octeon/Kconfig"
754source "arch/mips/loongson/Kconfig" 781source "arch/mips/loongson/Kconfig"
782source "arch/mips/netlogic/Kconfig"
755 783
756endmenu 784endmenu
757 785
@@ -1420,6 +1448,17 @@ config CPU_BMIPS5000
1420 help 1448 help
1421 Broadcom BMIPS5000 processors. 1449 Broadcom BMIPS5000 processors.
1422 1450
1451config CPU_XLR
1452 bool "Netlogic XLR SoC"
1453 depends on SYS_HAS_CPU_XLR
1454 select CPU_SUPPORTS_32BIT_KERNEL
1455 select CPU_SUPPORTS_64BIT_KERNEL
1456 select CPU_SUPPORTS_HIGHMEM
1457 select WEAK_ORDERING
1458 select WEAK_REORDERING_BEYOND_LLSC
1459 select CPU_SUPPORTS_HUGEPAGES
1460 help
1461 Netlogic Microsystems XLR/XLS processors.
1423endchoice 1462endchoice
1424 1463
1425if CPU_LOONGSON2F 1464if CPU_LOONGSON2F
@@ -1550,6 +1589,9 @@ config SYS_HAS_CPU_BMIPS4380
1550config SYS_HAS_CPU_BMIPS5000 1589config SYS_HAS_CPU_BMIPS5000
1551 bool 1590 bool
1552 1591
1592config SYS_HAS_CPU_XLR
1593 bool
1594
1553# 1595#
1554# CPU may reorder R->R, R->W, W->R, W->W 1596# CPU may reorder R->R, R->W, W->R, W->W
1555# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC 1597# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index 53e3514ba10e..884819cd0607 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -191,6 +191,18 @@ endif
191# 191#
192include $(srctree)/arch/mips/Kbuild.platforms 192include $(srctree)/arch/mips/Kbuild.platforms
193 193
194#
195# NETLOGIC SOC Common (common)
196#
197cflags-$(CONFIG_NLM_COMMON) += -I$(srctree)/arch/mips/include/asm/mach-netlogic
198cflags-$(CONFIG_NLM_COMMON) += -I$(srctree)/arch/mips/include/asm/netlogic
199
200#
201# NETLOGIC XLR/XLS SoC, Simulator and boards
202#
203core-$(CONFIG_NLM_XLR) += arch/mips/netlogic/xlr/
204load-$(CONFIG_NLM_XLR_BOARD) += 0xffffffff84000000
205
194cflags-y += -I$(srctree)/arch/mips/include/asm/mach-generic 206cflags-y += -I$(srctree)/arch/mips/include/asm/mach-generic
195drivers-$(CONFIG_PCI) += arch/mips/pci/ 207drivers-$(CONFIG_PCI) += arch/mips/pci/
196 208
diff --git a/arch/mips/kernel/Makefile b/arch/mips/kernel/Makefile
index cedee2bcbd18..83bba332bbfc 100644
--- a/arch/mips/kernel/Makefile
+++ b/arch/mips/kernel/Makefile
@@ -52,6 +52,7 @@ obj-$(CONFIG_CPU_TX39XX) += r2300_fpu.o r2300_switch.o
52obj-$(CONFIG_CPU_TX49XX) += r4k_fpu.o r4k_switch.o 52obj-$(CONFIG_CPU_TX49XX) += r4k_fpu.o r4k_switch.o
53obj-$(CONFIG_CPU_VR41XX) += r4k_fpu.o r4k_switch.o 53obj-$(CONFIG_CPU_VR41XX) += r4k_fpu.o r4k_switch.o
54obj-$(CONFIG_CPU_CAVIUM_OCTEON) += octeon_switch.o 54obj-$(CONFIG_CPU_CAVIUM_OCTEON) += octeon_switch.o
55obj-$(CONFIG_CPU_XLR) += r4k_fpu.o r4k_switch.o
55 56
56obj-$(CONFIG_SMP) += smp.o 57obj-$(CONFIG_SMP) += smp.o
57obj-$(CONFIG_SMP_UP) += smp-up.o 58obj-$(CONFIG_SMP_UP) += smp-up.o
diff --git a/arch/mips/lib/Makefile b/arch/mips/lib/Makefile
index 2adead5a8a37..b2cad4fd5fc4 100644
--- a/arch/mips/lib/Makefile
+++ b/arch/mips/lib/Makefile
@@ -28,6 +28,7 @@ obj-$(CONFIG_CPU_TX39XX) += r3k_dump_tlb.o
28obj-$(CONFIG_CPU_TX49XX) += dump_tlb.o 28obj-$(CONFIG_CPU_TX49XX) += dump_tlb.o
29obj-$(CONFIG_CPU_VR41XX) += dump_tlb.o 29obj-$(CONFIG_CPU_VR41XX) += dump_tlb.o
30obj-$(CONFIG_CPU_CAVIUM_OCTEON) += dump_tlb.o 30obj-$(CONFIG_CPU_CAVIUM_OCTEON) += dump_tlb.o
31obj-$(CONFIG_CPU_XLR) += dump_tlb.o
31 32
32# libgcc-style stuff needed in the kernel 33# libgcc-style stuff needed in the kernel
33obj-y += ashldi3.o ashrdi3.o cmpdi2.o lshrdi3.o ucmpdi2.o 34obj-y += ashldi3.o ashrdi3.o cmpdi2.o lshrdi3.o ucmpdi2.o
diff --git a/arch/mips/mm/Makefile b/arch/mips/mm/Makefile
index d679c772d082..eb4463689faa 100644
--- a/arch/mips/mm/Makefile
+++ b/arch/mips/mm/Makefile
@@ -29,6 +29,7 @@ obj-$(CONFIG_CPU_TX39XX) += c-tx39.o tlb-r3k.o
29obj-$(CONFIG_CPU_TX49XX) += c-r4k.o cex-gen.o tlb-r4k.o 29obj-$(CONFIG_CPU_TX49XX) += c-r4k.o cex-gen.o tlb-r4k.o
30obj-$(CONFIG_CPU_VR41XX) += c-r4k.o cex-gen.o tlb-r4k.o 30obj-$(CONFIG_CPU_VR41XX) += c-r4k.o cex-gen.o tlb-r4k.o
31obj-$(CONFIG_CPU_CAVIUM_OCTEON) += c-octeon.o cex-oct.o tlb-r4k.o 31obj-$(CONFIG_CPU_CAVIUM_OCTEON) += c-octeon.o cex-oct.o tlb-r4k.o
32obj-$(CONFIG_CPU_XLR) += c-r4k.o tlb-r4k.o cex-gen.o
32 33
33obj-$(CONFIG_IP22_CPU_SCACHE) += sc-ip22.o 34obj-$(CONFIG_IP22_CPU_SCACHE) += sc-ip22.o
34obj-$(CONFIG_R5000_CPU_SCACHE) += sc-r5k.o 35obj-$(CONFIG_R5000_CPU_SCACHE) += sc-r5k.o
diff --git a/arch/mips/netlogic/Kconfig b/arch/mips/netlogic/Kconfig
new file mode 100644
index 000000000000..a5ca743613f2
--- /dev/null
+++ b/arch/mips/netlogic/Kconfig
@@ -0,0 +1,5 @@
1config NLM_COMMON
2 bool
3
4config NLM_XLR
5 bool
diff --git a/arch/mips/netlogic/xlr/Makefile b/arch/mips/netlogic/xlr/Makefile
new file mode 100644
index 000000000000..9bd3f731f62e
--- /dev/null
+++ b/arch/mips/netlogic/xlr/Makefile
@@ -0,0 +1,5 @@
1obj-y += setup.o platform.o irq.o setup.o time.o
2obj-$(CONFIG_SMP) += smp.o smpboot.o
3obj-$(CONFIG_EARLY_PRINTK) += xlr_console.o
4
5EXTRA_CFLAGS += -Werror