diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-09-22 15:54:53 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-09-22 16:01:40 -0400 |
commit | ae19ffbadc1b2100285a5b5b3d0a4e0a11390904 (patch) | |
tree | 3c2086ab67398a019089a47ca3f362a4bc6db74f /arch/ia64 | |
parent | 34e84f39a27d059a3e6ec6e8b94aafa702e6f220 (diff) | |
parent | 9173a8ef24a6b1b8031507b35b8ffe5f85a87692 (diff) |
Merge branch 'master' into for-linus
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/Kconfig | 7 | ||||
-rw-r--r-- | arch/ia64/include/asm/agp.h | 4 | ||||
-rw-r--r-- | arch/ia64/include/asm/pci.h | 14 | ||||
-rw-r--r-- | arch/ia64/include/asm/topology.h | 17 | ||||
-rw-r--r-- | arch/ia64/kernel/head.S | 1 | ||||
-rw-r--r-- | arch/ia64/kernel/head.h | 1 | ||||
-rw-r--r-- | arch/ia64/kernel/setup.c | 6 | ||||
-rw-r--r-- | arch/ia64/kernel/smp.c | 3 | ||||
-rw-r--r-- | arch/ia64/kernel/vmlinux.lds.S | 16 | ||||
-rw-r--r-- | arch/ia64/sn/kernel/setup.c | 2 |
10 files changed, 45 insertions, 26 deletions
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index 170042b420d4..011a1cdf0eb5 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
@@ -89,6 +89,9 @@ config GENERIC_TIME_VSYSCALL | |||
89 | bool | 89 | bool |
90 | default y | 90 | default y |
91 | 91 | ||
92 | config HAVE_LEGACY_PER_CPU_AREA | ||
93 | def_bool y | ||
94 | |||
92 | config HAVE_SETUP_PER_CPU_AREA | 95 | config HAVE_SETUP_PER_CPU_AREA |
93 | def_bool y | 96 | def_bool y |
94 | 97 | ||
@@ -112,6 +115,10 @@ config IA64_UNCACHED_ALLOCATOR | |||
112 | bool | 115 | bool |
113 | select GENERIC_ALLOCATOR | 116 | select GENERIC_ALLOCATOR |
114 | 117 | ||
118 | config ARCH_USES_PG_UNCACHED | ||
119 | def_bool y | ||
120 | depends on IA64_UNCACHED_ALLOCATOR | ||
121 | |||
115 | config AUDIT_ARCH | 122 | config AUDIT_ARCH |
116 | bool | 123 | bool |
117 | default y | 124 | default y |
diff --git a/arch/ia64/include/asm/agp.h b/arch/ia64/include/asm/agp.h index c11fdd8ab4d7..01d09c401c5c 100644 --- a/arch/ia64/include/asm/agp.h +++ b/arch/ia64/include/asm/agp.h | |||
@@ -17,10 +17,6 @@ | |||
17 | #define unmap_page_from_agp(page) /* nothing */ | 17 | #define unmap_page_from_agp(page) /* nothing */ |
18 | #define flush_agp_cache() mb() | 18 | #define flush_agp_cache() mb() |
19 | 19 | ||
20 | /* Convert a physical address to an address suitable for the GART. */ | ||
21 | #define phys_to_gart(x) (x) | ||
22 | #define gart_to_phys(x) (x) | ||
23 | |||
24 | /* GATT allocation. Returns/accepts GATT kernel virtual address. */ | 20 | /* GATT allocation. Returns/accepts GATT kernel virtual address. */ |
25 | #define alloc_gatt_pages(order) \ | 21 | #define alloc_gatt_pages(order) \ |
26 | ((char *)__get_free_pages(GFP_KERNEL, (order))) | 22 | ((char *)__get_free_pages(GFP_KERNEL, (order))) |
diff --git a/arch/ia64/include/asm/pci.h b/arch/ia64/include/asm/pci.h index fcfca56bb850..55281aabe5f2 100644 --- a/arch/ia64/include/asm/pci.h +++ b/arch/ia64/include/asm/pci.h | |||
@@ -17,7 +17,6 @@ | |||
17 | * loader. | 17 | * loader. |
18 | */ | 18 | */ |
19 | #define pcibios_assign_all_busses() 0 | 19 | #define pcibios_assign_all_busses() 0 |
20 | #define pcibios_scan_all_fns(a, b) 0 | ||
21 | 20 | ||
22 | #define PCIBIOS_MIN_IO 0x1000 | 21 | #define PCIBIOS_MIN_IO 0x1000 |
23 | #define PCIBIOS_MIN_MEM 0x10000000 | 22 | #define PCIBIOS_MIN_MEM 0x10000000 |
@@ -135,7 +134,18 @@ extern void pcibios_resource_to_bus(struct pci_dev *dev, | |||
135 | extern void pcibios_bus_to_resource(struct pci_dev *dev, | 134 | extern void pcibios_bus_to_resource(struct pci_dev *dev, |
136 | struct resource *res, struct pci_bus_region *region); | 135 | struct resource *res, struct pci_bus_region *region); |
137 | 136 | ||
138 | #define pcibios_scan_all_fns(a, b) 0 | 137 | static inline struct resource * |
138 | pcibios_select_root(struct pci_dev *pdev, struct resource *res) | ||
139 | { | ||
140 | struct resource *root = NULL; | ||
141 | |||
142 | if (res->flags & IORESOURCE_IO) | ||
143 | root = &ioport_resource; | ||
144 | if (res->flags & IORESOURCE_MEM) | ||
145 | root = &iomem_resource; | ||
146 | |||
147 | return root; | ||
148 | } | ||
139 | 149 | ||
140 | #define HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ | 150 | #define HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ |
141 | static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) | 151 | static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) |
diff --git a/arch/ia64/include/asm/topology.h b/arch/ia64/include/asm/topology.h index 7b4c8c70b2d1..d0141fbf51d0 100644 --- a/arch/ia64/include/asm/topology.h +++ b/arch/ia64/include/asm/topology.h | |||
@@ -61,12 +61,13 @@ void build_cpu_to_node_map(void); | |||
61 | .cache_nice_tries = 2, \ | 61 | .cache_nice_tries = 2, \ |
62 | .busy_idx = 2, \ | 62 | .busy_idx = 2, \ |
63 | .idle_idx = 1, \ | 63 | .idle_idx = 1, \ |
64 | .newidle_idx = 2, \ | 64 | .newidle_idx = 0, \ |
65 | .wake_idx = 1, \ | 65 | .wake_idx = 0, \ |
66 | .forkexec_idx = 1, \ | 66 | .forkexec_idx = 0, \ |
67 | .flags = SD_LOAD_BALANCE \ | 67 | .flags = SD_LOAD_BALANCE \ |
68 | | SD_BALANCE_NEWIDLE \ | 68 | | SD_BALANCE_NEWIDLE \ |
69 | | SD_BALANCE_EXEC \ | 69 | | SD_BALANCE_EXEC \ |
70 | | SD_BALANCE_FORK \ | ||
70 | | SD_WAKE_AFFINE, \ | 71 | | SD_WAKE_AFFINE, \ |
71 | .last_balance = jiffies, \ | 72 | .last_balance = jiffies, \ |
72 | .balance_interval = 1, \ | 73 | .balance_interval = 1, \ |
@@ -85,14 +86,14 @@ void build_cpu_to_node_map(void); | |||
85 | .cache_nice_tries = 2, \ | 86 | .cache_nice_tries = 2, \ |
86 | .busy_idx = 3, \ | 87 | .busy_idx = 3, \ |
87 | .idle_idx = 2, \ | 88 | .idle_idx = 2, \ |
88 | .newidle_idx = 2, \ | 89 | .newidle_idx = 0, \ |
89 | .wake_idx = 1, \ | 90 | .wake_idx = 0, \ |
90 | .forkexec_idx = 1, \ | 91 | .forkexec_idx = 0, \ |
91 | .flags = SD_LOAD_BALANCE \ | 92 | .flags = SD_LOAD_BALANCE \ |
93 | | SD_BALANCE_NEWIDLE \ | ||
92 | | SD_BALANCE_EXEC \ | 94 | | SD_BALANCE_EXEC \ |
93 | | SD_BALANCE_FORK \ | 95 | | SD_BALANCE_FORK \ |
94 | | SD_SERIALIZE \ | 96 | | SD_SERIALIZE, \ |
95 | | SD_WAKE_BALANCE, \ | ||
96 | .last_balance = jiffies, \ | 97 | .last_balance = jiffies, \ |
97 | .balance_interval = 64, \ | 98 | .balance_interval = 64, \ |
98 | .nr_balance_failed = 0, \ | 99 | .nr_balance_failed = 0, \ |
diff --git a/arch/ia64/kernel/head.S b/arch/ia64/kernel/head.S index e6c5c3d5e1f8..23f846de62d5 100644 --- a/arch/ia64/kernel/head.S +++ b/arch/ia64/kernel/head.S | |||
@@ -34,7 +34,6 @@ | |||
34 | #include <asm/mca_asm.h> | 34 | #include <asm/mca_asm.h> |
35 | #include <linux/init.h> | 35 | #include <linux/init.h> |
36 | #include <linux/linkage.h> | 36 | #include <linux/linkage.h> |
37 | #include "head.h" | ||
38 | 37 | ||
39 | #ifdef CONFIG_HOTPLUG_CPU | 38 | #ifdef CONFIG_HOTPLUG_CPU |
40 | #define SAL_PSR_BITS_TO_SET \ | 39 | #define SAL_PSR_BITS_TO_SET \ |
diff --git a/arch/ia64/kernel/head.h b/arch/ia64/kernel/head.h deleted file mode 100644 index 2e2ac6824e65..000000000000 --- a/arch/ia64/kernel/head.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | extern void console_print(const char *s); | ||
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c index 1b23ec126b63..1de86c96801d 100644 --- a/arch/ia64/kernel/setup.c +++ b/arch/ia64/kernel/setup.c | |||
@@ -855,11 +855,17 @@ identify_cpu (struct cpuinfo_ia64 *c) | |||
855 | c->unimpl_pa_mask = ~((1L<<63) | ((1L << phys_addr_size) - 1)); | 855 | c->unimpl_pa_mask = ~((1L<<63) | ((1L << phys_addr_size) - 1)); |
856 | } | 856 | } |
857 | 857 | ||
858 | /* | ||
859 | * In UP configuration, setup_per_cpu_areas() is defined in | ||
860 | * include/linux/percpu.h | ||
861 | */ | ||
862 | #ifdef CONFIG_SMP | ||
858 | void __init | 863 | void __init |
859 | setup_per_cpu_areas (void) | 864 | setup_per_cpu_areas (void) |
860 | { | 865 | { |
861 | /* start_kernel() requires this... */ | 866 | /* start_kernel() requires this... */ |
862 | } | 867 | } |
868 | #endif | ||
863 | 869 | ||
864 | /* | 870 | /* |
865 | * Do the following calculations: | 871 | * Do the following calculations: |
diff --git a/arch/ia64/kernel/smp.c b/arch/ia64/kernel/smp.c index f0c521b0ba4c..93ebfea43c6c 100644 --- a/arch/ia64/kernel/smp.c +++ b/arch/ia64/kernel/smp.c | |||
@@ -58,7 +58,8 @@ static struct local_tlb_flush_counts { | |||
58 | unsigned int count; | 58 | unsigned int count; |
59 | } __attribute__((__aligned__(32))) local_tlb_flush_counts[NR_CPUS]; | 59 | } __attribute__((__aligned__(32))) local_tlb_flush_counts[NR_CPUS]; |
60 | 60 | ||
61 | static DEFINE_PER_CPU(unsigned short, shadow_flush_counts[NR_CPUS]) ____cacheline_aligned; | 61 | static DEFINE_PER_CPU_SHARED_ALIGNED(unsigned short [NR_CPUS], |
62 | shadow_flush_counts); | ||
62 | 63 | ||
63 | #define IPI_CALL_FUNC 0 | 64 | #define IPI_CALL_FUNC 0 |
64 | #define IPI_CPU_STOP 1 | 65 | #define IPI_CPU_STOP 1 |
diff --git a/arch/ia64/kernel/vmlinux.lds.S b/arch/ia64/kernel/vmlinux.lds.S index 4a95e86b9ac2..eb4214d1c5af 100644 --- a/arch/ia64/kernel/vmlinux.lds.S +++ b/arch/ia64/kernel/vmlinux.lds.S | |||
@@ -24,14 +24,14 @@ PHDRS { | |||
24 | } | 24 | } |
25 | SECTIONS | 25 | SECTIONS |
26 | { | 26 | { |
27 | /* Sections to be discarded */ | 27 | /* unwind exit sections must be discarded before the rest of the |
28 | sections get included. */ | ||
28 | /DISCARD/ : { | 29 | /DISCARD/ : { |
29 | EXIT_TEXT | ||
30 | EXIT_DATA | ||
31 | *(.exitcall.exit) | ||
32 | *(.IA_64.unwind.exit.text) | 30 | *(.IA_64.unwind.exit.text) |
33 | *(.IA_64.unwind_info.exit.text) | 31 | *(.IA_64.unwind_info.exit.text) |
34 | } | 32 | *(.comment) |
33 | *(.note) | ||
34 | } | ||
35 | 35 | ||
36 | v = PAGE_OFFSET; /* this symbol is here to make debugging easier... */ | 36 | v = PAGE_OFFSET; /* this symbol is here to make debugging easier... */ |
37 | phys_start = _start - LOAD_OFFSET; | 37 | phys_start = _start - LOAD_OFFSET; |
@@ -316,7 +316,7 @@ SECTIONS | |||
316 | .debug_funcnames 0 : { *(.debug_funcnames) } | 316 | .debug_funcnames 0 : { *(.debug_funcnames) } |
317 | .debug_typenames 0 : { *(.debug_typenames) } | 317 | .debug_typenames 0 : { *(.debug_typenames) } |
318 | .debug_varnames 0 : { *(.debug_varnames) } | 318 | .debug_varnames 0 : { *(.debug_varnames) } |
319 | /* These must appear regardless of . */ | 319 | |
320 | /DISCARD/ : { *(.comment) } | 320 | /* Default discards */ |
321 | /DISCARD/ : { *(.note) } | 321 | DISCARDS |
322 | } | 322 | } |
diff --git a/arch/ia64/sn/kernel/setup.c b/arch/ia64/sn/kernel/setup.c index e456f062f241..ece1bf994499 100644 --- a/arch/ia64/sn/kernel/setup.c +++ b/arch/ia64/sn/kernel/setup.c | |||
@@ -71,7 +71,7 @@ EXPORT_SYMBOL(sn_rtc_cycles_per_second); | |||
71 | DEFINE_PER_CPU(struct sn_hub_info_s, __sn_hub_info); | 71 | DEFINE_PER_CPU(struct sn_hub_info_s, __sn_hub_info); |
72 | EXPORT_PER_CPU_SYMBOL(__sn_hub_info); | 72 | EXPORT_PER_CPU_SYMBOL(__sn_hub_info); |
73 | 73 | ||
74 | DEFINE_PER_CPU(short, __sn_cnodeid_to_nasid[MAX_COMPACT_NODES]); | 74 | DEFINE_PER_CPU(short [MAX_COMPACT_NODES], __sn_cnodeid_to_nasid); |
75 | EXPORT_PER_CPU_SYMBOL(__sn_cnodeid_to_nasid); | 75 | EXPORT_PER_CPU_SYMBOL(__sn_cnodeid_to_nasid); |
76 | 76 | ||
77 | DEFINE_PER_CPU(struct nodepda_s *, __sn_nodepda); | 77 | DEFINE_PER_CPU(struct nodepda_s *, __sn_nodepda); |