diff options
Diffstat (limited to 'arch/mips/netlogic/xlr/setup.c')
-rw-r--r-- | arch/mips/netlogic/xlr/setup.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/arch/mips/netlogic/xlr/setup.c b/arch/mips/netlogic/xlr/setup.c index 8fca6807cab8..696d4248b92f 100644 --- a/arch/mips/netlogic/xlr/setup.c +++ b/arch/mips/netlogic/xlr/setup.c | |||
@@ -51,14 +51,11 @@ | |||
51 | #include <asm/netlogic/xlr/gpio.h> | 51 | #include <asm/netlogic/xlr/gpio.h> |
52 | 52 | ||
53 | uint64_t nlm_io_base = DEFAULT_NETLOGIC_IO_BASE; | 53 | uint64_t nlm_io_base = DEFAULT_NETLOGIC_IO_BASE; |
54 | uint64_t nlm_pic_base; | ||
55 | struct psb_info nlm_prom_info; | 54 | struct psb_info nlm_prom_info; |
56 | 55 | ||
57 | unsigned long nlm_common_ebase = 0x0; | ||
58 | |||
59 | /* default to uniprocessor */ | 56 | /* default to uniprocessor */ |
60 | uint32_t nlm_coremask = 1; | 57 | unsigned int nlm_threads_per_core = 1; |
61 | int nlm_threads_per_core = 1; | 58 | struct nlm_soc_info nlm_nodes[NLM_NR_NODES]; |
62 | cpumask_t nlm_cpumask = CPU_MASK_CPU0; | 59 | cpumask_t nlm_cpumask = CPU_MASK_CPU0; |
63 | 60 | ||
64 | static void __init nlm_early_serial_setup(void) | 61 | static void __init nlm_early_serial_setup(void) |
@@ -177,6 +174,16 @@ static void prom_add_memory(void) | |||
177 | } | 174 | } |
178 | } | 175 | } |
179 | 176 | ||
177 | static void nlm_init_node(void) | ||
178 | { | ||
179 | struct nlm_soc_info *nodep; | ||
180 | |||
181 | nodep = nlm_current_node(); | ||
182 | nodep->picbase = nlm_mmio_base(NETLOGIC_IO_PIC_OFFSET); | ||
183 | nodep->ebase = read_c0_ebase() & (~((1 << 12) - 1)); | ||
184 | spin_lock_init(&nodep->piclock); | ||
185 | } | ||
186 | |||
180 | void __init prom_init(void) | 187 | void __init prom_init(void) |
181 | { | 188 | { |
182 | int i, *argv, *envp; /* passed as 32 bit ptrs */ | 189 | int i, *argv, *envp; /* passed as 32 bit ptrs */ |
@@ -188,11 +195,10 @@ void __init prom_init(void) | |||
188 | prom_infop = (struct psb_info *)(long)(int)fw_arg3; | 195 | prom_infop = (struct psb_info *)(long)(int)fw_arg3; |
189 | 196 | ||
190 | nlm_prom_info = *prom_infop; | 197 | nlm_prom_info = *prom_infop; |
191 | nlm_pic_base = nlm_mmio_base(NETLOGIC_IO_PIC_OFFSET); | 198 | nlm_init_node(); |
192 | 199 | ||
193 | nlm_early_serial_setup(); | 200 | nlm_early_serial_setup(); |
194 | build_arcs_cmdline(argv); | 201 | build_arcs_cmdline(argv); |
195 | nlm_common_ebase = read_c0_ebase() & (~((1 << 12) - 1)); | ||
196 | prom_add_memory(); | 202 | prom_add_memory(); |
197 | 203 | ||
198 | #ifdef CONFIG_SMP | 204 | #ifdef CONFIG_SMP |