diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-11-03 16:28:14 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-11-03 16:28:14 -0400 |
| commit | d6748066ad0e8b2514545998f8367ebb3906f299 (patch) | |
| tree | f7a9bfd764a8fb781aeda0ef2249afbab42dddf7 /arch/mips/netlogic | |
| parent | f04c045f8ce69c22bda9d99eb927276b776135fc (diff) | |
| parent | 3ba1e543ab4b02640d396098f2f6a199560d5f2d (diff) | |
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (37 commits)
MIPS: O32: Provide definition of registers ta0 .. ta3.
MIPS: perf: Add Octeon support for hardware perf.
MIPS: perf: Add support for 64-bit perf counters.
MIPS: perf: Reorganize contents of perf support files.
MIPS: perf: Cleanup formatting in arch/mips/kernel/perf_event.c
MIPS: Add accessor macros for 64-bit performance counter registers.
MIPS: Add probes for more Octeon II CPUs.
MIPS: Add more CPU identifiers for Octeon II CPUs.
MIPS: XLR, XLS: Add comment for smp setup
MIPS: JZ4740: GPIO: Check correct IRQ in demux handler
MIPS: JZ4740: GPIO: Simplify IRQ demuxer
MIPS: JZ4740: Use generic irq chip
MIPS: Alchemy: remove all CONFIG_SOC_AU1??? defines
MIPS: Alchemy: kill au1xxx.h header
MIPS: Alchemy: clean DMA code of CONFIG_SOC_AU1??? defines
MIPS, IDE: Alchem, au1xxx-ide: Remove pb1200/db1200 header dep
MIPS: Alchemy: Redo PCI as platform driver
MIPS: Alchemy: more base address cleanup
MIPS: Alchemy: rewrite USB platform setup.
MIPS: Alchemy: abstract USB block control register access
...
Fix up trivial conflicts in:
arch/mips/alchemy/devboards/db1x00/platform.c
drivers/ide/Kconfig
drivers/mmc/host/au1xmmc.c
drivers/video/Kconfig
sound/mips/Kconfig
Diffstat (limited to 'arch/mips/netlogic')
| -rw-r--r-- | arch/mips/netlogic/Platform | 5 | ||||
| -rw-r--r-- | arch/mips/netlogic/xlr/setup.c | 4 | ||||
| -rw-r--r-- | arch/mips/netlogic/xlr/smp.c | 6 | ||||
| -rw-r--r-- | arch/mips/netlogic/xlr/smpboot.S | 16 |
4 files changed, 23 insertions, 8 deletions
diff --git a/arch/mips/netlogic/Platform b/arch/mips/netlogic/Platform index f87c1640abb5..b648b487fd66 100644 --- a/arch/mips/netlogic/Platform +++ b/arch/mips/netlogic/Platform | |||
| @@ -5,6 +5,11 @@ cflags-$(CONFIG_NLM_COMMON) += -I$(srctree)/arch/mips/include/asm/mach-netlogic | |||
| 5 | cflags-$(CONFIG_NLM_COMMON) += -I$(srctree)/arch/mips/include/asm/netlogic | 5 | cflags-$(CONFIG_NLM_COMMON) += -I$(srctree)/arch/mips/include/asm/netlogic |
| 6 | 6 | ||
| 7 | # | 7 | # |
| 8 | # use mips64 if xlr is not available | ||
| 9 | # | ||
| 10 | cflags-$(CONFIG_NLM_XLR) += $(call cc-option,-march=xlr,-march=mips64) | ||
| 11 | |||
| 12 | # | ||
| 8 | # NETLOGIC XLR/XLS SoC, Simulator and boards | 13 | # NETLOGIC XLR/XLS SoC, Simulator and boards |
| 9 | # | 14 | # |
| 10 | core-$(CONFIG_NLM_XLR) += arch/mips/netlogic/xlr/ | 15 | core-$(CONFIG_NLM_XLR) += arch/mips/netlogic/xlr/ |
diff --git a/arch/mips/netlogic/xlr/setup.c b/arch/mips/netlogic/xlr/setup.c index 482802569e74..cee25ddd0887 100644 --- a/arch/mips/netlogic/xlr/setup.c +++ b/arch/mips/netlogic/xlr/setup.c | |||
| @@ -53,7 +53,7 @@ unsigned long netlogic_io_base = (unsigned long)(DEFAULT_NETLOGIC_IO_BASE); | |||
| 53 | unsigned long nlm_common_ebase = 0x0; | 53 | unsigned long nlm_common_ebase = 0x0; |
| 54 | struct psb_info nlm_prom_info; | 54 | struct psb_info nlm_prom_info; |
| 55 | 55 | ||
| 56 | static void nlm_early_serial_setup(void) | 56 | static void __init nlm_early_serial_setup(void) |
| 57 | { | 57 | { |
| 58 | struct uart_port s; | 58 | struct uart_port s; |
| 59 | nlm_reg_t *uart_base; | 59 | nlm_reg_t *uart_base; |
| @@ -101,7 +101,7 @@ void __init prom_free_prom_memory(void) | |||
| 101 | /* Nothing yet */ | 101 | /* Nothing yet */ |
| 102 | } | 102 | } |
| 103 | 103 | ||
| 104 | static void build_arcs_cmdline(int *argv) | 104 | static void __init build_arcs_cmdline(int *argv) |
| 105 | { | 105 | { |
| 106 | int i, remain, len; | 106 | int i, remain, len; |
| 107 | char *arg; | 107 | char *arg; |
diff --git a/arch/mips/netlogic/xlr/smp.c b/arch/mips/netlogic/xlr/smp.c index d842bce5c940..080284ded508 100644 --- a/arch/mips/netlogic/xlr/smp.c +++ b/arch/mips/netlogic/xlr/smp.c | |||
| @@ -158,6 +158,10 @@ void __init nlm_smp_setup(void) | |||
| 158 | 158 | ||
| 159 | num_cpus = 1; | 159 | num_cpus = 1; |
| 160 | for (i = 0; i < NR_CPUS; i++) { | 160 | for (i = 0; i < NR_CPUS; i++) { |
| 161 | /* | ||
| 162 | * BSP is not set in nlm_cpu_ready array, it is only for | ||
| 163 | * ASPs (goto see smpboot.S) | ||
| 164 | */ | ||
| 161 | if (nlm_cpu_ready[i]) { | 165 | if (nlm_cpu_ready[i]) { |
| 162 | cpu_set(i, phys_cpu_present_map); | 166 | cpu_set(i, phys_cpu_present_map); |
| 163 | __cpu_number_map[i] = num_cpus; | 167 | __cpu_number_map[i] = num_cpus; |
| @@ -191,7 +195,7 @@ struct plat_smp_ops nlm_smp_ops = { | |||
| 191 | 195 | ||
| 192 | unsigned long secondary_entry_point; | 196 | unsigned long secondary_entry_point; |
| 193 | 197 | ||
| 194 | int nlm_wakeup_secondary_cpus(u32 wakeup_mask) | 198 | int __cpuinit nlm_wakeup_secondary_cpus(u32 wakeup_mask) |
| 195 | { | 199 | { |
| 196 | unsigned int tid, pid, ipi, i, boot_cpu; | 200 | unsigned int tid, pid, ipi, i, boot_cpu; |
| 197 | void *reset_vec; | 201 | void *reset_vec; |
diff --git a/arch/mips/netlogic/xlr/smpboot.S b/arch/mips/netlogic/xlr/smpboot.S index b8e074402c99..8cb7889ce0cc 100644 --- a/arch/mips/netlogic/xlr/smpboot.S +++ b/arch/mips/netlogic/xlr/smpboot.S | |||
| @@ -32,17 +32,19 @@ | |||
| 32 | * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 32 | * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 33 | */ | 33 | */ |
| 34 | 34 | ||
| 35 | #include <linux/init.h> | ||
| 36 | |||
| 35 | #include <asm/asm.h> | 37 | #include <asm/asm.h> |
| 36 | #include <asm/asm-offsets.h> | 38 | #include <asm/asm-offsets.h> |
| 37 | #include <asm/regdef.h> | 39 | #include <asm/regdef.h> |
| 38 | #include <asm/mipsregs.h> | 40 | #include <asm/mipsregs.h> |
| 39 | 41 | ||
| 40 | 42 | /* | |
| 41 | /* Don't jump to linux function from Bootloader stack. Change it | 43 | * Early code for secondary CPUs. This will get them out of the bootloader |
| 42 | * here. Kernel might allocate bootloader memory before all the CPUs are | 44 | * code and into linux. Needed because the bootloader area will be taken |
| 43 | * brought up (eg: Inode cache region) and we better don't overwrite this | 45 | * and initialized by linux. |
| 44 | * memory | ||
| 45 | */ | 46 | */ |
| 47 | __CPUINIT | ||
| 46 | NESTED(prom_pre_boot_secondary_cpus, 16, sp) | 48 | NESTED(prom_pre_boot_secondary_cpus, 16, sp) |
| 47 | .set mips64 | 49 | .set mips64 |
| 48 | mfc0 t0, $15, 1 # read ebase | 50 | mfc0 t0, $15, 1 # read ebase |
| @@ -73,7 +75,11 @@ NESTED(prom_pre_boot_secondary_cpus, 16, sp) | |||
| 73 | jr t0 | 75 | jr t0 |
| 74 | nop | 76 | nop |
| 75 | END(prom_pre_boot_secondary_cpus) | 77 | END(prom_pre_boot_secondary_cpus) |
| 78 | __FINIT | ||
| 76 | 79 | ||
| 80 | /* | ||
| 81 | * NMI code, used for CPU wakeup, copied to reset entry | ||
| 82 | */ | ||
| 77 | NESTED(nlm_boot_smp_nmi, 0, sp) | 83 | NESTED(nlm_boot_smp_nmi, 0, sp) |
| 78 | .set push | 84 | .set push |
| 79 | .set noat | 85 | .set noat |
