diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-25 11:49:25 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-25 11:49:25 -0500 |
commit | 7d14f145f839b5d0d221ea209b4998f93267e2ec (patch) | |
tree | 669d09ad53c9de9ef2e6cef06d256a811d509d65 /include/asm-ia64 | |
parent | 2e1ca21d46aaef95101723fa402f39d3a95aba59 (diff) | |
parent | 4129a953ad4db379d8e07b0dd2157998653a1325 (diff) |
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
[IA64] New IA64 core/thread detection patch
[IA64] Increase max node count on SN platforms
[IA64] Increase max node count on SN platforms
[IA64] Increase max node count on SN platforms
[IA64] Increase max node count on SN platforms
[IA64] Tollhouse HP: IA64 arch changes
[IA64] cleanup dig_irq_init
[IA64] MCA recovery: kernel context recovery table
IA64: Use early_parm to handle mvec_name and nomca
[IA64] move patchlist and machvec into init section
[IA64] add init declaration - nolwsys
[IA64] add init declaration - gate page functions
[IA64] add init declaration to memory initialization functions
[IA64] add init declaration to cpu initialization functions
[IA64] add __init declaration to mca functions
[IA64] Ignore disabled Local SAPIC Affinity Structure in SRAT
[IA64] sn_check_intr: use ia64_get_irr()
[IA64] fix ia64 is_hugepage_only_range
Diffstat (limited to 'include/asm-ia64')
-rw-r--r-- | include/asm-ia64/acpi.h | 4 | ||||
-rw-r--r-- | include/asm-ia64/asmmacro.h | 11 | ||||
-rw-r--r-- | include/asm-ia64/machvec_dig.h | 2 | ||||
-rw-r--r-- | include/asm-ia64/numa.h | 2 | ||||
-rw-r--r-- | include/asm-ia64/numnodes.h | 13 | ||||
-rw-r--r-- | include/asm-ia64/page.h | 2 | ||||
-rw-r--r-- | include/asm-ia64/pal.h | 3 | ||||
-rw-r--r-- | include/asm-ia64/processor.h | 1 | ||||
-rw-r--r-- | include/asm-ia64/sn/l1.h | 3 | ||||
-rw-r--r-- | include/asm-ia64/sn/pcibr_provider.h | 1 | ||||
-rw-r--r-- | include/asm-ia64/sn/pcidev.h | 1 | ||||
-rw-r--r-- | include/asm-ia64/sn/sn_feature_sets.h | 3 | ||||
-rw-r--r-- | include/asm-ia64/sn/sn_sal.h | 26 |
13 files changed, 47 insertions, 25 deletions
diff --git a/include/asm-ia64/acpi.h b/include/asm-ia64/acpi.h index f7a517654308..d734585a23cf 100644 --- a/include/asm-ia64/acpi.h +++ b/include/asm-ia64/acpi.h | |||
@@ -111,7 +111,11 @@ extern int additional_cpus; | |||
111 | 111 | ||
112 | #ifdef CONFIG_ACPI_NUMA | 112 | #ifdef CONFIG_ACPI_NUMA |
113 | /* Proximity bitmap length; _PXM is at most 255 (8 bit)*/ | 113 | /* Proximity bitmap length; _PXM is at most 255 (8 bit)*/ |
114 | #ifdef CONFIG_IA64_NR_NODES | ||
115 | #define MAX_PXM_DOMAINS CONFIG_IA64_NR_NODES | ||
116 | #else | ||
114 | #define MAX_PXM_DOMAINS (256) | 117 | #define MAX_PXM_DOMAINS (256) |
118 | #endif | ||
115 | extern int __devinitdata pxm_to_nid_map[MAX_PXM_DOMAINS]; | 119 | extern int __devinitdata pxm_to_nid_map[MAX_PXM_DOMAINS]; |
116 | extern int __initdata nid_to_pxm_map[MAX_NUMNODES]; | 120 | extern int __initdata nid_to_pxm_map[MAX_NUMNODES]; |
117 | #endif | 121 | #endif |
diff --git a/include/asm-ia64/asmmacro.h b/include/asm-ia64/asmmacro.h index 77af457f4ad7..d4cec32083d8 100644 --- a/include/asm-ia64/asmmacro.h +++ b/include/asm-ia64/asmmacro.h | |||
@@ -51,6 +51,17 @@ name: | |||
51 | [99:] x | 51 | [99:] x |
52 | 52 | ||
53 | /* | 53 | /* |
54 | * Tag MCA recoverable instruction ranges. | ||
55 | */ | ||
56 | |||
57 | .section "__mca_table", "a" // declare section & section attributes | ||
58 | .previous | ||
59 | |||
60 | # define MCA_RECOVER_RANGE(y) \ | ||
61 | .xdata4 "__mca_table", y-., 99f-.; \ | ||
62 | [99:] | ||
63 | |||
64 | /* | ||
54 | * Mark instructions that need a load of a virtual address patched to be | 65 | * Mark instructions that need a load of a virtual address patched to be |
55 | * a load of a physical address. We use this either in critical performance | 66 | * a load of a physical address. We use this either in critical performance |
56 | * path (ivt.S - TLB miss processing) or in places where it might not be | 67 | * path (ivt.S - TLB miss processing) or in places where it might not be |
diff --git a/include/asm-ia64/machvec_dig.h b/include/asm-ia64/machvec_dig.h index 4dc8522c974f..8a0752f40987 100644 --- a/include/asm-ia64/machvec_dig.h +++ b/include/asm-ia64/machvec_dig.h | |||
@@ -2,7 +2,6 @@ | |||
2 | #define _ASM_IA64_MACHVEC_DIG_h | 2 | #define _ASM_IA64_MACHVEC_DIG_h |
3 | 3 | ||
4 | extern ia64_mv_setup_t dig_setup; | 4 | extern ia64_mv_setup_t dig_setup; |
5 | extern ia64_mv_irq_init_t dig_irq_init; | ||
6 | 5 | ||
7 | /* | 6 | /* |
8 | * This stuff has dual use! | 7 | * This stuff has dual use! |
@@ -13,6 +12,5 @@ extern ia64_mv_irq_init_t dig_irq_init; | |||
13 | */ | 12 | */ |
14 | #define platform_name "dig" | 13 | #define platform_name "dig" |
15 | #define platform_setup dig_setup | 14 | #define platform_setup dig_setup |
16 | #define platform_irq_init dig_irq_init | ||
17 | 15 | ||
18 | #endif /* _ASM_IA64_MACHVEC_DIG_h */ | 16 | #endif /* _ASM_IA64_MACHVEC_DIG_h */ |
diff --git a/include/asm-ia64/numa.h b/include/asm-ia64/numa.h index 3ae128fe0823..dae6aeb7b119 100644 --- a/include/asm-ia64/numa.h +++ b/include/asm-ia64/numa.h | |||
@@ -23,7 +23,7 @@ | |||
23 | 23 | ||
24 | #include <asm/mmzone.h> | 24 | #include <asm/mmzone.h> |
25 | 25 | ||
26 | extern u8 cpu_to_node_map[NR_CPUS] __cacheline_aligned; | 26 | extern u16 cpu_to_node_map[NR_CPUS] __cacheline_aligned; |
27 | extern cpumask_t node_to_cpu_mask[MAX_NUMNODES] __cacheline_aligned; | 27 | extern cpumask_t node_to_cpu_mask[MAX_NUMNODES] __cacheline_aligned; |
28 | 28 | ||
29 | /* Stuff below this line could be architecture independent */ | 29 | /* Stuff below this line could be architecture independent */ |
diff --git a/include/asm-ia64/numnodes.h b/include/asm-ia64/numnodes.h index 21cff4da5485..e9d356f549d9 100644 --- a/include/asm-ia64/numnodes.h +++ b/include/asm-ia64/numnodes.h | |||
@@ -3,13 +3,18 @@ | |||
3 | 3 | ||
4 | #ifdef CONFIG_IA64_DIG | 4 | #ifdef CONFIG_IA64_DIG |
5 | /* Max 8 Nodes */ | 5 | /* Max 8 Nodes */ |
6 | #define NODES_SHIFT 3 | 6 | # define NODES_SHIFT 3 |
7 | #elif defined(CONFIG_IA64_HP_ZX1) || defined(CONFIG_IA64_HP_ZX1_SWIOTLB) | 7 | #elif defined(CONFIG_IA64_HP_ZX1) || defined(CONFIG_IA64_HP_ZX1_SWIOTLB) |
8 | /* Max 32 Nodes */ | 8 | /* Max 32 Nodes */ |
9 | #define NODES_SHIFT 5 | 9 | # define NODES_SHIFT 5 |
10 | #elif defined(CONFIG_IA64_SGI_SN2) || defined(CONFIG_IA64_GENERIC) | 10 | #elif defined(CONFIG_IA64_SGI_SN2) || defined(CONFIG_IA64_GENERIC) |
11 | /* Max 256 Nodes */ | 11 | # if CONFIG_IA64_NR_NODES == 256 |
12 | #define NODES_SHIFT 8 | 12 | # define NODES_SHIFT 8 |
13 | # elif CONFIG_IA64_NR_NODES <= 512 | ||
14 | # define NODES_SHIFT 9 | ||
15 | # elif CONFIG_IA64_NR_NODES <= 1024 | ||
16 | # define NODES_SHIFT 10 | ||
17 | # endif | ||
13 | #endif | 18 | #endif |
14 | 19 | ||
15 | #endif /* _ASM_MAX_NUMNODES_H */ | 20 | #endif /* _ASM_MAX_NUMNODES_H */ |
diff --git a/include/asm-ia64/page.h b/include/asm-ia64/page.h index 3ab27333dae4..6e9aa23250c4 100644 --- a/include/asm-ia64/page.h +++ b/include/asm-ia64/page.h | |||
@@ -149,7 +149,7 @@ typedef union ia64_va { | |||
149 | | (REGION_OFFSET(x) >> (HPAGE_SHIFT-PAGE_SHIFT))) | 149 | | (REGION_OFFSET(x) >> (HPAGE_SHIFT-PAGE_SHIFT))) |
150 | # define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) | 150 | # define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) |
151 | # define is_hugepage_only_range(mm, addr, len) \ | 151 | # define is_hugepage_only_range(mm, addr, len) \ |
152 | (REGION_NUMBER(addr) == RGN_HPAGE && \ | 152 | (REGION_NUMBER(addr) == RGN_HPAGE || \ |
153 | REGION_NUMBER((addr)+(len)-1) == RGN_HPAGE) | 153 | REGION_NUMBER((addr)+(len)-1) == RGN_HPAGE) |
154 | extern unsigned int hpage_shift; | 154 | extern unsigned int hpage_shift; |
155 | #endif | 155 | #endif |
diff --git a/include/asm-ia64/pal.h b/include/asm-ia64/pal.h index 7708ec669a33..4e7e6f23b08c 100644 --- a/include/asm-ia64/pal.h +++ b/include/asm-ia64/pal.h | |||
@@ -1640,8 +1640,7 @@ ia64_pal_logical_to_phys(u64 proc_number, pal_logical_to_physical_t *mapping) | |||
1640 | 1640 | ||
1641 | if (iprv.status == PAL_STATUS_SUCCESS) | 1641 | if (iprv.status == PAL_STATUS_SUCCESS) |
1642 | { | 1642 | { |
1643 | if (proc_number == 0) | 1643 | mapping->overview.overview_data = iprv.v0; |
1644 | mapping->overview.overview_data = iprv.v0; | ||
1645 | mapping->ppli1.ppli1_data = iprv.v1; | 1644 | mapping->ppli1.ppli1_data = iprv.v1; |
1646 | mapping->ppli2.ppli2_data = iprv.v2; | 1645 | mapping->ppli2.ppli2_data = iprv.v2; |
1647 | } | 1646 | } |
diff --git a/include/asm-ia64/processor.h b/include/asm-ia64/processor.h index 128fefd8056f..b3bd58e80690 100644 --- a/include/asm-ia64/processor.h +++ b/include/asm-ia64/processor.h | |||
@@ -181,7 +181,6 @@ DECLARE_PER_CPU(struct cpuinfo_ia64, cpu_info); | |||
181 | #define local_cpu_data (&__ia64_per_cpu_var(cpu_info)) | 181 | #define local_cpu_data (&__ia64_per_cpu_var(cpu_info)) |
182 | #define cpu_data(cpu) (&per_cpu(cpu_info, cpu)) | 182 | #define cpu_data(cpu) (&per_cpu(cpu_info, cpu)) |
183 | 183 | ||
184 | extern void identify_cpu (struct cpuinfo_ia64 *); | ||
185 | extern void print_cpu_info (struct cpuinfo_ia64 *); | 184 | extern void print_cpu_info (struct cpuinfo_ia64 *); |
186 | 185 | ||
187 | typedef struct { | 186 | typedef struct { |
diff --git a/include/asm-ia64/sn/l1.h b/include/asm-ia64/sn/l1.h index e3b819110d47..344bf44bb356 100644 --- a/include/asm-ia64/sn/l1.h +++ b/include/asm-ia64/sn/l1.h | |||
@@ -34,6 +34,8 @@ | |||
34 | #define L1_BRICKTYPE_IA 0x6b /* k */ | 34 | #define L1_BRICKTYPE_IA 0x6b /* k */ |
35 | #define L1_BRICKTYPE_ATHENA 0x2b /* + */ | 35 | #define L1_BRICKTYPE_ATHENA 0x2b /* + */ |
36 | #define L1_BRICKTYPE_DAYTONA 0x7a /* z */ | 36 | #define L1_BRICKTYPE_DAYTONA 0x7a /* z */ |
37 | #define L1_BRICKTYPE_1932 0x2c /* . */ | ||
38 | #define L1_BRICKTYPE_191010 0x2e /* , */ | ||
37 | 39 | ||
38 | /* board type response codes */ | 40 | /* board type response codes */ |
39 | #define L1_BOARDTYPE_IP69 0x0100 /* CA */ | 41 | #define L1_BOARDTYPE_IP69 0x0100 /* CA */ |
@@ -46,5 +48,4 @@ | |||
46 | #define L1_BOARDTYPE_DAYTONA 0x0800 /* AD */ | 48 | #define L1_BOARDTYPE_DAYTONA 0x0800 /* AD */ |
47 | #define L1_BOARDTYPE_INVAL (-1) /* invalid brick type */ | 49 | #define L1_BOARDTYPE_INVAL (-1) /* invalid brick type */ |
48 | 50 | ||
49 | |||
50 | #endif /* _ASM_IA64_SN_L1_H */ | 51 | #endif /* _ASM_IA64_SN_L1_H */ |
diff --git a/include/asm-ia64/sn/pcibr_provider.h b/include/asm-ia64/sn/pcibr_provider.h index a601d3af39b6..51260ab70d91 100644 --- a/include/asm-ia64/sn/pcibr_provider.h +++ b/include/asm-ia64/sn/pcibr_provider.h | |||
@@ -144,4 +144,5 @@ extern int sal_pcibr_slot_enable(struct pcibus_info *soft, int device, | |||
144 | void *resp); | 144 | void *resp); |
145 | extern int sal_pcibr_slot_disable(struct pcibus_info *soft, int device, | 145 | extern int sal_pcibr_slot_disable(struct pcibus_info *soft, int device, |
146 | int action, void *resp); | 146 | int action, void *resp); |
147 | extern u16 sn_ioboard_to_pci_bus(struct pci_bus *pci_bus); | ||
147 | #endif | 148 | #endif |
diff --git a/include/asm-ia64/sn/pcidev.h b/include/asm-ia64/sn/pcidev.h index 38cdffbc4c7b..eac3561574be 100644 --- a/include/asm-ia64/sn/pcidev.h +++ b/include/asm-ia64/sn/pcidev.h | |||
@@ -76,6 +76,7 @@ extern void sn_pci_controller_fixup(int segment, int busnum, | |||
76 | struct pci_bus *bus); | 76 | struct pci_bus *bus); |
77 | extern void sn_bus_store_sysdata(struct pci_dev *dev); | 77 | extern void sn_bus_store_sysdata(struct pci_dev *dev); |
78 | extern void sn_bus_free_sysdata(void); | 78 | extern void sn_bus_free_sysdata(void); |
79 | extern void sn_generate_path(struct pci_bus *pci_bus, char *address); | ||
79 | extern void sn_pci_fixup_slot(struct pci_dev *dev); | 80 | extern void sn_pci_fixup_slot(struct pci_dev *dev); |
80 | extern void sn_pci_unfixup_slot(struct pci_dev *dev); | 81 | extern void sn_pci_unfixup_slot(struct pci_dev *dev); |
81 | extern void sn_irq_lh_init(void); | 82 | extern void sn_irq_lh_init(void); |
diff --git a/include/asm-ia64/sn/sn_feature_sets.h b/include/asm-ia64/sn/sn_feature_sets.h index ff33e3bd3f8e..30dcfa442e53 100644 --- a/include/asm-ia64/sn/sn_feature_sets.h +++ b/include/asm-ia64/sn/sn_feature_sets.h | |||
@@ -30,8 +30,7 @@ extern int sn_prom_feature_available(int id); | |||
30 | 30 | ||
31 | #define PRF_PAL_CACHE_FLUSH_SAFE 0 | 31 | #define PRF_PAL_CACHE_FLUSH_SAFE 0 |
32 | #define PRF_DEVICE_FLUSH_LIST 1 | 32 | #define PRF_DEVICE_FLUSH_LIST 1 |
33 | 33 | #define PRF_HOTPLUG_SUPPORT 2 | |
34 | |||
35 | 34 | ||
36 | /* --------------------- OS Features -------------------------------*/ | 35 | /* --------------------- OS Features -------------------------------*/ |
37 | 36 | ||
diff --git a/include/asm-ia64/sn/sn_sal.h b/include/asm-ia64/sn/sn_sal.h index b546de2fdce5..244449df7411 100644 --- a/include/asm-ia64/sn/sn_sal.h +++ b/include/asm-ia64/sn/sn_sal.h | |||
@@ -907,18 +907,22 @@ ia64_sn_sysctl_tio_clock_reset(nasid_t nasid) | |||
907 | /* | 907 | /* |
908 | * Get the associated ioboard type for a given nasid. | 908 | * Get the associated ioboard type for a given nasid. |
909 | */ | 909 | */ |
910 | static inline int | 910 | static inline s64 |
911 | ia64_sn_sysctl_ioboard_get(nasid_t nasid) | 911 | ia64_sn_sysctl_ioboard_get(nasid_t nasid, u16 *ioboard) |
912 | { | 912 | { |
913 | struct ia64_sal_retval rv; | 913 | struct ia64_sal_retval isrv; |
914 | SAL_CALL_REENTRANT(rv, SN_SAL_SYSCTL_OP, SAL_SYSCTL_OP_IOBOARD, | 914 | SAL_CALL_REENTRANT(isrv, SN_SAL_SYSCTL_OP, SAL_SYSCTL_OP_IOBOARD, |
915 | nasid, 0, 0, 0, 0, 0); | 915 | nasid, 0, 0, 0, 0, 0); |
916 | if (rv.v0 != 0) | 916 | if (isrv.v0 != 0) { |
917 | return (int)rv.v0; | 917 | *ioboard = isrv.v0; |
918 | if (rv.v1 != 0) | 918 | return isrv.status; |
919 | return (int)rv.v1; | 919 | } |
920 | 920 | if (isrv.v1 != 0) { | |
921 | return 0; | 921 | *ioboard = isrv.v1; |
922 | return isrv.status; | ||
923 | } | ||
924 | |||
925 | return isrv.status; | ||
922 | } | 926 | } |
923 | 927 | ||
924 | /** | 928 | /** |