MIPS: Support for Netlogic XLP processors
cover MIPS: Support for Netlogic XLP processors
[Here's is the patchset again, it has been re-based on top of the ralf/upstream-sfr.git and few conflicts there have been resolved.]
This patchset adds support for Netlogic's XLP processor family.
The first few patches are to update XLR and move common files to a new netlogic/common directory.
As always, comments and suggestions welcome. More details on the chip at
http://www.netlogicmicro.com/Products/ProductBriefs/MultiCore/XLP832.htm
Changes from version:
- merge smp wakeup code of XLR and XLP
- common support for booting with 1/2/4 threads per core
- Add supprt for XLP 3xx processors
- mark netlogic chips SMT capable
Hillf Danton (1):
MIPS: Netlogic: Mark Netlogic chips as SMT capable
Jayachandran C (11):
MIPS: Netlogic: Style fixes for Platform
MIPS: Netlogic: Use CPU_XLR instead of NLM_XLR
MIPS: Netlogic: No need to set -Werror in mips/xlr
MIPS: Netlogic: Move code common with XLP to common/
MIPS: Netlogic: Update default config
MIPS: Netlogic: XLP CPU support.
MIPS: Netlogic: Add XLP platform files for XLP SoC
MIPS: Netlogic: Add XLP makefiles and config
MIPS: Netlogic: Add default XLP config.
MIPS: Netlogic: Merge some of XLR/XLP wakup code
MIPS: Netlogic: Add support for XLP 3XX cores
arch/mips/Kconfig | 44 ++- arch/mips/configs/nlm_xlp_defconfig | 570 ++++++++++++++++++++ arch/mips/configs/nlm_xlr_defconfig | 16 +- arch/mips/include/asm/cpu.h | 5 +- .../asm/mach-netlogic/cpu-feature-overrides.h | 18 +- arch/mips/include/asm/module.h | 2 + arch/mips/include/asm/netlogic/common.h | 76 +++ arch/mips/include/asm/netlogic/haldefs.h | 163 ++++++ arch/mips/include/asm/netlogic/xlp-hal/bridge.h | 187 +++++++ .../mips/include/asm/netlogic/xlp-hal/cpucontrol.h | 83 +++ arch/mips/include/asm/netlogic/xlp-hal/iomap.h | 153 ++++++ arch/mips/include/asm/netlogic/xlp-hal/pic.h | 411 ++++++++++++++ arch/mips/include/asm/netlogic/xlp-hal/sys.h | 129 +++++ arch/mips/include/asm/netlogic/xlp-hal/uart.h | 191 +++++++ arch/mips/include/asm/netlogic/xlp-hal/xlp.h | 51 ++ arch/mips/include/asm/netlogic/xlr/iomap.h | 22 - arch/mips/include/asm/netlogic/xlr/pic.h | 69 ++- arch/mips/include/asm/netlogic/xlr/xlr.h | 13 +- arch/mips/kernel/Makefile | 1 + arch/mips/kernel/cpu-probe.c | 20 +- arch/mips/lib/Makefile | 1 + arch/mips/mm/Makefile | 1 + arch/mips/mm/c-r4k.c | 3 + arch/mips/netlogic/Kconfig | 3 - arch/mips/netlogic/Makefile | 3 + arch/mips/netlogic/Platform | 13 +- arch/mips/netlogic/common/Makefile | 3 + arch/mips/netlogic/common/earlycons.c | 60 ++ arch/mips/netlogic/common/irq.c | 238 ++++++++ arch/mips/netlogic/common/smp.c | 270 +++++++++ arch/mips/netlogic/common/smpboot.S | 272 ++++++++++ arch/mips/netlogic/common/time.c | 51 ++ arch/mips/netlogic/xlp/Makefile | 2 + arch/mips/netlogic/xlp/nlm_hal.c | 111 ++++ arch/mips/netlogic/xlp/platform.c | 108 ++++ arch/mips/netlogic/xlp/setup.c | 105 ++++ arch/mips/netlogic/xlp/wakeup.c | 102 ++++ arch/mips/netlogic/xlr/Makefile | 7 +- arch/mips/netlogic/xlr/irq.c | 305 ----------- arch/mips/netlogic/xlr/platform.c | 31 +- arch/mips/netlogic/xlr/setup.c | 31 +- arch/mips/netlogic/xlr/smp.c | 220 -------- arch/mips/netlogic/xlr/smpboot.S | 100 ---- arch/mips/netlogic/xlr/time.c | 51 -- arch/mips/netlogic/xlr/wakeup.c | 68 +++ arch/mips/netlogic/xlr/xlr_console.c | 46 -- arch/mips/pci/Makefile | 2 +- arch/mips/pci/pci-xlr.c | 77 +++ 48 files changed, 3679 insertions(+), 829 deletions(-) create mode 100644 arch/mips/configs/nlm_xlp_defconfig create mode 100644 arch/mips/include/asm/netlogic/common.h create mode 100644 arch/mips/include/asm/netlogic/haldefs.h create mode 100644 arch/mips/include/asm/netlogic/xlp-hal/bridge.h create mode 100644 arch/mips/include/asm/netlogic/xlp-hal/cpucontrol.h create mode 100644 arch/mips/include/asm/netlogic/xlp-hal/iomap.h create mode 100644 arch/mips/include/asm/netlogic/xlp-hal/pic.h create mode 100644 arch/mips/include/asm/netlogic/xlp-hal/sys.h create mode 100644 arch/mips/include/asm/netlogic/xlp-hal/uart.h create mode 100644 arch/mips/include/asm/netlogic/xlp-hal/xlp.h create mode 100644 arch/mips/netlogic/Makefile create mode 100644 arch/mips/netlogic/common/Makefile create mode 100644 arch/mips/netlogic/common/earlycons.c create mode 100644 arch/mips/netlogic/common/irq.c create mode 100644 arch/mips/netlogic/common/smp.c create mode 100644 arch/mips/netlogic/common/smpboot.S create mode 100644 arch/mips/netlogic/common/time.c create mode 100644 arch/mips/netlogic/xlp/Makefile create mode 100644 arch/mips/netlogic/xlp/nlm_hal.c create mode 100644 arch/mips/netlogic/xlp/platform.c create mode 100644 arch/mips/netlogic/xlp/setup.c create mode 100644 arch/mips/netlogic/xlp/wakeup.c delete mode 100644 arch/mips/netlogic/xlr/irq.c delete mode 100644 arch/mips/netlogic/xlr/smp.c delete mode 100644 arch/mips/netlogic/xlr/smpboot.S delete mode 100644 arch/mips/netlogic/xlr/time.c create mode 100644 arch/mips/netlogic/xlr/wakeup.c delete mode 100644 arch/mips/netlogic/xlr/xlr_console.c
Signature · 1 line
1.7.5.4
PATCH 1/12 MIPS: Netlogic: Style fixes for Platform
- Use platform- variable for xlr
- Load address common for all netlogic chips
--- arch/mips/netlogic/Platform | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-)
arch/mips/netlogic/Platform +5 -5
@@ -1,8 +1,8 @@ # # NETLOGIC includes # -cflags-$(CONFIG_NLM_COMMON) += -I$(srctree)/arch/mips/include/asm/mach-netlogic -cflags-$(CONFIG_NLM_COMMON) += -I$(srctree)/arch/mips/include/asm/netlogic +cflags-$(CONFIG_NLM_COMMON) += -I$(srctree)/arch/mips/include/asm/mach-netlogic +cflags-$(CONFIG_NLM_COMMON) += -I$(srctree)/arch/mips/include/asm/netlogic # # use mips64 if xlr is not available
@@ -10,7 +10,7 @@ cflags-$(CONFIG_NLM_COMMON) += -I$(srctree)/arch/mips/include/asm/netlogic cflags-$(CONFIG_NLM_XLR) += $(call cc-option,-march=xlr,-march=mips64) # -# NETLOGIC XLR/XLS SoC, Simulator and boards +# NETLOGIC processor support # -core-$(CONFIG_NLM_XLR) += arch/mips/netlogic/xlr/ -load-$(CONFIG_NLM_XLR_BOARD) += 0xffffffff80100000 +platform-$(CONFIG_NLM_XLR) += netlogic/xlr +load-$(CONFIG_NLM_COMMON) += 0xffffffff80100000
Signature · 1 line
1.7.5.4
Ralf Baechle
AppliedRe: [PATCH 01/12] MIPS: Netlogic: Style fixes for Platform
Queued for 3.3. Thanks,
Ralf
PATCH 2/12 MIPS: Netlogic: Use CPU_XLR instead of NLM_XLR
In reply to Jayachandran CThe CPU_XLR config variable is sufficient for XLR compilation, the variable NLM_XLR can be removed.
--- arch/mips/Kconfig | 1 - arch/mips/netlogic/Kconfig | 3 --- arch/mips/netlogic/Platform | 4 ++-- arch/mips/pci/Makefile | 2 +- 4 files changed, 3 insertions(+), 7 deletions(-)
arch/mips/Kconfig +0 -1
@@ -761,7 +761,6 @@ config NLM_XLR_BOARD depends on EXPERIMENTAL select BOOT_ELF32 select NLM_COMMON - select NLM_XLR select SYS_HAS_CPU_XLR select SYS_SUPPORTS_SMP select HW_HAS_PCI
arch/mips/netlogic/Kconfig +0 -3
@@ -1,5 +1,2 @@ config NLM_COMMON bool - -config NLM_XLR - bool
arch/mips/netlogic/Platform +2 -2
@@ -7,10 +7,10 @@ cflags-$(CONFIG_NLM_COMMON) += -I$(srctree)/arch/mips/include/asm/netlogic # # use mips64 if xlr is not available # -cflags-$(CONFIG_NLM_XLR) += $(call cc-option,-march=xlr,-march=mips64) +cflags-$(CONFIG_CPU_XLR) += $(call cc-option,-march=xlr,-march=mips64) # # NETLOGIC processor support # -platform-$(CONFIG_NLM_XLR) += netlogic/xlr +platform-$(CONFIG_CPU_XLR) += netlogic/xlr load-$(CONFIG_NLM_COMMON) += 0xffffffff80100000
arch/mips/pci/Makefile +1 -1
@@ -55,7 +55,7 @@ obj-$(CONFIG_ZAO_CAPCELLA) += fixup-capcella.o obj-$(CONFIG_WR_PPMC) += fixup-wrppmc.o obj-$(CONFIG_MIKROTIK_RB532) += pci-rc32434.o ops-rc32434.o fixup-rc32434.o obj-$(CONFIG_CPU_CAVIUM_OCTEON) += pci-octeon.o pcie-octeon.o -obj-$(CONFIG_NLM_XLR) += pci-xlr.o +obj-$(CONFIG_CPU_XLR) += pci-xlr.o ifdef CONFIG_PCI_MSI obj-$(CONFIG_CPU_CAVIUM_OCTEON) += msi-octeon.o
Signature · 1 line
1.7.5.4
Ralf Baechle
AppliedRe: [PATCH 02/12] MIPS: Netlogic: Use CPU_XLR instead of NLM_XLR
Queued for 3.3. Thanks,
Ral
PATCH 3/12 MIPS: Netlogic: No need to set -Werror in mips/xlr
In reply to Jayachandran CThe -Werror compilation flag is already set for arch/mips - it can be removed from arch/mips/xlr/Makefile
--- arch/mips/netlogic/xlr/Makefile | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-)
arch/mips/netlogic/xlr/Makefile +0 -2
@@ -1,5 +1,3 @@ obj-y += setup.o platform.o irq.o setup.o time.o obj-$(CONFIG_SMP) += smp.o smpboot.o obj-$(CONFIG_EARLY_PRINTK) += xlr_console.o - -ccflags-y += -Werror
Signature · 1 line
1.7.5.4
Ralf Baechle
AppliedRe: [PATCH 03/12] MIPS: Netlogic: No need to set -Werror in mips/xlr
Queued for 3.3. Thanks,
Ral
PATCH 4/12 MIPS: Netlogic: Move code common with XLP to common/
In reply to Jayachandran C- Move code that can be shared with XLP (irq.c, smp.c, time.c and xlr_console.c) to arch/mips/netlogic/common
- Add asm/netlogic/haldefs.h and asm/netlogic/common.h for common and io functions shared with XLP
- remove type 'nlm_reg_t *' and use uint64_t for mmio offsets
- Move XLR specific code in smp.c to xlr/wakeup.c
- Move XLR specific PCI code from irq.c to mips/pci/pci-xlr.c
- Provide API for pic functions called from common/irq.c
--- arch/mips/include/asm/netlogic/common.h | 56 +++++ arch/mips/include/asm/netlogic/haldefs.h | 142 +++++++++++++ arch/mips/include/asm/netlogic/xlr/iomap.h | 22 -- arch/mips/include/asm/netlogic/xlr/pic.h | 69 +++++-- arch/mips/include/asm/netlogic/xlr/xlr.h | 11 - arch/mips/netlogic/Makefile | 2 + arch/mips/netlogic/Platform | 2 +- arch/mips/netlogic/common/Makefile | 3 + arch/mips/netlogic/common/earlycons.c | 51 +++++ arch/mips/netlogic/common/irq.c | 230 +++++++++++++++++++++ arch/mips/netlogic/common/smp.c | 188 +++++++++++++++++ arch/mips/netlogic/common/time.c | 51 +++++ arch/mips/netlogic/xlr/Makefile | 5 +- arch/mips/netlogic/xlr/irq.c | 305 ---------------------------- arch/mips/netlogic/xlr/platform.c | 31 ++-- arch/mips/netlogic/xlr/setup.c | 24 ++- arch/mips/netlogic/xlr/smp.c | 220 -------------------- arch/mips/netlogic/xlr/smpboot.S | 6 +- arch/mips/netlogic/xlr/time.c | 51 ----- arch/mips/netlogic/xlr/wakeup.c | 71 +++++++ arch/mips/netlogic/xlr/xlr_console.c | 46 ---- arch/mips/pci/pci-xlr.c | 77 +++++++ 22 files changed, 960 insertions(+), 703 deletions(-) create mode 100644 arch/mips/include/asm/netlogic/common.h create mode 100644 arch/mips/include/asm/netlogic/haldefs.h create mode 100644 arch/mips/netlogic/Makefile create mode 100644 arch/mips/netlogic/common/Makefile create mode 100644 arch/mips/netlogic/common/earlycons.c create mode 100644 arch/mips/netlogic/common/irq.c create mode 100644 arch/mips/netlogic/common/smp.c create mode 100644 arch/mips/netlogic/common/time.c delete mode 100644 arch/mips/netlogic/xlr/irq.c delete mode 100644 arch/mips/netlogic/xlr/smp.c delete mode 100644 arch/mips/netlogic/xlr/time.c create mode 100644 arch/mips/netlogic/xlr/wakeup.c delete mode 100644 arch/mips/netlogic/xlr/xlr_console.c
arch/mips/include/asm/netlogic/common.h new file +56 -0
@@ -0,0 +1,56 @@ +/* +* Copyright 2003-2011 NetLogic Microsystems, Inc. (NetLogic). All rights +* reserved. +* +* This software is available to you under a choice of one of two +* licenses. You may choose to be licensed under the terms of the GNU +* General Public License (GPL) Version 2, available from the file +* COPYING in the main directory of this source tree, or the NetLogic +* license below: +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* 1. Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* 2. Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in +* the documentation and/or other materials provided with the +* distribution. +* +* THIS SOFTWARE IS PROVIDED BY NETLOGIC ``AS IS'' AND ANY EXPRESS OR +* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL NETLOGIC OR CONTRIBUTORS BE LIABLE +* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef _NETLOGIC_COMMON_H_ +#define _NETLOGIC_COMMON_H_ + +/* +* Common SMP definitions +*/ +struct irq_desc ; +extern struct plat_smp_ops nlm_smp_ops; +extern char nlm_reset_entry[], nlm_reset_entry_end[]; +void nlm_smp_function_ipi_handler (unsigned int irq,struct irq_desc *desc); +void nlm_smp_resched_ipi_handler (unsigned int irq,struct irq_desc *desc); +void nlm_smp_irq_init (void ); +void prom_pre_boot_secondary_cpus (void ); +int nlm_wakeup_secondary_cpus (u32 wakeup_mask); +void nlm_boot_smp_nmi (void ); + +/* +* Misc. +*/ +extern unsigned long nlm_common_ebase; +unsigned int nlm_get_cpu_frequency (void ); +#endif /* _NETLOGIC_COMMON_H_ */
arch/mips/include/asm/netlogic/haldefs.h new file +142 -0
142 lines not on this page · raw message
arch/mips/include/asm/netlogic/xlr/iomap.h +0 -22
@@ -106,26 +106,4 @@#define DEFAULT_HT_TYPE0_CFG_BASE 0x16000000#define DEFAULT_HT_TYPE1_CFG_BASE 0x17000000 -#ifndef __ASSEMBLY__ -#include <linux/types.h> -#include <asm/byteorder.h> - -typedef volatile __u32 nlm_reg_t ; -extern unsigned long netlogic_io_base; - -/* FIXME read once in write_reg */ -#ifdef CONFIG_CPU_LITTLE_ENDIAN -#define netlogic_read_reg (base, offset) ((base)[(offset)]) -#define netlogic_write_reg (base, offset, value) ((base)[(offset)] = (value)) -#else -#define netlogic_read_reg (base, offset) (be32_to_cpu((base)[(offset)])) -#define netlogic_write_reg (base, offset, value) \ - ((base)[(offset)] = cpu_to_be32((value))) -#endif - -#define netlogic_read_reg_le32 (base, offset) (le32_to_cpu((base)[(offset)])) -#define netlogic_write_reg_le32 (base, offset, value) \ - ((base)[(offset)] = cpu_to_le32((value))) -#define netlogic_io_mmio (offset) ((nlm_reg_t *)(netlogic_io_base+(offset))) -#endif /* __ASSEMBLY__ */ #endif
arch/mips/include/asm/netlogic/xlr/pic.h +51 -18
90 lines not on this page · raw message
arch/mips/include/asm/netlogic/xlr/xlr.h +0 -11
@@ -40,17 +40,6 @@ struct uart_port;unsigned int nlm_xlr_uart_in (struct uart_port *,int );void nlm_xlr_uart_out (struct uart_port *,int ,int ); -/* SMP support functions */ -struct irq_desc ; -void nlm_smp_function_ipi_handler (unsigned int irq,struct irq_desc *desc); -void nlm_smp_resched_ipi_handler (unsigned int irq,struct irq_desc *desc); -int nlm_wakeup_secondary_cpus (u32 wakeup_mask); -void nlm_smp_irq_init (void ); -void nlm_boot_smp_nmi (void ); -void prom_pre_boot_secondary_cpus (void ); - -extern struct plat_smp_ops nlm_smp_ops; -extern unsigned long nlm_common_ebase;/* XLS B silicon "Rook" */ static inline unsigned int nlm_chip_is_xls_b (void )
arch/mips/netlogic/Makefile new file +2 -0
@@ -0,0 +1,2 @@ +obj-$(CONFIG_NLM_COMMON) += common/ +obj-$(CONFIG_CPU_XLR) += xlr/
arch/mips/netlogic/Platform +1 -1
@@ -12,5 +12,5 @@ cflags-$(CONFIG_CPU_XLR) += $(call cc-option,-march=xlr,-march=mips64) # # NETLOGIC processor support # -platform-$(CONFIG_CPU_XLR) += netlogic/xlr +platform-$(CONFIG_NLM_COMMON) += netlogic/ load-$(CONFIG_NLM_COMMON) += 0xffffffff80100000
arch/mips/netlogic/common/Makefile new file +3 -0
@@ -0,0 +1,3 @@ +obj-y += irq.o time.o +obj-$(CONFIG_SMP) += smp.o +obj-$(CONFIG_EARLY_PRINTK) += earlycons.o
arch/mips/netlogic/common/earlycons.c new file +51 -0
51 lines not on this page · raw message
arch/mips/netlogic/common/irq.c new file +230 -0
230 lines not on this page · raw message
arch/mips/netlogic/common/smp.c new file +188 -0
188 lines not on this page · raw message
arch/mips/netlogic/common/time.c new file +51 -0
51 lines not on this page · raw message
arch/mips/netlogic/xlr/Makefile +2 -3
@@ -1,3 +1,2 @@ -obj-y += setup.o platform.o irq.o setup.o time.o -obj-$(CONFIG_SMP) += smp.o smpboot.o -obj-$(CONFIG_EARLY_PRINTK) += xlr_console.o +obj-y += setup.o platform.o +obj-$(CONFIG_SMP) += smpboot.o wakeup.o
arch/mips/netlogic/xlr/irq.c deleted +0 -305
305 lines not on this page · raw message
arch/mips/netlogic/xlr/platform.c +16 -15
@@ -15,18 +15,19 @@#include <linux/serial_8250.h> #include <linux/serial_reg.h> +#include <asm/netlogic/haldefs.h> #include <asm/netlogic/xlr/iomap.h> #include <asm/netlogic/xlr/pic.h> #include <asm/netlogic/xlr/xlr.h> unsigned int nlm_xlr_uart_in (struct uart_port *p,int offset) { -nlm_reg_t *mmio; +uint64_t uartbase;unsigned int value; -/* XLR uart does not need any mapping of regs */ - mmio = (nlm_reg_t *)(p->membase + (offset << p->regshift)); - value =netlogic_read_reg (mmio,0 ); +/* sign extend to 64 bits, if needed */ + uartbase = (uint64_t )(long )p->membase; + value =nlm_read_reg (uartbase, offset);/* See XLR/XLS errata */ if (offset ==UART_MSR )
@@ -39,10 +40,10 @@ unsigned int nlm_xlr_uart_in(struct uart_port *p, int offset)void nlm_xlr_uart_out (struct uart_port *p,int offset,int value) { -nlm_reg_t *mmio; +uint64_t uartbase; -/* XLR uart does not need any mapping of regs */ - mmio = (nlm_reg_t *)(p->membase + (offset << p->regshift)); +/* sign extend to 64 bits, if needed */ + uartbase = (uint64_t )(long )p->membase;/* See XLR/XLS errata */ if (offset ==UART_MSR )
@@ -50,7 +51,7 @@ void nlm_xlr_uart_out(struct uart_port *p, int offset, int value)else if (offset ==UART_MCR ) value ^=0x3 ; -netlogic_write_reg (mmio,0 , value); +nlm_write_reg (uartbase, offset, value); }#define PORT (_irq) \
@@ -82,15 +83,15 @@ static struct platform_device uart_device = {static int __init nlm_uart_init (void ) { -nlm_reg_t *mmio; +unsigned long uartbase; - mmio =netlogic_io_mmio (NETLOGIC_IO_UART_0_OFFSET ); - xlr_uart_data[0 ].membase = (void __iomem *)mmio; - xlr_uart_data[0 ].mapbase =CPHYSADDR ((unsigned long )mmio); + uartbase = (unsigned long )nlm_mmio_base (NETLOGIC_IO_UART_0_OFFSET ); + xlr_uart_data[0 ].membase = (void __iomem *)uartbase; + xlr_uart_data[0 ].mapbase =CPHYSADDR (uartbase); - mmio =netlogic_io_mmio (NETLOGIC_IO_UART_1_OFFSET ); - xlr_uart_data[1 ].membase = (void __iomem *)mmio; - xlr_uart_data[1 ].mapbase =CPHYSADDR ((unsigned long )mmio); + uartbase = (unsigned long )nlm_mmio_base (NETLOGIC_IO_UART_1_OFFSET ); + xlr_uart_data[1 ].membase = (void __iomem *)uartbase; + xlr_uart_data[1 ].mapbase =CPHYSADDR (uartbase);return platform_device_register (&uart_device); }
arch/mips/netlogic/xlr/setup.c +16 -8
@@ -39,26 +39,28 @@#include <asm/reboot.h> #include <asm/time.h> #include <asm/bootinfo.h> -#include <asm/smp-ops.h> #include <asm/netlogic/interrupt.h> #include <asm/netlogic/psb-bootinfo.h> +#include <asm/netlogic/haldefs.h> +#include <asm/netlogic/common.h> #include <asm/netlogic/xlr/xlr.h> #include <asm/netlogic/xlr/iomap.h> #include <asm/netlogic/xlr/pic.h> #include <asm/netlogic/xlr/gpio.h> -unsigned long netlogic_io_base = (unsigned long )(DEFAULT_NETLOGIC_IO_BASE ); +uint64_t nlm_io_base =DEFAULT_NETLOGIC_IO_BASE ; +uint64_t nlm_pic_base;unsigned long nlm_common_ebase =0x0 ;struct psb_info nlm_prom_info;static void __init nlm_early_serial_setup (void ) {struct uart_port s; -nlm_reg_t *uart_base; +unsigned long uart_base; - uart_base =netlogic_io_mmio (NETLOGIC_IO_UART_0_OFFSET ); + uart_base = (unsigned long )nlm_mmio_base (NETLOGIC_IO_UART_0_OFFSET );memset (&s,0 ,sizeof (s)); s.flags =ASYNC_BOOT_AUTOCONF |ASYNC_SKIP_TEST ; s.iotype =UPIO_MEM32 ;
@@ -67,18 +69,18 @@ static void __init nlm_early_serial_setup(void) s.uartclk =PIC_CLKS_PER_SEC ; s.serial_in = nlm_xlr_uart_in; s.serial_out = nlm_xlr_uart_out; - s.mapbase = (unsigned long )uart_base; + s.mapbase = uart_base; s.membase = (unsigned char __iomem *)uart_base;early_serial_setup (&s); }static void nlm_linux_exit (void ) { -nlm_reg_t *mmio; +uint64_t gpiobase; - mmio =netlogic_io_mmio (NETLOGIC_IO_GPIO_OFFSET ); + gpiobase =nlm_mmio_base (NETLOGIC_IO_GPIO_OFFSET );/* trigger a chip reset by writing 1 to GPIO_SWRESET_REG */ -netlogic_write_reg (mmio,NETLOGIC_GPIO_SWRESET_REG ,1 ); +nlm_write_reg (gpiobase,NETLOGIC_GPIO_SWRESET_REG ,1 );for ( ; ; )cpu_wait (); }
@@ -96,6 +98,11 @@ const char *get_system_type(void)return "Netlogic XLR/XLS Series" ; } +unsigned int nlm_get_cpu_frequency (void ) +{ +return (unsigned int )nlm_prom_info.cpu_frequency; +} +void __init prom_free_prom_memory (void ) {/* Nothing yet */
@@ -175,6 +182,7 @@ void __init prom_init(void) prom_infop = (struct psb_info *)(long )(int )fw_arg3; nlm_prom_info = *prom_infop; + nlm_pic_base =nlm_mmio_base (NETLOGIC_IO_PIC_OFFSET );nlm_early_serial_setup ();build_arcs_cmdline (argv);
arch/mips/netlogic/xlr/smp.c deleted +0 -220
220 lines not on this page · raw message
arch/mips/netlogic/xlr/smpboot.S +3 -3
@@ -75,12 +75,11 @@ NESTED(prom_pre_boot_secondary_cpus, 16, sp) jr t0 nop END(prom_pre_boot_secondary_cpus) - __FINIT /* * NMI code, used for CPU wakeup, copied to reset entry */ -NESTED(nlm_boot_smp_nmi, 0, sp) +EXPORT(nlm_reset_entry) .set push .set noat .set mips64
@@ -97,4 +96,5 @@ NESTED(nlm_boot_smp_nmi, 0, sp) jr k0 nop .set pop -END(nlm_boot_smp_nmi) +EXPORT(nlm_reset_entry_end) + __FINIT
arch/mips/netlogic/xlr/time.c deleted +0 -51
51 lines not on this page · raw message
arch/mips/netlogic/xlr/wakeup.c new file +71 -0
71 lines not on this page · raw message
arch/mips/netlogic/xlr/xlr_console.c deleted +0 -46
46 lines not on this page · raw message
arch/mips/pci/pci-xlr.c +77 -0
95 lines not on this page · raw message
Signature · 1 line
1.7.5.4
Ralf Baechle
AppliedRe: [PATCH 04/12] MIPS: Netlogic: Move code common with XLP to common/
Queued for 3.3. Thanks,
Ral
PATCH 5/12 MIPS: Netlogic: Update default config
In reply to Jayachandran C- Enable PCI and MSI by default
- Update cross compile tool-chain and rootfs
--- arch/mips/configs/nlm_xlr_defconfig | 16 ++++++++-------- 1 files changed, 8 insertions(+), 8 deletions(-)
arch/mips/configs/nlm_xlr_defconfig +8 -8
@@ -8,7 +8,7 @@ CONFIG_HIGH_RES_TIMERS=y CONFIG_PREEMPT_VOLUNTARY=y CONFIG_KEXEC=y CONFIG_EXPERIMENTAL=y -CONFIG_CROSS_COMPILE="mips64-unknown-linux-gnu-" +CONFIG_CROSS_COMPILE="mips-linux-gnu-" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_SYSVIPC=y CONFIG_POSIX_MQUEUE=y
@@ -22,15 +22,13 @@ CONFIG_AUDIT=y CONFIG_NAMESPACES=y CONFIG_SCHED_AUTOGROUP=y CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="usr/dev_file_list usr/rootfs" +CONFIG_INITRAMFS_SOURCE="usr/dev_file_list usr/rootfs.xlr" CONFIG_RD_BZIP2=y CONFIG_RD_LZMA=y CONFIG_INITRAMFS_COMPRESSION_GZIP=y -# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_EXPERT=y CONFIG_KALLSYMS_ALL=y # CONFIG_ELF_CORE is not set -# CONFIG_PCSPKR_PLATFORM is not set # CONFIG_PERF_EVENTS is not set # CONFIG_COMPAT_BRK is not set CONFIG_PROFILING=y
@@ -39,6 +37,9 @@ CONFIG_MODULE_UNLOAD=y CONFIG_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y CONFIG_BLK_DEV_INTEGRITY=y +CONFIG_PCI=y +CONFIG_PCI_MSI=y +CONFIG_PCI_DEBUG=y CONFIG_BINFMT_MISC=m CONFIG_PM_RUNTIME=y CONFIG_PM_DEBUG=y
@@ -297,12 +298,10 @@ CONFIG_NET_ACT_SIMP=m CONFIG_NET_ACT_SKBEDIT=m CONFIG_DCB=y CONFIG_NET_PKTGEN=m -# CONFIG_WIRELESS is not set CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y # CONFIG_STANDALONE is not set CONFIG_CONNECTOR=y -CONFIG_MTD=m CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_CRYPTOLOOP=m CONFIG_BLK_DEV_NBD=m
@@ -339,6 +338,9 @@ CONFIG_SCSI_DH_EMC=m CONFIG_SCSI_DH_ALUA=m CONFIG_SCSI_OSD_INITIATOR=m CONFIG_SCSI_OSD_ULD=m +CONFIG_NETDEVICES=y +CONFIG_E1000E=y +CONFIG_SKY2=y # CONFIG_INPUT_MOUSEDEV is not set CONFIG_INPUT_EVDEV=y CONFIG_INPUT_EVBUG=m
@@ -443,7 +445,6 @@ CONFIG_CIFS_UPCALL=y CONFIG_CIFS_XATTR=y CONFIG_CIFS_POSIX=y CONFIG_CIFS_DFS_UPCALL=y -CONFIG_CIFS_EXPERIMENTAL=y CONFIG_NCP_FS=m CONFIG_NCPFS_PACKET_SIGNING=y CONFIG_NCPFS_IOCTL_LOCKING=y
@@ -516,7 +517,6 @@ CONFIG_PRINTK_TIME=y # CONFIG_ENABLE_WARN_DEPRECATED is not set # CONFIG_ENABLE_MUST_CHECK is not set CONFIG_UNUSED_SYMBOLS=y -CONFIG_DEBUG_KERNEL=y CONFIG_DETECT_HUNG_TASK=y CONFIG_SCHEDSTATS=y CONFIG_TIMER_STATS=y
Signature · 1 line
1.7.5.4
Ralf Baechle
AppliedRe: [PATCH 05/12] MIPS: Netlogic: Update default config
Queued for 3.3. Thanks,
Ralf
PATCH 6/12 MIPS: Netlogic: XLP CPU support.
In reply to Jayachandran CAdd support for Netlogic's XLP MIPS SoC. This patch adds:
* XLP processor ID in cpu_probe.c and asm/cpu.h
* XLP case to asm/module.h
* CPU_XLP case to mm/tlbex.c
* minor change to r4k cache handling to ignore XLP secondary cache
* XLP cpu overrides to mach-netlogic/cpu-feature-overrides.h
--- arch/mips/include/asm/cpu.h | 3 ++- .../asm/mach-netlogic/cpu-feature-overrides.h | 18 ++++++++++++++---- arch/mips/include/asm/module.h | 2 ++ arch/mips/kernel/cpu-probe.c | 19 ++++++++++++++++--- arch/mips/mm/c-r4k.c | 3 +++ 5 files changed, 37 insertions(+), 8 deletions(-)
arch/mips/include/asm/cpu.h +2 -1
@@ -171,6 +171,7 @@#define PRID_IMP_NETLOGIC_XLS404B 0x4f00#define PRID_IMP_NETLOGIC_AU13XX 0x8000 +#define PRID_IMP_NETLOGIC_XLP832 0x1000/* * Definitions for 7:0 on legacy processors */
@@ -264,7 +265,7 @@ enum cpu_type_enum {*/ CPU_5KC ,CPU_20KC ,CPU_25KF ,CPU_SB1 ,CPU_SB1A ,CPU_LOONGSON2 ,CPU_CAVIUM_OCTEON ,CPU_CAVIUM_OCTEON_PLUS ,CPU_CAVIUM_OCTEON2 , -CPU_XLR , +CPU_XLR ,CPU_XLP ,CPU_LAST };
arch/mips/include/asm/mach-netlogic/cpu-feature-overrides.h +14 -4
@@ -24,23 +24,33 @@#define cpu_has_llsc 1#define cpu_has_vtag_icache 0 -#define cpu_has_dc_aliases 0#define cpu_has_ic_fills_f_dc 1#define cpu_has_dsp 0#define cpu_has_mipsmt 0 -#define cpu_has_userlocal 0#define cpu_icache_snoops_remote_store 1#define cpu_has_64bits 1#define cpu_has_mips32r1 1 -#define cpu_has_mips32r2 0#define cpu_has_mips64r1 1 -#define cpu_has_mips64r2 0#define cpu_has_inclusive_pcaches 0#define cpu_dcache_line_size () 32#define cpu_icache_line_size () 32 +#if defined(CONFIG_CPU_XLR ) +#define cpu_has_userlocal 0 +#define cpu_has_dc_aliases 0 +#define cpu_has_mips32r2 0 +#define cpu_has_mips64r2 0 +#elif defined(CONFIG_CPU_XLP ) +#define cpu_has_userlocal 1 +#define cpu_has_mips32r2 1 +#define cpu_has_mips64r2 1 +#define cpu_has_dc_aliases 1 +#else +#error "Unknown Netlogic CPU" +#endif +#endif /* __ASM_MACH_NETLOGIC_CPU_FEATURE_OVERRIDES_H */
arch/mips/include/asm/module.h +2 -0
@@ -120,6 +120,8 @@ search_module_dbetables(unsigned long addr)#define MODULE_PROC_FAMILY "OCTEON "#elif definedCONFIG_CPU_XLR #define MODULE_PROC_FAMILY "XLR " +#elif definedCONFIG_CPU_XLP +#define MODULE_PROC_FAMILY "XLP "#else #error MODULE_PROC_FAMILY undefined for your processor configuration#endif
arch/mips/kernel/cpu-probe.c +16 -3
@@ -192,6 +192,7 @@ void __init check_wait(void)case CPU_CAVIUM_OCTEON2 :case CPU_JZRISC :case CPU_XLR : +case CPU_XLP : cpu_wait = r4k_wait;break ;
@@ -1031,6 +1032,11 @@ static inline void cpu_probe_netlogic(struct cpuinfo_mips *c, int cpu) MIPS_CPU_LLSC);switch (c->processor_id &0xff00 ) { +case PRID_IMP_NETLOGIC_XLP832 : + c->cputype =CPU_XLP ; + __cpu_name[cpu] ="Netlogic XLP" ; +break ; +case PRID_IMP_NETLOGIC_XLR732 :case PRID_IMP_NETLOGIC_XLR716 :case PRID_IMP_NETLOGIC_XLR532 :
@@ -1061,14 +1067,21 @@ static inline void cpu_probe_netlogic(struct cpuinfo_mips *c, int cpu)break ;default : -printk (KERN_INFO "Unknown Netlogic chip id [%02x]!\n" , +pr_info ("Unknown Netlogic chip id [%02x]!\n" , c->processor_id); c->cputype =CPU_XLR ;break ; } - c->isa_level =MIPS_CPU_ISA_M64R1 ; - c->tlbsize = ((read_c0_config1 () >>25 ) &0x3f ) +1 ; +if (c->cputype ==CPU_XLP ) { + c->isa_level =MIPS_CPU_ISA_M64R2 ; + c->options |= (MIPS_CPU_FPU |MIPS_CPU_ULRI |MIPS_CPU_MCHECK ); +/* This will be updated again after all threads are woken up */ + c->tlbsize = ((read_c0_config6 () >>16 ) &0xffff ) +1 ; + }else { + c->isa_level =MIPS_CPU_ISA_M64R1 ; + c->tlbsize = ((read_c0_config1 () >>25 ) &0x3f ) +1 ; + } }#ifdef CONFIG_64BIT
arch/mips/mm/c-r4k.c +3 -0
@@ -1235,6 +1235,9 @@ static void __cpuinit setup_scache(void)loongson2_sc_init ();return ;#endif +case CPU_XLP : +/* don't need to worry about L2, fully coherent */ +return ;default : if (c->isa_level == MIPS_CPU_ISA_M32R1 ||
Signature · 1 line
1.7.5.4
Ralf Baechle
AppliedRe: [PATCH 06/12] MIPS: Netlogic: XLP CPU support.
Queued for 3.3. Thanks,
Ralf
PATCH 7/12 MIPS: Netlogic: Add XLP platform files for XLP SoC
In reply to Jayachandran C- Update common files to support XLP.
- Add arch/mips/include/asm/netlogic/xlp-hal for register definitions and access macros
- Add arch/mips/netlogic/xlp/ for XLP specific files.
--- arch/mips/include/asm/netlogic/haldefs.h | 21 + arch/mips/include/asm/netlogic/xlp-hal/bridge.h | 187 +++++++++ .../mips/include/asm/netlogic/xlp-hal/cpucontrol.h | 83 ++++ arch/mips/include/asm/netlogic/xlp-hal/iomap.h | 153 ++++++++ arch/mips/include/asm/netlogic/xlp-hal/pic.h | 411 ++++++++++++++++++++ arch/mips/include/asm/netlogic/xlp-hal/sys.h | 129 ++++++ arch/mips/include/asm/netlogic/xlp-hal/uart.h | 191 +++++++++ arch/mips/include/asm/netlogic/xlp-hal/xlp.h | 54 +++ arch/mips/netlogic/common/earlycons.c | 9 + arch/mips/netlogic/common/irq.c | 8 + arch/mips/netlogic/common/smp.c | 16 +- arch/mips/netlogic/xlp/nlm_hal.c | 105 +++++ arch/mips/netlogic/xlp/platform.c | 108 +++++ arch/mips/netlogic/xlp/setup.c | 101 +++++ arch/mips/netlogic/xlp/smpboot.S | 217 +++++++++++ arch/mips/netlogic/xlp/wakeup.c | 149 +++++++ 16 files changed, 1938 insertions(+), 4 deletions(-) create mode 100644 arch/mips/include/asm/netlogic/xlp-hal/bridge.h create mode 100644 arch/mips/include/asm/netlogic/xlp-hal/cpucontrol.h create mode 100644 arch/mips/include/asm/netlogic/xlp-hal/iomap.h create mode 100644 arch/mips/include/asm/netlogic/xlp-hal/pic.h create mode 100644 arch/mips/include/asm/netlogic/xlp-hal/sys.h create mode 100644 arch/mips/include/asm/netlogic/xlp-hal/uart.h create mode 100644 arch/mips/include/asm/netlogic/xlp-hal/xlp.h create mode 100644 arch/mips/netlogic/xlp/nlm_hal.c create mode 100644 arch/mips/netlogic/xlp/platform.c create mode 100644 arch/mips/netlogic/xlp/setup.c create mode 100644 arch/mips/netlogic/xlp/smpboot.S create mode 100644 arch/mips/netlogic/xlp/wakeup.c
arch/mips/include/asm/netlogic/haldefs.h +21 -0
@@ -40,6 +40,9 @@* and will provide a way to read 32/64 bit memory mapped registers in * all ABIs */ +#if !defined(CONFIG_64BIT ) && defined(CONFIG_CPU_XLP ) +#error "o32 compile not supported on XLP yet" +#endif /* * For o32 compilation, we have to disable interrupts and enable KX bit to * access 64 bit addresses or data.
@@ -133,10 +136,28 @@ nlm_write_reg64_xkphys(uint64_t base, uint32_t reg, uint64_t val)/* Location where IO base is mapped */ extern uint64_t nlm_io_base; +#if defined(CONFIG_CPU_XLP ) +static inline uint64_t +nlm_pcicfg_base (uint32_t devoffset) +{ +return nlm_io_base + devoffset; +} + +static inline uint64_t +nlm_xkphys_map_pcibar0 (uint64_t pcibase) +{ +uint64_t paddr; + + paddr =nlm_read_reg (pcibase,0x4 ) & ~0xfu ; +return (uint64_t )0x9000000000000000 | paddr; +} +#elif defined(CONFIG_CPU_XLR ) +static inline uint64_t nlm_mmio_base (uint32_t devoffset) {return nlm_io_base + devoffset; } +#endif #endif
arch/mips/include/asm/netlogic/xlp-hal/bridge.h new file +187 -0
187 lines not on this page · raw message
arch/mips/include/asm/netlogic/xlp-hal/cpucontrol.h new file +83 -0
83 lines not on this page · raw message
arch/mips/include/asm/netlogic/xlp-hal/iomap.h new file +153 -0
153 lines not on this page · raw message
arch/mips/include/asm/netlogic/xlp-hal/pic.h new file +411 -0
411 lines not on this page · raw message
arch/mips/include/asm/netlogic/xlp-hal/sys.h new file +129 -0
129 lines not on this page · raw message
arch/mips/include/asm/netlogic/xlp-hal/uart.h new file +191 -0
191 lines not on this page · raw message
arch/mips/include/asm/netlogic/xlp-hal/xlp.h new file +54 -0
54 lines not on this page · raw message
arch/mips/netlogic/common/earlycons.c +9 -0
@@ -38,13 +38,22 @@#include <asm/mipsregs.h> #include <asm/netlogic/haldefs.h> +#if defined(CONFIG_CPU_XLP ) +#include <asm/netlogic/xlp-hal/iomap.h> +#include <asm/netlogic/xlp-hal/uart.h> +#elif defined(CONFIG_CPU_XLR )#include <asm/netlogic/xlr/iomap.h> +#endif void prom_putchar (char c) {uint64_t uartbase; +#if defined(CONFIG_CPU_XLP ) + uartbase =nlm_get_uart_regbase (0 ,0 ); +#elif defined(CONFIG_CPU_XLR ) uartbase =nlm_mmio_base (NETLOGIC_IO_UART_0_OFFSET ); +#endif while (nlm_read_reg (uartbase,UART_LSR ) ==0 ) ;nlm_write_reg (uartbase,UART_TX , c);
arch/mips/netlogic/common/irq.c +8 -0
@@ -53,8 +53,16 @@#include <asm/netlogic/haldefs.h> #include <asm/netlogic/common.h> +#if defined(CONFIG_CPU_XLP ) +#include <asm/netlogic/xlp-hal/iomap.h> +#include <asm/netlogic/xlp-hal/xlp.h> +#include <asm/netlogic/xlp-hal/pic.h> +#elif defined(CONFIG_CPU_XLR )#include <asm/netlogic/xlr/iomap.h> #include <asm/netlogic/xlr/pic.h> +#else +#error "Unknown CPU" +#endif /* * These are the routines that handle all the low level interrupt stuff. * Actions handled here are: initialization of the interrupt map, requesting of
arch/mips/netlogic/common/smp.c +12 -4
@@ -45,8 +45,15 @@#include <asm/netlogic/haldefs.h> #include <asm/netlogic/common.h> +#if defined(CONFIG_CPU_XLP ) +#include <asm/netlogic/xlp-hal/iomap.h> +#include <asm/netlogic/xlp-hal/pic.h> +#elif defined(CONFIG_CPU_XLR )#include <asm/netlogic/xlr/iomap.h> #include <asm/netlogic/xlr/pic.h> +#else +#error "Unknown CPU" +#endif void nlm_send_ipi_single (int logical_cpu,unsigned int action) {
@@ -70,15 +77,15 @@ void nlm_send_ipi_mask(const struct cpumask *mask, unsigned int action)/* IRQ_IPI_SMP_FUNCTION Handler */ void nlm_smp_function_ipi_handler (unsigned int irq,struct irq_desc *desc) { -smp_call_function_interrupt ();write_c0_eirr (1ull << irq); +smp_call_function_interrupt (); }/* IRQ_IPI_SMP_RESCHEDULE handler */ void nlm_smp_resched_ipi_handler (unsigned int irq,struct irq_desc *desc) { -scheduler_ipi ();write_c0_eirr (1ull << irq); +scheduler_ipi (); }/*
@@ -86,9 +93,10 @@ void nlm_smp_resched_ipi_handler(unsigned int irq, struct irq_desc *desc)*/ void nlm_early_init_secondary (int cpu) { +change_c0_config (CONF_CM_CMASK ,0x3 );write_c0_ebase ((uint32_t )nlm_common_ebase); -#ifdef NLM_XLP -if (cpu %4 ==0 ) +#ifdef CONFIG_CPU_XLP +if (hard_smp_processor_id () %4 ==0 )xlp_mmu_init ();#endif }
arch/mips/netlogic/xlp/nlm_hal.c new file +105 -0
105 lines not on this page · raw message
arch/mips/netlogic/xlp/platform.c new file +108 -0
108 lines not on this page · raw message
arch/mips/netlogic/xlp/setup.c new file +101 -0
101 lines not on this page · raw message
arch/mips/netlogic/xlp/smpboot.S new file +217 -0
217 lines not on this page · raw message
arch/mips/netlogic/xlp/wakeup.c new file +149 -0
149 lines not on this page · raw message
Signature · 1 line
1.7.5.4
Ralf Baechle
AppliedRe: [PATCH 07/12] MIPS: Netlogic: Add XLP platform files for XLP SoC
Queued for 3.3. Thanks,
Ralf
PATCH 8/12 MIPS: Netlogic: Add XLP makefiles and config
In reply to Jayachandran C- Add CPU_XLP and NLM_XLR_BOARD to arch/mips/Kconfig for Netlogic XLP boards
- Update mips Makefiles to add XLP
--- arch/mips/Kconfig | 43 +++++++++++++++++++++++++++++++++++++++ arch/mips/kernel/Makefile | 1 + arch/mips/lib/Makefile | 1 + arch/mips/mm/Makefile | 1 + arch/mips/netlogic/Makefile | 1 + arch/mips/netlogic/Platform | 1 + arch/mips/netlogic/xlp/Makefile | 2 + 7 files changed, 50 insertions(+), 0 deletions(-) create mode 100644 arch/mips/netlogic/xlp/Makefile
arch/mips/Kconfig +43 -0
@@ -783,6 +783,33 @@ config NLM_XLR_BOARD Support for systems based on Netlogic XLR and XLS processors. Say Y here if you have a XLR or XLS based board. +config NLM_XLP_BOARD + bool "Netlogic XLP based systems" + depends on EXPERIMENTAL + select BOOT_ELF32 + select NLM_COMMON + select SYS_HAS_CPU_XLP + select SYS_SUPPORTS_SMP + select HW_HAS_PCI + select SWAP_IO_SPACE + select SYS_SUPPORTS_32BIT_KERNEL + select SYS_SUPPORTS_64BIT_KERNEL + select 64BIT_PHYS_ADDR + select SYS_SUPPORTS_BIG_ENDIAN + select SYS_SUPPORTS_LITTLE_ENDIAN + select SYS_SUPPORTS_HIGHMEM + select DMA_COHERENT + select NR_CPUS_DEFAULT_32 + select CEVT_R4K + select CSRC_R4K + select IRQ_CPU + select ZONE_DMA if 64BIT + select SYNC_R4K + select SYS_HAS_EARLY_PRINTK + help + This board is based on Netlogic XLP Processor. + Say Y here if you have a XLP based board. + endchoice source "arch/mips/alchemy/Kconfig"
@@ -1472,6 +1499,19 @@ config CPU_XLR select CPU_SUPPORTS_HUGEPAGES help Netlogic Microsystems XLR/XLS processors. + +config CPU_XLP + bool "Netlogic XLP SoC" + depends on SYS_HAS_CPU_XLP + select CPU_SUPPORTS_32BIT_KERNEL + select CPU_SUPPORTS_64BIT_KERNEL + select CPU_SUPPORTS_HIGHMEM + select CPU_HAS_LLSC + select WEAK_ORDERING + select WEAK_REORDERING_BEYOND_LLSC + select CPU_HAS_PREFETCH + help + Netlogic Microsystems XLP processors. endchoice if CPU_LOONGSON2F
@@ -1605,6 +1645,9 @@ config SYS_HAS_CPU_BMIPS5000 config SYS_HAS_CPU_XLR bool +config SYS_HAS_CPU_XLP + bool + # # CPU may reorder R->R, R->W, W->R, W->W # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
arch/mips/kernel/Makefile +1 -0
@@ -55,6 +55,7 @@ obj-$(CONFIG_CPU_TX49XX) += r4k_fpu.o r4k_switch.o obj-$(CONFIG_CPU_VR41XX) += r4k_fpu.o r4k_switch.o obj-$(CONFIG_CPU_CAVIUM_OCTEON) += octeon_switch.o obj-$(CONFIG_CPU_XLR) += r4k_fpu.o r4k_switch.o +obj-$(CONFIG_CPU_XLP) += r4k_fpu.o r4k_switch.o obj-$(CONFIG_SMP) += smp.o obj-$(CONFIG_SMP_UP) += smp-up.o
arch/mips/lib/Makefile +1 -0
@@ -29,6 +29,7 @@ obj-$(CONFIG_CPU_TX49XX) += dump_tlb.o obj-$(CONFIG_CPU_VR41XX) += dump_tlb.o obj-$(CONFIG_CPU_CAVIUM_OCTEON) += dump_tlb.o obj-$(CONFIG_CPU_XLR) += dump_tlb.o +obj-$(CONFIG_CPU_XLP) += dump_tlb.o # libgcc-style stuff needed in the kernel obj-y += ashldi3.o ashrdi3.o cmpdi2.o lshrdi3.o ucmpdi2.o
arch/mips/mm/Makefile +1 -0
@@ -31,6 +31,7 @@ obj-$(CONFIG_CPU_TX49XX) += c-r4k.o cex-gen.o tlb-r4k.o obj-$(CONFIG_CPU_VR41XX) += c-r4k.o cex-gen.o tlb-r4k.o obj-$(CONFIG_CPU_CAVIUM_OCTEON) += c-octeon.o cex-oct.o tlb-r4k.o obj-$(CONFIG_CPU_XLR) += c-r4k.o tlb-r4k.o cex-gen.o +obj-$(CONFIG_CPU_XLP) += c-r4k.o tlb-r4k.o cex-gen.o obj-$(CONFIG_IP22_CPU_SCACHE) += sc-ip22.o obj-$(CONFIG_R5000_CPU_SCACHE) += sc-r5k.o
arch/mips/netlogic/Makefile +1 -0
@@ -1,2 +1,3 @@ obj-$(CONFIG_NLM_COMMON) += common/ obj-$(CONFIG_CPU_XLR) += xlr/ +obj-$(CONFIG_CPU_XLP) += xlp/
arch/mips/netlogic/Platform +1 -0
@@ -8,6 +8,7 @@ cflags-$(CONFIG_NLM_COMMON) += -I$(srctree)/arch/mips/include/asm/netlogic # use mips64 if xlr is not available # cflags-$(CONFIG_CPU_XLR) += $(call cc-option,-march=xlr,-march=mips64) +cflags-$(CONFIG_CPU_XLP) += $(call cc-option,-march=xlp,-march=mips64r2) # # NETLOGIC processor support
arch/mips/netlogic/xlp/Makefile new file +2 -0
@@ -0,0 +1,2 @@ +obj-y += setup.o platform.o nlm_hal.o +obj-$(CONFIG_SMP) += smpboot.o wakeup.o
Signature · 1 line
1.7.5.4
Ralf Baechle
AppliedRe: [PATCH 08/12] MIPS: Netlogic: Add XLP makefiles and config
Queued for 3.3. Thanks,
Ralf
PATCH 9/12 MIPS: Netlogic: Add default XLP config.
In reply to Jayachandran C--- arch/mips/configs/nlm_xlp_defconfig | 570 +++++++++++++++++++++++++++++++++++ 1 files changed, 570 insertions(+), 0 deletions(-) create mode 100644 arch/mips/configs/nlm_xlp_defconfig
arch/mips/configs/nlm_xlp_defconfig new file +570 -0
@@ -0,0 +1,570 @@ +CONFIG_NLM_XLP_BOARD=y +CONFIG_64BIT=y +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +CONFIG_SMP=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +# CONFIG_SECCOMP is not set +CONFIG_USE_OF=y +CONFIG_EXPERIMENTAL=y +CONFIG_CROSS_COMPILE="mips-linux-gnu-" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_TASKSTATS=y +CONFIG_TASK_DELAY_ACCT=y +CONFIG_TASK_XACCT=y +CONFIG_TASK_IO_ACCOUNTING=y +CONFIG_AUDIT=y +CONFIG_CGROUPS=y +CONFIG_NAMESPACES=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="usr/dev_file_list usr/rootfs.xlp" +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_INITRAMFS_COMPRESSION_LZMA=y +CONFIG_KALLSYMS_ALL=y +CONFIG_EMBEDDED=y +# CONFIG_COMPAT_BRK is not set +CONFIG_PROFILING=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODVERSIONS=y +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_BLK_DEV_INTEGRITY=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_MISC=y +CONFIG_MIPS32_COMPAT=y +CONFIG_MIPS32_O32=y +CONFIG_MIPS32_N32=y +CONFIG_PM_RUNTIME=y +CONFIG_PM_DEBUG=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_XFRM_USER=m +CONFIG_NET_KEY=m +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_NET_IPIP=m +CONFIG_IP_MROUTE=y +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +CONFIG_SYN_COOKIES=y +CONFIG_INET_AH=m +CONFIG_INET_ESP=m +CONFIG_INET_IPCOMP=m +CONFIG_INET_XFRM_MODE_TRANSPORT=m +CONFIG_INET_XFRM_MODE_TUNNEL=m +CONFIG_INET_XFRM_MODE_BEET=m +CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TCP_CONG_HSTCP=m +CONFIG_TCP_CONG_HYBLA=m +CONFIG_TCP_CONG_SCALABLE=m +CONFIG_TCP_CONG_LP=m +CONFIG_TCP_CONG_VENO=m +CONFIG_TCP_CONG_YEAH=m +CONFIG_TCP_CONG_ILLINOIS=m +CONFIG_TCP_MD5SIG=y +CONFIG_IPV6=y +CONFIG_IPV6_PRIVACY=y +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m +CONFIG_IPV6_SIT=m +CONFIG_IPV6_TUNNEL=m +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_NETLABEL=y +CONFIG_NETFILTER=y +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CONNTRACK_SECMARK=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CT_PROTO_UDPLITE=m +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +CONFIG_NF_CONNTRACK_PPTP=m +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CT_NETLINK=m +CONFIG_NETFILTER_TPROXY=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m +CONFIG_NETFILTER_XT_TARGET_DSCP=m +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +CONFIG_NETFILTER_XT_TARGET_NOTRACK=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m +CONFIG_NETFILTER_XT_TARGET_TRACE=m +CONFIG_NETFILTER_XT_TARGET_SECMARK=m +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_CLUSTER=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_OSF=m +CONFIG_NETFILTER_XT_MATCH_OWNER=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_RATEEST=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_TIME=m +CONFIG_NETFILTER_XT_MATCH_U32=m +CONFIG_IP_VS=m +CONFIG_IP_VS_IPV6=y +CONFIG_IP_VS_PROTO_TCP=y +CONFIG_IP_VS_PROTO_UDP=y +CONFIG_IP_VS_PROTO_ESP=y +CONFIG_IP_VS_PROTO_AH=y +CONFIG_IP_VS_RR=m +CONFIG_IP_VS_WRR=m +CONFIG_IP_VS_LC=m +CONFIG_IP_VS_WLC=m +CONFIG_IP_VS_LBLC=m +CONFIG_IP_VS_LBLCR=m +CONFIG_IP_VS_DH=m +CONFIG_IP_VS_SH=m +CONFIG_IP_VS_SED=m +CONFIG_IP_VS_NQ=m +CONFIG_IP_VS_FTP=m +CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_IP_NF_QUEUE=m +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_LOG=m +CONFIG_IP_NF_TARGET_ULOG=m +CONFIG_NF_NAT=m +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_SECURITY=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m +CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_IP6_NF_QUEUE=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_TARGET_HL=m +CONFIG_IP6_NF_TARGET_LOG=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_RAW=m +CONFIG_IP6_NF_SECURITY=m +CONFIG_DECNET_NF_GRABULATOR=m +CONFIG_BRIDGE_NF_EBTABLES=m +CONFIG_BRIDGE_EBT_BROUTE=m +CONFIG_BRIDGE_EBT_T_FILTER=m +CONFIG_BRIDGE_EBT_T_NAT=m +CONFIG_BRIDGE_EBT_802_3=m +CONFIG_BRIDGE_EBT_AMONG=m +CONFIG_BRIDGE_EBT_ARP=m +CONFIG_BRIDGE_EBT_IP=m +CONFIG_BRIDGE_EBT_IP6=m +CONFIG_BRIDGE_EBT_LIMIT=m +CONFIG_BRIDGE_EBT_MARK=m +CONFIG_BRIDGE_EBT_PKTTYPE=m +CONFIG_BRIDGE_EBT_STP=m +CONFIG_BRIDGE_EBT_VLAN=m +CONFIG_BRIDGE_EBT_ARPREPLY=m +CONFIG_BRIDGE_EBT_DNAT=m +CONFIG_BRIDGE_EBT_MARK_T=m +CONFIG_BRIDGE_EBT_REDIRECT=m +CONFIG_BRIDGE_EBT_SNAT=m +CONFIG_BRIDGE_EBT_LOG=m +CONFIG_BRIDGE_EBT_ULOG=m +CONFIG_BRIDGE_EBT_NFLOG=m +CONFIG_IP_DCCP=m +CONFIG_RDS=m +CONFIG_RDS_TCP=m +CONFIG_TIPC=m +CONFIG_ATM=m +CONFIG_ATM_CLIP=m +CONFIG_ATM_LANE=m +CONFIG_ATM_MPOA=m +CONFIG_ATM_BR2684=m +CONFIG_BRIDGE=m +CONFIG_VLAN_8021Q=m +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_DECNET=m +CONFIG_LLC2=m +CONFIG_IPX=m +CONFIG_ATALK=m +CONFIG_DEV_APPLETALK=m +CONFIG_IPDDP=m +CONFIG_IPDDP_ENCAP=y +CONFIG_IPDDP_DECAP=y +CONFIG_X25=m +CONFIG_LAPB=m +CONFIG_ECONET=m +CONFIG_ECONET_AUNUDP=y +CONFIG_ECONET_NATIVE=y +CONFIG_WAN_ROUTER=m +CONFIG_PHONET=m +CONFIG_IEEE802154=m +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_CBQ=m +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_ATM=m +CONFIG_NET_SCH_PRIO=m +CONFIG_NET_SCH_MULTIQ=m +CONFIG_NET_SCH_RED=m +CONFIG_NET_SCH_SFQ=m +CONFIG_NET_SCH_TEQL=m +CONFIG_NET_SCH_TBF=m +CONFIG_NET_SCH_GRED=m +CONFIG_NET_SCH_DSMARK=m +CONFIG_NET_SCH_NETEM=m +CONFIG_NET_SCH_DRR=m +CONFIG_NET_SCH_INGRESS=m +CONFIG_NET_CLS_BASIC=m +CONFIG_NET_CLS_TCINDEX=m +CONFIG_NET_CLS_ROUTE4=m +CONFIG_NET_CLS_FW=m +CONFIG_NET_CLS_U32=m +CONFIG_CLS_U32_MARK=y +CONFIG_NET_CLS_RSVP=m +CONFIG_NET_CLS_RSVP6=m +CONFIG_NET_CLS_FLOW=m +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_CMP=m +CONFIG_NET_EMATCH_NBYTE=m +CONFIG_NET_EMATCH_U32=m +CONFIG_NET_EMATCH_META=m +CONFIG_NET_EMATCH_TEXT=m +CONFIG_NET_CLS_ACT=y +CONFIG_NET_ACT_POLICE=m +CONFIG_NET_ACT_GACT=m +CONFIG_GACT_PROB=y +CONFIG_NET_ACT_MIRRED=m +CONFIG_NET_ACT_IPT=m +CONFIG_NET_ACT_NAT=m +CONFIG_NET_ACT_PEDIT=m +CONFIG_NET_ACT_SIMP=m +CONFIG_NET_ACT_SKBEDIT=m +CONFIG_DCB=y +CONFIG_NET_PKTGEN=m +# CONFIG_WIRELESS is not set +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_STANDALONE is not set +CONFIG_CONNECTOR=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_CRYPTOLOOP=m +CONFIG_BLK_DEV_NBD=m +CONFIG_BLK_DEV_OSD=m +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_SIZE=65536 +CONFIG_CDROM_PKTCDVD=y +CONFIG_RAID_ATTRS=m +CONFIG_SCSI=y +CONFIG_SCSI_TGT=m +CONFIG_BLK_DEV_SD=y +CONFIG_CHR_DEV_ST=m +CONFIG_CHR_DEV_OSST=m +CONFIG_BLK_DEV_SR=y +CONFIG_CHR_DEV_SG=y +CONFIG_CHR_DEV_SCH=m +CONFIG_SCSI_MULTI_LUN=y +CONFIG_SCSI_CONSTANTS=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SCSI_FC_TGT_ATTRS=y +CONFIG_SCSI_SAS_LIBSAS=m +CONFIG_SCSI_SRP_ATTRS=m +CONFIG_SCSI_SRP_TGT_ATTRS=y +CONFIG_ISCSI_TCP=m +CONFIG_LIBFCOE=m +CONFIG_SCSI_DEBUG=m +CONFIG_SCSI_DH=y +CONFIG_SCSI_DH_RDAC=m +CONFIG_SCSI_DH_HP_SW=m +CONFIG_SCSI_DH_EMC=m +CONFIG_SCSI_DH_ALUA=m +CONFIG_SCSI_OSD_INITIATOR=m +CONFIG_SCSI_OSD_ULD=m +# CONFIG_INPUT_MOUSEDEV is not set +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_EVBUG=m +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_SERIO_I8042 is not set +CONFIG_SERIO_SERPORT=m +CONFIG_SERIO_LIBPS2=y +CONFIG_SERIO_RAW=m +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_DEVPTS_MULTIPLE_INSTANCES=y +CONFIG_LEGACY_PTY_COUNT=0 +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_N_HDLC=m +# CONFIG_DEVKMEM is not set +CONFIG_STALDRV=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_NR_UARTS=48 +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_MANY_PORTS=y +CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_8250_RSA=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_TIMERIOMEM=m +CONFIG_RAW_DRIVER=m +# CONFIG_HWMON is not set +# CONFIG_VGA_CONSOLE is not set +# CONFIG_HID_SUPPORT is not set +# CONFIG_USB_SUPPORT is not set +CONFIG_UIO=y +CONFIG_UIO_PDRV=m +CONFIG_UIO_PDRV_GENIRQ=m +CONFIG_EXT2_FS=y +CONFIG_EXT2_FS_XATTR=y +CONFIG_EXT2_FS_POSIX_ACL=y +CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_GFS2_FS=m +CONFIG_GFS2_FS_LOCKING_DLM=y +CONFIG_OCFS2_FS=m +CONFIG_BTRFS_FS=m +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_NILFS2_FS=m +CONFIG_QUOTA_NETLINK_INTERFACE=y +# CONFIG_PRINT_QUOTA_WARNING is not set +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=y +CONFIG_CUSE=m +CONFIG_FSCACHE=m +CONFIG_FSCACHE_STATS=y +CONFIG_FSCACHE_HISTOGRAM=y +CONFIG_CACHEFILES=m +CONFIG_ISO9660_FS=m +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=m +CONFIG_MSDOS_FS=m +CONFIG_VFAT_FS=m +CONFIG_NTFS_FS=m +CONFIG_PROC_KCORE=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_ADFS_FS=m +CONFIG_AFFS_FS=m +CONFIG_ECRYPT_FS=y +CONFIG_HFS_FS=m +CONFIG_HFSPLUS_FS=m +CONFIG_BEFS_FS=m +CONFIG_BFS_FS=m +CONFIG_EFS_FS=m +CONFIG_CRAMFS=m +CONFIG_SQUASHFS=m +CONFIG_VXFS_FS=m +CONFIG_MINIX_FS=m +CONFIG_OMFS_FS=m +CONFIG_HPFS_FS=m +CONFIG_QNX4FS_FS=m +CONFIG_ROMFS_FS=m +CONFIG_SYSV_FS=m +CONFIG_UFS_FS=m +CONFIG_EXOFS_FS=m +CONFIG_NFS_FS=m +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=y +CONFIG_NFS_FSCACHE=y +CONFIG_NFSD=m +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=y +CONFIG_CIFS=m +CONFIG_CIFS_WEAK_PW_HASH=y +CONFIG_CIFS_UPCALL=y +CONFIG_CIFS_XATTR=y +CONFIG_CIFS_POSIX=y +CONFIG_CIFS_DFS_UPCALL=y +CONFIG_NCP_FS=m +CONFIG_NCPFS_PACKET_SIGNING=y +CONFIG_NCPFS_IOCTL_LOCKING=y +CONFIG_NCPFS_STRONG=y +CONFIG_NCPFS_NFS_NS=y +CONFIG_NCPFS_OS2_NS=y +CONFIG_NCPFS_NLS=y +CONFIG_NCPFS_EXTRAS=y +CONFIG_CODA_FS=m +CONFIG_AFS_FS=m +CONFIG_PARTITION_ADVANCED=y +CONFIG_ACORN_PARTITION=y +CONFIG_ACORN_PARTITION_ICS=y +CONFIG_ACORN_PARTITION_RISCIX=y +CONFIG_OSF_PARTITION=y +CONFIG_AMIGA_PARTITION=y +CONFIG_ATARI_PARTITION=y +CONFIG_MAC_PARTITION=y +CONFIG_BSD_DISKLABEL=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_LDM_PARTITION=y +CONFIG_SGI_PARTITION=y +CONFIG_ULTRIX_PARTITION=y +CONFIG_SUN_PARTITION=y +CONFIG_KARMA_PARTITION=y +CONFIG_EFI_PARTITION=y +CONFIG_SYSV68_PARTITION=y +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="cp437" +CONFIG_NLS_CODEPAGE_437=m +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=m +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=m +CONFIG_NLS_ISO8859_1=m +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +CONFIG_PRINTK_TIME=y +# CONFIG_ENABLE_WARN_DEPRECATED is not set +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_FRAME_WARN=1024 +CONFIG_UNUSED_SYMBOLS=y +CONFIG_DETECT_HUNG_TASK=y +CONFIG_SCHEDSTATS=y +CONFIG_TIMER_STATS=y +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_SYSCTL_SYSCALL_CHECK=y +CONFIG_SCHED_TRACER=y +CONFIG_BLK_DEV_IO_TRACE=y +CONFIG_KGDB=y +CONFIG_SECURITY=y +CONFIG_SECURITY_NETWORK=y +CONFIG_LSM_MMAP_MIN_ADDR=0 +CONFIG_SECURITY_SELINUX=y +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=0 +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_SMACK=y +CONFIG_SECURITY_TOMOYO=y +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_CRYPTD=m +CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +CONFIG_CRYPTO_CTS=m +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_XTS=m +CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_VMAC=m +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_RMD128=m +CONFIG_CRYPTO_RMD160=m +CONFIG_CRYPTO_RMD256=m +CONFIG_CRYPTO_RMD320=m +CONFIG_CRYPTO_SHA256=m +CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_TGR192=m +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_ANUBIS=m +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_SALSA20=m +CONFIG_CRYPTO_SEED=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_ZLIB=m +CONFIG_CRYPTO_LZO=m +CONFIG_CRC_CCITT=m +CONFIG_CRC7=m
Signature · 1 line
1.7.5.4
Ralf Baechle
AppliedRe: [PATCH 09/12] MIPS: Netlogic: Add default XLP config.
Queued for 3.3. Thanks,
Ralf
PATCH 10/12 MIPS: Netlogic: Merge some of XLR/XLP wakup code
In reply to Jayachandran CCreate a common NMI and reset handler in smpboot.S and use this for both XLR and XLP. In the earlier code, the woken up CPUs would busy wait until released, switch this to wakeup by NMI.
The initial wakeup code or XLR and XLP are differ since they are started from different bootloaders (XLP from u-boot and XLR from netlogic bootloader). But in both platforms the woken up CPUs wait and are released by sending an NMI.
Add support for starting XLR and XLP in 1/2/4 threads per core.
--- arch/mips/include/asm/netlogic/common.h | 26 +++- arch/mips/include/asm/netlogic/xlp-hal/xlp.h | 7 +- arch/mips/include/asm/netlogic/xlr/xlr.h | 2 + arch/mips/netlogic/common/Makefile | 2 +- arch/mips/netlogic/common/smp.c | 75 +++++++- arch/mips/netlogic/common/smpboot.S | 272 ++++++++++++++++++++++++++ arch/mips/netlogic/xlp/Makefile | 2 +- arch/mips/netlogic/xlp/setup.c | 4 + arch/mips/netlogic/xlp/smpboot.S | 217 -------------------- arch/mips/netlogic/xlp/wakeup.c | 93 +++------- arch/mips/netlogic/xlr/Makefile | 2 +- arch/mips/netlogic/xlr/setup.c | 7 +- arch/mips/netlogic/xlr/smpboot.S | 100 ---------- arch/mips/netlogic/xlr/wakeup.c | 17 +- 14 files changed, 415 insertions(+), 411 deletions(-) create mode 100644 arch/mips/netlogic/common/smpboot.S delete mode 100644 arch/mips/netlogic/xlp/smpboot.S delete mode 100644 arch/mips/netlogic/xlr/smpboot.S
arch/mips/include/asm/netlogic/common.h +23 -3
@@ -38,19 +38,39 @@/* * Common SMP definitions */ +#define RESET_VEC_PHYS 0x1fc00000 +#define RESET_DATA_PHYS (RESET_VEC_PHYS + (1<<10)) +#define BOOT_THREAD_MODE 0 +#define BOOT_NMI_LOCK 4 +#define BOOT_NMI_HANDLER 8 + +#ifndef __ASSEMBLY__struct irq_desc ;extern struct plat_smp_ops nlm_smp_ops;extern char nlm_reset_entry[], nlm_reset_entry_end[];void nlm_smp_function_ipi_handler (unsigned int irq,struct irq_desc *desc);void nlm_smp_resched_ipi_handler (unsigned int irq,struct irq_desc *desc);void nlm_smp_irq_init (void ); -void prom_pre_boot_secondary_cpus (void ); +void nlm_boot_secondary_cpus (void );int nlm_wakeup_secondary_cpus (u32 wakeup_mask); -void nlm_boot_smp_nmi (void ); +void nlm_rmiboot_preboot (void ); + +static inline void +nlm_set_nmi_handler (void *handler) +{ +char *reset_data; + + reset_data = (char *)CKSEG1ADDR (RESET_DATA_PHYS ); + *(int64_t *)(reset_data +BOOT_NMI_HANDLER ) = (long )handler; +}/* * Misc. */ +unsigned int nlm_get_cpu_frequency (void ); +extern unsigned long nlm_common_ebase; -unsigned int nlm_get_cpu_frequency (void ); +extern int nlm_threads_per_core; +extern uint32_t nlm_cpumask, nlm_coremask; +#endif #endif /* _NETLOGIC_COMMON_H_ */
arch/mips/include/asm/netlogic/xlp-hal/xlp.h +2 -5
@@ -35,17 +35,14 @@#ifndef _NLM_HAL_XLP_H#define _NLM_HAL_XLP_H -#define RESET_VEC_PHYS 0x1fc00000 -#define RESET_DATA_PHYS (RESET_VEC_PHYS + (1<<10)) -#define BOOT_THREAD_MODE 0 -#define PIC_UART_0_IRQ 17#define PIC_UART_1_IRQ 18#ifndef __ASSEMBLY__/* SMP support functions */ -void nlm_boot_core0_siblings (void ); +void xlp_boot_core0_siblings (void ); +void xlp_wakeup_secondary_cpus (void );void xlp_mmu_init (void );void nlm_hal_init (void );
arch/mips/include/asm/netlogic/xlr/xlr.h +2 -0
@@ -40,6 +40,8 @@ struct uart_port;unsigned int nlm_xlr_uart_in (struct uart_port *,int );void nlm_xlr_uart_out (struct uart_port *,int ,int ); +/* SMP helpers */ +void xlr_wakeup_secondary_cpus (void );/* XLS B silicon "Rook" */ static inline unsigned int nlm_chip_is_xls_b (void )
arch/mips/netlogic/common/Makefile +1 -1
@@ -1,3 +1,3 @@ obj-y += irq.o time.o -obj-$(CONFIG_SMP) += smp.o +obj-$(CONFIG_SMP) += smp.o smpboot.o obj-$(CONFIG_EARLY_PRINTK) += earlycons.o
arch/mips/netlogic/common/smp.c +73 -2
112 lines not on this page · raw message
arch/mips/netlogic/common/smpboot.S new file +272 -0
272 lines not on this page · raw message
arch/mips/netlogic/xlp/Makefile +1 -1
@@ -1,2 +1,2 @@ obj-y += setup.o platform.o nlm_hal.o -obj-$(CONFIG_SMP) += smpboot.o wakeup.o +obj-$(CONFIG_SMP) += wakeup.o
arch/mips/netlogic/xlp/setup.c +4 -0
@@ -51,6 +51,10 @@unsigned long nlm_common_ebase =0x0 ; +/* default to uniprocessor */ +uint32_t nlm_coremask =1 , nlm_cpumask =1 ; +int nlm_threads_per_core =1 ; +static void nlm_linux_exit (void ) {nlm_write_sys_reg (nlm_sys_base,SYS_CHIP_RESET ,1 );
arch/mips/netlogic/xlp/smpboot.S deleted +0 -217
217 lines not on this page · raw message
arch/mips/netlogic/xlp/wakeup.c +23 -70
115 lines not on this page · raw message
arch/mips/netlogic/xlr/Makefile +1 -1
@@ -1,2 +1,2 @@ obj-y += setup.o platform.o -obj-$(CONFIG_SMP) += smpboot.o wakeup.o +obj-$(CONFIG_SMP) += wakeup.o
arch/mips/netlogic/xlr/setup.c +6 -1
@@ -52,9 +52,14 @@uint64_t nlm_io_base =DEFAULT_NETLOGIC_IO_BASE ;uint64_t nlm_pic_base; -unsigned long nlm_common_ebase =0x0 ;struct psb_info nlm_prom_info; +unsigned long nlm_common_ebase =0x0 ; + +/* default to uniprocessor */ +uint32_t nlm_coremask =1 , nlm_cpumask =1 ; +int nlm_threads_per_core =1 ; +static void __init nlm_early_serial_setup (void ) {struct uart_port s;
arch/mips/netlogic/xlr/smpboot.S deleted +0 -100
100 lines not on this page · raw message
arch/mips/netlogic/xlr/wakeup.c +7 -10
@@ -48,21 +48,18 @@#include <asm/netlogic/xlr/iomap.h> #include <asm/netlogic/xlr/pic.h> -unsigned long secondary_entry_point; - -int __cpuinit nlm_wakeup_secondary_cpus (u32 wakeup_mask) +int __cpuinit xlr_wakeup_secondary_cpus (void ) {unsigned int i, boot_cpu; -void *reset_vec; - secondary_entry_point = (unsigned long )prom_pre_boot_secondary_cpus; - reset_vec = (void *)CKSEG1ADDR (0x1fc00000 ); -memcpy (reset_vec, (void *)nlm_reset_entry, - (nlm_reset_entry_end - nlm_reset_entry)); +/* +* In case of RMI boot, hit with NMI to get the cores +* from bootloader to linux code. +*/ boot_cpu =hard_smp_processor_id (); - +nlm_set_nmi_handler (nlm_rmiboot_preboot);for (i =0 ; i <NR_CPUS ; i++) { -if (i == boot_cpu || (wakeup_mask & (1u << i)) ==0 ) +if (i == boot_cpu || (nlm_cpumask & (1u << i)) ==0 )continue ;nlm_pic_send_ipi (nlm_pic_base, i,1 ,1 );/* send NMI */ }
Signature · 1 line
1.7.5.4
Ralf Baechle
AppliedRe: [PATCH 10/12] MIPS: Netlogic: Merge some of XLR/XLP wakup code
Queued for 3.3. Thanks,
Ralf
PATCH 11/12 MIPS: Netlogic: Add support for XLP 3XX cores
In reply to Jayachandran CAdd new processor ID to asm/cpu.h and kernel/cpu-probe.c. Update to new CPU frequency detection code which works on XLP 3XX and 8XX.
--- arch/mips/include/asm/cpu.h | 4 +++- arch/mips/kernel/cpu-probe.c | 3 ++- arch/mips/netlogic/xlp/nlm_hal.c | 26 ++++++++++++++++---------- 3 files changed, 21 insertions(+), 12 deletions(-)
arch/mips/include/asm/cpu.h +3 -1
@@ -171,7 +171,9 @@#define PRID_IMP_NETLOGIC_XLS404B 0x4f00#define PRID_IMP_NETLOGIC_AU13XX 0x8000 -#define PRID_IMP_NETLOGIC_XLP832 0x1000 +#define PRID_IMP_NETLOGIC_XLP8XX 0x1000 +#define PRID_IMP_NETLOGIC_XLP3XX 0x1100 +/* * Definitions for 7:0 on legacy processors */
arch/mips/kernel/cpu-probe.c +2 -1
@@ -1032,7 +1032,8 @@ static inline void cpu_probe_netlogic(struct cpuinfo_mips *c, int cpu) MIPS_CPU_LLSC);switch (c->processor_id &0xff00 ) { -case PRID_IMP_NETLOGIC_XLP832 : +case PRID_IMP_NETLOGIC_XLP8XX : +case PRID_IMP_NETLOGIC_XLP3XX : c->cputype =CPU_XLP ; __cpu_name[cpu] ="Netlogic XLP" ;break ;
arch/mips/netlogic/xlp/nlm_hal.c +16 -10
@@ -86,20 +86,26 @@ int nlm_irt_to_irq(int irt) } } -unsigned int nlm_get_cpu_frequency (void ) +unsigned int nlm_get_core_frequency (int core) { -unsigned int pll_divf, pll_divr, dfs_div, denom; -unsigned int val; +unsigned int pll_divf, pll_divr, dfs_div, ext_div; +unsigned int rstval, dfsval, denom;uint64_t num; - val =nlm_read_sys_reg (nlm_sys_base,SYS_POWER_ON_RESET_CFG ); - pll_divf = (val >>10 ) &0x7f ; - pll_divr = (val >>8 ) &0x3 ; - dfs_div = (val >>17 ) &0x3 ; + rstval =nlm_read_sys_reg (nlm_sys_base,SYS_POWER_ON_RESET_CFG ); + dfsval =nlm_read_sys_reg (nlm_sys_base,SYS_CORE_DFS_DIV_VALUE ); + pll_divf = ((rstval >>10 ) &0x7f ) +1 ; + pll_divr = ((rstval >>8 ) &0x3 ) +1 ; + ext_div = ((rstval >>30 ) &0x3 ) +1 ; + dfs_div = ((dfsval >> (core *4 )) &0xf ) +1 ; - num = pll_divf +1 ; - denom =3 * (pll_divr +1 ) * (1 << (dfs_div +1 )); - num = num *800000000ULL ; + num =800000000ULL * pll_divf; + denom =3 * pll_divr * ext_div * dfs_div;do_div (num, denom);return (unsigned int )num; } + +unsigned int nlm_get_cpu_frequency (void ) +{ +return nlm_get_core_frequency (0 ); +}
Signature · 1 line
1.7.5.4
Ralf Baechle
AppliedRe: [PATCH 11/12] MIPS: Netlogic: Add support for XLP 3XX cores
Queued for 3.3. Thanks,
Ralf
PATCH 12/12 MIPS: Netlogic: Mark Netlogic chips as SMT capable
In reply to Jayachandran CNetlogic XLR chip has multiple cores. Each core includes four integrated hardware threads, and they share L1 data and instruction caches.
If the chip is marked to be SMT capable, scheduler then could do more, say, idle load balancing.
Changes are now confined only to the code of XLR, and hardware is probed to get core ID for correct setup.
[jayachandranc: simplified and adapted for new merged XLR/XLP code]
--- arch/mips/netlogic/common/smp.c | 11 +++++++---- 1 files changed, 7 insertions(+), 4 deletions(-)
arch/mips/netlogic/common/smp.c +7 -4
@@ -108,9 +108,16 @@ void nlm_early_init_secondary(int cpu)*/ static void __cpuinit nlm_init_secondary (void ) { + current_cpu_data.core =hard_smp_processor_id () /4 ;nlm_smp_irq_init (); } +void nlm_prepare_cpus (unsigned int max_cpus) +{ +/* declare we are SMT capable */ + smp_num_siblings = nlm_threads_per_core; +} +void nlm_smp_finish (void ) {#ifdef notyet
@@ -183,10 +190,6 @@ void __init nlm_smp_setup(void)nlm_set_nmi_handler (nlm_boot_secondary_cpus); } -void nlm_prepare_cpus (unsigned int max_cpus) -{ -} -static int nlm_parse_cpumask (u32 cpu_mask) {uint32_t core0_thr_mask, core_thr_mask;
Signature · 1 line
1.7.5.4
Re: [PATCH 12/12] MIPS: Netlogic: Mark Netlogic chips as SMT capable
Quoted 2 lines · Hillf Danton
Date: Fri, 11 Nov 2011 17:11:08 +0530
From: Hillf Danton <[email protected]>
Normally if you're resending other people's patches they should be sent out with your email in the email's From: header and with the patch author's name and Email address in a From: line in the first (important, otherwise git won't parse it right) of the body. Somehow here Hillf ended up in the From: header which may be confusing, might upset him and might also trigger spam filters.
No need to resend but you may want to fix that for the next batch of patches.
Ralf
Re: [PATCH 12/12] MIPS: Netlogic: Mark Netlogic chips as SMT capable
Quoted 11 lines · Ralf Baechle
Quoted 2 lines · Hillf Danton
Date: Fri, 11 Nov 2011 17:11:08 +0530
From: Hillf Danton <[email protected]>Normally if you're resending other people's patches they should be sent out with your email in the email's From: header and with the patch author's name and Email address in a From: line in the first (important, otherwise git won't parse it right) of the body. Somehow here Hillf ended up in the From: header which may be confusing, might upset him and might also trigger spam filters.
Quoted 2 lines
No need to resend but you may want to fix that for the next batch of patches.
And promptly the reply went to Hillf, whops :)
Ralf
Re: [PATCH 12/12] MIPS: Netlogic: Mark Netlogic chips as SMT capable
In reply to Ralf BaechleWith Jayachandran Cced
Quoted 11 lines · Ralf Baechle
Quoted 2 lines · Hillf Danton
Date: Fri, 11 Nov 2011 17:11:08 +0530
From: Hillf Danton <[email protected]>Normally if you're resending other people's patches they should be sent out with your email in the email's From: header and with the patch author's name and Email address in a From: line in the first (important, otherwise git won't parse it right) of the body. Somehow here Hillf ended up in the From: header which may be confusing, might upset him and might also trigger spam filters.
Quoted 3 lines
No need to resend but you may want to fix that for the next batch of patches.
Hi Ralf,
The patch was delivered by me, and reprepared under ideas and comments from you and Jayachandran, thanks. It was fine tuned, and SOB, by Jayachandran, and included in this patchset, which is far beyond my capability, for supporting Netlogic chips. And please reconsider the patchset.
Thanks
Hillf
Re: [PATCH 12/12] MIPS: Netlogic: Mark Netlogic chips as SMT capable
Quoted 4 lines · Hillf Danton
The patch was delivered by me, and reprepared under ideas and comments from you and Jayachandran, thanks. It was fine tuned, and SOB, by Jayachandran, and included in this patchset, which is far beyond my capability, for supporting Netlogic chips. And please reconsider the patchset.
This was just a comment on the mechanics of sending patches, not a review of the patch itself - in fact I think it's fine.
What seems to have happened is that Jayachandran prepared the patches with git-format-patch, then sent them out using mutt -H, not as the authors of git had intended using git-send-email. Git-send-email puts the sender's email address into the from header and inserts a From:
into the first line of the body, where needed.
On the receiving side it doesn't change a thing - the patch would have looked exactly the same after being applied to git but as elaborated before, there are other problems.
Ralf
Ralf Baechle
AppliedRe: [PATCH 12/12] MIPS: Netlogic: Mark Netlogic chips as SMT capable
In reply to Hillf DantonQueued for 3.3. Thanks,
Ralf