aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/netlogic/xlp/setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/netlogic/xlp/setup.c')
-rw-r--r--arch/mips/netlogic/xlp/setup.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/arch/mips/netlogic/xlp/setup.c b/arch/mips/netlogic/xlp/setup.c
index 9f8d360a246e..465b8d60463f 100644
--- a/arch/mips/netlogic/xlp/setup.c
+++ b/arch/mips/netlogic/xlp/setup.c
@@ -52,17 +52,17 @@
52#include <asm/netlogic/xlp-hal/xlp.h> 52#include <asm/netlogic/xlp-hal/xlp.h>
53#include <asm/netlogic/xlp-hal/sys.h> 53#include <asm/netlogic/xlp-hal/sys.h>
54 54
55unsigned long nlm_common_ebase = 0x0; 55uint64_t nlm_io_base;
56 56struct nlm_soc_info nlm_nodes[NLM_NR_NODES];
57/* default to uniprocessor */
58uint32_t nlm_coremask = 1;
59cpumask_t nlm_cpumask = CPU_MASK_CPU0; 57cpumask_t nlm_cpumask = CPU_MASK_CPU0;
60int nlm_threads_per_core = 1; 58unsigned int nlm_threads_per_core;
61extern u32 __dtb_start[]; 59extern u32 __dtb_start[];
62 60
63static void nlm_linux_exit(void) 61static void nlm_linux_exit(void)
64{ 62{
65 nlm_write_sys_reg(nlm_sys_base, SYS_CHIP_RESET, 1); 63 uint64_t sysbase = nlm_get_node(0)->sysbase;
64
65 nlm_write_sys_reg(sysbase, SYS_CHIP_RESET, 1);
66 for ( ; ; ) 66 for ( ; ; )
67 cpu_wait(); 67 cpu_wait();
68} 68}
@@ -110,10 +110,9 @@ void xlp_mmu_init(void)
110 110
111void __init prom_init(void) 111void __init prom_init(void)
112{ 112{
113 nlm_io_base = CKSEG1ADDR(XLP_DEFAULT_IO_BASE);
113 xlp_mmu_init(); 114 xlp_mmu_init();
114 nlm_hal_init(); 115 nlm_node_init(0);
115
116 nlm_common_ebase = read_c0_ebase() & (~((1 << 12) - 1));
117 116
118#ifdef CONFIG_SMP 117#ifdef CONFIG_SMP
119 cpumask_setall(&nlm_cpumask); 118 cpumask_setall(&nlm_cpumask);