diff options
Diffstat (limited to 'include/asm-mips/mach-ip27')
-rw-r--r-- | include/asm-mips/mach-ip27/cpu-feature-overrides.h | 1 | ||||
-rw-r--r-- | include/asm-mips/mach-ip27/kernel-entry-init.h | 52 | ||||
-rw-r--r-- | include/asm-mips/mach-ip27/kmalloc.h | 8 | ||||
-rw-r--r-- | include/asm-mips/mach-ip27/mmzone.h | 2 | ||||
-rw-r--r-- | include/asm-mips/mach-ip27/spaces.h | 1 | ||||
-rw-r--r-- | include/asm-mips/mach-ip27/topology.h | 3 |
6 files changed, 66 insertions, 1 deletions
diff --git a/include/asm-mips/mach-ip27/cpu-feature-overrides.h b/include/asm-mips/mach-ip27/cpu-feature-overrides.h index fe96d7358517..4c8a90051fd0 100644 --- a/include/asm-mips/mach-ip27/cpu-feature-overrides.h +++ b/include/asm-mips/mach-ip27/cpu-feature-overrides.h | |||
@@ -25,6 +25,7 @@ | |||
25 | #define cpu_has_vtag_icache 0 | 25 | #define cpu_has_vtag_icache 0 |
26 | #define cpu_has_dc_aliases 0 | 26 | #define cpu_has_dc_aliases 0 |
27 | #define cpu_has_ic_fills_f_dc 0 | 27 | #define cpu_has_ic_fills_f_dc 0 |
28 | #define cpu_has_dsp 0 | ||
28 | #define cpu_icache_snoops_remote_store 1 | 29 | #define cpu_icache_snoops_remote_store 1 |
29 | 30 | ||
30 | #define cpu_has_nofpuex 0 | 31 | #define cpu_has_nofpuex 0 |
diff --git a/include/asm-mips/mach-ip27/kernel-entry-init.h b/include/asm-mips/mach-ip27/kernel-entry-init.h new file mode 100644 index 000000000000..c1a10314b317 --- /dev/null +++ b/include/asm-mips/mach-ip27/kernel-entry-init.h | |||
@@ -0,0 +1,52 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2000 Silicon Graphics, Inc. | ||
7 | * Copyright (C) 2005 Ralf Baechle <ralf@linux-mips.org> | ||
8 | */ | ||
9 | #ifndef __ASM_MACH_IP27_KERNEL_ENTRY_H | ||
10 | #define __ASM_MACH_IP27_KERNEL_ENTRY_H | ||
11 | |||
12 | #include <asm/sn/addrs.h> | ||
13 | #include <asm/sn/sn0/hubni.h> | ||
14 | #include <asm/sn/klkernvars.h> | ||
15 | |||
16 | /* | ||
17 | * Returns the local nasid into res. | ||
18 | */ | ||
19 | .macro GET_NASID_ASM res | ||
20 | dli \res, LOCAL_HUB_ADDR(NI_STATUS_REV_ID) | ||
21 | ld \res, (\res) | ||
22 | and \res, NSRI_NODEID_MASK | ||
23 | dsrl \res, NSRI_NODEID_SHFT | ||
24 | .endm | ||
25 | |||
26 | /* | ||
27 | * Intentionally empty macro, used in head.S. Override in | ||
28 | * arch/mips/mach-xxx/kernel-entry-init.h when necessary. | ||
29 | */ | ||
30 | .macro kernel_entry_setup | ||
31 | GET_NASID_ASM t1 | ||
32 | move t2, t1 # text and data are here | ||
33 | MAPPED_KERNEL_SETUP_TLB | ||
34 | .endm | ||
35 | |||
36 | /* | ||
37 | * Do SMP slave processor setup necessary before we can savely execute C code. | ||
38 | */ | ||
39 | .macro smp_slave_setup | ||
40 | GET_NASID_ASM t1 | ||
41 | dli t0, KLDIR_OFFSET + (KLI_KERN_VARS * KLDIR_ENT_SIZE) + \ | ||
42 | KLDIR_OFF_POINTER + CAC_BASE | ||
43 | dsll t1, NASID_SHFT | ||
44 | or t0, t0, t1 | ||
45 | ld t0, 0(t0) # t0 points to kern_vars struct | ||
46 | lh t1, KV_RO_NASID_OFFSET(t0) | ||
47 | lh t2, KV_RW_NASID_OFFSET(t0) | ||
48 | MAPPED_KERNEL_SETUP_TLB | ||
49 | ARC64_TWIDDLE_PC | ||
50 | .endm | ||
51 | |||
52 | #endif /* __ASM_MACH_IP27_KERNEL_ENTRY_H */ | ||
diff --git a/include/asm-mips/mach-ip27/kmalloc.h b/include/asm-mips/mach-ip27/kmalloc.h new file mode 100644 index 000000000000..426bd049b2d7 --- /dev/null +++ b/include/asm-mips/mach-ip27/kmalloc.h | |||
@@ -0,0 +1,8 @@ | |||
1 | #ifndef __ASM_MACH_IP27_KMALLOC_H | ||
2 | #define __ASM_MACH_IP27_KMALLOC_H | ||
3 | |||
4 | /* | ||
5 | * All happy, no need to define ARCH_KMALLOC_MINALIGN | ||
6 | */ | ||
7 | |||
8 | #endif /* __ASM_MACH_IP27_KMALLOC_H */ | ||
diff --git a/include/asm-mips/mach-ip27/mmzone.h b/include/asm-mips/mach-ip27/mmzone.h index d3f566362e9d..986a3b9b59a7 100644 --- a/include/asm-mips/mach-ip27/mmzone.h +++ b/include/asm-mips/mach-ip27/mmzone.h | |||
@@ -10,7 +10,6 @@ | |||
10 | #define LEVELS_PER_SLICE 128 | 10 | #define LEVELS_PER_SLICE 128 |
11 | 11 | ||
12 | struct slice_data { | 12 | struct slice_data { |
13 | unsigned long irq_alloc_mask[2]; | ||
14 | unsigned long irq_enable_mask[2]; | 13 | unsigned long irq_enable_mask[2]; |
15 | int level_to_irq[LEVELS_PER_SLICE]; | 14 | int level_to_irq[LEVELS_PER_SLICE]; |
16 | }; | 15 | }; |
@@ -20,6 +19,7 @@ struct hub_data { | |||
20 | DECLARE_BITMAP(h_bigwin_used, HUB_NUM_BIG_WINDOW); | 19 | DECLARE_BITMAP(h_bigwin_used, HUB_NUM_BIG_WINDOW); |
21 | cpumask_t h_cpus; | 20 | cpumask_t h_cpus; |
22 | unsigned long slice_map; | 21 | unsigned long slice_map; |
22 | unsigned long irq_alloc_mask[2]; | ||
23 | struct slice_data slice[2]; | 23 | struct slice_data slice[2]; |
24 | }; | 24 | }; |
25 | 25 | ||
diff --git a/include/asm-mips/mach-ip27/spaces.h b/include/asm-mips/mach-ip27/spaces.h index e3b3fe32eeb1..45e61785ef42 100644 --- a/include/asm-mips/mach-ip27/spaces.h +++ b/include/asm-mips/mach-ip27/spaces.h | |||
@@ -20,6 +20,7 @@ | |||
20 | #define IO_BASE 0x9200000000000000 | 20 | #define IO_BASE 0x9200000000000000 |
21 | #define MSPEC_BASE 0x9400000000000000 | 21 | #define MSPEC_BASE 0x9400000000000000 |
22 | #define UNCAC_BASE 0x9600000000000000 | 22 | #define UNCAC_BASE 0x9600000000000000 |
23 | #define MAP_BASE 0xc000000000000000 | ||
23 | 24 | ||
24 | #define TO_PHYS(x) ( ((x) & TO_PHYS_MASK)) | 25 | #define TO_PHYS(x) ( ((x) & TO_PHYS_MASK)) |
25 | #define TO_CAC(x) (CAC_BASE | ((x) & TO_PHYS_MASK)) | 26 | #define TO_CAC(x) (CAC_BASE | ((x) & TO_PHYS_MASK)) |
diff --git a/include/asm-mips/mach-ip27/topology.h b/include/asm-mips/mach-ip27/topology.h index a70a81257c3d..82141c711c33 100644 --- a/include/asm-mips/mach-ip27/topology.h +++ b/include/asm-mips/mach-ip27/topology.h | |||
@@ -9,6 +9,9 @@ | |||
9 | #define parent_node(node) (node) | 9 | #define parent_node(node) (node) |
10 | #define node_to_cpumask(node) (hub_data(node)->h_cpus) | 10 | #define node_to_cpumask(node) (hub_data(node)->h_cpus) |
11 | #define node_to_first_cpu(node) (first_cpu(node_to_cpumask(node))) | 11 | #define node_to_first_cpu(node) (first_cpu(node_to_cpumask(node))) |
12 | struct pci_bus; | ||
13 | extern int pcibus_to_node(struct pci_bus *); | ||
14 | |||
12 | #define pcibus_to_cpumask(bus) (cpu_online_map) | 15 | #define pcibus_to_cpumask(bus) (cpu_online_map) |
13 | 16 | ||
14 | extern unsigned char __node_distances[MAX_COMPACT_NODES][MAX_COMPACT_NODES]; | 17 | extern unsigned char __node_distances[MAX_COMPACT_NODES][MAX_COMPACT_NODES]; |