diff options
Diffstat (limited to 'arch')
128 files changed, 2300 insertions, 3012 deletions
diff --git a/arch/Kconfig b/arch/Kconfig index 3d72dc3fc8f5..694c9af520bb 100644 --- a/arch/Kconfig +++ b/arch/Kconfig | |||
@@ -27,5 +27,12 @@ config KPROBES | |||
27 | for kernel debugging, non-intrusive instrumentation and testing. | 27 | for kernel debugging, non-intrusive instrumentation and testing. |
28 | If in doubt, say "N". | 28 | If in doubt, say "N". |
29 | 29 | ||
30 | config KRETPROBES | ||
31 | def_bool y | ||
32 | depends on KPROBES && HAVE_KRETPROBES | ||
33 | |||
30 | config HAVE_KPROBES | 34 | config HAVE_KPROBES |
31 | def_bool n | 35 | def_bool n |
36 | |||
37 | config HAVE_KRETPROBES | ||
38 | def_bool n | ||
diff --git a/arch/alpha/kernel/pci_iommu.c b/arch/alpha/kernel/pci_iommu.c index 26d3789dfdd0..be6fa105cd34 100644 --- a/arch/alpha/kernel/pci_iommu.c +++ b/arch/alpha/kernel/pci_iommu.c | |||
@@ -31,7 +31,6 @@ | |||
31 | #endif | 31 | #endif |
32 | 32 | ||
33 | #define DEBUG_NODIRECT 0 | 33 | #define DEBUG_NODIRECT 0 |
34 | #define DEBUG_FORCEDAC 0 | ||
35 | 34 | ||
36 | #define ISA_DMA_MASK 0x00ffffff | 35 | #define ISA_DMA_MASK 0x00ffffff |
37 | 36 | ||
@@ -126,39 +125,67 @@ iommu_arena_new(struct pci_controller *hose, dma_addr_t base, | |||
126 | return iommu_arena_new_node(0, hose, base, window_size, align); | 125 | return iommu_arena_new_node(0, hose, base, window_size, align); |
127 | } | 126 | } |
128 | 127 | ||
128 | static inline int is_span_boundary(unsigned int index, unsigned int nr, | ||
129 | unsigned long shift, | ||
130 | unsigned long boundary_size) | ||
131 | { | ||
132 | shift = (shift + index) & (boundary_size - 1); | ||
133 | return shift + nr > boundary_size; | ||
134 | } | ||
135 | |||
129 | /* Must be called with the arena lock held */ | 136 | /* Must be called with the arena lock held */ |
130 | static long | 137 | static long |
131 | iommu_arena_find_pages(struct pci_iommu_arena *arena, long n, long mask) | 138 | iommu_arena_find_pages(struct device *dev, struct pci_iommu_arena *arena, |
139 | long n, long mask) | ||
132 | { | 140 | { |
133 | unsigned long *ptes; | 141 | unsigned long *ptes; |
134 | long i, p, nent; | 142 | long i, p, nent; |
143 | int pass = 0; | ||
144 | unsigned long base; | ||
145 | unsigned long boundary_size; | ||
146 | |||
147 | BUG_ON(arena->dma_base & ~PAGE_MASK); | ||
148 | base = arena->dma_base >> PAGE_SHIFT; | ||
149 | if (dev) | ||
150 | boundary_size = ALIGN(dma_get_max_seg_size(dev) + 1, PAGE_SIZE) | ||
151 | >> PAGE_SHIFT; | ||
152 | else | ||
153 | boundary_size = ALIGN(1UL << 32, PAGE_SIZE) >> PAGE_SHIFT; | ||
154 | |||
155 | BUG_ON(!is_power_of_2(boundary_size)); | ||
135 | 156 | ||
136 | /* Search forward for the first mask-aligned sequence of N free ptes */ | 157 | /* Search forward for the first mask-aligned sequence of N free ptes */ |
137 | ptes = arena->ptes; | 158 | ptes = arena->ptes; |
138 | nent = arena->size >> PAGE_SHIFT; | 159 | nent = arena->size >> PAGE_SHIFT; |
139 | p = (arena->next_entry + mask) & ~mask; | 160 | p = ALIGN(arena->next_entry, mask + 1); |
140 | i = 0; | 161 | i = 0; |
162 | |||
163 | again: | ||
141 | while (i < n && p+i < nent) { | 164 | while (i < n && p+i < nent) { |
165 | if (!i && is_span_boundary(p, n, base, boundary_size)) { | ||
166 | p = ALIGN(p + 1, mask + 1); | ||
167 | goto again; | ||
168 | } | ||
169 | |||
142 | if (ptes[p+i]) | 170 | if (ptes[p+i]) |
143 | p = (p + i + 1 + mask) & ~mask, i = 0; | 171 | p = ALIGN(p + i + 1, mask + 1), i = 0; |
144 | else | 172 | else |
145 | i = i + 1; | 173 | i = i + 1; |
146 | } | 174 | } |
147 | 175 | ||
148 | if (i < n) { | 176 | if (i < n) { |
149 | /* Reached the end. Flush the TLB and restart the | 177 | if (pass < 1) { |
150 | search from the beginning. */ | 178 | /* |
151 | alpha_mv.mv_pci_tbi(arena->hose, 0, -1); | 179 | * Reached the end. Flush the TLB and restart |
152 | 180 | * the search from the beginning. | |
153 | p = 0, i = 0; | 181 | */ |
154 | while (i < n && p+i < nent) { | 182 | alpha_mv.mv_pci_tbi(arena->hose, 0, -1); |
155 | if (ptes[p+i]) | 183 | |
156 | p = (p + i + 1 + mask) & ~mask, i = 0; | 184 | pass++; |
157 | else | 185 | p = 0; |
158 | i = i + 1; | 186 | i = 0; |
159 | } | 187 | goto again; |
160 | 188 | } else | |
161 | if (i < n) | ||
162 | return -1; | 189 | return -1; |
163 | } | 190 | } |
164 | 191 | ||
@@ -168,7 +195,8 @@ iommu_arena_find_pages(struct pci_iommu_arena *arena, long n, long mask) | |||
168 | } | 195 | } |
169 | 196 | ||
170 | static long | 197 | static long |
171 | iommu_arena_alloc(struct pci_iommu_arena *arena, long n, unsigned int align) | 198 | iommu_arena_alloc(struct device *dev, struct pci_iommu_arena *arena, long n, |
199 | unsigned int align) | ||
172 | { | 200 | { |
173 | unsigned long flags; | 201 | unsigned long flags; |
174 | unsigned long *ptes; | 202 | unsigned long *ptes; |
@@ -179,7 +207,7 @@ iommu_arena_alloc(struct pci_iommu_arena *arena, long n, unsigned int align) | |||
179 | /* Search for N empty ptes */ | 207 | /* Search for N empty ptes */ |
180 | ptes = arena->ptes; | 208 | ptes = arena->ptes; |
181 | mask = max(align, arena->align_entry) - 1; | 209 | mask = max(align, arena->align_entry) - 1; |
182 | p = iommu_arena_find_pages(arena, n, mask); | 210 | p = iommu_arena_find_pages(dev, arena, n, mask); |
183 | if (p < 0) { | 211 | if (p < 0) { |
184 | spin_unlock_irqrestore(&arena->lock, flags); | 212 | spin_unlock_irqrestore(&arena->lock, flags); |
185 | return -1; | 213 | return -1; |
@@ -229,6 +257,7 @@ pci_map_single_1(struct pci_dev *pdev, void *cpu_addr, size_t size, | |||
229 | unsigned long paddr; | 257 | unsigned long paddr; |
230 | dma_addr_t ret; | 258 | dma_addr_t ret; |
231 | unsigned int align = 0; | 259 | unsigned int align = 0; |
260 | struct device *dev = pdev ? &pdev->dev : NULL; | ||
232 | 261 | ||
233 | paddr = __pa(cpu_addr); | 262 | paddr = __pa(cpu_addr); |
234 | 263 | ||
@@ -276,7 +305,7 @@ pci_map_single_1(struct pci_dev *pdev, void *cpu_addr, size_t size, | |||
276 | /* Force allocation to 64KB boundary for ISA bridges. */ | 305 | /* Force allocation to 64KB boundary for ISA bridges. */ |
277 | if (pdev && pdev == isa_bridge) | 306 | if (pdev && pdev == isa_bridge) |
278 | align = 8; | 307 | align = 8; |
279 | dma_ofs = iommu_arena_alloc(arena, npages, align); | 308 | dma_ofs = iommu_arena_alloc(dev, arena, npages, align); |
280 | if (dma_ofs < 0) { | 309 | if (dma_ofs < 0) { |
281 | printk(KERN_WARNING "pci_map_single failed: " | 310 | printk(KERN_WARNING "pci_map_single failed: " |
282 | "could not allocate dma page tables\n"); | 311 | "could not allocate dma page tables\n"); |
@@ -563,7 +592,7 @@ sg_fill(struct device *dev, struct scatterlist *leader, struct scatterlist *end, | |||
563 | 592 | ||
564 | paddr &= ~PAGE_MASK; | 593 | paddr &= ~PAGE_MASK; |
565 | npages = calc_npages(paddr + size); | 594 | npages = calc_npages(paddr + size); |
566 | dma_ofs = iommu_arena_alloc(arena, npages, 0); | 595 | dma_ofs = iommu_arena_alloc(dev, arena, npages, 0); |
567 | if (dma_ofs < 0) { | 596 | if (dma_ofs < 0) { |
568 | /* If we attempted a direct map above but failed, die. */ | 597 | /* If we attempted a direct map above but failed, die. */ |
569 | if (leader->dma_address == 0) | 598 | if (leader->dma_address == 0) |
@@ -830,7 +859,7 @@ iommu_reserve(struct pci_iommu_arena *arena, long pg_count, long align_mask) | |||
830 | 859 | ||
831 | /* Search for N empty ptes. */ | 860 | /* Search for N empty ptes. */ |
832 | ptes = arena->ptes; | 861 | ptes = arena->ptes; |
833 | p = iommu_arena_find_pages(arena, pg_count, align_mask); | 862 | p = iommu_arena_find_pages(NULL, arena, pg_count, align_mask); |
834 | if (p < 0) { | 863 | if (p < 0) { |
835 | spin_unlock_irqrestore(&arena->lock, flags); | 864 | spin_unlock_irqrestore(&arena->lock, flags); |
836 | return -1; | 865 | return -1; |
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 16b82e1272b0..955fc53c1c01 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -12,6 +12,7 @@ config ARM | |||
12 | select SYS_SUPPORTS_APM_EMULATION | 12 | select SYS_SUPPORTS_APM_EMULATION |
13 | select HAVE_OPROFILE | 13 | select HAVE_OPROFILE |
14 | select HAVE_KPROBES if (!XIP_KERNEL) | 14 | select HAVE_KPROBES if (!XIP_KERNEL) |
15 | select HAVE_KRETPROBES if (HAVE_KPROBES) | ||
15 | help | 16 | help |
16 | The ARM series is a line of low-power-consumption RISC chip designs | 17 | The ARM series is a line of low-power-consumption RISC chip designs |
17 | licensed by ARM Ltd and targeted at embedded applications and | 18 | licensed by ARM Ltd and targeted at embedded applications and |
diff --git a/arch/arm/mm/pgd.c b/arch/arm/mm/pgd.c index 500c9610ab30..e0f19ab91163 100644 --- a/arch/arm/mm/pgd.c +++ b/arch/arm/mm/pgd.c | |||
@@ -75,7 +75,7 @@ no_pgd: | |||
75 | void free_pgd_slow(struct mm_struct *mm, pgd_t *pgd) | 75 | void free_pgd_slow(struct mm_struct *mm, pgd_t *pgd) |
76 | { | 76 | { |
77 | pmd_t *pmd; | 77 | pmd_t *pmd; |
78 | struct page *pte; | 78 | pgtable_t pte; |
79 | 79 | ||
80 | if (!pgd) | 80 | if (!pgd) |
81 | return; | 81 | return; |
@@ -90,10 +90,8 @@ void free_pgd_slow(struct mm_struct *mm, pgd_t *pgd) | |||
90 | goto free; | 90 | goto free; |
91 | } | 91 | } |
92 | 92 | ||
93 | pte = pmd_page(*pmd); | 93 | pte = pmd_pgtable(*pmd); |
94 | pmd_clear(pmd); | 94 | pmd_clear(pmd); |
95 | dec_zone_page_state(virt_to_page((unsigned long *)pgd), NR_PAGETABLE); | ||
96 | pte_lock_deinit(pte); | ||
97 | pte_free(mm, pte); | 95 | pte_free(mm, pte); |
98 | pmd_free(mm, pmd); | 96 | pmd_free(mm, pmd); |
99 | free: | 97 | free: |
diff --git a/arch/blackfin/kernel/fixed_code.S b/arch/blackfin/kernel/fixed_code.S index 90262691b11a..5ed47228a390 100644 --- a/arch/blackfin/kernel/fixed_code.S +++ b/arch/blackfin/kernel/fixed_code.S | |||
@@ -101,9 +101,9 @@ ENDPROC (_atomic_ior32) | |||
101 | 101 | ||
102 | .align 16 | 102 | .align 16 |
103 | /* | 103 | /* |
104 | * Atomic ior, 32 bit. | 104 | * Atomic and, 32 bit. |
105 | * Inputs: P0: memory address to use | 105 | * Inputs: P0: memory address to use |
106 | * R0: value to ior | 106 | * R0: value to and |
107 | * Outputs: R0: new contents of the memory address. | 107 | * Outputs: R0: new contents of the memory address. |
108 | * R1: previous contents of the memory address. | 108 | * R1: previous contents of the memory address. |
109 | */ | 109 | */ |
@@ -112,13 +112,13 @@ ENTRY(_atomic_and32) | |||
112 | R0 = R1 & R0; | 112 | R0 = R1 & R0; |
113 | [P0] = R0; | 113 | [P0] = R0; |
114 | rts; | 114 | rts; |
115 | ENDPROC (_atomic_ior32) | 115 | ENDPROC (_atomic_and32) |
116 | 116 | ||
117 | .align 16 | 117 | .align 16 |
118 | /* | 118 | /* |
119 | * Atomic ior, 32 bit. | 119 | * Atomic xor, 32 bit. |
120 | * Inputs: P0: memory address to use | 120 | * Inputs: P0: memory address to use |
121 | * R0: value to ior | 121 | * R0: value to xor |
122 | * Outputs: R0: new contents of the memory address. | 122 | * Outputs: R0: new contents of the memory address. |
123 | * R1: previous contents of the memory address. | 123 | * R1: previous contents of the memory address. |
124 | */ | 124 | */ |
@@ -127,7 +127,7 @@ ENTRY(_atomic_xor32) | |||
127 | R0 = R1 ^ R0; | 127 | R0 = R1 ^ R0; |
128 | [P0] = R0; | 128 | [P0] = R0; |
129 | rts; | 129 | rts; |
130 | ENDPROC (_atomic_ior32) | 130 | ENDPROC (_atomic_xor32) |
131 | 131 | ||
132 | .align 16 | 132 | .align 16 |
133 | /* | 133 | /* |
diff --git a/arch/blackfin/mach-bf548/boards/ezkit.c b/arch/blackfin/mach-bf548/boards/ezkit.c index a0950c1fd800..40846aa034c4 100644 --- a/arch/blackfin/mach-bf548/boards/ezkit.c +++ b/arch/blackfin/mach-bf548/boards/ezkit.c | |||
@@ -323,7 +323,7 @@ static struct platform_device bf5xx_nand_device = { | |||
323 | }; | 323 | }; |
324 | #endif | 324 | #endif |
325 | 325 | ||
326 | #if defined(CONFIG_SDH_BFIN) || defined(CONFIG_SDH_BFIN) | 326 | #if defined(CONFIG_SDH_BFIN) || defined(CONFIG_SDH_BFIN_MODULE) |
327 | static struct platform_device bf54x_sdh_device = { | 327 | static struct platform_device bf54x_sdh_device = { |
328 | .name = "bfin-sdh", | 328 | .name = "bfin-sdh", |
329 | .id = 0, | 329 | .id = 0, |
@@ -636,7 +636,7 @@ static struct platform_device *ezkit_devices[] __initdata = { | |||
636 | &bf5xx_nand_device, | 636 | &bf5xx_nand_device, |
637 | #endif | 637 | #endif |
638 | 638 | ||
639 | #if defined(CONFIG_SDH_BFIN) || defined(CONFIG_SDH_BFIN) | 639 | #if defined(CONFIG_SDH_BFIN) || defined(CONFIG_SDH_BFIN_MODULE) |
640 | &bf54x_sdh_device, | 640 | &bf54x_sdh_device, |
641 | #endif | 641 | #endif |
642 | 642 | ||
diff --git a/arch/blackfin/mach-common/entry.S b/arch/blackfin/mach-common/entry.S index 2cbb7a0bc38e..cee54cebbc65 100644 --- a/arch/blackfin/mach-common/entry.S +++ b/arch/blackfin/mach-common/entry.S | |||
@@ -1369,7 +1369,7 @@ ENTRY(_sys_call_table) | |||
1369 | .long _sys_epoll_pwait | 1369 | .long _sys_epoll_pwait |
1370 | .long _sys_utimensat | 1370 | .long _sys_utimensat |
1371 | .long _sys_signalfd | 1371 | .long _sys_signalfd |
1372 | .long _sys_ni_syscall | 1372 | .long _sys_timerfd_create |
1373 | .long _sys_eventfd /* 350 */ | 1373 | .long _sys_eventfd /* 350 */ |
1374 | .long _sys_pread64 | 1374 | .long _sys_pread64 |
1375 | .long _sys_pwrite64 | 1375 | .long _sys_pwrite64 |
@@ -1378,6 +1378,9 @@ ENTRY(_sys_call_table) | |||
1378 | .long _sys_get_robust_list /* 355 */ | 1378 | .long _sys_get_robust_list /* 355 */ |
1379 | .long _sys_fallocate | 1379 | .long _sys_fallocate |
1380 | .long _sys_semtimedop | 1380 | .long _sys_semtimedop |
1381 | .long _sys_timerfd_settime | ||
1382 | .long _sys_timerfd_gettime | ||
1383 | |||
1381 | .rept NR_syscalls-(.-_sys_call_table)/4 | 1384 | .rept NR_syscalls-(.-_sys_call_table)/4 |
1382 | .long _sys_ni_syscall | 1385 | .long _sys_ni_syscall |
1383 | .endr | 1386 | .endr |
diff --git a/arch/cris/arch-v10/kernel/time.c b/arch/cris/arch-v10/kernel/time.c index 9310a7b476e9..525483f0ddf8 100644 --- a/arch/cris/arch-v10/kernel/time.c +++ b/arch/cris/arch-v10/kernel/time.c | |||
@@ -13,7 +13,7 @@ | |||
13 | #include <linux/swap.h> | 13 | #include <linux/swap.h> |
14 | #include <linux/sched.h> | 14 | #include <linux/sched.h> |
15 | #include <linux/init.h> | 15 | #include <linux/init.h> |
16 | #include <linux/vmstat.h> | 16 | #include <linux/mm.h> |
17 | #include <asm/arch/svinto.h> | 17 | #include <asm/arch/svinto.h> |
18 | #include <asm/types.h> | 18 | #include <asm/types.h> |
19 | #include <asm/signal.h> | 19 | #include <asm/signal.h> |
diff --git a/arch/cris/arch-v10/lib/string.c b/arch/cris/arch-v10/lib/string.c index 7161a2bef4fe..c7bd6ebdc93c 100644 --- a/arch/cris/arch-v10/lib/string.c +++ b/arch/cris/arch-v10/lib/string.c | |||
@@ -1,55 +1,59 @@ | |||
1 | /*#************************************************************************#*/ | 1 | /* A memcpy for CRIS. |
2 | /*#-------------------------------------------------------------------------*/ | 2 | Copyright (C) 1994-2005 Axis Communications. |
3 | /*# */ | 3 | All rights reserved. |
4 | /*# FUNCTION NAME: memcpy() */ | 4 | |
5 | /*# */ | 5 | Redistribution and use in source and binary forms, with or without |
6 | /*# PARAMETERS: void* dst; Destination address. */ | 6 | modification, are permitted provided that the following conditions |
7 | /*# void* src; Source address. */ | 7 | are met: |
8 | /*# int len; Number of bytes to copy. */ | 8 | |
9 | /*# */ | 9 | 1. Redistributions of source code must retain the above copyright |
10 | /*# RETURNS: dst. */ | 10 | notice, this list of conditions and the following disclaimer. |
11 | /*# */ | 11 | |
12 | /*# DESCRIPTION: Copies len bytes of memory from src to dst. No guarantees */ | 12 | 2. Neither the name of Axis Communications nor the names of its |
13 | /*# about copying of overlapping memory areas. This routine is */ | 13 | contributors may be used to endorse or promote products derived |
14 | /*# very sensitive to compiler changes in register allocation. */ | 14 | from this software without specific prior written permission. |
15 | /*# Should really be rewritten to avoid this problem. */ | 15 | |
16 | /*# */ | 16 | THIS SOFTWARE IS PROVIDED BY AXIS COMMUNICATIONS AND ITS CONTRIBUTORS |
17 | /*#-------------------------------------------------------------------------*/ | 17 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
18 | /*# */ | 18 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
19 | /*# HISTORY */ | 19 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL AXIS |
20 | /*# */ | 20 | COMMUNICATIONS OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, |
21 | /*# DATE NAME CHANGES */ | 21 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
22 | /*# ---- ---- ------- */ | 22 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
23 | /*# 941007 Kenny R Creation */ | 23 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
24 | /*# 941011 Kenny R Lots of optimizations and inlining. */ | 24 | HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, |
25 | /*# 941129 Ulf A Adapted for use in libc. */ | 25 | STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING |
26 | /*# 950216 HP N==0 forgotten if non-aligned src/dst. */ | 26 | IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
27 | /*# Added some optimizations. */ | 27 | POSSIBILITY OF SUCH DAMAGE. */ |
28 | /*# 001025 HP Make src and dst char *. Align dst to */ | 28 | |
29 | /*# dword, not just word-if-both-src-and-dst- */ | 29 | /* FIXME: This file should really only be used for reference, as the |
30 | /*# are-misaligned. */ | 30 | result is somewhat depending on gcc generating what we expect rather |
31 | /*# */ | 31 | than what we describe. An assembly file should be used instead. */ |
32 | /*#-------------------------------------------------------------------------*/ | 32 | |
33 | 33 | #include <stddef.h> | |
34 | #include <linux/types.h> | 34 | |
35 | 35 | /* Break even between movem and move16 is really at 38.7 * 2, but | |
36 | void *memcpy(void *pdst, | 36 | modulo 44, so up to the next multiple of 44, we use ordinary code. */ |
37 | const void *psrc, | 37 | #define MEMCPY_BY_BLOCK_THRESHOLD (44 * 2) |
38 | size_t pn) | 38 | |
39 | /* No name ambiguities in this file. */ | ||
40 | __asm__ (".syntax no_register_prefix"); | ||
41 | |||
42 | void * | ||
43 | memcpy(void *pdst, const void *psrc, size_t pn) | ||
39 | { | 44 | { |
40 | /* Ok. Now we want the parameters put in special registers. | 45 | /* Now we want the parameters put in special registers. |
41 | Make sure the compiler is able to make something useful of this. | 46 | Make sure the compiler is able to make something useful of this. |
42 | As it is now: r10 -> r13; r11 -> r11 (nop); r12 -> r12 (nop). | 47 | As it is now: r10 -> r13; r11 -> r11 (nop); r12 -> r12 (nop). |
43 | 48 | ||
44 | If gcc was alright, it really would need no temporaries, and no | 49 | If gcc was allright, it really would need no temporaries, and no |
45 | stack space to save stuff on. */ | 50 | stack space to save stuff on. */ |
46 | 51 | ||
47 | register void *return_dst __asm__ ("r10") = pdst; | 52 | register void *return_dst __asm__ ("r10") = pdst; |
48 | register char *dst __asm__ ("r13") = pdst; | 53 | register unsigned char *dst __asm__ ("r13") = pdst; |
49 | register const char *src __asm__ ("r11") = psrc; | 54 | register unsigned const char *src __asm__ ("r11") = psrc; |
50 | register int n __asm__ ("r12") = pn; | 55 | register int n __asm__ ("r12") = pn; |
51 | 56 | ||
52 | |||
53 | /* When src is aligned but not dst, this makes a few extra needless | 57 | /* When src is aligned but not dst, this makes a few extra needless |
54 | cycles. I believe it would take as many to check that the | 58 | cycles. I believe it would take as many to check that the |
55 | re-alignment was unnecessary. */ | 59 | re-alignment was unnecessary. */ |
@@ -59,167 +63,174 @@ void *memcpy(void *pdst, | |||
59 | && n >= 3) | 63 | && n >= 3) |
60 | { | 64 | { |
61 | if ((unsigned long) dst & 1) | 65 | if ((unsigned long) dst & 1) |
62 | { | 66 | { |
63 | n--; | 67 | n--; |
64 | *(char*)dst = *(char*)src; | 68 | *dst = *src; |
65 | src++; | 69 | src++; |
66 | dst++; | 70 | dst++; |
67 | } | 71 | } |
68 | 72 | ||
69 | if ((unsigned long) dst & 2) | 73 | if ((unsigned long) dst & 2) |
70 | { | 74 | { |
71 | n -= 2; | 75 | n -= 2; |
72 | *(short*)dst = *(short*)src; | 76 | *(short *) dst = *(short *) src; |
73 | src += 2; | 77 | src += 2; |
74 | dst += 2; | 78 | dst += 2; |
75 | } | 79 | } |
76 | } | 80 | } |
77 | 81 | ||
78 | /* Decide which copying method to use. */ | 82 | /* Decide which copying method to use. */ |
79 | if (n >= 44*2) /* Break even between movem and | 83 | if (n >= MEMCPY_BY_BLOCK_THRESHOLD) |
80 | move16 is at 38.7*2, but modulo 44. */ | 84 | { |
81 | { | 85 | /* It is not optimal to tell the compiler about clobbering any |
82 | /* For large copies we use 'movem' */ | 86 | registers; that will move the saving/restoring of those registers |
83 | 87 | to the function prologue/epilogue, and make non-movem sizes | |
84 | /* It is not optimal to tell the compiler about clobbering any | 88 | suboptimal. */ |
85 | registers; that will move the saving/restoring of those registers | 89 | __asm__ volatile |
86 | to the function prologue/epilogue, and make non-movem sizes | 90 | ("\ |
87 | suboptimal. | 91 | ;; GCC does promise correct register allocations, but let's \n\ |
88 | 92 | ;; make sure it keeps its promises. \n\ | |
89 | This method is not foolproof; it assumes that the "asm reg" | 93 | .ifnc %0-%1-%2,$r13-$r11-$r12 \n\ |
90 | declarations at the beginning of the function really are used | 94 | .error \"GCC reg alloc bug: %0-%1-%4 != $r13-$r12-$r11\" \n\ |
91 | here (beware: they may be moved to temporary registers). | 95 | .endif \n\ |
92 | This way, we do not have to save/move the registers around into | 96 | \n\ |
93 | temporaries; we can safely use them straight away. | 97 | ;; Save the registers we'll use in the movem process \n\ |
94 | 98 | ;; on the stack. \n\ | |
95 | If you want to check that the allocation was right; then | 99 | subq 11*4,sp \n\ |
96 | check the equalities in the first comment. It should say | 100 | movem r10,[sp] \n\ |
97 | "r13=r13, r11=r11, r12=r12" */ | ||
98 | __asm__ volatile ("\n\ | ||
99 | ;; Check that the following is true (same register names on \n\ | ||
100 | ;; both sides of equal sign, as in r8=r8): \n\ | ||
101 | ;; %0=r13, %1=r11, %2=r12 \n\ | ||
102 | ;; \n\ | ||
103 | ;; Save the registers we'll use in the movem process \n\ | ||
104 | ;; on the stack. \n\ | ||
105 | subq 11*4,$sp \n\ | ||
106 | movem $r10,[$sp] \n\ | ||
107 | \n\ | 101 | \n\ |
108 | ;; Now we've got this: \n\ | 102 | ;; Now we've got this: \n\ |
109 | ;; r11 - src \n\ | 103 | ;; r11 - src \n\ |
110 | ;; r13 - dst \n\ | 104 | ;; r13 - dst \n\ |
111 | ;; r12 - n \n\ | 105 | ;; r12 - n \n\ |
112 | \n\ | 106 | \n\ |
113 | ;; Update n for the first loop \n\ | 107 | ;; Update n for the first loop. \n\ |
114 | subq 44,$r12 \n\ | 108 | subq 44,r12 \n\ |
115 | 0: \n\ | 109 | 0: \n\ |
116 | movem [$r11+],$r10 \n\ | 110 | " |
117 | subq 44,$r12 \n\ | 111 | #ifdef __arch_common_v10_v32 |
118 | bge 0b \n\ | 112 | /* Cater to branch offset difference between v32 and v10. We |
119 | movem $r10,[$r13+] \n\ | 113 | assume the branch below has an 8-bit offset. */ |
114 | " setf\n" | ||
115 | #endif | ||
116 | " movem [r11+],r10 \n\ | ||
117 | subq 44,r12 \n\ | ||
118 | bge 0b \n\ | ||
119 | movem r10,[r13+] \n\ | ||
120 | \n\ | 120 | \n\ |
121 | addq 44,$r12 ;; compensate for last loop underflowing n \n\ | 121 | ;; Compensate for last loop underflowing n. \n\ |
122 | addq 44,r12 \n\ | ||
122 | \n\ | 123 | \n\ |
123 | ;; Restore registers from stack \n\ | 124 | ;; Restore registers from stack. \n\ |
124 | movem [$sp+],$r10" | 125 | movem [sp+],r10" |
125 | 126 | ||
126 | /* Outputs */ : "=r" (dst), "=r" (src), "=r" (n) | 127 | /* Outputs. */ |
127 | /* Inputs */ : "0" (dst), "1" (src), "2" (n)); | 128 | : "=r" (dst), "=r" (src), "=r" (n) |
128 | |||
129 | } | ||
130 | 129 | ||
131 | /* Either we directly starts copying, using dword copying | 130 | /* Inputs. */ |
132 | in a loop, or we copy as much as possible with 'movem' | 131 | : "0" (dst), "1" (src), "2" (n)); |
133 | and then the last block (<44 bytes) is copied here. | 132 | } |
134 | This will work since 'movem' will have updated src,dst,n. */ | ||
135 | 133 | ||
136 | while ( n >= 16 ) | 134 | while (n >= 16) |
137 | { | 135 | { |
138 | *((long*)dst)++ = *((long*)src)++; | 136 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
139 | *((long*)dst)++ = *((long*)src)++; | 137 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
140 | *((long*)dst)++ = *((long*)src)++; | 138 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
141 | *((long*)dst)++ = *((long*)src)++; | 139 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
142 | n -= 16; | 140 | |
143 | } | 141 | n -= 16; |
142 | } | ||
144 | 143 | ||
145 | /* A switch() is definitely the fastest although it takes a LOT of code. | ||
146 | * Particularly if you inline code this. | ||
147 | */ | ||
148 | switch (n) | 144 | switch (n) |
149 | { | 145 | { |
150 | case 0: | 146 | case 0: |
151 | break; | 147 | break; |
148 | |||
152 | case 1: | 149 | case 1: |
153 | *(char*)dst = *(char*)src; | 150 | *dst = *src; |
154 | break; | 151 | break; |
152 | |||
155 | case 2: | 153 | case 2: |
156 | *(short*)dst = *(short*)src; | 154 | *(short *) dst = *(short *) src; |
157 | break; | 155 | break; |
156 | |||
158 | case 3: | 157 | case 3: |
159 | *((short*)dst)++ = *((short*)src)++; | 158 | *(short *) dst = *(short *) src; dst += 2; src += 2; |
160 | *(char*)dst = *(char*)src; | 159 | *dst = *src; |
161 | break; | 160 | break; |
161 | |||
162 | case 4: | 162 | case 4: |
163 | *((long*)dst)++ = *((long*)src)++; | 163 | *(long *) dst = *(long *) src; |
164 | break; | 164 | break; |
165 | |||
165 | case 5: | 166 | case 5: |
166 | *((long*)dst)++ = *((long*)src)++; | 167 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
167 | *(char*)dst = *(char*)src; | 168 | *dst = *src; |
168 | break; | 169 | break; |
170 | |||
169 | case 6: | 171 | case 6: |
170 | *((long*)dst)++ = *((long*)src)++; | 172 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
171 | *(short*)dst = *(short*)src; | 173 | *(short *) dst = *(short *) src; |
172 | break; | 174 | break; |
175 | |||
173 | case 7: | 176 | case 7: |
174 | *((long*)dst)++ = *((long*)src)++; | 177 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
175 | *((short*)dst)++ = *((short*)src)++; | 178 | *(short *) dst = *(short *) src; dst += 2; src += 2; |
176 | *(char*)dst = *(char*)src; | 179 | *dst = *src; |
177 | break; | 180 | break; |
181 | |||
178 | case 8: | 182 | case 8: |
179 | *((long*)dst)++ = *((long*)src)++; | 183 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
180 | *((long*)dst)++ = *((long*)src)++; | 184 | *(long *) dst = *(long *) src; |
181 | break; | 185 | break; |
186 | |||
182 | case 9: | 187 | case 9: |
183 | *((long*)dst)++ = *((long*)src)++; | 188 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
184 | *((long*)dst)++ = *((long*)src)++; | 189 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
185 | *(char*)dst = *(char*)src; | 190 | *dst = *src; |
186 | break; | 191 | break; |
192 | |||
187 | case 10: | 193 | case 10: |
188 | *((long*)dst)++ = *((long*)src)++; | 194 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
189 | *((long*)dst)++ = *((long*)src)++; | 195 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
190 | *(short*)dst = *(short*)src; | 196 | *(short *) dst = *(short *) src; |
191 | break; | 197 | break; |
198 | |||
192 | case 11: | 199 | case 11: |
193 | *((long*)dst)++ = *((long*)src)++; | 200 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
194 | *((long*)dst)++ = *((long*)src)++; | 201 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
195 | *((short*)dst)++ = *((short*)src)++; | 202 | *(short *) dst = *(short *) src; dst += 2; src += 2; |
196 | *(char*)dst = *(char*)src; | 203 | *dst = *src; |
197 | break; | 204 | break; |
205 | |||
198 | case 12: | 206 | case 12: |
199 | *((long*)dst)++ = *((long*)src)++; | 207 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
200 | *((long*)dst)++ = *((long*)src)++; | 208 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
201 | *((long*)dst)++ = *((long*)src)++; | 209 | *(long *) dst = *(long *) src; |
202 | break; | 210 | break; |
211 | |||
203 | case 13: | 212 | case 13: |
204 | *((long*)dst)++ = *((long*)src)++; | 213 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
205 | *((long*)dst)++ = *((long*)src)++; | 214 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
206 | *((long*)dst)++ = *((long*)src)++; | 215 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
207 | *(char*)dst = *(char*)src; | 216 | *dst = *src; |
208 | break; | 217 | break; |
218 | |||
209 | case 14: | 219 | case 14: |
210 | *((long*)dst)++ = *((long*)src)++; | 220 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
211 | *((long*)dst)++ = *((long*)src)++; | 221 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
212 | *((long*)dst)++ = *((long*)src)++; | 222 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
213 | *(short*)dst = *(short*)src; | 223 | *(short *) dst = *(short *) src; |
214 | break; | 224 | break; |
225 | |||
215 | case 15: | 226 | case 15: |
216 | *((long*)dst)++ = *((long*)src)++; | 227 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
217 | *((long*)dst)++ = *((long*)src)++; | 228 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
218 | *((long*)dst)++ = *((long*)src)++; | 229 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
219 | *((short*)dst)++ = *((short*)src)++; | 230 | *(short *) dst = *(short *) src; dst += 2; src += 2; |
220 | *(char*)dst = *(char*)src; | 231 | *dst = *src; |
221 | break; | 232 | break; |
222 | } | 233 | } |
223 | 234 | ||
224 | return return_dst; /* destination pointer. */ | 235 | return return_dst; |
225 | } /* memcpy() */ | 236 | } |
diff --git a/arch/cris/arch-v10/lib/usercopy.c b/arch/cris/arch-v10/lib/usercopy.c index b8e6c0430e5b..b0a608da7bd1 100644 --- a/arch/cris/arch-v10/lib/usercopy.c +++ b/arch/cris/arch-v10/lib/usercopy.c | |||
@@ -193,7 +193,7 @@ __copy_user (void __user *pdst, const void *psrc, unsigned long pn) | |||
193 | inaccessible. */ | 193 | inaccessible. */ |
194 | 194 | ||
195 | unsigned long | 195 | unsigned long |
196 | __copy_user_zeroing (void __user *pdst, const void *psrc, unsigned long pn) | 196 | __copy_user_zeroing(void *pdst, const void __user *psrc, unsigned long pn) |
197 | { | 197 | { |
198 | /* We want the parameters put in special registers. | 198 | /* We want the parameters put in special registers. |
199 | Make sure the compiler is able to make something useful of this. | 199 | Make sure the compiler is able to make something useful of this. |
diff --git a/arch/cris/arch-v32/lib/string.c b/arch/cris/arch-v32/lib/string.c index 6740b2cebae5..c7bd6ebdc93c 100644 --- a/arch/cris/arch-v32/lib/string.c +++ b/arch/cris/arch-v32/lib/string.c | |||
@@ -1,55 +1,59 @@ | |||
1 | /*#************************************************************************#*/ | 1 | /* A memcpy for CRIS. |
2 | /*#-------------------------------------------------------------------------*/ | 2 | Copyright (C) 1994-2005 Axis Communications. |
3 | /*# */ | 3 | All rights reserved. |
4 | /*# FUNCTION NAME: memcpy() */ | 4 | |
5 | /*# */ | 5 | Redistribution and use in source and binary forms, with or without |
6 | /*# PARAMETERS: void* dst; Destination address. */ | 6 | modification, are permitted provided that the following conditions |
7 | /*# void* src; Source address. */ | 7 | are met: |
8 | /*# int len; Number of bytes to copy. */ | 8 | |
9 | /*# */ | 9 | 1. Redistributions of source code must retain the above copyright |
10 | /*# RETURNS: dst. */ | 10 | notice, this list of conditions and the following disclaimer. |
11 | /*# */ | 11 | |
12 | /*# DESCRIPTION: Copies len bytes of memory from src to dst. No guarantees */ | 12 | 2. Neither the name of Axis Communications nor the names of its |
13 | /*# about copying of overlapping memory areas. This routine is */ | 13 | contributors may be used to endorse or promote products derived |
14 | /*# very sensitive to compiler changes in register allocation. */ | 14 | from this software without specific prior written permission. |
15 | /*# Should really be rewritten to avoid this problem. */ | 15 | |
16 | /*# */ | 16 | THIS SOFTWARE IS PROVIDED BY AXIS COMMUNICATIONS AND ITS CONTRIBUTORS |
17 | /*#-------------------------------------------------------------------------*/ | 17 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
18 | /*# */ | 18 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
19 | /*# HISTORY */ | 19 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL AXIS |
20 | /*# */ | 20 | COMMUNICATIONS OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, |
21 | /*# DATE NAME CHANGES */ | 21 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
22 | /*# ---- ---- ------- */ | 22 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
23 | /*# 941007 Kenny R Creation */ | 23 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
24 | /*# 941011 Kenny R Lots of optimizations and inlining. */ | 24 | HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, |
25 | /*# 941129 Ulf A Adapted for use in libc. */ | 25 | STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING |
26 | /*# 950216 HP N==0 forgotten if non-aligned src/dst. */ | 26 | IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
27 | /*# Added some optimizations. */ | 27 | POSSIBILITY OF SUCH DAMAGE. */ |
28 | /*# 001025 HP Make src and dst char *. Align dst to */ | 28 | |
29 | /*# dword, not just word-if-both-src-and-dst- */ | 29 | /* FIXME: This file should really only be used for reference, as the |
30 | /*# are-misaligned. */ | 30 | result is somewhat depending on gcc generating what we expect rather |
31 | /*# */ | 31 | than what we describe. An assembly file should be used instead. */ |
32 | /*#-------------------------------------------------------------------------*/ | 32 | |
33 | 33 | #include <stddef.h> | |
34 | #include <linux/types.h> | 34 | |
35 | 35 | /* Break even between movem and move16 is really at 38.7 * 2, but | |
36 | void *memcpy(void *pdst, | 36 | modulo 44, so up to the next multiple of 44, we use ordinary code. */ |
37 | const void *psrc, | 37 | #define MEMCPY_BY_BLOCK_THRESHOLD (44 * 2) |
38 | size_t pn) | 38 | |
39 | /* No name ambiguities in this file. */ | ||
40 | __asm__ (".syntax no_register_prefix"); | ||
41 | |||
42 | void * | ||
43 | memcpy(void *pdst, const void *psrc, size_t pn) | ||
39 | { | 44 | { |
40 | /* Ok. Now we want the parameters put in special registers. | 45 | /* Now we want the parameters put in special registers. |
41 | Make sure the compiler is able to make something useful of this. | 46 | Make sure the compiler is able to make something useful of this. |
42 | As it is now: r10 -> r13; r11 -> r11 (nop); r12 -> r12 (nop). | 47 | As it is now: r10 -> r13; r11 -> r11 (nop); r12 -> r12 (nop). |
43 | 48 | ||
44 | If gcc was alright, it really would need no temporaries, and no | 49 | If gcc was allright, it really would need no temporaries, and no |
45 | stack space to save stuff on. */ | 50 | stack space to save stuff on. */ |
46 | 51 | ||
47 | register void *return_dst __asm__ ("r10") = pdst; | 52 | register void *return_dst __asm__ ("r10") = pdst; |
48 | register char *dst __asm__ ("r13") = pdst; | 53 | register unsigned char *dst __asm__ ("r13") = pdst; |
49 | register const char *src __asm__ ("r11") = psrc; | 54 | register unsigned const char *src __asm__ ("r11") = psrc; |
50 | register int n __asm__ ("r12") = pn; | 55 | register int n __asm__ ("r12") = pn; |
51 | 56 | ||
52 | |||
53 | /* When src is aligned but not dst, this makes a few extra needless | 57 | /* When src is aligned but not dst, this makes a few extra needless |
54 | cycles. I believe it would take as many to check that the | 58 | cycles. I believe it would take as many to check that the |
55 | re-alignment was unnecessary. */ | 59 | re-alignment was unnecessary. */ |
@@ -59,161 +63,174 @@ void *memcpy(void *pdst, | |||
59 | && n >= 3) | 63 | && n >= 3) |
60 | { | 64 | { |
61 | if ((unsigned long) dst & 1) | 65 | if ((unsigned long) dst & 1) |
62 | { | 66 | { |
63 | n--; | 67 | n--; |
64 | *(char*)dst = *(char*)src; | 68 | *dst = *src; |
65 | src++; | 69 | src++; |
66 | dst++; | 70 | dst++; |
67 | } | 71 | } |
68 | 72 | ||
69 | if ((unsigned long) dst & 2) | 73 | if ((unsigned long) dst & 2) |
70 | { | 74 | { |
71 | n -= 2; | 75 | n -= 2; |
72 | *(short*)dst = *(short*)src; | 76 | *(short *) dst = *(short *) src; |
73 | src += 2; | 77 | src += 2; |
74 | dst += 2; | 78 | dst += 2; |
75 | } | 79 | } |
76 | } | 80 | } |
77 | 81 | ||
78 | /* Decide which copying method to use. Movem is dirt cheap, so the | 82 | /* Decide which copying method to use. */ |
79 | overheap is low enough to always use the minimum block size as the | 83 | if (n >= MEMCPY_BY_BLOCK_THRESHOLD) |
80 | threshold. */ | 84 | { |
81 | if (n >= 44) | 85 | /* It is not optimal to tell the compiler about clobbering any |
82 | { | 86 | registers; that will move the saving/restoring of those registers |
83 | /* For large copies we use 'movem' */ | 87 | to the function prologue/epilogue, and make non-movem sizes |
84 | 88 | suboptimal. */ | |
85 | /* It is not optimal to tell the compiler about clobbering any | 89 | __asm__ volatile |
86 | registers; that will move the saving/restoring of those registers | 90 | ("\ |
87 | to the function prologue/epilogue, and make non-movem sizes | 91 | ;; GCC does promise correct register allocations, but let's \n\ |
88 | suboptimal. */ | 92 | ;; make sure it keeps its promises. \n\ |
89 | __asm__ volatile (" \n\ | 93 | .ifnc %0-%1-%2,$r13-$r11-$r12 \n\ |
90 | ;; Check that the register asm declaration got right. \n\ | 94 | .error \"GCC reg alloc bug: %0-%1-%4 != $r13-$r12-$r11\" \n\ |
91 | ;; The GCC manual explicitly says TRT will happen. \n\ | 95 | .endif \n\ |
92 | .ifnc %0-%1-%2,$r13-$r11-$r12 \n\ | ||
93 | .err \n\ | ||
94 | .endif \n\ | ||
95 | \n\ | ||
96 | ;; Save the registers we'll use in the movem process \n\ | ||
97 | \n\ | 96 | \n\ |
98 | ;; on the stack. \n\ | 97 | ;; Save the registers we'll use in the movem process \n\ |
99 | subq 11*4,$sp \n\ | 98 | ;; on the stack. \n\ |
100 | movem $r10,[$sp] \n\ | 99 | subq 11*4,sp \n\ |
100 | movem r10,[sp] \n\ | ||
101 | \n\ | 101 | \n\ |
102 | ;; Now we've got this: \n\ | 102 | ;; Now we've got this: \n\ |
103 | ;; r11 - src \n\ | 103 | ;; r11 - src \n\ |
104 | ;; r13 - dst \n\ | 104 | ;; r13 - dst \n\ |
105 | ;; r12 - n \n\ | 105 | ;; r12 - n \n\ |
106 | \n\ | 106 | \n\ |
107 | ;; Update n for the first loop \n\ | 107 | ;; Update n for the first loop. \n\ |
108 | subq 44,$r12 \n\ | 108 | subq 44,r12 \n\ |
109 | 0: \n\ | 109 | 0: \n\ |
110 | movem [$r11+],$r10 \n\ | 110 | " |
111 | subq 44,$r12 \n\ | 111 | #ifdef __arch_common_v10_v32 |
112 | bge 0b \n\ | 112 | /* Cater to branch offset difference between v32 and v10. We |
113 | movem $r10,[$r13+] \n\ | 113 | assume the branch below has an 8-bit offset. */ |
114 | " setf\n" | ||
115 | #endif | ||
116 | " movem [r11+],r10 \n\ | ||
117 | subq 44,r12 \n\ | ||
118 | bge 0b \n\ | ||
119 | movem r10,[r13+] \n\ | ||
114 | \n\ | 120 | \n\ |
115 | addq 44,$r12 ;; compensate for last loop underflowing n \n\ | 121 | ;; Compensate for last loop underflowing n. \n\ |
122 | addq 44,r12 \n\ | ||
116 | \n\ | 123 | \n\ |
117 | ;; Restore registers from stack \n\ | 124 | ;; Restore registers from stack. \n\ |
118 | movem [$sp+],$r10" | 125 | movem [sp+],r10" |
119 | 126 | ||
120 | /* Outputs */ : "=r" (dst), "=r" (src), "=r" (n) | 127 | /* Outputs. */ |
121 | /* Inputs */ : "0" (dst), "1" (src), "2" (n)); | 128 | : "=r" (dst), "=r" (src), "=r" (n) |
122 | 129 | ||
123 | } | 130 | /* Inputs. */ |
131 | : "0" (dst), "1" (src), "2" (n)); | ||
132 | } | ||
124 | 133 | ||
125 | /* Either we directly starts copying, using dword copying | 134 | while (n >= 16) |
126 | in a loop, or we copy as much as possible with 'movem' | 135 | { |
127 | and then the last block (<44 bytes) is copied here. | 136 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
128 | This will work since 'movem' will have updated src,dst,n. */ | 137 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
138 | *(long *) dst = *(long *) src; dst += 4; src += 4; | ||
139 | *(long *) dst = *(long *) src; dst += 4; src += 4; | ||
129 | 140 | ||
130 | while ( n >= 16 ) | 141 | n -= 16; |
131 | { | 142 | } |
132 | *((long*)dst)++ = *((long*)src)++; | ||
133 | *((long*)dst)++ = *((long*)src)++; | ||
134 | *((long*)dst)++ = *((long*)src)++; | ||
135 | *((long*)dst)++ = *((long*)src)++; | ||
136 | n -= 16; | ||
137 | } | ||
138 | 143 | ||
139 | /* A switch() is definitely the fastest although it takes a LOT of code. | ||
140 | * Particularly if you inline code this. | ||
141 | */ | ||
142 | switch (n) | 144 | switch (n) |
143 | { | 145 | { |
144 | case 0: | 146 | case 0: |
145 | break; | 147 | break; |
148 | |||
146 | case 1: | 149 | case 1: |
147 | *(char*)dst = *(char*)src; | 150 | *dst = *src; |
148 | break; | 151 | break; |
152 | |||
149 | case 2: | 153 | case 2: |
150 | *(short*)dst = *(short*)src; | 154 | *(short *) dst = *(short *) src; |
151 | break; | 155 | break; |
156 | |||
152 | case 3: | 157 | case 3: |
153 | *((short*)dst)++ = *((short*)src)++; | 158 | *(short *) dst = *(short *) src; dst += 2; src += 2; |
154 | *(char*)dst = *(char*)src; | 159 | *dst = *src; |
155 | break; | 160 | break; |
161 | |||
156 | case 4: | 162 | case 4: |
157 | *((long*)dst)++ = *((long*)src)++; | 163 | *(long *) dst = *(long *) src; |
158 | break; | 164 | break; |
165 | |||
159 | case 5: | 166 | case 5: |
160 | *((long*)dst)++ = *((long*)src)++; | 167 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
161 | *(char*)dst = *(char*)src; | 168 | *dst = *src; |
162 | break; | 169 | break; |
170 | |||
163 | case 6: | 171 | case 6: |
164 | *((long*)dst)++ = *((long*)src)++; | 172 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
165 | *(short*)dst = *(short*)src; | 173 | *(short *) dst = *(short *) src; |
166 | break; | 174 | break; |
175 | |||
167 | case 7: | 176 | case 7: |
168 | *((long*)dst)++ = *((long*)src)++; | 177 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
169 | *((short*)dst)++ = *((short*)src)++; | 178 | *(short *) dst = *(short *) src; dst += 2; src += 2; |
170 | *(char*)dst = *(char*)src; | 179 | *dst = *src; |
171 | break; | 180 | break; |
181 | |||
172 | case 8: | 182 | case 8: |
173 | *((long*)dst)++ = *((long*)src)++; | 183 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
174 | *((long*)dst)++ = *((long*)src)++; | 184 | *(long *) dst = *(long *) src; |
175 | break; | 185 | break; |
186 | |||
176 | case 9: | 187 | case 9: |
177 | *((long*)dst)++ = *((long*)src)++; | 188 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
178 | *((long*)dst)++ = *((long*)src)++; | 189 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
179 | *(char*)dst = *(char*)src; | 190 | *dst = *src; |
180 | break; | 191 | break; |
192 | |||
181 | case 10: | 193 | case 10: |
182 | *((long*)dst)++ = *((long*)src)++; | 194 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
183 | *((long*)dst)++ = *((long*)src)++; | 195 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
184 | *(short*)dst = *(short*)src; | 196 | *(short *) dst = *(short *) src; |
185 | break; | 197 | break; |
198 | |||
186 | case 11: | 199 | case 11: |
187 | *((long*)dst)++ = *((long*)src)++; | 200 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
188 | *((long*)dst)++ = *((long*)src)++; | 201 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
189 | *((short*)dst)++ = *((short*)src)++; | 202 | *(short *) dst = *(short *) src; dst += 2; src += 2; |
190 | *(char*)dst = *(char*)src; | 203 | *dst = *src; |
191 | break; | 204 | break; |
205 | |||
192 | case 12: | 206 | case 12: |
193 | *((long*)dst)++ = *((long*)src)++; | 207 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
194 | *((long*)dst)++ = *((long*)src)++; | 208 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
195 | *((long*)dst)++ = *((long*)src)++; | 209 | *(long *) dst = *(long *) src; |
196 | break; | 210 | break; |
211 | |||
197 | case 13: | 212 | case 13: |
198 | *((long*)dst)++ = *((long*)src)++; | 213 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
199 | *((long*)dst)++ = *((long*)src)++; | 214 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
200 | *((long*)dst)++ = *((long*)src)++; | 215 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
201 | *(char*)dst = *(char*)src; | 216 | *dst = *src; |
202 | break; | 217 | break; |
218 | |||
203 | case 14: | 219 | case 14: |
204 | *((long*)dst)++ = *((long*)src)++; | 220 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
205 | *((long*)dst)++ = *((long*)src)++; | 221 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
206 | *((long*)dst)++ = *((long*)src)++; | 222 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
207 | *(short*)dst = *(short*)src; | 223 | *(short *) dst = *(short *) src; |
208 | break; | 224 | break; |
225 | |||
209 | case 15: | 226 | case 15: |
210 | *((long*)dst)++ = *((long*)src)++; | 227 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
211 | *((long*)dst)++ = *((long*)src)++; | 228 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
212 | *((long*)dst)++ = *((long*)src)++; | 229 | *(long *) dst = *(long *) src; dst += 4; src += 4; |
213 | *((short*)dst)++ = *((short*)src)++; | 230 | *(short *) dst = *(short *) src; dst += 2; src += 2; |
214 | *(char*)dst = *(char*)src; | 231 | *dst = *src; |
215 | break; | 232 | break; |
216 | } | 233 | } |
217 | 234 | ||
218 | return return_dst; /* destination pointer. */ | 235 | return return_dst; |
219 | } /* memcpy() */ | 236 | } |
diff --git a/arch/cris/arch-v32/lib/usercopy.c b/arch/cris/arch-v32/lib/usercopy.c index 04d0cf35a276..0b5b70d5f58a 100644 --- a/arch/cris/arch-v32/lib/usercopy.c +++ b/arch/cris/arch-v32/lib/usercopy.c | |||
@@ -161,7 +161,7 @@ __copy_user (void __user *pdst, const void *psrc, unsigned long pn) | |||
161 | inaccessible. */ | 161 | inaccessible. */ |
162 | 162 | ||
163 | unsigned long | 163 | unsigned long |
164 | __copy_user_zeroing (void __user *pdst, const void *psrc, unsigned long pn) | 164 | __copy_user_zeroing(void *pdst, const void __user *psrc, unsigned long pn) |
165 | { | 165 | { |
166 | /* We want the parameters put in special registers. | 166 | /* We want the parameters put in special registers. |
167 | Make sure the compiler is able to make something useful of this. | 167 | Make sure the compiler is able to make something useful of this. |
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index dff9edfc7465..8fa3faf5ef1b 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
@@ -18,6 +18,7 @@ config IA64 | |||
18 | select HAVE_IDE | 18 | select HAVE_IDE |
19 | select HAVE_OPROFILE | 19 | select HAVE_OPROFILE |
20 | select HAVE_KPROBES | 20 | select HAVE_KPROBES |
21 | select HAVE_KRETPROBES | ||
21 | default y | 22 | default y |
22 | help | 23 | help |
23 | The Itanium Processor Family is Intel's 64-bit successor to | 24 | The Itanium Processor Family is Intel's 64-bit successor to |
@@ -155,6 +156,8 @@ config IA64_HP_ZX1_SWIOTLB | |||
155 | 156 | ||
156 | config IA64_SGI_SN2 | 157 | config IA64_SGI_SN2 |
157 | bool "SGI-SN2" | 158 | bool "SGI-SN2" |
159 | select NUMA | ||
160 | select ACPI_NUMA | ||
158 | help | 161 | help |
159 | Selecting this option will optimize the kernel for use on sn2 based | 162 | Selecting this option will optimize the kernel for use on sn2 based |
160 | systems, but the resulting kernel binary will not run on other | 163 | systems, but the resulting kernel binary will not run on other |
diff --git a/arch/ia64/Makefile b/arch/ia64/Makefile index b916ccfdef84..f1645c4f7039 100644 --- a/arch/ia64/Makefile +++ b/arch/ia64/Makefile | |||
@@ -11,6 +11,8 @@ | |||
11 | # Copyright (C) 1998-2004 by David Mosberger-Tang <davidm@hpl.hp.com> | 11 | # Copyright (C) 1998-2004 by David Mosberger-Tang <davidm@hpl.hp.com> |
12 | # | 12 | # |
13 | 13 | ||
14 | KBUILD_DEFCONFIG := generic_defconfig | ||
15 | |||
14 | NM := $(CROSS_COMPILE)nm -B | 16 | NM := $(CROSS_COMPILE)nm -B |
15 | READELF := $(CROSS_COMPILE)readelf | 17 | READELF := $(CROSS_COMPILE)readelf |
16 | 18 | ||
diff --git a/arch/ia64/defconfig b/arch/ia64/configs/generic_defconfig index 0210545e7f61..0210545e7f61 100644 --- a/arch/ia64/defconfig +++ b/arch/ia64/configs/generic_defconfig | |||
diff --git a/arch/ia64/hp/common/hwsw_iommu.c b/arch/ia64/hp/common/hwsw_iommu.c index 94e57109fad6..8f6bcfe1dada 100644 --- a/arch/ia64/hp/common/hwsw_iommu.c +++ b/arch/ia64/hp/common/hwsw_iommu.c | |||
@@ -71,7 +71,7 @@ hwsw_init (void) | |||
71 | #ifdef CONFIG_IA64_GENERIC | 71 | #ifdef CONFIG_IA64_GENERIC |
72 | /* Better to have normal DMA than panic */ | 72 | /* Better to have normal DMA than panic */ |
73 | printk(KERN_WARNING "%s: Failed to initialize software I/O TLB," | 73 | printk(KERN_WARNING "%s: Failed to initialize software I/O TLB," |
74 | " reverting to hpzx1 platform vector\n", __FUNCTION__); | 74 | " reverting to hpzx1 platform vector\n", __func__); |
75 | machvec_init("hpzx1"); | 75 | machvec_init("hpzx1"); |
76 | #else | 76 | #else |
77 | panic("Unable to initialize software I/O TLB services"); | 77 | panic("Unable to initialize software I/O TLB services"); |
diff --git a/arch/ia64/hp/common/sba_iommu.c b/arch/ia64/hp/common/sba_iommu.c index a94445422cc6..523eae6d3e49 100644 --- a/arch/ia64/hp/common/sba_iommu.c +++ b/arch/ia64/hp/common/sba_iommu.c | |||
@@ -529,7 +529,7 @@ sba_search_bitmap(struct ioc *ioc, unsigned long bits_wanted, int use_hint) | |||
529 | base_mask = RESMAP_MASK(bits_wanted); | 529 | base_mask = RESMAP_MASK(bits_wanted); |
530 | mask = base_mask << bitshiftcnt; | 530 | mask = base_mask << bitshiftcnt; |
531 | 531 | ||
532 | DBG_RES("%s() o %ld %p", __FUNCTION__, o, res_ptr); | 532 | DBG_RES("%s() o %ld %p", __func__, o, res_ptr); |
533 | for(; res_ptr < res_end ; res_ptr++) | 533 | for(; res_ptr < res_end ; res_ptr++) |
534 | { | 534 | { |
535 | DBG_RES(" %p %lx %lx\n", res_ptr, mask, *res_ptr); | 535 | DBG_RES(" %p %lx %lx\n", res_ptr, mask, *res_ptr); |
@@ -679,7 +679,7 @@ sba_alloc_range(struct ioc *ioc, size_t size) | |||
679 | #endif | 679 | #endif |
680 | 680 | ||
681 | DBG_RES("%s(%x) %d -> %lx hint %x/%x\n", | 681 | DBG_RES("%s(%x) %d -> %lx hint %x/%x\n", |
682 | __FUNCTION__, size, pages_needed, pide, | 682 | __func__, size, pages_needed, pide, |
683 | (uint) ((unsigned long) ioc->res_hint - (unsigned long) ioc->res_map), | 683 | (uint) ((unsigned long) ioc->res_hint - (unsigned long) ioc->res_map), |
684 | ioc->res_bitshift ); | 684 | ioc->res_bitshift ); |
685 | 685 | ||
@@ -722,8 +722,8 @@ sba_free_range(struct ioc *ioc, dma_addr_t iova, size_t size) | |||
722 | m = RESMAP_MASK(bits_not_wanted) << (pide & (BITS_PER_LONG - 1)); | 722 | m = RESMAP_MASK(bits_not_wanted) << (pide & (BITS_PER_LONG - 1)); |
723 | bits_not_wanted = 0; | 723 | bits_not_wanted = 0; |
724 | 724 | ||
725 | DBG_RES("%s( ,%x,%x) %x/%lx %x %p %lx\n", __FUNCTION__, (uint) iova, size, | 725 | DBG_RES("%s( ,%x,%x) %x/%lx %x %p %lx\n", __func__, (uint) iova, size, |
726 | bits_not_wanted, m, pide, res_ptr, *res_ptr); | 726 | bits_not_wanted, m, pide, res_ptr, *res_ptr); |
727 | 727 | ||
728 | ASSERT(m != 0); | 728 | ASSERT(m != 0); |
729 | ASSERT(bits_not_wanted); | 729 | ASSERT(bits_not_wanted); |
@@ -940,8 +940,7 @@ sba_map_single(struct device *dev, void *addr, size_t size, int dir) | |||
940 | 940 | ||
941 | iovp = (dma_addr_t) pide << iovp_shift; | 941 | iovp = (dma_addr_t) pide << iovp_shift; |
942 | 942 | ||
943 | DBG_RUN("%s() 0x%p -> 0x%lx\n", | 943 | DBG_RUN("%s() 0x%p -> 0x%lx\n", __func__, addr, (long) iovp | offset); |
944 | __FUNCTION__, addr, (long) iovp | offset); | ||
945 | 944 | ||
946 | pdir_start = &(ioc->pdir_base[pide]); | 945 | pdir_start = &(ioc->pdir_base[pide]); |
947 | 946 | ||
@@ -1029,8 +1028,7 @@ void sba_unmap_single(struct device *dev, dma_addr_t iova, size_t size, int dir) | |||
1029 | #endif | 1028 | #endif |
1030 | offset = iova & ~iovp_mask; | 1029 | offset = iova & ~iovp_mask; |
1031 | 1030 | ||
1032 | DBG_RUN("%s() iovp 0x%lx/%x\n", | 1031 | DBG_RUN("%s() iovp 0x%lx/%x\n", __func__, (long) iova, size); |
1033 | __FUNCTION__, (long) iova, size); | ||
1034 | 1032 | ||
1035 | iova ^= offset; /* clear offset bits */ | 1033 | iova ^= offset; /* clear offset bits */ |
1036 | size += offset; | 1034 | size += offset; |
@@ -1404,7 +1402,7 @@ int sba_map_sg(struct device *dev, struct scatterlist *sglist, int nents, int di | |||
1404 | struct scatterlist *sg; | 1402 | struct scatterlist *sg; |
1405 | #endif | 1403 | #endif |
1406 | 1404 | ||
1407 | DBG_RUN_SG("%s() START %d entries\n", __FUNCTION__, nents); | 1405 | DBG_RUN_SG("%s() START %d entries\n", __func__, nents); |
1408 | ioc = GET_IOC(dev); | 1406 | ioc = GET_IOC(dev); |
1409 | ASSERT(ioc); | 1407 | ASSERT(ioc); |
1410 | 1408 | ||
@@ -1468,7 +1466,7 @@ int sba_map_sg(struct device *dev, struct scatterlist *sglist, int nents, int di | |||
1468 | #endif | 1466 | #endif |
1469 | 1467 | ||
1470 | ASSERT(coalesced == filled); | 1468 | ASSERT(coalesced == filled); |
1471 | DBG_RUN_SG("%s() DONE %d mappings\n", __FUNCTION__, filled); | 1469 | DBG_RUN_SG("%s() DONE %d mappings\n", __func__, filled); |
1472 | 1470 | ||
1473 | return filled; | 1471 | return filled; |
1474 | } | 1472 | } |
@@ -1491,7 +1489,7 @@ void sba_unmap_sg (struct device *dev, struct scatterlist *sglist, int nents, in | |||
1491 | #endif | 1489 | #endif |
1492 | 1490 | ||
1493 | DBG_RUN_SG("%s() START %d entries, %p,%x\n", | 1491 | DBG_RUN_SG("%s() START %d entries, %p,%x\n", |
1494 | __FUNCTION__, nents, sba_sg_address(sglist), sglist->length); | 1492 | __func__, nents, sba_sg_address(sglist), sglist->length); |
1495 | 1493 | ||
1496 | #ifdef ASSERT_PDIR_SANITY | 1494 | #ifdef ASSERT_PDIR_SANITY |
1497 | ioc = GET_IOC(dev); | 1495 | ioc = GET_IOC(dev); |
@@ -1509,7 +1507,7 @@ void sba_unmap_sg (struct device *dev, struct scatterlist *sglist, int nents, in | |||
1509 | nents--; | 1507 | nents--; |
1510 | } | 1508 | } |
1511 | 1509 | ||
1512 | DBG_RUN_SG("%s() DONE (nents %d)\n", __FUNCTION__, nents); | 1510 | DBG_RUN_SG("%s() DONE (nents %d)\n", __func__, nents); |
1513 | 1511 | ||
1514 | #ifdef ASSERT_PDIR_SANITY | 1512 | #ifdef ASSERT_PDIR_SANITY |
1515 | spin_lock_irqsave(&ioc->res_lock, flags); | 1513 | spin_lock_irqsave(&ioc->res_lock, flags); |
@@ -1546,7 +1544,7 @@ ioc_iova_init(struct ioc *ioc) | |||
1546 | ioc->iov_size = ~ioc->imask + 1; | 1544 | ioc->iov_size = ~ioc->imask + 1; |
1547 | 1545 | ||
1548 | DBG_INIT("%s() hpa %p IOV base 0x%lx mask 0x%lx (%dMB)\n", | 1546 | DBG_INIT("%s() hpa %p IOV base 0x%lx mask 0x%lx (%dMB)\n", |
1549 | __FUNCTION__, ioc->ioc_hpa, ioc->ibase, ioc->imask, | 1547 | __func__, ioc->ioc_hpa, ioc->ibase, ioc->imask, |
1550 | ioc->iov_size >> 20); | 1548 | ioc->iov_size >> 20); |
1551 | 1549 | ||
1552 | switch (iovp_size) { | 1550 | switch (iovp_size) { |
@@ -1569,7 +1567,7 @@ ioc_iova_init(struct ioc *ioc) | |||
1569 | 1567 | ||
1570 | memset(ioc->pdir_base, 0, ioc->pdir_size); | 1568 | memset(ioc->pdir_base, 0, ioc->pdir_size); |
1571 | 1569 | ||
1572 | DBG_INIT("%s() IOV page size %ldK pdir %p size %x\n", __FUNCTION__, | 1570 | DBG_INIT("%s() IOV page size %ldK pdir %p size %x\n", __func__, |
1573 | iovp_size >> 10, ioc->pdir_base, ioc->pdir_size); | 1571 | iovp_size >> 10, ioc->pdir_base, ioc->pdir_size); |
1574 | 1572 | ||
1575 | ASSERT(ALIGN((unsigned long) ioc->pdir_base, 4*1024) == (unsigned long) ioc->pdir_base); | 1573 | ASSERT(ALIGN((unsigned long) ioc->pdir_base, 4*1024) == (unsigned long) ioc->pdir_base); |
@@ -1612,7 +1610,7 @@ ioc_iova_init(struct ioc *ioc) | |||
1612 | 1610 | ||
1613 | prefetch_spill_page = virt_to_phys(addr); | 1611 | prefetch_spill_page = virt_to_phys(addr); |
1614 | 1612 | ||
1615 | DBG_INIT("%s() prefetch spill addr: 0x%lx\n", __FUNCTION__, prefetch_spill_page); | 1613 | DBG_INIT("%s() prefetch spill addr: 0x%lx\n", __func__, prefetch_spill_page); |
1616 | } | 1614 | } |
1617 | /* | 1615 | /* |
1618 | ** Set all the PDIR entries valid w/ the spill page as the target | 1616 | ** Set all the PDIR entries valid w/ the spill page as the target |
@@ -1641,7 +1639,7 @@ ioc_resource_init(struct ioc *ioc) | |||
1641 | /* resource map size dictated by pdir_size */ | 1639 | /* resource map size dictated by pdir_size */ |
1642 | ioc->res_size = ioc->pdir_size / PDIR_ENTRY_SIZE; /* entries */ | 1640 | ioc->res_size = ioc->pdir_size / PDIR_ENTRY_SIZE; /* entries */ |
1643 | ioc->res_size >>= 3; /* convert bit count to byte count */ | 1641 | ioc->res_size >>= 3; /* convert bit count to byte count */ |
1644 | DBG_INIT("%s() res_size 0x%x\n", __FUNCTION__, ioc->res_size); | 1642 | DBG_INIT("%s() res_size 0x%x\n", __func__, ioc->res_size); |
1645 | 1643 | ||
1646 | ioc->res_map = (char *) __get_free_pages(GFP_KERNEL, | 1644 | ioc->res_map = (char *) __get_free_pages(GFP_KERNEL, |
1647 | get_order(ioc->res_size)); | 1645 | get_order(ioc->res_size)); |
@@ -1664,7 +1662,7 @@ ioc_resource_init(struct ioc *ioc) | |||
1664 | | prefetch_spill_page); | 1662 | | prefetch_spill_page); |
1665 | #endif | 1663 | #endif |
1666 | 1664 | ||
1667 | DBG_INIT("%s() res_map %x %p\n", __FUNCTION__, | 1665 | DBG_INIT("%s() res_map %x %p\n", __func__, |
1668 | ioc->res_size, (void *) ioc->res_map); | 1666 | ioc->res_size, (void *) ioc->res_map); |
1669 | } | 1667 | } |
1670 | 1668 | ||
@@ -1767,7 +1765,7 @@ ioc_init(u64 hpa, void *handle) | |||
1767 | iovp_size = (1 << iovp_shift); | 1765 | iovp_size = (1 << iovp_shift); |
1768 | iovp_mask = ~(iovp_size - 1); | 1766 | iovp_mask = ~(iovp_size - 1); |
1769 | 1767 | ||
1770 | DBG_INIT("%s: PAGE_SIZE %ldK, iovp_size %ldK\n", __FUNCTION__, | 1768 | DBG_INIT("%s: PAGE_SIZE %ldK, iovp_size %ldK\n", __func__, |
1771 | PAGE_SIZE >> 10, iovp_size >> 10); | 1769 | PAGE_SIZE >> 10, iovp_size >> 10); |
1772 | 1770 | ||
1773 | if (!ioc->name) { | 1771 | if (!ioc->name) { |
@@ -2137,7 +2135,7 @@ sba_page_override(char *str) | |||
2137 | break; | 2135 | break; |
2138 | default: | 2136 | default: |
2139 | printk("%s: unknown/unsupported iommu page size %ld\n", | 2137 | printk("%s: unknown/unsupported iommu page size %ld\n", |
2140 | __FUNCTION__, page_size); | 2138 | __func__, page_size); |
2141 | } | 2139 | } |
2142 | 2140 | ||
2143 | return 1; | 2141 | return 1; |
diff --git a/arch/ia64/hp/sim/simeth.c b/arch/ia64/hp/sim/simeth.c index 9898febf609a..969fe9f443c4 100644 --- a/arch/ia64/hp/sim/simeth.c +++ b/arch/ia64/hp/sim/simeth.c | |||
@@ -222,7 +222,7 @@ simeth_probe1(void) | |||
222 | } | 222 | } |
223 | 223 | ||
224 | if ((rc = assign_irq_vector(AUTO_ASSIGN)) < 0) | 224 | if ((rc = assign_irq_vector(AUTO_ASSIGN)) < 0) |
225 | panic("%s: out of interrupt vectors!\n", __FUNCTION__); | 225 | panic("%s: out of interrupt vectors!\n", __func__); |
226 | dev->irq = rc; | 226 | dev->irq = rc; |
227 | 227 | ||
228 | /* | 228 | /* |
diff --git a/arch/ia64/hp/sim/simserial.c b/arch/ia64/hp/sim/simserial.c index ef252df50e1e..eb0c32a85fd7 100644 --- a/arch/ia64/hp/sim/simserial.c +++ b/arch/ia64/hp/sim/simserial.c | |||
@@ -1000,7 +1000,7 @@ simrs_init (void) | |||
1000 | if (!state->irq) { | 1000 | if (!state->irq) { |
1001 | if ((rc = assign_irq_vector(AUTO_ASSIGN)) < 0) | 1001 | if ((rc = assign_irq_vector(AUTO_ASSIGN)) < 0) |
1002 | panic("%s: out of interrupt vectors!\n", | 1002 | panic("%s: out of interrupt vectors!\n", |
1003 | __FUNCTION__); | 1003 | __func__); |
1004 | state->irq = rc; | 1004 | state->irq = rc; |
1005 | ia64_ssc_connect_irq(KEYBOARD_INTR, state->irq); | 1005 | ia64_ssc_connect_irq(KEYBOARD_INTR, state->irq); |
1006 | } | 1006 | } |
diff --git a/arch/ia64/ia32/ia32_signal.c b/arch/ia64/ia32/ia32_signal.c index 85e82f32e480..256a7faeda07 100644 --- a/arch/ia64/ia32/ia32_signal.c +++ b/arch/ia64/ia32/ia32_signal.c | |||
@@ -766,8 +766,19 @@ get_sigframe (struct k_sigaction *ka, struct pt_regs * regs, size_t frame_size) | |||
766 | 766 | ||
767 | /* This is the X/Open sanctioned signal stack switching. */ | 767 | /* This is the X/Open sanctioned signal stack switching. */ |
768 | if (ka->sa.sa_flags & SA_ONSTACK) { | 768 | if (ka->sa.sa_flags & SA_ONSTACK) { |
769 | if (!on_sig_stack(esp)) | 769 | int onstack = sas_ss_flags(esp); |
770 | |||
771 | if (onstack == 0) | ||
770 | esp = current->sas_ss_sp + current->sas_ss_size; | 772 | esp = current->sas_ss_sp + current->sas_ss_size; |
773 | else if (onstack == SS_ONSTACK) { | ||
774 | /* | ||
775 | * If we are on the alternate signal stack and would | ||
776 | * overflow it, don't. Return an always-bogus address | ||
777 | * instead so we will die with SIGSEGV. | ||
778 | */ | ||
779 | if (!likely(on_sig_stack(esp - frame_size))) | ||
780 | return (void __user *) -1L; | ||
781 | } | ||
771 | } | 782 | } |
772 | /* Legacy stack switching not supported */ | 783 | /* Legacy stack switching not supported */ |
773 | 784 | ||
diff --git a/arch/ia64/ia32/sys_ia32.c b/arch/ia64/ia32/sys_ia32.c index d025a22eb225..b1bf51fe97b4 100644 --- a/arch/ia64/ia32/sys_ia32.c +++ b/arch/ia64/ia32/sys_ia32.c | |||
@@ -32,13 +32,8 @@ | |||
32 | #include <linux/shm.h> | 32 | #include <linux/shm.h> |
33 | #include <linux/slab.h> | 33 | #include <linux/slab.h> |
34 | #include <linux/uio.h> | 34 | #include <linux/uio.h> |
35 | #include <linux/nfs_fs.h> | 35 | #include <linux/socket.h> |
36 | #include <linux/quota.h> | 36 | #include <linux/quota.h> |
37 | #include <linux/sunrpc/svc.h> | ||
38 | #include <linux/nfsd/nfsd.h> | ||
39 | #include <linux/nfsd/cache.h> | ||
40 | #include <linux/nfsd/xdr.h> | ||
41 | #include <linux/nfsd/syscall.h> | ||
42 | #include <linux/poll.h> | 37 | #include <linux/poll.h> |
43 | #include <linux/eventpoll.h> | 38 | #include <linux/eventpoll.h> |
44 | #include <linux/personality.h> | 39 | #include <linux/personality.h> |
diff --git a/arch/ia64/kernel/crash.c b/arch/ia64/kernel/crash.c index f1cf2df97a2d..fbe742ad2fde 100644 --- a/arch/ia64/kernel/crash.c +++ b/arch/ia64/kernel/crash.c | |||
@@ -155,7 +155,7 @@ kdump_init_notifier(struct notifier_block *self, unsigned long val, void *data) | |||
155 | if (val == DIE_INIT_MONARCH_LEAVE) | 155 | if (val == DIE_INIT_MONARCH_LEAVE) |
156 | ia64_mca_printk(KERN_NOTICE | 156 | ia64_mca_printk(KERN_NOTICE |
157 | "%s: kdump not configured\n", | 157 | "%s: kdump not configured\n", |
158 | __FUNCTION__); | 158 | __func__); |
159 | return NOTIFY_DONE; | 159 | return NOTIFY_DONE; |
160 | } | 160 | } |
161 | 161 | ||
diff --git a/arch/ia64/kernel/efi.c b/arch/ia64/kernel/efi.c index 919070a9aed7..728d7247a1a6 100644 --- a/arch/ia64/kernel/efi.c +++ b/arch/ia64/kernel/efi.c | |||
@@ -379,8 +379,8 @@ efi_get_pal_addr (void) | |||
379 | * a dedicated ITR for the PAL code. | 379 | * a dedicated ITR for the PAL code. |
380 | */ | 380 | */ |
381 | if ((vaddr & mask) == (KERNEL_START & mask)) { | 381 | if ((vaddr & mask) == (KERNEL_START & mask)) { |
382 | printk(KERN_INFO "%s: no need to install ITR for " | 382 | printk(KERN_INFO "%s: no need to install ITR for PAL code\n", |
383 | "PAL code\n", __FUNCTION__); | 383 | __func__); |
384 | continue; | 384 | continue; |
385 | } | 385 | } |
386 | 386 | ||
@@ -399,7 +399,7 @@ efi_get_pal_addr (void) | |||
399 | return __va(md->phys_addr); | 399 | return __va(md->phys_addr); |
400 | } | 400 | } |
401 | printk(KERN_WARNING "%s: no PAL-code memory-descriptor found\n", | 401 | printk(KERN_WARNING "%s: no PAL-code memory-descriptor found\n", |
402 | __FUNCTION__); | 402 | __func__); |
403 | return NULL; | 403 | return NULL; |
404 | } | 404 | } |
405 | 405 | ||
@@ -543,12 +543,30 @@ efi_init (void) | |||
543 | for (i = 0, p = efi_map_start; p < efi_map_end; | 543 | for (i = 0, p = efi_map_start; p < efi_map_end; |
544 | ++i, p += efi_desc_size) | 544 | ++i, p += efi_desc_size) |
545 | { | 545 | { |
546 | const char *unit; | ||
547 | unsigned long size; | ||
548 | |||
546 | md = p; | 549 | md = p; |
547 | printk("mem%02u: type=%u, attr=0x%lx, " | 550 | size = md->num_pages << EFI_PAGE_SHIFT; |
548 | "range=[0x%016lx-0x%016lx) (%luMB)\n", | 551 | |
552 | if ((size >> 40) > 0) { | ||
553 | size >>= 40; | ||
554 | unit = "TB"; | ||
555 | } else if ((size >> 30) > 0) { | ||
556 | size >>= 30; | ||
557 | unit = "GB"; | ||
558 | } else if ((size >> 20) > 0) { | ||
559 | size >>= 20; | ||
560 | unit = "MB"; | ||
561 | } else { | ||
562 | size >>= 10; | ||
563 | unit = "KB"; | ||
564 | } | ||
565 | |||
566 | printk("mem%02d: type=%2u, attr=0x%016lx, " | ||
567 | "range=[0x%016lx-0x%016lx) (%4lu%s)\n", | ||
549 | i, md->type, md->attribute, md->phys_addr, | 568 | i, md->type, md->attribute, md->phys_addr, |
550 | md->phys_addr + efi_md_size(md), | 569 | md->phys_addr + efi_md_size(md), size, unit); |
551 | md->num_pages >> (20 - EFI_PAGE_SHIFT)); | ||
552 | } | 570 | } |
553 | } | 571 | } |
554 | #endif | 572 | #endif |
diff --git a/arch/ia64/kernel/iosapic.c b/arch/ia64/kernel/iosapic.c index 398e2fd1cd25..082c31dcfd99 100644 --- a/arch/ia64/kernel/iosapic.c +++ b/arch/ia64/kernel/iosapic.c | |||
@@ -345,7 +345,7 @@ iosapic_set_affinity (unsigned int irq, cpumask_t mask) | |||
345 | if (cpus_empty(mask)) | 345 | if (cpus_empty(mask)) |
346 | return; | 346 | return; |
347 | 347 | ||
348 | if (reassign_irq_vector(irq, first_cpu(mask))) | 348 | if (irq_prepare_move(irq, first_cpu(mask))) |
349 | return; | 349 | return; |
350 | 350 | ||
351 | dest = cpu_physical_id(first_cpu(mask)); | 351 | dest = cpu_physical_id(first_cpu(mask)); |
@@ -397,6 +397,7 @@ iosapic_end_level_irq (unsigned int irq) | |||
397 | struct iosapic_rte_info *rte; | 397 | struct iosapic_rte_info *rte; |
398 | int do_unmask_irq = 0; | 398 | int do_unmask_irq = 0; |
399 | 399 | ||
400 | irq_complete_move(irq); | ||
400 | if (unlikely(irq_desc[irq].status & IRQ_MOVE_PENDING)) { | 401 | if (unlikely(irq_desc[irq].status & IRQ_MOVE_PENDING)) { |
401 | do_unmask_irq = 1; | 402 | do_unmask_irq = 1; |
402 | mask_irq(irq); | 403 | mask_irq(irq); |
@@ -450,6 +451,7 @@ iosapic_ack_edge_irq (unsigned int irq) | |||
450 | { | 451 | { |
451 | irq_desc_t *idesc = irq_desc + irq; | 452 | irq_desc_t *idesc = irq_desc + irq; |
452 | 453 | ||
454 | irq_complete_move(irq); | ||
453 | move_native_irq(irq); | 455 | move_native_irq(irq); |
454 | /* | 456 | /* |
455 | * Once we have recorded IRQ_PENDING already, we can mask the | 457 | * Once we have recorded IRQ_PENDING already, we can mask the |
@@ -532,7 +534,7 @@ iosapic_reassign_vector (int irq) | |||
532 | if (iosapic_intr_info[irq].count) { | 534 | if (iosapic_intr_info[irq].count) { |
533 | new_irq = create_irq(); | 535 | new_irq = create_irq(); |
534 | if (new_irq < 0) | 536 | if (new_irq < 0) |
535 | panic("%s: out of interrupt vectors!\n", __FUNCTION__); | 537 | panic("%s: out of interrupt vectors!\n", __func__); |
536 | printk(KERN_INFO "Reassigning vector %d to %d\n", | 538 | printk(KERN_INFO "Reassigning vector %d to %d\n", |
537 | irq_to_vector(irq), irq_to_vector(new_irq)); | 539 | irq_to_vector(irq), irq_to_vector(new_irq)); |
538 | memcpy(&iosapic_intr_info[new_irq], &iosapic_intr_info[irq], | 540 | memcpy(&iosapic_intr_info[new_irq], &iosapic_intr_info[irq], |
@@ -597,7 +599,7 @@ register_intr (unsigned int gsi, int irq, unsigned char delivery, | |||
597 | index = find_iosapic(gsi); | 599 | index = find_iosapic(gsi); |
598 | if (index < 0) { | 600 | if (index < 0) { |
599 | printk(KERN_WARNING "%s: No IOSAPIC for GSI %u\n", | 601 | printk(KERN_WARNING "%s: No IOSAPIC for GSI %u\n", |
600 | __FUNCTION__, gsi); | 602 | __func__, gsi); |
601 | return -ENODEV; | 603 | return -ENODEV; |
602 | } | 604 | } |
603 | 605 | ||
@@ -606,7 +608,7 @@ register_intr (unsigned int gsi, int irq, unsigned char delivery, | |||
606 | rte = iosapic_alloc_rte(); | 608 | rte = iosapic_alloc_rte(); |
607 | if (!rte) { | 609 | if (!rte) { |
608 | printk(KERN_WARNING "%s: cannot allocate memory\n", | 610 | printk(KERN_WARNING "%s: cannot allocate memory\n", |
609 | __FUNCTION__); | 611 | __func__); |
610 | return -ENOMEM; | 612 | return -ENOMEM; |
611 | } | 613 | } |
612 | 614 | ||
@@ -623,7 +625,7 @@ register_intr (unsigned int gsi, int irq, unsigned char delivery, | |||
623 | (info->trigger != trigger || info->polarity != polarity)){ | 625 | (info->trigger != trigger || info->polarity != polarity)){ |
624 | printk (KERN_WARNING | 626 | printk (KERN_WARNING |
625 | "%s: cannot override the interrupt\n", | 627 | "%s: cannot override the interrupt\n", |
626 | __FUNCTION__); | 628 | __func__); |
627 | return -EINVAL; | 629 | return -EINVAL; |
628 | } | 630 | } |
629 | rte->refcnt++; | 631 | rte->refcnt++; |
@@ -645,7 +647,7 @@ register_intr (unsigned int gsi, int irq, unsigned char delivery, | |||
645 | if (idesc->chip != &no_irq_type) | 647 | if (idesc->chip != &no_irq_type) |
646 | printk(KERN_WARNING | 648 | printk(KERN_WARNING |
647 | "%s: changing vector %d from %s to %s\n", | 649 | "%s: changing vector %d from %s to %s\n", |
648 | __FUNCTION__, irq_to_vector(irq), | 650 | __func__, irq_to_vector(irq), |
649 | idesc->chip->name, irq_type->name); | 651 | idesc->chip->name, irq_type->name); |
650 | idesc->chip = irq_type; | 652 | idesc->chip = irq_type; |
651 | } | 653 | } |
@@ -918,7 +920,7 @@ iosapic_register_platform_intr (u32 int_type, unsigned int gsi, | |||
918 | case ACPI_INTERRUPT_INIT: | 920 | case ACPI_INTERRUPT_INIT: |
919 | irq = create_irq(); | 921 | irq = create_irq(); |
920 | if (irq < 0) | 922 | if (irq < 0) |
921 | panic("%s: out of interrupt vectors!\n", __FUNCTION__); | 923 | panic("%s: out of interrupt vectors!\n", __func__); |
922 | vector = irq_to_vector(irq); | 924 | vector = irq_to_vector(irq); |
923 | delivery = IOSAPIC_INIT; | 925 | delivery = IOSAPIC_INIT; |
924 | break; | 926 | break; |
@@ -929,7 +931,7 @@ iosapic_register_platform_intr (u32 int_type, unsigned int gsi, | |||
929 | mask = 1; | 931 | mask = 1; |
930 | break; | 932 | break; |
931 | default: | 933 | default: |
932 | printk(KERN_ERR "%s: invalid int type 0x%x\n", __FUNCTION__, | 934 | printk(KERN_ERR "%s: invalid int type 0x%x\n", __func__, |
933 | int_type); | 935 | int_type); |
934 | return -1; | 936 | return -1; |
935 | } | 937 | } |
@@ -994,7 +996,7 @@ iosapic_system_init (int system_pcat_compat) | |||
994 | */ | 996 | */ |
995 | printk(KERN_INFO | 997 | printk(KERN_INFO |
996 | "%s: Disabling PC-AT compatible 8259 interrupts\n", | 998 | "%s: Disabling PC-AT compatible 8259 interrupts\n", |
997 | __FUNCTION__); | 999 | __func__); |
998 | outb(0xff, 0xA1); | 1000 | outb(0xff, 0xA1); |
999 | outb(0xff, 0x21); | 1001 | outb(0xff, 0x21); |
1000 | } | 1002 | } |
@@ -1009,7 +1011,7 @@ iosapic_alloc (void) | |||
1009 | if (!iosapic_lists[index].addr) | 1011 | if (!iosapic_lists[index].addr) |
1010 | return index; | 1012 | return index; |
1011 | 1013 | ||
1012 | printk(KERN_WARNING "%s: failed to allocate iosapic\n", __FUNCTION__); | 1014 | printk(KERN_WARNING "%s: failed to allocate iosapic\n", __func__); |
1013 | return -1; | 1015 | return -1; |
1014 | } | 1016 | } |
1015 | 1017 | ||
@@ -1107,14 +1109,14 @@ iosapic_remove (unsigned int gsi_base) | |||
1107 | index = find_iosapic(gsi_base); | 1109 | index = find_iosapic(gsi_base); |
1108 | if (index < 0) { | 1110 | if (index < 0) { |
1109 | printk(KERN_WARNING "%s: No IOSAPIC for GSI base %u\n", | 1111 | printk(KERN_WARNING "%s: No IOSAPIC for GSI base %u\n", |
1110 | __FUNCTION__, gsi_base); | 1112 | __func__, gsi_base); |
1111 | goto out; | 1113 | goto out; |
1112 | } | 1114 | } |
1113 | 1115 | ||
1114 | if (iosapic_lists[index].rtes_inuse) { | 1116 | if (iosapic_lists[index].rtes_inuse) { |
1115 | err = -EBUSY; | 1117 | err = -EBUSY; |
1116 | printk(KERN_WARNING "%s: IOSAPIC for GSI base %u is busy\n", | 1118 | printk(KERN_WARNING "%s: IOSAPIC for GSI base %u is busy\n", |
1117 | __FUNCTION__, gsi_base); | 1119 | __func__, gsi_base); |
1118 | goto out; | 1120 | goto out; |
1119 | } | 1121 | } |
1120 | 1122 | ||
@@ -1135,7 +1137,7 @@ map_iosapic_to_node(unsigned int gsi_base, int node) | |||
1135 | index = find_iosapic(gsi_base); | 1137 | index = find_iosapic(gsi_base); |
1136 | if (index < 0) { | 1138 | if (index < 0) { |
1137 | printk(KERN_WARNING "%s: No IOSAPIC for GSI %u\n", | 1139 | printk(KERN_WARNING "%s: No IOSAPIC for GSI %u\n", |
1138 | __FUNCTION__, gsi_base); | 1140 | __func__, gsi_base); |
1139 | return; | 1141 | return; |
1140 | } | 1142 | } |
1141 | iosapic_lists[index].node = node; | 1143 | iosapic_lists[index].node = node; |
diff --git a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c index 0b52f19ed046..d8be23fbe6bc 100644 --- a/arch/ia64/kernel/irq_ia64.c +++ b/arch/ia64/kernel/irq_ia64.c | |||
@@ -260,6 +260,8 @@ void __setup_vector_irq(int cpu) | |||
260 | } | 260 | } |
261 | 261 | ||
262 | #if defined(CONFIG_SMP) && (defined(CONFIG_IA64_GENERIC) || defined(CONFIG_IA64_DIG)) | 262 | #if defined(CONFIG_SMP) && (defined(CONFIG_IA64_GENERIC) || defined(CONFIG_IA64_DIG)) |
263 | #define IA64_IRQ_MOVE_VECTOR IA64_DEF_FIRST_DEVICE_VECTOR | ||
264 | |||
263 | static enum vector_domain_type { | 265 | static enum vector_domain_type { |
264 | VECTOR_DOMAIN_NONE, | 266 | VECTOR_DOMAIN_NONE, |
265 | VECTOR_DOMAIN_PERCPU | 267 | VECTOR_DOMAIN_PERCPU |
@@ -272,6 +274,101 @@ static cpumask_t vector_allocation_domain(int cpu) | |||
272 | return CPU_MASK_ALL; | 274 | return CPU_MASK_ALL; |
273 | } | 275 | } |
274 | 276 | ||
277 | static int __irq_prepare_move(int irq, int cpu) | ||
278 | { | ||
279 | struct irq_cfg *cfg = &irq_cfg[irq]; | ||
280 | int vector; | ||
281 | cpumask_t domain; | ||
282 | |||
283 | if (cfg->move_in_progress || cfg->move_cleanup_count) | ||
284 | return -EBUSY; | ||
285 | if (cfg->vector == IRQ_VECTOR_UNASSIGNED || !cpu_online(cpu)) | ||
286 | return -EINVAL; | ||
287 | if (cpu_isset(cpu, cfg->domain)) | ||
288 | return 0; | ||
289 | domain = vector_allocation_domain(cpu); | ||
290 | vector = find_unassigned_vector(domain); | ||
291 | if (vector < 0) | ||
292 | return -ENOSPC; | ||
293 | cfg->move_in_progress = 1; | ||
294 | cfg->old_domain = cfg->domain; | ||
295 | cfg->vector = IRQ_VECTOR_UNASSIGNED; | ||
296 | cfg->domain = CPU_MASK_NONE; | ||
297 | BUG_ON(__bind_irq_vector(irq, vector, domain)); | ||
298 | return 0; | ||
299 | } | ||
300 | |||
301 | int irq_prepare_move(int irq, int cpu) | ||
302 | { | ||
303 | unsigned long flags; | ||
304 | int ret; | ||
305 | |||
306 | spin_lock_irqsave(&vector_lock, flags); | ||
307 | ret = __irq_prepare_move(irq, cpu); | ||
308 | spin_unlock_irqrestore(&vector_lock, flags); | ||
309 | return ret; | ||
310 | } | ||
311 | |||
312 | void irq_complete_move(unsigned irq) | ||
313 | { | ||
314 | struct irq_cfg *cfg = &irq_cfg[irq]; | ||
315 | cpumask_t cleanup_mask; | ||
316 | int i; | ||
317 | |||
318 | if (likely(!cfg->move_in_progress)) | ||
319 | return; | ||
320 | |||
321 | if (unlikely(cpu_isset(smp_processor_id(), cfg->old_domain))) | ||
322 | return; | ||
323 | |||
324 | cpus_and(cleanup_mask, cfg->old_domain, cpu_online_map); | ||
325 | cfg->move_cleanup_count = cpus_weight(cleanup_mask); | ||
326 | for_each_cpu_mask(i, cleanup_mask) | ||
327 | platform_send_ipi(i, IA64_IRQ_MOVE_VECTOR, IA64_IPI_DM_INT, 0); | ||
328 | cfg->move_in_progress = 0; | ||
329 | } | ||
330 | |||
331 | static irqreturn_t smp_irq_move_cleanup_interrupt(int irq, void *dev_id) | ||
332 | { | ||
333 | int me = smp_processor_id(); | ||
334 | ia64_vector vector; | ||
335 | unsigned long flags; | ||
336 | |||
337 | for (vector = IA64_FIRST_DEVICE_VECTOR; | ||
338 | vector < IA64_LAST_DEVICE_VECTOR; vector++) { | ||
339 | int irq; | ||
340 | struct irq_desc *desc; | ||
341 | struct irq_cfg *cfg; | ||
342 | irq = __get_cpu_var(vector_irq)[vector]; | ||
343 | if (irq < 0) | ||
344 | continue; | ||
345 | |||
346 | desc = irq_desc + irq; | ||
347 | cfg = irq_cfg + irq; | ||
348 | spin_lock(&desc->lock); | ||
349 | if (!cfg->move_cleanup_count) | ||
350 | goto unlock; | ||
351 | |||
352 | if (!cpu_isset(me, cfg->old_domain)) | ||
353 | goto unlock; | ||
354 | |||
355 | spin_lock_irqsave(&vector_lock, flags); | ||
356 | __get_cpu_var(vector_irq)[vector] = -1; | ||
357 | cpu_clear(me, vector_table[vector]); | ||
358 | spin_unlock_irqrestore(&vector_lock, flags); | ||
359 | cfg->move_cleanup_count--; | ||
360 | unlock: | ||
361 | spin_unlock(&desc->lock); | ||
362 | } | ||
363 | return IRQ_HANDLED; | ||
364 | } | ||
365 | |||
366 | static struct irqaction irq_move_irqaction = { | ||
367 | .handler = smp_irq_move_cleanup_interrupt, | ||
368 | .flags = IRQF_DISABLED, | ||
369 | .name = "irq_move" | ||
370 | }; | ||
371 | |||
275 | static int __init parse_vector_domain(char *arg) | 372 | static int __init parse_vector_domain(char *arg) |
276 | { | 373 | { |
277 | if (!arg) | 374 | if (!arg) |
@@ -303,36 +400,6 @@ void destroy_and_reserve_irq(unsigned int irq) | |||
303 | spin_unlock_irqrestore(&vector_lock, flags); | 400 | spin_unlock_irqrestore(&vector_lock, flags); |
304 | } | 401 | } |
305 | 402 | ||
306 | static int __reassign_irq_vector(int irq, int cpu) | ||
307 | { | ||
308 | struct irq_cfg *cfg = &irq_cfg[irq]; | ||
309 | int vector; | ||
310 | cpumask_t domain; | ||
311 | |||
312 | if (cfg->vector == IRQ_VECTOR_UNASSIGNED || !cpu_online(cpu)) | ||
313 | return -EINVAL; | ||
314 | if (cpu_isset(cpu, cfg->domain)) | ||
315 | return 0; | ||
316 | domain = vector_allocation_domain(cpu); | ||
317 | vector = find_unassigned_vector(domain); | ||
318 | if (vector < 0) | ||
319 | return -ENOSPC; | ||
320 | __clear_irq_vector(irq); | ||
321 | BUG_ON(__bind_irq_vector(irq, vector, domain)); | ||
322 | return 0; | ||
323 | } | ||
324 | |||
325 | int reassign_irq_vector(int irq, int cpu) | ||
326 | { | ||
327 | unsigned long flags; | ||
328 | int ret; | ||
329 | |||
330 | spin_lock_irqsave(&vector_lock, flags); | ||
331 | ret = __reassign_irq_vector(irq, cpu); | ||
332 | spin_unlock_irqrestore(&vector_lock, flags); | ||
333 | return ret; | ||
334 | } | ||
335 | |||
336 | /* | 403 | /* |
337 | * Dynamic irq allocate and deallocation for MSI | 404 | * Dynamic irq allocate and deallocation for MSI |
338 | */ | 405 | */ |
@@ -440,7 +507,7 @@ ia64_handle_irq (ia64_vector vector, struct pt_regs *regs) | |||
440 | if (unlikely(irq < 0)) { | 507 | if (unlikely(irq < 0)) { |
441 | printk(KERN_ERR "%s: Unexpected interrupt " | 508 | printk(KERN_ERR "%s: Unexpected interrupt " |
442 | "vector %d on CPU %d is not mapped " | 509 | "vector %d on CPU %d is not mapped " |
443 | "to any IRQ!\n", __FUNCTION__, vector, | 510 | "to any IRQ!\n", __func__, vector, |
444 | smp_processor_id()); | 511 | smp_processor_id()); |
445 | } else | 512 | } else |
446 | generic_handle_irq(irq); | 513 | generic_handle_irq(irq); |
@@ -505,7 +572,7 @@ void ia64_process_pending_intr(void) | |||
505 | if (unlikely(irq < 0)) { | 572 | if (unlikely(irq < 0)) { |
506 | printk(KERN_ERR "%s: Unexpected interrupt " | 573 | printk(KERN_ERR "%s: Unexpected interrupt " |
507 | "vector %d on CPU %d not being mapped " | 574 | "vector %d on CPU %d not being mapped " |
508 | "to any IRQ!!\n", __FUNCTION__, vector, | 575 | "to any IRQ!!\n", __func__, vector, |
509 | smp_processor_id()); | 576 | smp_processor_id()); |
510 | } else { | 577 | } else { |
511 | vectors_in_migration[irq]=0; | 578 | vectors_in_migration[irq]=0; |
@@ -578,6 +645,13 @@ init_IRQ (void) | |||
578 | register_percpu_irq(IA64_IPI_VECTOR, &ipi_irqaction); | 645 | register_percpu_irq(IA64_IPI_VECTOR, &ipi_irqaction); |
579 | register_percpu_irq(IA64_IPI_RESCHEDULE, &resched_irqaction); | 646 | register_percpu_irq(IA64_IPI_RESCHEDULE, &resched_irqaction); |
580 | register_percpu_irq(IA64_IPI_LOCAL_TLB_FLUSH, &tlb_irqaction); | 647 | register_percpu_irq(IA64_IPI_LOCAL_TLB_FLUSH, &tlb_irqaction); |
648 | #if defined(CONFIG_IA64_GENERIC) || defined(CONFIG_IA64_DIG) | ||
649 | if (vector_domain_type != VECTOR_DOMAIN_NONE) { | ||
650 | BUG_ON(IA64_FIRST_DEVICE_VECTOR != IA64_IRQ_MOVE_VECTOR); | ||
651 | IA64_FIRST_DEVICE_VECTOR++; | ||
652 | register_percpu_irq(IA64_IRQ_MOVE_VECTOR, &irq_move_irqaction); | ||
653 | } | ||
654 | #endif | ||
581 | #endif | 655 | #endif |
582 | #ifdef CONFIG_PERFMON | 656 | #ifdef CONFIG_PERFMON |
583 | pfm_init_percpu(); | 657 | pfm_init_percpu(); |
@@ -592,11 +666,7 @@ ia64_send_ipi (int cpu, int vector, int delivery_mode, int redirect) | |||
592 | unsigned long ipi_data; | 666 | unsigned long ipi_data; |
593 | unsigned long phys_cpu_id; | 667 | unsigned long phys_cpu_id; |
594 | 668 | ||
595 | #ifdef CONFIG_SMP | ||
596 | phys_cpu_id = cpu_physical_id(cpu); | 669 | phys_cpu_id = cpu_physical_id(cpu); |
597 | #else | ||
598 | phys_cpu_id = (ia64_getreg(_IA64_REG_CR_LID) >> 16) & 0xffff; | ||
599 | #endif | ||
600 | 670 | ||
601 | /* | 671 | /* |
602 | * cpu number is in 8bit ID and 8bit EID | 672 | * cpu number is in 8bit ID and 8bit EID |
diff --git a/arch/ia64/kernel/kprobes.c b/arch/ia64/kernel/kprobes.c index b618487cdc85..8d9a446a0d17 100644 --- a/arch/ia64/kernel/kprobes.c +++ b/arch/ia64/kernel/kprobes.c | |||
@@ -838,7 +838,7 @@ out: | |||
838 | return 1; | 838 | return 1; |
839 | } | 839 | } |
840 | 840 | ||
841 | int __kprobes kprobes_fault_handler(struct pt_regs *regs, int trapnr) | 841 | int __kprobes kprobe_fault_handler(struct pt_regs *regs, int trapnr) |
842 | { | 842 | { |
843 | struct kprobe *cur = kprobe_running(); | 843 | struct kprobe *cur = kprobe_running(); |
844 | struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); | 844 | struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); |
@@ -1001,6 +1001,11 @@ int __kprobes setjmp_pre_handler(struct kprobe *p, struct pt_regs *regs) | |||
1001 | return 1; | 1001 | return 1; |
1002 | } | 1002 | } |
1003 | 1003 | ||
1004 | /* ia64 does not need this */ | ||
1005 | void __kprobes jprobe_return(void) | ||
1006 | { | ||
1007 | } | ||
1008 | |||
1004 | int __kprobes longjmp_break_handler(struct kprobe *p, struct pt_regs *regs) | 1009 | int __kprobes longjmp_break_handler(struct kprobe *p, struct pt_regs *regs) |
1005 | { | 1010 | { |
1006 | struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); | 1011 | struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); |
diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c index 6e17aed53135..6c18221dba36 100644 --- a/arch/ia64/kernel/mca.c +++ b/arch/ia64/kernel/mca.c | |||
@@ -413,8 +413,8 @@ ia64_log_get(int sal_info_type, u8 **buffer, int irq_safe) | |||
413 | IA64_LOG_INDEX_INC(sal_info_type); | 413 | IA64_LOG_INDEX_INC(sal_info_type); |
414 | IA64_LOG_UNLOCK(sal_info_type); | 414 | IA64_LOG_UNLOCK(sal_info_type); |
415 | if (irq_safe) { | 415 | if (irq_safe) { |
416 | IA64_MCA_DEBUG("%s: SAL error record type %d retrieved. " | 416 | IA64_MCA_DEBUG("%s: SAL error record type %d retrieved. Record length = %ld\n", |
417 | "Record length = %ld\n", __FUNCTION__, sal_info_type, total_len); | 417 | __func__, sal_info_type, total_len); |
418 | } | 418 | } |
419 | *buffer = (u8 *) log_buffer; | 419 | *buffer = (u8 *) log_buffer; |
420 | return total_len; | 420 | return total_len; |
@@ -518,7 +518,7 @@ ia64_mca_cpe_int_handler (int cpe_irq, void *arg) | |||
518 | static DEFINE_SPINLOCK(cpe_history_lock); | 518 | static DEFINE_SPINLOCK(cpe_history_lock); |
519 | 519 | ||
520 | IA64_MCA_DEBUG("%s: received interrupt vector = %#x on CPU %d\n", | 520 | IA64_MCA_DEBUG("%s: received interrupt vector = %#x on CPU %d\n", |
521 | __FUNCTION__, cpe_irq, smp_processor_id()); | 521 | __func__, cpe_irq, smp_processor_id()); |
522 | 522 | ||
523 | /* SAL spec states this should run w/ interrupts enabled */ | 523 | /* SAL spec states this should run w/ interrupts enabled */ |
524 | local_irq_enable(); | 524 | local_irq_enable(); |
@@ -594,7 +594,7 @@ ia64_mca_register_cpev (int cpev) | |||
594 | } | 594 | } |
595 | 595 | ||
596 | IA64_MCA_DEBUG("%s: corrected platform error " | 596 | IA64_MCA_DEBUG("%s: corrected platform error " |
597 | "vector %#x registered\n", __FUNCTION__, cpev); | 597 | "vector %#x registered\n", __func__, cpev); |
598 | } | 598 | } |
599 | #endif /* CONFIG_ACPI */ | 599 | #endif /* CONFIG_ACPI */ |
600 | 600 | ||
@@ -621,12 +621,11 @@ ia64_mca_cmc_vector_setup (void) | |||
621 | cmcv.cmcv_vector = IA64_CMC_VECTOR; | 621 | cmcv.cmcv_vector = IA64_CMC_VECTOR; |
622 | ia64_setreg(_IA64_REG_CR_CMCV, cmcv.cmcv_regval); | 622 | ia64_setreg(_IA64_REG_CR_CMCV, cmcv.cmcv_regval); |
623 | 623 | ||
624 | IA64_MCA_DEBUG("%s: CPU %d corrected " | 624 | IA64_MCA_DEBUG("%s: CPU %d corrected machine check vector %#x registered.\n", |
625 | "machine check vector %#x registered.\n", | 625 | __func__, smp_processor_id(), IA64_CMC_VECTOR); |
626 | __FUNCTION__, smp_processor_id(), IA64_CMC_VECTOR); | ||
627 | 626 | ||
628 | IA64_MCA_DEBUG("%s: CPU %d CMCV = %#016lx\n", | 627 | IA64_MCA_DEBUG("%s: CPU %d CMCV = %#016lx\n", |
629 | __FUNCTION__, smp_processor_id(), ia64_getreg(_IA64_REG_CR_CMCV)); | 628 | __func__, smp_processor_id(), ia64_getreg(_IA64_REG_CR_CMCV)); |
630 | } | 629 | } |
631 | 630 | ||
632 | /* | 631 | /* |
@@ -651,9 +650,8 @@ ia64_mca_cmc_vector_disable (void *dummy) | |||
651 | cmcv.cmcv_mask = 1; /* Mask/disable interrupt */ | 650 | cmcv.cmcv_mask = 1; /* Mask/disable interrupt */ |
652 | ia64_setreg(_IA64_REG_CR_CMCV, cmcv.cmcv_regval); | 651 | ia64_setreg(_IA64_REG_CR_CMCV, cmcv.cmcv_regval); |
653 | 652 | ||
654 | IA64_MCA_DEBUG("%s: CPU %d corrected " | 653 | IA64_MCA_DEBUG("%s: CPU %d corrected machine check vector %#x disabled.\n", |
655 | "machine check vector %#x disabled.\n", | 654 | __func__, smp_processor_id(), cmcv.cmcv_vector); |
656 | __FUNCTION__, smp_processor_id(), cmcv.cmcv_vector); | ||
657 | } | 655 | } |
658 | 656 | ||
659 | /* | 657 | /* |
@@ -678,9 +676,8 @@ ia64_mca_cmc_vector_enable (void *dummy) | |||
678 | cmcv.cmcv_mask = 0; /* Unmask/enable interrupt */ | 676 | cmcv.cmcv_mask = 0; /* Unmask/enable interrupt */ |
679 | ia64_setreg(_IA64_REG_CR_CMCV, cmcv.cmcv_regval); | 677 | ia64_setreg(_IA64_REG_CR_CMCV, cmcv.cmcv_regval); |
680 | 678 | ||
681 | IA64_MCA_DEBUG("%s: CPU %d corrected " | 679 | IA64_MCA_DEBUG("%s: CPU %d corrected machine check vector %#x enabled.\n", |
682 | "machine check vector %#x enabled.\n", | 680 | __func__, smp_processor_id(), cmcv.cmcv_vector); |
683 | __FUNCTION__, smp_processor_id(), cmcv.cmcv_vector); | ||
684 | } | 681 | } |
685 | 682 | ||
686 | /* | 683 | /* |
@@ -767,7 +764,7 @@ ia64_mca_rendez_int_handler(int rendez_irq, void *arg) | |||
767 | local_irq_save(flags); | 764 | local_irq_save(flags); |
768 | if (notify_die(DIE_MCA_RENDZVOUS_ENTER, "MCA", get_irq_regs(), | 765 | if (notify_die(DIE_MCA_RENDZVOUS_ENTER, "MCA", get_irq_regs(), |
769 | (long)&nd, 0, 0) == NOTIFY_STOP) | 766 | (long)&nd, 0, 0) == NOTIFY_STOP) |
770 | ia64_mca_spin(__FUNCTION__); | 767 | ia64_mca_spin(__func__); |
771 | 768 | ||
772 | ia64_mc_info.imi_rendez_checkin[cpu] = IA64_MCA_RENDEZ_CHECKIN_DONE; | 769 | ia64_mc_info.imi_rendez_checkin[cpu] = IA64_MCA_RENDEZ_CHECKIN_DONE; |
773 | /* Register with the SAL monarch that the slave has | 770 | /* Register with the SAL monarch that the slave has |
@@ -777,7 +774,7 @@ ia64_mca_rendez_int_handler(int rendez_irq, void *arg) | |||
777 | 774 | ||
778 | if (notify_die(DIE_MCA_RENDZVOUS_PROCESS, "MCA", get_irq_regs(), | 775 | if (notify_die(DIE_MCA_RENDZVOUS_PROCESS, "MCA", get_irq_regs(), |
779 | (long)&nd, 0, 0) == NOTIFY_STOP) | 776 | (long)&nd, 0, 0) == NOTIFY_STOP) |
780 | ia64_mca_spin(__FUNCTION__); | 777 | ia64_mca_spin(__func__); |
781 | 778 | ||
782 | /* Wait for the monarch cpu to exit. */ | 779 | /* Wait for the monarch cpu to exit. */ |
783 | while (monarch_cpu != -1) | 780 | while (monarch_cpu != -1) |
@@ -785,7 +782,7 @@ ia64_mca_rendez_int_handler(int rendez_irq, void *arg) | |||
785 | 782 | ||
786 | if (notify_die(DIE_MCA_RENDZVOUS_LEAVE, "MCA", get_irq_regs(), | 783 | if (notify_die(DIE_MCA_RENDZVOUS_LEAVE, "MCA", get_irq_regs(), |
787 | (long)&nd, 0, 0) == NOTIFY_STOP) | 784 | (long)&nd, 0, 0) == NOTIFY_STOP) |
788 | ia64_mca_spin(__FUNCTION__); | 785 | ia64_mca_spin(__func__); |
789 | 786 | ||
790 | ia64_mc_info.imi_rendez_checkin[cpu] = IA64_MCA_RENDEZ_CHECKIN_NOTDONE; | 787 | ia64_mc_info.imi_rendez_checkin[cpu] = IA64_MCA_RENDEZ_CHECKIN_NOTDONE; |
791 | /* Enable all interrupts */ | 788 | /* Enable all interrupts */ |
@@ -1230,7 +1227,7 @@ ia64_mca_handler(struct pt_regs *regs, struct switch_stack *sw, | |||
1230 | 1227 | ||
1231 | if (notify_die(DIE_MCA_MONARCH_ENTER, "MCA", regs, (long)&nd, 0, 0) | 1228 | if (notify_die(DIE_MCA_MONARCH_ENTER, "MCA", regs, (long)&nd, 0, 0) |
1232 | == NOTIFY_STOP) | 1229 | == NOTIFY_STOP) |
1233 | ia64_mca_spin(__FUNCTION__); | 1230 | ia64_mca_spin(__func__); |
1234 | 1231 | ||
1235 | ia64_mc_info.imi_rendez_checkin[cpu] = IA64_MCA_RENDEZ_CHECKIN_CONCURRENT_MCA; | 1232 | ia64_mc_info.imi_rendez_checkin[cpu] = IA64_MCA_RENDEZ_CHECKIN_CONCURRENT_MCA; |
1236 | if (sos->monarch) { | 1233 | if (sos->monarch) { |
@@ -1246,7 +1243,7 @@ ia64_mca_handler(struct pt_regs *regs, struct switch_stack *sw, | |||
1246 | ia64_mca_wakeup_all(); | 1243 | ia64_mca_wakeup_all(); |
1247 | if (notify_die(DIE_MCA_MONARCH_PROCESS, "MCA", regs, (long)&nd, 0, 0) | 1244 | if (notify_die(DIE_MCA_MONARCH_PROCESS, "MCA", regs, (long)&nd, 0, 0) |
1248 | == NOTIFY_STOP) | 1245 | == NOTIFY_STOP) |
1249 | ia64_mca_spin(__FUNCTION__); | 1246 | ia64_mca_spin(__func__); |
1250 | } else { | 1247 | } else { |
1251 | while (cpu_isset(cpu, mca_cpu)) | 1248 | while (cpu_isset(cpu, mca_cpu)) |
1252 | cpu_relax(); /* spin until monarch wakes us */ | 1249 | cpu_relax(); /* spin until monarch wakes us */ |
@@ -1276,7 +1273,7 @@ ia64_mca_handler(struct pt_regs *regs, struct switch_stack *sw, | |||
1276 | } | 1273 | } |
1277 | if (notify_die(DIE_MCA_MONARCH_LEAVE, "MCA", regs, (long)&nd, 0, recover) | 1274 | if (notify_die(DIE_MCA_MONARCH_LEAVE, "MCA", regs, (long)&nd, 0, recover) |
1278 | == NOTIFY_STOP) | 1275 | == NOTIFY_STOP) |
1279 | ia64_mca_spin(__FUNCTION__); | 1276 | ia64_mca_spin(__func__); |
1280 | 1277 | ||
1281 | 1278 | ||
1282 | if (atomic_dec_return(&mca_count) > 0) { | 1279 | if (atomic_dec_return(&mca_count) > 0) { |
@@ -1328,7 +1325,7 @@ ia64_mca_cmc_int_handler(int cmc_irq, void *arg) | |||
1328 | static DEFINE_SPINLOCK(cmc_history_lock); | 1325 | static DEFINE_SPINLOCK(cmc_history_lock); |
1329 | 1326 | ||
1330 | IA64_MCA_DEBUG("%s: received interrupt vector = %#x on CPU %d\n", | 1327 | IA64_MCA_DEBUG("%s: received interrupt vector = %#x on CPU %d\n", |
1331 | __FUNCTION__, cmc_irq, smp_processor_id()); | 1328 | __func__, cmc_irq, smp_processor_id()); |
1332 | 1329 | ||
1333 | /* SAL spec states this should run w/ interrupts enabled */ | 1330 | /* SAL spec states this should run w/ interrupts enabled */ |
1334 | local_irq_enable(); | 1331 | local_irq_enable(); |
@@ -1614,7 +1611,7 @@ ia64_init_handler(struct pt_regs *regs, struct switch_stack *sw, | |||
1614 | */ | 1611 | */ |
1615 | if (!sos->monarch && atomic_add_return(1, &slaves) == num_online_cpus()) { | 1612 | if (!sos->monarch && atomic_add_return(1, &slaves) == num_online_cpus()) { |
1616 | mprintk(KERN_WARNING "%s: Promoting cpu %d to monarch.\n", | 1613 | mprintk(KERN_WARNING "%s: Promoting cpu %d to monarch.\n", |
1617 | __FUNCTION__, cpu); | 1614 | __func__, cpu); |
1618 | atomic_dec(&slaves); | 1615 | atomic_dec(&slaves); |
1619 | sos->monarch = 1; | 1616 | sos->monarch = 1; |
1620 | } | 1617 | } |
@@ -1626,7 +1623,7 @@ ia64_init_handler(struct pt_regs *regs, struct switch_stack *sw, | |||
1626 | */ | 1623 | */ |
1627 | if (sos->monarch && atomic_add_return(1, &monarchs) > 1) { | 1624 | if (sos->monarch && atomic_add_return(1, &monarchs) > 1) { |
1628 | mprintk(KERN_WARNING "%s: Demoting cpu %d to slave.\n", | 1625 | mprintk(KERN_WARNING "%s: Demoting cpu %d to slave.\n", |
1629 | __FUNCTION__, cpu); | 1626 | __func__, cpu); |
1630 | atomic_dec(&monarchs); | 1627 | atomic_dec(&monarchs); |
1631 | sos->monarch = 0; | 1628 | sos->monarch = 0; |
1632 | } | 1629 | } |
@@ -1637,15 +1634,15 @@ ia64_init_handler(struct pt_regs *regs, struct switch_stack *sw, | |||
1637 | cpu_relax(); /* spin until monarch enters */ | 1634 | cpu_relax(); /* spin until monarch enters */ |
1638 | if (notify_die(DIE_INIT_SLAVE_ENTER, "INIT", regs, (long)&nd, 0, 0) | 1635 | if (notify_die(DIE_INIT_SLAVE_ENTER, "INIT", regs, (long)&nd, 0, 0) |
1639 | == NOTIFY_STOP) | 1636 | == NOTIFY_STOP) |
1640 | ia64_mca_spin(__FUNCTION__); | 1637 | ia64_mca_spin(__func__); |
1641 | if (notify_die(DIE_INIT_SLAVE_PROCESS, "INIT", regs, (long)&nd, 0, 0) | 1638 | if (notify_die(DIE_INIT_SLAVE_PROCESS, "INIT", regs, (long)&nd, 0, 0) |
1642 | == NOTIFY_STOP) | 1639 | == NOTIFY_STOP) |
1643 | ia64_mca_spin(__FUNCTION__); | 1640 | ia64_mca_spin(__func__); |
1644 | while (monarch_cpu != -1) | 1641 | while (monarch_cpu != -1) |
1645 | cpu_relax(); /* spin until monarch leaves */ | 1642 | cpu_relax(); /* spin until monarch leaves */ |
1646 | if (notify_die(DIE_INIT_SLAVE_LEAVE, "INIT", regs, (long)&nd, 0, 0) | 1643 | if (notify_die(DIE_INIT_SLAVE_LEAVE, "INIT", regs, (long)&nd, 0, 0) |
1647 | == NOTIFY_STOP) | 1644 | == NOTIFY_STOP) |
1648 | ia64_mca_spin(__FUNCTION__); | 1645 | ia64_mca_spin(__func__); |
1649 | mprintk("Slave on cpu %d returning to normal service.\n", cpu); | 1646 | mprintk("Slave on cpu %d returning to normal service.\n", cpu); |
1650 | set_curr_task(cpu, previous_current); | 1647 | set_curr_task(cpu, previous_current); |
1651 | ia64_mc_info.imi_rendez_checkin[cpu] = IA64_MCA_RENDEZ_CHECKIN_NOTDONE; | 1648 | ia64_mc_info.imi_rendez_checkin[cpu] = IA64_MCA_RENDEZ_CHECKIN_NOTDONE; |
@@ -1656,7 +1653,7 @@ ia64_init_handler(struct pt_regs *regs, struct switch_stack *sw, | |||
1656 | monarch_cpu = cpu; | 1653 | monarch_cpu = cpu; |
1657 | if (notify_die(DIE_INIT_MONARCH_ENTER, "INIT", regs, (long)&nd, 0, 0) | 1654 | if (notify_die(DIE_INIT_MONARCH_ENTER, "INIT", regs, (long)&nd, 0, 0) |
1658 | == NOTIFY_STOP) | 1655 | == NOTIFY_STOP) |
1659 | ia64_mca_spin(__FUNCTION__); | 1656 | ia64_mca_spin(__func__); |
1660 | 1657 | ||
1661 | /* | 1658 | /* |
1662 | * Wait for a bit. On some machines (e.g., HP's zx2000 and zx6000, INIT can be | 1659 | * Wait for a bit. On some machines (e.g., HP's zx2000 and zx6000, INIT can be |
@@ -1673,10 +1670,10 @@ ia64_init_handler(struct pt_regs *regs, struct switch_stack *sw, | |||
1673 | */ | 1670 | */ |
1674 | if (notify_die(DIE_INIT_MONARCH_PROCESS, "INIT", regs, (long)&nd, 0, 0) | 1671 | if (notify_die(DIE_INIT_MONARCH_PROCESS, "INIT", regs, (long)&nd, 0, 0) |
1675 | == NOTIFY_STOP) | 1672 | == NOTIFY_STOP) |
1676 | ia64_mca_spin(__FUNCTION__); | 1673 | ia64_mca_spin(__func__); |
1677 | if (notify_die(DIE_INIT_MONARCH_LEAVE, "INIT", regs, (long)&nd, 0, 0) | 1674 | if (notify_die(DIE_INIT_MONARCH_LEAVE, "INIT", regs, (long)&nd, 0, 0) |
1678 | == NOTIFY_STOP) | 1675 | == NOTIFY_STOP) |
1679 | ia64_mca_spin(__FUNCTION__); | 1676 | ia64_mca_spin(__func__); |
1680 | mprintk("\nINIT dump complete. Monarch on cpu %d returning to normal service.\n", cpu); | 1677 | mprintk("\nINIT dump complete. Monarch on cpu %d returning to normal service.\n", cpu); |
1681 | atomic_dec(&monarchs); | 1678 | atomic_dec(&monarchs); |
1682 | set_curr_task(cpu, previous_current); | 1679 | set_curr_task(cpu, previous_current); |
@@ -1884,7 +1881,7 @@ ia64_mca_init(void) | |||
1884 | .priority = 0/* we need to notified last */ | 1881 | .priority = 0/* we need to notified last */ |
1885 | }; | 1882 | }; |
1886 | 1883 | ||
1887 | IA64_MCA_DEBUG("%s: begin\n", __FUNCTION__); | 1884 | IA64_MCA_DEBUG("%s: begin\n", __func__); |
1888 | 1885 | ||
1889 | /* Clear the Rendez checkin flag for all cpus */ | 1886 | /* Clear the Rendez checkin flag for all cpus */ |
1890 | for(i = 0 ; i < NR_CPUS; i++) | 1887 | for(i = 0 ; i < NR_CPUS; i++) |
@@ -1928,7 +1925,7 @@ ia64_mca_init(void) | |||
1928 | return; | 1925 | return; |
1929 | } | 1926 | } |
1930 | 1927 | ||
1931 | IA64_MCA_DEBUG("%s: registered MCA rendezvous spinloop and wakeup mech.\n", __FUNCTION__); | 1928 | IA64_MCA_DEBUG("%s: registered MCA rendezvous spinloop and wakeup mech.\n", __func__); |
1932 | 1929 | ||
1933 | ia64_mc_info.imi_mca_handler = ia64_tpa(mca_hldlr_ptr->fp); | 1930 | ia64_mc_info.imi_mca_handler = ia64_tpa(mca_hldlr_ptr->fp); |
1934 | /* | 1931 | /* |
@@ -1949,7 +1946,7 @@ ia64_mca_init(void) | |||
1949 | return; | 1946 | return; |
1950 | } | 1947 | } |
1951 | 1948 | ||
1952 | IA64_MCA_DEBUG("%s: registered OS MCA handler with SAL at 0x%lx, gp = 0x%lx\n", __FUNCTION__, | 1949 | IA64_MCA_DEBUG("%s: registered OS MCA handler with SAL at 0x%lx, gp = 0x%lx\n", __func__, |
1953 | ia64_mc_info.imi_mca_handler, ia64_tpa(mca_hldlr_ptr->gp)); | 1950 | ia64_mc_info.imi_mca_handler, ia64_tpa(mca_hldlr_ptr->gp)); |
1954 | 1951 | ||
1955 | /* | 1952 | /* |
@@ -1961,7 +1958,7 @@ ia64_mca_init(void) | |||
1961 | ia64_mc_info.imi_slave_init_handler = ia64_tpa(init_hldlr_ptr_slave->fp); | 1958 | ia64_mc_info.imi_slave_init_handler = ia64_tpa(init_hldlr_ptr_slave->fp); |
1962 | ia64_mc_info.imi_slave_init_handler_size = 0; | 1959 | ia64_mc_info.imi_slave_init_handler_size = 0; |
1963 | 1960 | ||
1964 | IA64_MCA_DEBUG("%s: OS INIT handler at %lx\n", __FUNCTION__, | 1961 | IA64_MCA_DEBUG("%s: OS INIT handler at %lx\n", __func__, |
1965 | ia64_mc_info.imi_monarch_init_handler); | 1962 | ia64_mc_info.imi_monarch_init_handler); |
1966 | 1963 | ||
1967 | /* Register the os init handler with SAL */ | 1964 | /* Register the os init handler with SAL */ |
@@ -1982,7 +1979,7 @@ ia64_mca_init(void) | |||
1982 | return; | 1979 | return; |
1983 | } | 1980 | } |
1984 | 1981 | ||
1985 | IA64_MCA_DEBUG("%s: registered OS INIT handler with SAL\n", __FUNCTION__); | 1982 | IA64_MCA_DEBUG("%s: registered OS INIT handler with SAL\n", __func__); |
1986 | 1983 | ||
1987 | /* | 1984 | /* |
1988 | * Configure the CMCI/P vector and handler. Interrupts for CMC are | 1985 | * Configure the CMCI/P vector and handler. Interrupts for CMC are |
@@ -2042,7 +2039,7 @@ ia64_mca_late_init(void) | |||
2042 | cmc_polling_enabled = 0; | 2039 | cmc_polling_enabled = 0; |
2043 | schedule_work(&cmc_enable_work); | 2040 | schedule_work(&cmc_enable_work); |
2044 | 2041 | ||
2045 | IA64_MCA_DEBUG("%s: CMCI/P setup and enabled.\n", __FUNCTION__); | 2042 | IA64_MCA_DEBUG("%s: CMCI/P setup and enabled.\n", __func__); |
2046 | 2043 | ||
2047 | #ifdef CONFIG_ACPI | 2044 | #ifdef CONFIG_ACPI |
2048 | /* Setup the CPEI/P vector and handler */ | 2045 | /* Setup the CPEI/P vector and handler */ |
@@ -2065,17 +2062,17 @@ ia64_mca_late_init(void) | |||
2065 | ia64_cpe_irq = irq; | 2062 | ia64_cpe_irq = irq; |
2066 | ia64_mca_register_cpev(cpe_vector); | 2063 | ia64_mca_register_cpev(cpe_vector); |
2067 | IA64_MCA_DEBUG("%s: CPEI/P setup and enabled.\n", | 2064 | IA64_MCA_DEBUG("%s: CPEI/P setup and enabled.\n", |
2068 | __FUNCTION__); | 2065 | __func__); |
2069 | return 0; | 2066 | return 0; |
2070 | } | 2067 | } |
2071 | printk(KERN_ERR "%s: Failed to find irq for CPE " | 2068 | printk(KERN_ERR "%s: Failed to find irq for CPE " |
2072 | "interrupt handler, vector %d\n", | 2069 | "interrupt handler, vector %d\n", |
2073 | __FUNCTION__, cpe_vector); | 2070 | __func__, cpe_vector); |
2074 | } | 2071 | } |
2075 | /* If platform doesn't support CPEI, get the timer going. */ | 2072 | /* If platform doesn't support CPEI, get the timer going. */ |
2076 | if (cpe_poll_enabled) { | 2073 | if (cpe_poll_enabled) { |
2077 | ia64_mca_cpe_poll(0UL); | 2074 | ia64_mca_cpe_poll(0UL); |
2078 | IA64_MCA_DEBUG("%s: CPEP setup and enabled.\n", __FUNCTION__); | 2075 | IA64_MCA_DEBUG("%s: CPEP setup and enabled.\n", __func__); |
2079 | } | 2076 | } |
2080 | } | 2077 | } |
2081 | #endif | 2078 | #endif |
diff --git a/arch/ia64/kernel/module.c b/arch/ia64/kernel/module.c index e58f4367cf11..e83e2ea3b3e0 100644 --- a/arch/ia64/kernel/module.c +++ b/arch/ia64/kernel/module.c | |||
@@ -493,7 +493,7 @@ module_frob_arch_sections (Elf_Ehdr *ehdr, Elf_Shdr *sechdrs, char *secstrings, | |||
493 | mod->arch.opd->sh_addralign = 8; | 493 | mod->arch.opd->sh_addralign = 8; |
494 | mod->arch.opd->sh_size = fdescs * sizeof(struct fdesc); | 494 | mod->arch.opd->sh_size = fdescs * sizeof(struct fdesc); |
495 | DEBUGP("%s: core.plt=%lx, init.plt=%lx, got=%lx, fdesc=%lx\n", | 495 | DEBUGP("%s: core.plt=%lx, init.plt=%lx, got=%lx, fdesc=%lx\n", |
496 | __FUNCTION__, mod->arch.core_plt->sh_size, mod->arch.init_plt->sh_size, | 496 | __func__, mod->arch.core_plt->sh_size, mod->arch.init_plt->sh_size, |
497 | mod->arch.got->sh_size, mod->arch.opd->sh_size); | 497 | mod->arch.got->sh_size, mod->arch.opd->sh_size); |
498 | return 0; | 498 | return 0; |
499 | } | 499 | } |
@@ -585,7 +585,7 @@ get_plt (struct module *mod, const struct insn *insn, uint64_t value, int *okp) | |||
585 | #if ARCH_MODULE_DEBUG | 585 | #if ARCH_MODULE_DEBUG |
586 | if (plt_target(plt) != target_ip) { | 586 | if (plt_target(plt) != target_ip) { |
587 | printk("%s: mistargeted PLT: wanted %lx, got %lx\n", | 587 | printk("%s: mistargeted PLT: wanted %lx, got %lx\n", |
588 | __FUNCTION__, target_ip, plt_target(plt)); | 588 | __func__, target_ip, plt_target(plt)); |
589 | *okp = 0; | 589 | *okp = 0; |
590 | return 0; | 590 | return 0; |
591 | } | 591 | } |
@@ -703,7 +703,7 @@ do_reloc (struct module *mod, uint8_t r_type, Elf64_Sym *sym, uint64_t addend, | |||
703 | if (r_type == R_IA64_PCREL21BI) { | 703 | if (r_type == R_IA64_PCREL21BI) { |
704 | if (!is_internal(mod, val)) { | 704 | if (!is_internal(mod, val)) { |
705 | printk(KERN_ERR "%s: %s reloc against non-local symbol (%lx)\n", | 705 | printk(KERN_ERR "%s: %s reloc against non-local symbol (%lx)\n", |
706 | __FUNCTION__, reloc_name[r_type], val); | 706 | __func__, reloc_name[r_type], val); |
707 | return -ENOEXEC; | 707 | return -ENOEXEC; |
708 | } | 708 | } |
709 | format = RF_INSN21B; | 709 | format = RF_INSN21B; |
@@ -737,7 +737,7 @@ do_reloc (struct module *mod, uint8_t r_type, Elf64_Sym *sym, uint64_t addend, | |||
737 | case R_IA64_LDXMOV: | 737 | case R_IA64_LDXMOV: |
738 | if (gp_addressable(mod, val)) { | 738 | if (gp_addressable(mod, val)) { |
739 | /* turn "ld8" into "mov": */ | 739 | /* turn "ld8" into "mov": */ |
740 | DEBUGP("%s: patching ld8 at %p to mov\n", __FUNCTION__, location); | 740 | DEBUGP("%s: patching ld8 at %p to mov\n", __func__, location); |
741 | ia64_patch((u64) location, 0x1fff80fe000UL, 0x10000000000UL); | 741 | ia64_patch((u64) location, 0x1fff80fe000UL, 0x10000000000UL); |
742 | } | 742 | } |
743 | return 0; | 743 | return 0; |
@@ -771,7 +771,7 @@ do_reloc (struct module *mod, uint8_t r_type, Elf64_Sym *sym, uint64_t addend, | |||
771 | if (!ok) | 771 | if (!ok) |
772 | return -ENOEXEC; | 772 | return -ENOEXEC; |
773 | 773 | ||
774 | DEBUGP("%s: [%p]<-%016lx = %s(%lx)\n", __FUNCTION__, location, val, | 774 | DEBUGP("%s: [%p]<-%016lx = %s(%lx)\n", __func__, location, val, |
775 | reloc_name[r_type] ? reloc_name[r_type] : "?", sym->st_value + addend); | 775 | reloc_name[r_type] ? reloc_name[r_type] : "?", sym->st_value + addend); |
776 | 776 | ||
777 | switch (format) { | 777 | switch (format) { |
@@ -807,7 +807,7 @@ apply_relocate_add (Elf64_Shdr *sechdrs, const char *strtab, unsigned int symind | |||
807 | Elf64_Shdr *target_sec; | 807 | Elf64_Shdr *target_sec; |
808 | int ret; | 808 | int ret; |
809 | 809 | ||
810 | DEBUGP("%s: applying section %u (%u relocs) to %u\n", __FUNCTION__, | 810 | DEBUGP("%s: applying section %u (%u relocs) to %u\n", __func__, |
811 | relsec, n, sechdrs[relsec].sh_info); | 811 | relsec, n, sechdrs[relsec].sh_info); |
812 | 812 | ||
813 | target_sec = sechdrs + sechdrs[relsec].sh_info; | 813 | target_sec = sechdrs + sechdrs[relsec].sh_info; |
@@ -835,7 +835,7 @@ apply_relocate_add (Elf64_Shdr *sechdrs, const char *strtab, unsigned int symind | |||
835 | gp = mod->core_size / 2; | 835 | gp = mod->core_size / 2; |
836 | gp = (uint64_t) mod->module_core + ((gp + 7) & -8); | 836 | gp = (uint64_t) mod->module_core + ((gp + 7) & -8); |
837 | mod->arch.gp = gp; | 837 | mod->arch.gp = gp; |
838 | DEBUGP("%s: placing gp at 0x%lx\n", __FUNCTION__, gp); | 838 | DEBUGP("%s: placing gp at 0x%lx\n", __func__, gp); |
839 | } | 839 | } |
840 | 840 | ||
841 | for (i = 0; i < n; i++) { | 841 | for (i = 0; i < n; i++) { |
@@ -903,7 +903,7 @@ register_unwind_table (struct module *mod) | |||
903 | init = start + num_core; | 903 | init = start + num_core; |
904 | } | 904 | } |
905 | 905 | ||
906 | DEBUGP("%s: name=%s, gp=%lx, num_init=%lu, num_core=%lu\n", __FUNCTION__, | 906 | DEBUGP("%s: name=%s, gp=%lx, num_init=%lu, num_core=%lu\n", __func__, |
907 | mod->name, mod->arch.gp, num_init, num_core); | 907 | mod->name, mod->arch.gp, num_init, num_core); |
908 | 908 | ||
909 | /* | 909 | /* |
@@ -912,13 +912,13 @@ register_unwind_table (struct module *mod) | |||
912 | if (num_core > 0) { | 912 | if (num_core > 0) { |
913 | mod->arch.core_unw_table = unw_add_unwind_table(mod->name, 0, mod->arch.gp, | 913 | mod->arch.core_unw_table = unw_add_unwind_table(mod->name, 0, mod->arch.gp, |
914 | core, core + num_core); | 914 | core, core + num_core); |
915 | DEBUGP("%s: core: handle=%p [%p-%p)\n", __FUNCTION__, | 915 | DEBUGP("%s: core: handle=%p [%p-%p)\n", __func__, |
916 | mod->arch.core_unw_table, core, core + num_core); | 916 | mod->arch.core_unw_table, core, core + num_core); |
917 | } | 917 | } |
918 | if (num_init > 0) { | 918 | if (num_init > 0) { |
919 | mod->arch.init_unw_table = unw_add_unwind_table(mod->name, 0, mod->arch.gp, | 919 | mod->arch.init_unw_table = unw_add_unwind_table(mod->name, 0, mod->arch.gp, |
920 | init, init + num_init); | 920 | init, init + num_init); |
921 | DEBUGP("%s: init: handle=%p [%p-%p)\n", __FUNCTION__, | 921 | DEBUGP("%s: init: handle=%p [%p-%p)\n", __func__, |
922 | mod->arch.init_unw_table, init, init + num_init); | 922 | mod->arch.init_unw_table, init, init + num_init); |
923 | } | 923 | } |
924 | } | 924 | } |
@@ -926,7 +926,7 @@ register_unwind_table (struct module *mod) | |||
926 | int | 926 | int |
927 | module_finalize (const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs, struct module *mod) | 927 | module_finalize (const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs, struct module *mod) |
928 | { | 928 | { |
929 | DEBUGP("%s: init: entry=%p\n", __FUNCTION__, mod->init); | 929 | DEBUGP("%s: init: entry=%p\n", __func__, mod->init); |
930 | if (mod->arch.unwind) | 930 | if (mod->arch.unwind) |
931 | register_unwind_table(mod); | 931 | register_unwind_table(mod); |
932 | return 0; | 932 | return 0; |
diff --git a/arch/ia64/kernel/msi_ia64.c b/arch/ia64/kernel/msi_ia64.c index e86d02959794..60c6ef67ebb2 100644 --- a/arch/ia64/kernel/msi_ia64.c +++ b/arch/ia64/kernel/msi_ia64.c | |||
@@ -57,7 +57,7 @@ static void ia64_set_msi_irq_affinity(unsigned int irq, cpumask_t cpu_mask) | |||
57 | if (!cpu_online(cpu)) | 57 | if (!cpu_online(cpu)) |
58 | return; | 58 | return; |
59 | 59 | ||
60 | if (reassign_irq_vector(irq, cpu)) | 60 | if (irq_prepare_move(irq, cpu)) |
61 | return; | 61 | return; |
62 | 62 | ||
63 | read_msi_msg(irq, &msg); | 63 | read_msi_msg(irq, &msg); |
@@ -119,6 +119,7 @@ void ia64_teardown_msi_irq(unsigned int irq) | |||
119 | 119 | ||
120 | static void ia64_ack_msi_irq(unsigned int irq) | 120 | static void ia64_ack_msi_irq(unsigned int irq) |
121 | { | 121 | { |
122 | irq_complete_move(irq); | ||
122 | move_native_irq(irq); | 123 | move_native_irq(irq); |
123 | ia64_eoi(); | 124 | ia64_eoi(); |
124 | } | 125 | } |
diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c index f6b99719f10f..a2aabfdc80d9 100644 --- a/arch/ia64/kernel/perfmon.c +++ b/arch/ia64/kernel/perfmon.c | |||
@@ -227,12 +227,12 @@ | |||
227 | #ifdef PFM_DEBUGGING | 227 | #ifdef PFM_DEBUGGING |
228 | #define DPRINT(a) \ | 228 | #define DPRINT(a) \ |
229 | do { \ | 229 | do { \ |
230 | if (unlikely(pfm_sysctl.debug >0)) { printk("%s.%d: CPU%d [%d] ", __FUNCTION__, __LINE__, smp_processor_id(), task_pid_nr(current)); printk a; } \ | 230 | if (unlikely(pfm_sysctl.debug >0)) { printk("%s.%d: CPU%d [%d] ", __func__, __LINE__, smp_processor_id(), task_pid_nr(current)); printk a; } \ |
231 | } while (0) | 231 | } while (0) |
232 | 232 | ||
233 | #define DPRINT_ovfl(a) \ | 233 | #define DPRINT_ovfl(a) \ |
234 | do { \ | 234 | do { \ |
235 | if (unlikely(pfm_sysctl.debug > 0 && pfm_sysctl.debug_ovfl >0)) { printk("%s.%d: CPU%d [%d] ", __FUNCTION__, __LINE__, smp_processor_id(), task_pid_nr(current)); printk a; } \ | 235 | if (unlikely(pfm_sysctl.debug > 0 && pfm_sysctl.debug_ovfl >0)) { printk("%s.%d: CPU%d [%d] ", __func__, __LINE__, smp_processor_id(), task_pid_nr(current)); printk a; } \ |
236 | } while (0) | 236 | } while (0) |
237 | #endif | 237 | #endif |
238 | 238 | ||
diff --git a/arch/ia64/kernel/perfmon_default_smpl.c b/arch/ia64/kernel/perfmon_default_smpl.c index a7af1cb419f9..5f637bbfcccd 100644 --- a/arch/ia64/kernel/perfmon_default_smpl.c +++ b/arch/ia64/kernel/perfmon_default_smpl.c | |||
@@ -24,12 +24,12 @@ MODULE_LICENSE("GPL"); | |||
24 | #ifdef DEFAULT_DEBUG | 24 | #ifdef DEFAULT_DEBUG |
25 | #define DPRINT(a) \ | 25 | #define DPRINT(a) \ |
26 | do { \ | 26 | do { \ |
27 | if (unlikely(pfm_sysctl.debug >0)) { printk("%s.%d: CPU%d ", __FUNCTION__, __LINE__, smp_processor_id()); printk a; } \ | 27 | if (unlikely(pfm_sysctl.debug >0)) { printk("%s.%d: CPU%d ", __func__, __LINE__, smp_processor_id()); printk a; } \ |
28 | } while (0) | 28 | } while (0) |
29 | 29 | ||
30 | #define DPRINT_ovfl(a) \ | 30 | #define DPRINT_ovfl(a) \ |
31 | do { \ | 31 | do { \ |
32 | if (unlikely(pfm_sysctl.debug > 0 && pfm_sysctl.debug_ovfl >0)) { printk("%s.%d: CPU%d ", __FUNCTION__, __LINE__, smp_processor_id()); printk a; } \ | 32 | if (unlikely(pfm_sysctl.debug > 0 && pfm_sysctl.debug_ovfl >0)) { printk("%s.%d: CPU%d ", __func__, __LINE__, smp_processor_id()); printk a; } \ |
33 | } while (0) | 33 | } while (0) |
34 | 34 | ||
35 | #else | 35 | #else |
diff --git a/arch/ia64/kernel/ptrace.c b/arch/ia64/kernel/ptrace.c index 331d6768b5d5..ab784ec4319d 100644 --- a/arch/ia64/kernel/ptrace.c +++ b/arch/ia64/kernel/ptrace.c | |||
@@ -698,52 +698,6 @@ thread_matches (struct task_struct *thread, unsigned long addr) | |||
698 | } | 698 | } |
699 | 699 | ||
700 | /* | 700 | /* |
701 | * GDB apparently wants to be able to read the register-backing store | ||
702 | * of any thread when attached to a given process. If we are peeking | ||
703 | * or poking an address that happens to reside in the kernel-backing | ||
704 | * store of another thread, we need to attach to that thread, because | ||
705 | * otherwise we end up accessing stale data. | ||
706 | * | ||
707 | * task_list_lock must be read-locked before calling this routine! | ||
708 | */ | ||
709 | static struct task_struct * | ||
710 | find_thread_for_addr (struct task_struct *child, unsigned long addr) | ||
711 | { | ||
712 | struct task_struct *p; | ||
713 | struct mm_struct *mm; | ||
714 | struct list_head *this, *next; | ||
715 | int mm_users; | ||
716 | |||
717 | if (!(mm = get_task_mm(child))) | ||
718 | return child; | ||
719 | |||
720 | /* -1 because of our get_task_mm(): */ | ||
721 | mm_users = atomic_read(&mm->mm_users) - 1; | ||
722 | if (mm_users <= 1) | ||
723 | goto out; /* not multi-threaded */ | ||
724 | |||
725 | /* | ||
726 | * Traverse the current process' children list. Every task that | ||
727 | * one attaches to becomes a child. And it is only attached children | ||
728 | * of the debugger that are of interest (ptrace_check_attach checks | ||
729 | * for this). | ||
730 | */ | ||
731 | list_for_each_safe(this, next, ¤t->children) { | ||
732 | p = list_entry(this, struct task_struct, sibling); | ||
733 | if (p->tgid != child->tgid) | ||
734 | continue; | ||
735 | if (thread_matches(p, addr)) { | ||
736 | child = p; | ||
737 | goto out; | ||
738 | } | ||
739 | } | ||
740 | |||
741 | out: | ||
742 | mmput(mm); | ||
743 | return child; | ||
744 | } | ||
745 | |||
746 | /* | ||
747 | * Write f32-f127 back to task->thread.fph if it has been modified. | 701 | * Write f32-f127 back to task->thread.fph if it has been modified. |
748 | */ | 702 | */ |
749 | inline void | 703 | inline void |
@@ -826,14 +780,14 @@ convert_to_non_syscall (struct task_struct *child, struct pt_regs *pt, | |||
826 | if ((long)((unsigned long)child + IA64_STK_OFFSET - sp) | 780 | if ((long)((unsigned long)child + IA64_STK_OFFSET - sp) |
827 | < IA64_PT_REGS_SIZE) { | 781 | < IA64_PT_REGS_SIZE) { |
828 | dprintk("ptrace.%s: ran off the top of the kernel " | 782 | dprintk("ptrace.%s: ran off the top of the kernel " |
829 | "stack\n", __FUNCTION__); | 783 | "stack\n", __func__); |
830 | return; | 784 | return; |
831 | } | 785 | } |
832 | if (unw_get_pr (&prev_info, &pr) < 0) { | 786 | if (unw_get_pr (&prev_info, &pr) < 0) { |
833 | unw_get_rp(&prev_info, &ip); | 787 | unw_get_rp(&prev_info, &ip); |
834 | dprintk("ptrace.%s: failed to read " | 788 | dprintk("ptrace.%s: failed to read " |
835 | "predicate register (ip=0x%lx)\n", | 789 | "predicate register (ip=0x%lx)\n", |
836 | __FUNCTION__, ip); | 790 | __func__, ip); |
837 | return; | 791 | return; |
838 | } | 792 | } |
839 | if (unw_is_intr_frame(&info) | 793 | if (unw_is_intr_frame(&info) |
@@ -908,7 +862,7 @@ static int | |||
908 | access_uarea (struct task_struct *child, unsigned long addr, | 862 | access_uarea (struct task_struct *child, unsigned long addr, |
909 | unsigned long *data, int write_access) | 863 | unsigned long *data, int write_access) |
910 | { | 864 | { |
911 | unsigned long *ptr, regnum, urbs_end, rnat_addr, cfm; | 865 | unsigned long *ptr, regnum, urbs_end, cfm; |
912 | struct switch_stack *sw; | 866 | struct switch_stack *sw; |
913 | struct pt_regs *pt; | 867 | struct pt_regs *pt; |
914 | # define pt_reg_addr(pt, reg) ((void *) \ | 868 | # define pt_reg_addr(pt, reg) ((void *) \ |
@@ -1011,14 +965,9 @@ access_uarea (struct task_struct *child, unsigned long addr, | |||
1011 | * the kernel was entered. | 965 | * the kernel was entered. |
1012 | * | 966 | * |
1013 | * Furthermore, when changing the contents of | 967 | * Furthermore, when changing the contents of |
1014 | * PT_AR_BSP (or PT_CFM) we MUST copy any | 968 | * PT_AR_BSP (or PT_CFM) while the task is |
1015 | * users-level stacked registers that are | 969 | * blocked in a system call, convert the state |
1016 | * stored on the kernel stack back to | 970 | * so that the non-system-call exit |
1017 | * user-space because otherwise, we might end | ||
1018 | * up clobbering kernel stacked registers. | ||
1019 | * Also, if this happens while the task is | ||
1020 | * blocked in a system call, which convert the | ||
1021 | * state such that the non-system-call exit | ||
1022 | * path is used. This ensures that the proper | 971 | * path is used. This ensures that the proper |
1023 | * state will be picked up when resuming | 972 | * state will be picked up when resuming |
1024 | * execution. However, it *also* means that | 973 | * execution. However, it *also* means that |
@@ -1035,10 +984,6 @@ access_uarea (struct task_struct *child, unsigned long addr, | |||
1035 | urbs_end = ia64_get_user_rbs_end(child, pt, &cfm); | 984 | urbs_end = ia64_get_user_rbs_end(child, pt, &cfm); |
1036 | if (write_access) { | 985 | if (write_access) { |
1037 | if (*data != urbs_end) { | 986 | if (*data != urbs_end) { |
1038 | if (ia64_sync_user_rbs(child, sw, | ||
1039 | pt->ar_bspstore, | ||
1040 | urbs_end) < 0) | ||
1041 | return -1; | ||
1042 | if (in_syscall(pt)) | 987 | if (in_syscall(pt)) |
1043 | convert_to_non_syscall(child, | 988 | convert_to_non_syscall(child, |
1044 | pt, | 989 | pt, |
@@ -1058,10 +1003,6 @@ access_uarea (struct task_struct *child, unsigned long addr, | |||
1058 | urbs_end = ia64_get_user_rbs_end(child, pt, &cfm); | 1003 | urbs_end = ia64_get_user_rbs_end(child, pt, &cfm); |
1059 | if (write_access) { | 1004 | if (write_access) { |
1060 | if (((cfm ^ *data) & PFM_MASK) != 0) { | 1005 | if (((cfm ^ *data) & PFM_MASK) != 0) { |
1061 | if (ia64_sync_user_rbs(child, sw, | ||
1062 | pt->ar_bspstore, | ||
1063 | urbs_end) < 0) | ||
1064 | return -1; | ||
1065 | if (in_syscall(pt)) | 1006 | if (in_syscall(pt)) |
1066 | convert_to_non_syscall(child, | 1007 | convert_to_non_syscall(child, |
1067 | pt, | 1008 | pt, |
@@ -1093,16 +1034,8 @@ access_uarea (struct task_struct *child, unsigned long addr, | |||
1093 | return 0; | 1034 | return 0; |
1094 | 1035 | ||
1095 | case PT_AR_RNAT: | 1036 | case PT_AR_RNAT: |
1096 | urbs_end = ia64_get_user_rbs_end(child, pt, NULL); | 1037 | ptr = pt_reg_addr(pt, ar_rnat); |
1097 | rnat_addr = (long) ia64_rse_rnat_addr((long *) | 1038 | break; |
1098 | urbs_end); | ||
1099 | if (write_access) | ||
1100 | return ia64_poke(child, sw, urbs_end, | ||
1101 | rnat_addr, *data); | ||
1102 | else | ||
1103 | return ia64_peek(child, sw, urbs_end, | ||
1104 | rnat_addr, data); | ||
1105 | |||
1106 | case PT_R1: | 1039 | case PT_R1: |
1107 | ptr = pt_reg_addr(pt, r1); | 1040 | ptr = pt_reg_addr(pt, r1); |
1108 | break; | 1041 | break; |
@@ -1521,215 +1454,97 @@ ptrace_setregs (struct task_struct *child, struct pt_all_user_regs __user *ppr) | |||
1521 | return ret; | 1454 | return ret; |
1522 | } | 1455 | } |
1523 | 1456 | ||
1524 | /* | ||
1525 | * Called by kernel/ptrace.c when detaching.. | ||
1526 | * | ||
1527 | * Make sure the single step bit is not set. | ||
1528 | */ | ||
1529 | void | 1457 | void |
1530 | ptrace_disable (struct task_struct *child) | 1458 | user_enable_single_step (struct task_struct *child) |
1531 | { | 1459 | { |
1532 | struct ia64_psr *child_psr = ia64_psr(task_pt_regs(child)); | 1460 | struct ia64_psr *child_psr = ia64_psr(task_pt_regs(child)); |
1533 | 1461 | ||
1534 | /* make sure the single step/taken-branch trap bits are not set: */ | 1462 | set_tsk_thread_flag(child, TIF_SINGLESTEP); |
1535 | clear_tsk_thread_flag(child, TIF_SINGLESTEP); | 1463 | child_psr->ss = 1; |
1536 | child_psr->ss = 0; | ||
1537 | child_psr->tb = 0; | ||
1538 | } | 1464 | } |
1539 | 1465 | ||
1540 | asmlinkage long | 1466 | void |
1541 | sys_ptrace (long request, pid_t pid, unsigned long addr, unsigned long data) | 1467 | user_enable_block_step (struct task_struct *child) |
1542 | { | 1468 | { |
1543 | struct pt_regs *pt; | 1469 | struct ia64_psr *child_psr = ia64_psr(task_pt_regs(child)); |
1544 | unsigned long urbs_end, peek_or_poke; | ||
1545 | struct task_struct *child; | ||
1546 | struct switch_stack *sw; | ||
1547 | long ret; | ||
1548 | struct unw_frame_info info; | ||
1549 | 1470 | ||
1550 | lock_kernel(); | 1471 | set_tsk_thread_flag(child, TIF_SINGLESTEP); |
1551 | ret = -EPERM; | 1472 | child_psr->tb = 1; |
1552 | if (request == PTRACE_TRACEME) { | 1473 | } |
1553 | ret = ptrace_traceme(); | ||
1554 | goto out; | ||
1555 | } | ||
1556 | 1474 | ||
1557 | peek_or_poke = (request == PTRACE_PEEKTEXT | 1475 | void |
1558 | || request == PTRACE_PEEKDATA | 1476 | user_disable_single_step (struct task_struct *child) |
1559 | || request == PTRACE_POKETEXT | 1477 | { |
1560 | || request == PTRACE_POKEDATA); | 1478 | struct ia64_psr *child_psr = ia64_psr(task_pt_regs(child)); |
1561 | ret = -ESRCH; | ||
1562 | read_lock(&tasklist_lock); | ||
1563 | { | ||
1564 | child = find_task_by_pid(pid); | ||
1565 | if (child) { | ||
1566 | if (peek_or_poke) | ||
1567 | child = find_thread_for_addr(child, addr); | ||
1568 | get_task_struct(child); | ||
1569 | } | ||
1570 | } | ||
1571 | read_unlock(&tasklist_lock); | ||
1572 | if (!child) | ||
1573 | goto out; | ||
1574 | ret = -EPERM; | ||
1575 | if (pid == 1) /* no messing around with init! */ | ||
1576 | goto out_tsk; | ||
1577 | |||
1578 | if (request == PTRACE_ATTACH) { | ||
1579 | ret = ptrace_attach(child); | ||
1580 | if (!ret) | ||
1581 | arch_ptrace_attach(child); | ||
1582 | goto out_tsk; | ||
1583 | } | ||
1584 | 1479 | ||
1585 | ret = ptrace_check_attach(child, request == PTRACE_KILL); | 1480 | /* make sure the single step/taken-branch trap bits are not set: */ |
1586 | if (ret < 0) | 1481 | clear_tsk_thread_flag(child, TIF_SINGLESTEP); |
1587 | goto out_tsk; | 1482 | child_psr->ss = 0; |
1483 | child_psr->tb = 0; | ||
1484 | } | ||
1588 | 1485 | ||
1589 | pt = task_pt_regs(child); | 1486 | /* |
1590 | sw = (struct switch_stack *) (child->thread.ksp + 16); | 1487 | * Called by kernel/ptrace.c when detaching.. |
1488 | * | ||
1489 | * Make sure the single step bit is not set. | ||
1490 | */ | ||
1491 | void | ||
1492 | ptrace_disable (struct task_struct *child) | ||
1493 | { | ||
1494 | user_disable_single_step(child); | ||
1495 | } | ||
1591 | 1496 | ||
1497 | long | ||
1498 | arch_ptrace (struct task_struct *child, long request, long addr, long data) | ||
1499 | { | ||
1592 | switch (request) { | 1500 | switch (request) { |
1593 | case PTRACE_PEEKTEXT: | 1501 | case PTRACE_PEEKTEXT: |
1594 | case PTRACE_PEEKDATA: | 1502 | case PTRACE_PEEKDATA: |
1595 | /* read word at location addr */ | 1503 | /* read word at location addr */ |
1596 | urbs_end = ia64_get_user_rbs_end(child, pt, NULL); | 1504 | if (access_process_vm(child, addr, &data, sizeof(data), 0) |
1597 | ret = ia64_peek(child, sw, urbs_end, addr, &data); | 1505 | != sizeof(data)) |
1598 | if (ret == 0) { | 1506 | return -EIO; |
1599 | ret = data; | 1507 | /* ensure return value is not mistaken for error code */ |
1600 | /* ensure "ret" is not mistaken as an error code: */ | 1508 | force_successful_syscall_return(); |
1601 | force_successful_syscall_return(); | 1509 | return data; |
1602 | } | ||
1603 | goto out_tsk; | ||
1604 | |||
1605 | case PTRACE_POKETEXT: | ||
1606 | case PTRACE_POKEDATA: | ||
1607 | /* write the word at location addr */ | ||
1608 | urbs_end = ia64_get_user_rbs_end(child, pt, NULL); | ||
1609 | ret = ia64_poke(child, sw, urbs_end, addr, data); | ||
1610 | |||
1611 | /* Make sure user RBS has the latest data */ | ||
1612 | unw_init_from_blocked_task(&info, child); | ||
1613 | do_sync_rbs(&info, ia64_sync_user_rbs); | ||
1614 | 1510 | ||
1615 | goto out_tsk; | 1511 | /* PTRACE_POKETEXT and PTRACE_POKEDATA is handled |
1512 | * by the generic ptrace_request(). | ||
1513 | */ | ||
1616 | 1514 | ||
1617 | case PTRACE_PEEKUSR: | 1515 | case PTRACE_PEEKUSR: |
1618 | /* read the word at addr in the USER area */ | 1516 | /* read the word at addr in the USER area */ |
1619 | if (access_uarea(child, addr, &data, 0) < 0) { | 1517 | if (access_uarea(child, addr, &data, 0) < 0) |
1620 | ret = -EIO; | 1518 | return -EIO; |
1621 | goto out_tsk; | 1519 | /* ensure return value is not mistaken for error code */ |
1622 | } | ||
1623 | ret = data; | ||
1624 | /* ensure "ret" is not mistaken as an error code */ | ||
1625 | force_successful_syscall_return(); | 1520 | force_successful_syscall_return(); |
1626 | goto out_tsk; | 1521 | return data; |
1627 | 1522 | ||
1628 | case PTRACE_POKEUSR: | 1523 | case PTRACE_POKEUSR: |
1629 | /* write the word at addr in the USER area */ | 1524 | /* write the word at addr in the USER area */ |
1630 | if (access_uarea(child, addr, &data, 1) < 0) { | 1525 | if (access_uarea(child, addr, &data, 1) < 0) |
1631 | ret = -EIO; | 1526 | return -EIO; |
1632 | goto out_tsk; | 1527 | return 0; |
1633 | } | ||
1634 | ret = 0; | ||
1635 | goto out_tsk; | ||
1636 | 1528 | ||
1637 | case PTRACE_OLD_GETSIGINFO: | 1529 | case PTRACE_OLD_GETSIGINFO: |
1638 | /* for backwards-compatibility */ | 1530 | /* for backwards-compatibility */ |
1639 | ret = ptrace_request(child, PTRACE_GETSIGINFO, addr, data); | 1531 | return ptrace_request(child, PTRACE_GETSIGINFO, addr, data); |
1640 | goto out_tsk; | ||
1641 | 1532 | ||
1642 | case PTRACE_OLD_SETSIGINFO: | 1533 | case PTRACE_OLD_SETSIGINFO: |
1643 | /* for backwards-compatibility */ | 1534 | /* for backwards-compatibility */ |
1644 | ret = ptrace_request(child, PTRACE_SETSIGINFO, addr, data); | 1535 | return ptrace_request(child, PTRACE_SETSIGINFO, addr, data); |
1645 | goto out_tsk; | ||
1646 | |||
1647 | case PTRACE_SYSCALL: | ||
1648 | /* continue and stop at next (return from) syscall */ | ||
1649 | case PTRACE_CONT: | ||
1650 | /* restart after signal. */ | ||
1651 | ret = -EIO; | ||
1652 | if (!valid_signal(data)) | ||
1653 | goto out_tsk; | ||
1654 | if (request == PTRACE_SYSCALL) | ||
1655 | set_tsk_thread_flag(child, TIF_SYSCALL_TRACE); | ||
1656 | else | ||
1657 | clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); | ||
1658 | child->exit_code = data; | ||
1659 | 1536 | ||
1660 | /* | 1537 | case PTRACE_GETREGS: |
1661 | * Make sure the single step/taken-branch trap bits | 1538 | return ptrace_getregs(child, |
1662 | * are not set: | 1539 | (struct pt_all_user_regs __user *) data); |
1663 | */ | ||
1664 | clear_tsk_thread_flag(child, TIF_SINGLESTEP); | ||
1665 | ia64_psr(pt)->ss = 0; | ||
1666 | ia64_psr(pt)->tb = 0; | ||
1667 | 1540 | ||
1668 | wake_up_process(child); | 1541 | case PTRACE_SETREGS: |
1669 | ret = 0; | 1542 | return ptrace_setregs(child, |
1670 | goto out_tsk; | 1543 | (struct pt_all_user_regs __user *) data); |
1671 | 1544 | ||
1672 | case PTRACE_KILL: | 1545 | default: |
1673 | /* | 1546 | return ptrace_request(child, request, addr, data); |
1674 | * Make the child exit. Best I can do is send it a | ||
1675 | * sigkill. Perhaps it should be put in the status | ||
1676 | * that it wants to exit. | ||
1677 | */ | ||
1678 | if (child->exit_state == EXIT_ZOMBIE) | ||
1679 | /* already dead */ | ||
1680 | goto out_tsk; | ||
1681 | child->exit_code = SIGKILL; | ||
1682 | |||
1683 | ptrace_disable(child); | ||
1684 | wake_up_process(child); | ||
1685 | ret = 0; | ||
1686 | goto out_tsk; | ||
1687 | |||
1688 | case PTRACE_SINGLESTEP: | ||
1689 | /* let child execute for one instruction */ | ||
1690 | case PTRACE_SINGLEBLOCK: | ||
1691 | ret = -EIO; | ||
1692 | if (!valid_signal(data)) | ||
1693 | goto out_tsk; | ||
1694 | |||
1695 | clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); | ||
1696 | set_tsk_thread_flag(child, TIF_SINGLESTEP); | ||
1697 | if (request == PTRACE_SINGLESTEP) { | ||
1698 | ia64_psr(pt)->ss = 1; | ||
1699 | } else { | ||
1700 | ia64_psr(pt)->tb = 1; | ||
1701 | } | ||
1702 | child->exit_code = data; | ||
1703 | |||
1704 | /* give it a chance to run. */ | ||
1705 | wake_up_process(child); | ||
1706 | ret = 0; | ||
1707 | goto out_tsk; | ||
1708 | |||
1709 | case PTRACE_DETACH: | ||
1710 | /* detach a process that was attached. */ | ||
1711 | ret = ptrace_detach(child, data); | ||
1712 | goto out_tsk; | ||
1713 | |||
1714 | case PTRACE_GETREGS: | ||
1715 | ret = ptrace_getregs(child, | ||
1716 | (struct pt_all_user_regs __user *) data); | ||
1717 | goto out_tsk; | ||
1718 | |||
1719 | case PTRACE_SETREGS: | ||
1720 | ret = ptrace_setregs(child, | ||
1721 | (struct pt_all_user_regs __user *) data); | ||
1722 | goto out_tsk; | ||
1723 | |||
1724 | default: | ||
1725 | ret = ptrace_request(child, request, addr, data); | ||
1726 | goto out_tsk; | ||
1727 | } | 1547 | } |
1728 | out_tsk: | ||
1729 | put_task_struct(child); | ||
1730 | out: | ||
1731 | unlock_kernel(); | ||
1732 | return ret; | ||
1733 | } | 1548 | } |
1734 | 1549 | ||
1735 | 1550 | ||
diff --git a/arch/ia64/kernel/sal.c b/arch/ia64/kernel/sal.c index f44fe8412162..a3022dc48ef8 100644 --- a/arch/ia64/kernel/sal.c +++ b/arch/ia64/kernel/sal.c | |||
@@ -109,6 +109,13 @@ check_versions (struct ia64_sal_systab *systab) | |||
109 | sal_revision = SAL_VERSION_CODE(2, 8); | 109 | sal_revision = SAL_VERSION_CODE(2, 8); |
110 | sal_version = SAL_VERSION_CODE(0, 0); | 110 | sal_version = SAL_VERSION_CODE(0, 0); |
111 | } | 111 | } |
112 | |||
113 | if (ia64_platform_is("sn2") && (sal_revision == SAL_VERSION_CODE(2, 9))) | ||
114 | /* | ||
115 | * SGI Altix has hard-coded version 2.9 in their prom | ||
116 | * but they actually implement 3.2, so let's fix it here. | ||
117 | */ | ||
118 | sal_revision = SAL_VERSION_CODE(3, 2); | ||
112 | } | 119 | } |
113 | 120 | ||
114 | static void __init | 121 | static void __init |
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c index ebd1a09f3201..4aa9eaea76c3 100644 --- a/arch/ia64/kernel/setup.c +++ b/arch/ia64/kernel/setup.c | |||
@@ -690,7 +690,7 @@ get_model_name(__u8 family, __u8 model) | |||
690 | if (overflow++ == 0) | 690 | if (overflow++ == 0) |
691 | printk(KERN_ERR | 691 | printk(KERN_ERR |
692 | "%s: Table overflow. Some processor model information will be missing\n", | 692 | "%s: Table overflow. Some processor model information will be missing\n", |
693 | __FUNCTION__); | 693 | __func__); |
694 | return "Unknown"; | 694 | return "Unknown"; |
695 | } | 695 | } |
696 | 696 | ||
@@ -785,7 +785,7 @@ get_max_cacheline_size (void) | |||
785 | status = ia64_pal_cache_summary(&levels, &unique_caches); | 785 | status = ia64_pal_cache_summary(&levels, &unique_caches); |
786 | if (status != 0) { | 786 | if (status != 0) { |
787 | printk(KERN_ERR "%s: ia64_pal_cache_summary() failed (status=%ld)\n", | 787 | printk(KERN_ERR "%s: ia64_pal_cache_summary() failed (status=%ld)\n", |
788 | __FUNCTION__, status); | 788 | __func__, status); |
789 | max = SMP_CACHE_BYTES; | 789 | max = SMP_CACHE_BYTES; |
790 | /* Safest setup for "flush_icache_range()" */ | 790 | /* Safest setup for "flush_icache_range()" */ |
791 | ia64_i_cache_stride_shift = I_CACHE_STRIDE_SHIFT; | 791 | ia64_i_cache_stride_shift = I_CACHE_STRIDE_SHIFT; |
@@ -798,7 +798,7 @@ get_max_cacheline_size (void) | |||
798 | if (status != 0) { | 798 | if (status != 0) { |
799 | printk(KERN_ERR | 799 | printk(KERN_ERR |
800 | "%s: ia64_pal_cache_config_info(l=%lu, 2) failed (status=%ld)\n", | 800 | "%s: ia64_pal_cache_config_info(l=%lu, 2) failed (status=%ld)\n", |
801 | __FUNCTION__, l, status); | 801 | __func__, l, status); |
802 | max = SMP_CACHE_BYTES; | 802 | max = SMP_CACHE_BYTES; |
803 | /* The safest setup for "flush_icache_range()" */ | 803 | /* The safest setup for "flush_icache_range()" */ |
804 | cci.pcci_stride = I_CACHE_STRIDE_SHIFT; | 804 | cci.pcci_stride = I_CACHE_STRIDE_SHIFT; |
@@ -814,7 +814,7 @@ get_max_cacheline_size (void) | |||
814 | if (status != 0) { | 814 | if (status != 0) { |
815 | printk(KERN_ERR | 815 | printk(KERN_ERR |
816 | "%s: ia64_pal_cache_config_info(l=%lu, 1) failed (status=%ld)\n", | 816 | "%s: ia64_pal_cache_config_info(l=%lu, 1) failed (status=%ld)\n", |
817 | __FUNCTION__, l, status); | 817 | __func__, l, status); |
818 | /* The safest setup for "flush_icache_range()" */ | 818 | /* The safest setup for "flush_icache_range()" */ |
819 | cci.pcci_stride = I_CACHE_STRIDE_SHIFT; | 819 | cci.pcci_stride = I_CACHE_STRIDE_SHIFT; |
820 | } | 820 | } |
diff --git a/arch/ia64/kernel/signal.c b/arch/ia64/kernel/signal.c index 309da3567bc8..5740296c35af 100644 --- a/arch/ia64/kernel/signal.c +++ b/arch/ia64/kernel/signal.c | |||
@@ -342,15 +342,33 @@ setup_frame (int sig, struct k_sigaction *ka, siginfo_t *info, sigset_t *set, | |||
342 | 342 | ||
343 | new_sp = scr->pt.r12; | 343 | new_sp = scr->pt.r12; |
344 | tramp_addr = (unsigned long) __kernel_sigtramp; | 344 | tramp_addr = (unsigned long) __kernel_sigtramp; |
345 | if ((ka->sa.sa_flags & SA_ONSTACK) && sas_ss_flags(new_sp) == 0) { | 345 | if (ka->sa.sa_flags & SA_ONSTACK) { |
346 | new_sp = current->sas_ss_sp + current->sas_ss_size; | 346 | int onstack = sas_ss_flags(new_sp); |
347 | /* | 347 | |
348 | * We need to check for the register stack being on the signal stack | 348 | if (onstack == 0) { |
349 | * separately, because it's switched separately (memory stack is switched | 349 | new_sp = current->sas_ss_sp + current->sas_ss_size; |
350 | * in the kernel, register stack is switched in the signal trampoline). | 350 | /* |
351 | */ | 351 | * We need to check for the register stack being on the |
352 | if (!rbs_on_sig_stack(scr->pt.ar_bspstore)) | 352 | * signal stack separately, because it's switched |
353 | new_rbs = (current->sas_ss_sp + sizeof(long) - 1) & ~(sizeof(long) - 1); | 353 | * separately (memory stack is switched in the kernel, |
354 | * register stack is switched in the signal trampoline). | ||
355 | */ | ||
356 | if (!rbs_on_sig_stack(scr->pt.ar_bspstore)) | ||
357 | new_rbs = ALIGN(current->sas_ss_sp, | ||
358 | sizeof(long)); | ||
359 | } else if (onstack == SS_ONSTACK) { | ||
360 | unsigned long check_sp; | ||
361 | |||
362 | /* | ||
363 | * If we are on the alternate signal stack and would | ||
364 | * overflow it, don't. Return an always-bogus address | ||
365 | * instead so we will die with SIGSEGV. | ||
366 | */ | ||
367 | check_sp = (new_sp - sizeof(*frame)) & -STACK_ALIGN; | ||
368 | if (!likely(on_sig_stack(check_sp))) | ||
369 | return force_sigsegv_info(sig, (void __user *) | ||
370 | check_sp); | ||
371 | } | ||
354 | } | 372 | } |
355 | frame = (void __user *) ((new_sp - sizeof(*frame)) & -STACK_ALIGN); | 373 | frame = (void __user *) ((new_sp - sizeof(*frame)) & -STACK_ALIGN); |
356 | 374 | ||
diff --git a/arch/ia64/kernel/unaligned.c b/arch/ia64/kernel/unaligned.c index 52f70bbc192a..6903361d11a5 100644 --- a/arch/ia64/kernel/unaligned.c +++ b/arch/ia64/kernel/unaligned.c | |||
@@ -28,7 +28,7 @@ extern int die_if_kernel(char *str, struct pt_regs *regs, long err); | |||
28 | #undef DEBUG_UNALIGNED_TRAP | 28 | #undef DEBUG_UNALIGNED_TRAP |
29 | 29 | ||
30 | #ifdef DEBUG_UNALIGNED_TRAP | 30 | #ifdef DEBUG_UNALIGNED_TRAP |
31 | # define DPRINT(a...) do { printk("%s %u: ", __FUNCTION__, __LINE__); printk (a); } while (0) | 31 | # define DPRINT(a...) do { printk("%s %u: ", __func__, __LINE__); printk (a); } while (0) |
32 | # define DDUMP(str,vp,len) dump(str, vp, len) | 32 | # define DDUMP(str,vp,len) dump(str, vp, len) |
33 | 33 | ||
34 | static void | 34 | static void |
@@ -674,7 +674,7 @@ emulate_load_updates (update_t type, load_store_t ld, struct pt_regs *regs, unsi | |||
674 | * just in case. | 674 | * just in case. |
675 | */ | 675 | */ |
676 | if (ld.x6_op == 1 || ld.x6_op == 3) { | 676 | if (ld.x6_op == 1 || ld.x6_op == 3) { |
677 | printk(KERN_ERR "%s: register update on speculative load, error\n", __FUNCTION__); | 677 | printk(KERN_ERR "%s: register update on speculative load, error\n", __func__); |
678 | if (die_if_kernel("unaligned reference on speculative load with register update\n", | 678 | if (die_if_kernel("unaligned reference on speculative load with register update\n", |
679 | regs, 30)) | 679 | regs, 30)) |
680 | return; | 680 | return; |
@@ -1104,7 +1104,7 @@ emulate_load_floatpair (unsigned long ifa, load_store_t ld, struct pt_regs *regs | |||
1104 | */ | 1104 | */ |
1105 | if (ld.x6_op == 1 || ld.x6_op == 3) | 1105 | if (ld.x6_op == 1 || ld.x6_op == 3) |
1106 | printk(KERN_ERR "%s: register update on speculative load pair, error\n", | 1106 | printk(KERN_ERR "%s: register update on speculative load pair, error\n", |
1107 | __FUNCTION__); | 1107 | __func__); |
1108 | 1108 | ||
1109 | setreg(ld.r3, ifa, 0, regs); | 1109 | setreg(ld.r3, ifa, 0, regs); |
1110 | } | 1110 | } |
diff --git a/arch/ia64/kernel/unwind.c b/arch/ia64/kernel/unwind.c index c1bdb5131814..67810b77d998 100644 --- a/arch/ia64/kernel/unwind.c +++ b/arch/ia64/kernel/unwind.c | |||
@@ -257,7 +257,7 @@ pt_regs_off (unsigned long reg) | |||
257 | off = unw.pt_regs_offsets[reg]; | 257 | off = unw.pt_regs_offsets[reg]; |
258 | 258 | ||
259 | if (off < 0) { | 259 | if (off < 0) { |
260 | UNW_DPRINT(0, "unwind.%s: bad scratch reg r%lu\n", __FUNCTION__, reg); | 260 | UNW_DPRINT(0, "unwind.%s: bad scratch reg r%lu\n", __func__, reg); |
261 | off = 0; | 261 | off = 0; |
262 | } | 262 | } |
263 | return (unsigned long) off; | 263 | return (unsigned long) off; |
@@ -268,13 +268,13 @@ get_scratch_regs (struct unw_frame_info *info) | |||
268 | { | 268 | { |
269 | if (!info->pt) { | 269 | if (!info->pt) { |
270 | /* This should not happen with valid unwind info. */ | 270 | /* This should not happen with valid unwind info. */ |
271 | UNW_DPRINT(0, "unwind.%s: bad unwind info: resetting info->pt\n", __FUNCTION__); | 271 | UNW_DPRINT(0, "unwind.%s: bad unwind info: resetting info->pt\n", __func__); |
272 | if (info->flags & UNW_FLAG_INTERRUPT_FRAME) | 272 | if (info->flags & UNW_FLAG_INTERRUPT_FRAME) |
273 | info->pt = (unsigned long) ((struct pt_regs *) info->psp - 1); | 273 | info->pt = (unsigned long) ((struct pt_regs *) info->psp - 1); |
274 | else | 274 | else |
275 | info->pt = info->sp - 16; | 275 | info->pt = info->sp - 16; |
276 | } | 276 | } |
277 | UNW_DPRINT(3, "unwind.%s: sp 0x%lx pt 0x%lx\n", __FUNCTION__, info->sp, info->pt); | 277 | UNW_DPRINT(3, "unwind.%s: sp 0x%lx pt 0x%lx\n", __func__, info->sp, info->pt); |
278 | return (struct pt_regs *) info->pt; | 278 | return (struct pt_regs *) info->pt; |
279 | } | 279 | } |
280 | 280 | ||
@@ -294,7 +294,7 @@ unw_access_gr (struct unw_frame_info *info, int regnum, unsigned long *val, char | |||
294 | return 0; | 294 | return 0; |
295 | } | 295 | } |
296 | UNW_DPRINT(0, "unwind.%s: trying to access non-existent r%u\n", | 296 | UNW_DPRINT(0, "unwind.%s: trying to access non-existent r%u\n", |
297 | __FUNCTION__, regnum); | 297 | __func__, regnum); |
298 | return -1; | 298 | return -1; |
299 | } | 299 | } |
300 | 300 | ||
@@ -341,7 +341,7 @@ unw_access_gr (struct unw_frame_info *info, int regnum, unsigned long *val, char | |||
341 | { | 341 | { |
342 | UNW_DPRINT(0, "unwind.%s: %p outside of regstk " | 342 | UNW_DPRINT(0, "unwind.%s: %p outside of regstk " |
343 | "[0x%lx-0x%lx)\n", | 343 | "[0x%lx-0x%lx)\n", |
344 | __FUNCTION__, (void *) addr, | 344 | __func__, (void *) addr, |
345 | info->regstk.limit, | 345 | info->regstk.limit, |
346 | info->regstk.top); | 346 | info->regstk.top); |
347 | return -1; | 347 | return -1; |
@@ -374,7 +374,7 @@ unw_access_gr (struct unw_frame_info *info, int regnum, unsigned long *val, char | |||
374 | || (unsigned long) addr >= info->regstk.top) | 374 | || (unsigned long) addr >= info->regstk.top) |
375 | { | 375 | { |
376 | UNW_DPRINT(0, "unwind.%s: ignoring attempt to access register outside " | 376 | UNW_DPRINT(0, "unwind.%s: ignoring attempt to access register outside " |
377 | "of rbs\n", __FUNCTION__); | 377 | "of rbs\n", __func__); |
378 | return -1; | 378 | return -1; |
379 | } | 379 | } |
380 | if ((unsigned long) nat_addr >= info->regstk.top) | 380 | if ((unsigned long) nat_addr >= info->regstk.top) |
@@ -385,7 +385,7 @@ unw_access_gr (struct unw_frame_info *info, int regnum, unsigned long *val, char | |||
385 | if (write) { | 385 | if (write) { |
386 | if (read_only(addr)) { | 386 | if (read_only(addr)) { |
387 | UNW_DPRINT(0, "unwind.%s: ignoring attempt to write read-only location\n", | 387 | UNW_DPRINT(0, "unwind.%s: ignoring attempt to write read-only location\n", |
388 | __FUNCTION__); | 388 | __func__); |
389 | } else { | 389 | } else { |
390 | *addr = *val; | 390 | *addr = *val; |
391 | if (*nat) | 391 | if (*nat) |
@@ -427,13 +427,13 @@ unw_access_br (struct unw_frame_info *info, int regnum, unsigned long *val, int | |||
427 | 427 | ||
428 | default: | 428 | default: |
429 | UNW_DPRINT(0, "unwind.%s: trying to access non-existent b%u\n", | 429 | UNW_DPRINT(0, "unwind.%s: trying to access non-existent b%u\n", |
430 | __FUNCTION__, regnum); | 430 | __func__, regnum); |
431 | return -1; | 431 | return -1; |
432 | } | 432 | } |
433 | if (write) | 433 | if (write) |
434 | if (read_only(addr)) { | 434 | if (read_only(addr)) { |
435 | UNW_DPRINT(0, "unwind.%s: ignoring attempt to write read-only location\n", | 435 | UNW_DPRINT(0, "unwind.%s: ignoring attempt to write read-only location\n", |
436 | __FUNCTION__); | 436 | __func__); |
437 | } else | 437 | } else |
438 | *addr = *val; | 438 | *addr = *val; |
439 | else | 439 | else |
@@ -450,7 +450,7 @@ unw_access_fr (struct unw_frame_info *info, int regnum, struct ia64_fpreg *val, | |||
450 | 450 | ||
451 | if ((unsigned) (regnum - 2) >= 126) { | 451 | if ((unsigned) (regnum - 2) >= 126) { |
452 | UNW_DPRINT(0, "unwind.%s: trying to access non-existent f%u\n", | 452 | UNW_DPRINT(0, "unwind.%s: trying to access non-existent f%u\n", |
453 | __FUNCTION__, regnum); | 453 | __func__, regnum); |
454 | return -1; | 454 | return -1; |
455 | } | 455 | } |
456 | 456 | ||
@@ -482,7 +482,7 @@ unw_access_fr (struct unw_frame_info *info, int regnum, struct ia64_fpreg *val, | |||
482 | if (write) | 482 | if (write) |
483 | if (read_only(addr)) { | 483 | if (read_only(addr)) { |
484 | UNW_DPRINT(0, "unwind.%s: ignoring attempt to write read-only location\n", | 484 | UNW_DPRINT(0, "unwind.%s: ignoring attempt to write read-only location\n", |
485 | __FUNCTION__); | 485 | __func__); |
486 | } else | 486 | } else |
487 | *addr = *val; | 487 | *addr = *val; |
488 | else | 488 | else |
@@ -572,14 +572,14 @@ unw_access_ar (struct unw_frame_info *info, int regnum, unsigned long *val, int | |||
572 | 572 | ||
573 | default: | 573 | default: |
574 | UNW_DPRINT(0, "unwind.%s: trying to access non-existent ar%u\n", | 574 | UNW_DPRINT(0, "unwind.%s: trying to access non-existent ar%u\n", |
575 | __FUNCTION__, regnum); | 575 | __func__, regnum); |
576 | return -1; | 576 | return -1; |
577 | } | 577 | } |
578 | 578 | ||
579 | if (write) { | 579 | if (write) { |
580 | if (read_only(addr)) { | 580 | if (read_only(addr)) { |
581 | UNW_DPRINT(0, "unwind.%s: ignoring attempt to write read-only location\n", | 581 | UNW_DPRINT(0, "unwind.%s: ignoring attempt to write read-only location\n", |
582 | __FUNCTION__); | 582 | __func__); |
583 | } else | 583 | } else |
584 | *addr = *val; | 584 | *addr = *val; |
585 | } else | 585 | } else |
@@ -600,7 +600,7 @@ unw_access_pr (struct unw_frame_info *info, unsigned long *val, int write) | |||
600 | if (write) { | 600 | if (write) { |
601 | if (read_only(addr)) { | 601 | if (read_only(addr)) { |
602 | UNW_DPRINT(0, "unwind.%s: ignoring attempt to write read-only location\n", | 602 | UNW_DPRINT(0, "unwind.%s: ignoring attempt to write read-only location\n", |
603 | __FUNCTION__); | 603 | __func__); |
604 | } else | 604 | } else |
605 | *addr = *val; | 605 | *addr = *val; |
606 | } else | 606 | } else |
@@ -699,7 +699,7 @@ decode_abreg (unsigned char abreg, int memory) | |||
699 | default: | 699 | default: |
700 | break; | 700 | break; |
701 | } | 701 | } |
702 | UNW_DPRINT(0, "unwind.%s: bad abreg=0x%x\n", __FUNCTION__, abreg); | 702 | UNW_DPRINT(0, "unwind.%s: bad abreg=0x%x\n", __func__, abreg); |
703 | return UNW_REG_LC; | 703 | return UNW_REG_LC; |
704 | } | 704 | } |
705 | 705 | ||
@@ -739,7 +739,7 @@ spill_next_when (struct unw_reg_info **regp, struct unw_reg_info *lim, unw_word | |||
739 | return; | 739 | return; |
740 | } | 740 | } |
741 | } | 741 | } |
742 | UNW_DPRINT(0, "unwind.%s: excess spill!\n", __FUNCTION__); | 742 | UNW_DPRINT(0, "unwind.%s: excess spill!\n", __func__); |
743 | } | 743 | } |
744 | 744 | ||
745 | static inline void | 745 | static inline void |
@@ -855,11 +855,11 @@ desc_abi (unsigned char abi, unsigned char context, struct unw_state_record *sr) | |||
855 | { | 855 | { |
856 | if (abi == 3 && context == 'i') { | 856 | if (abi == 3 && context == 'i') { |
857 | sr->flags |= UNW_FLAG_INTERRUPT_FRAME; | 857 | sr->flags |= UNW_FLAG_INTERRUPT_FRAME; |
858 | UNW_DPRINT(3, "unwind.%s: interrupt frame\n", __FUNCTION__); | 858 | UNW_DPRINT(3, "unwind.%s: interrupt frame\n", __func__); |
859 | } | 859 | } |
860 | else | 860 | else |
861 | UNW_DPRINT(0, "unwind%s: ignoring unwabi(abi=0x%x,context=0x%x)\n", | 861 | UNW_DPRINT(0, "unwind%s: ignoring unwabi(abi=0x%x,context=0x%x)\n", |
862 | __FUNCTION__, abi, context); | 862 | __func__, abi, context); |
863 | } | 863 | } |
864 | 864 | ||
865 | static inline void | 865 | static inline void |
@@ -1347,7 +1347,7 @@ script_emit (struct unw_script *script, struct unw_insn insn) | |||
1347 | { | 1347 | { |
1348 | if (script->count >= UNW_MAX_SCRIPT_LEN) { | 1348 | if (script->count >= UNW_MAX_SCRIPT_LEN) { |
1349 | UNW_DPRINT(0, "unwind.%s: script exceeds maximum size of %u instructions!\n", | 1349 | UNW_DPRINT(0, "unwind.%s: script exceeds maximum size of %u instructions!\n", |
1350 | __FUNCTION__, UNW_MAX_SCRIPT_LEN); | 1350 | __func__, UNW_MAX_SCRIPT_LEN); |
1351 | return; | 1351 | return; |
1352 | } | 1352 | } |
1353 | script->insn[script->count++] = insn; | 1353 | script->insn[script->count++] = insn; |
@@ -1389,7 +1389,7 @@ emit_nat_info (struct unw_state_record *sr, int i, struct unw_script *script) | |||
1389 | 1389 | ||
1390 | default: | 1390 | default: |
1391 | UNW_DPRINT(0, "unwind.%s: don't know how to emit nat info for where = %u\n", | 1391 | UNW_DPRINT(0, "unwind.%s: don't know how to emit nat info for where = %u\n", |
1392 | __FUNCTION__, r->where); | 1392 | __func__, r->where); |
1393 | return; | 1393 | return; |
1394 | } | 1394 | } |
1395 | insn.opc = opc; | 1395 | insn.opc = opc; |
@@ -1446,7 +1446,7 @@ compile_reg (struct unw_state_record *sr, int i, struct unw_script *script) | |||
1446 | val = offsetof(struct pt_regs, f6) + 16*(rval - 6); | 1446 | val = offsetof(struct pt_regs, f6) + 16*(rval - 6); |
1447 | else | 1447 | else |
1448 | UNW_DPRINT(0, "unwind.%s: kernel may not touch f%lu\n", | 1448 | UNW_DPRINT(0, "unwind.%s: kernel may not touch f%lu\n", |
1449 | __FUNCTION__, rval); | 1449 | __func__, rval); |
1450 | } | 1450 | } |
1451 | break; | 1451 | break; |
1452 | 1452 | ||
@@ -1474,7 +1474,7 @@ compile_reg (struct unw_state_record *sr, int i, struct unw_script *script) | |||
1474 | 1474 | ||
1475 | default: | 1475 | default: |
1476 | UNW_DPRINT(0, "unwind%s: register %u has unexpected `where' value of %u\n", | 1476 | UNW_DPRINT(0, "unwind%s: register %u has unexpected `where' value of %u\n", |
1477 | __FUNCTION__, i, r->where); | 1477 | __func__, i, r->where); |
1478 | break; | 1478 | break; |
1479 | } | 1479 | } |
1480 | insn.opc = opc; | 1480 | insn.opc = opc; |
@@ -1547,10 +1547,10 @@ build_script (struct unw_frame_info *info) | |||
1547 | r->when = UNW_WHEN_NEVER; | 1547 | r->when = UNW_WHEN_NEVER; |
1548 | sr.pr_val = info->pr; | 1548 | sr.pr_val = info->pr; |
1549 | 1549 | ||
1550 | UNW_DPRINT(3, "unwind.%s: ip 0x%lx\n", __FUNCTION__, ip); | 1550 | UNW_DPRINT(3, "unwind.%s: ip 0x%lx\n", __func__, ip); |
1551 | script = script_new(ip); | 1551 | script = script_new(ip); |
1552 | if (!script) { | 1552 | if (!script) { |
1553 | UNW_DPRINT(0, "unwind.%s: failed to create unwind script\n", __FUNCTION__); | 1553 | UNW_DPRINT(0, "unwind.%s: failed to create unwind script\n", __func__); |
1554 | STAT(unw.stat.script.build_time += ia64_get_itc() - start); | 1554 | STAT(unw.stat.script.build_time += ia64_get_itc() - start); |
1555 | return NULL; | 1555 | return NULL; |
1556 | } | 1556 | } |
@@ -1569,7 +1569,7 @@ build_script (struct unw_frame_info *info) | |||
1569 | if (!e) { | 1569 | if (!e) { |
1570 | /* no info, return default unwinder (leaf proc, no mem stack, no saved regs) */ | 1570 | /* no info, return default unwinder (leaf proc, no mem stack, no saved regs) */ |
1571 | UNW_DPRINT(1, "unwind.%s: no unwind info for ip=0x%lx (prev ip=0x%lx)\n", | 1571 | UNW_DPRINT(1, "unwind.%s: no unwind info for ip=0x%lx (prev ip=0x%lx)\n", |
1572 | __FUNCTION__, ip, unw.cache[info->prev_script].ip); | 1572 | __func__, ip, unw.cache[info->prev_script].ip); |
1573 | sr.curr.reg[UNW_REG_RP].where = UNW_WHERE_BR; | 1573 | sr.curr.reg[UNW_REG_RP].where = UNW_WHERE_BR; |
1574 | sr.curr.reg[UNW_REG_RP].when = -1; | 1574 | sr.curr.reg[UNW_REG_RP].when = -1; |
1575 | sr.curr.reg[UNW_REG_RP].val = 0; | 1575 | sr.curr.reg[UNW_REG_RP].val = 0; |
@@ -1618,13 +1618,13 @@ build_script (struct unw_frame_info *info) | |||
1618 | sr.curr.reg[UNW_REG_RP].when = -1; | 1618 | sr.curr.reg[UNW_REG_RP].when = -1; |
1619 | sr.curr.reg[UNW_REG_RP].val = sr.return_link_reg; | 1619 | sr.curr.reg[UNW_REG_RP].val = sr.return_link_reg; |
1620 | UNW_DPRINT(1, "unwind.%s: using default for rp at ip=0x%lx where=%d val=0x%lx\n", | 1620 | UNW_DPRINT(1, "unwind.%s: using default for rp at ip=0x%lx where=%d val=0x%lx\n", |
1621 | __FUNCTION__, ip, sr.curr.reg[UNW_REG_RP].where, | 1621 | __func__, ip, sr.curr.reg[UNW_REG_RP].where, |
1622 | sr.curr.reg[UNW_REG_RP].val); | 1622 | sr.curr.reg[UNW_REG_RP].val); |
1623 | } | 1623 | } |
1624 | 1624 | ||
1625 | #ifdef UNW_DEBUG | 1625 | #ifdef UNW_DEBUG |
1626 | UNW_DPRINT(1, "unwind.%s: state record for func 0x%lx, t=%u:\n", | 1626 | UNW_DPRINT(1, "unwind.%s: state record for func 0x%lx, t=%u:\n", |
1627 | __FUNCTION__, table->segment_base + e->start_offset, sr.when_target); | 1627 | __func__, table->segment_base + e->start_offset, sr.when_target); |
1628 | for (r = sr.curr.reg; r < sr.curr.reg + UNW_NUM_REGS; ++r) { | 1628 | for (r = sr.curr.reg; r < sr.curr.reg + UNW_NUM_REGS; ++r) { |
1629 | if (r->where != UNW_WHERE_NONE || r->when != UNW_WHEN_NEVER) { | 1629 | if (r->where != UNW_WHERE_NONE || r->when != UNW_WHEN_NEVER) { |
1630 | UNW_DPRINT(1, " %s <- ", unw.preg_name[r - sr.curr.reg]); | 1630 | UNW_DPRINT(1, " %s <- ", unw.preg_name[r - sr.curr.reg]); |
@@ -1746,7 +1746,7 @@ run_script (struct unw_script *script, struct unw_frame_info *state) | |||
1746 | } else { | 1746 | } else { |
1747 | s[dst] = 0; | 1747 | s[dst] = 0; |
1748 | UNW_DPRINT(0, "unwind.%s: no state->pt, dst=%ld, val=%ld\n", | 1748 | UNW_DPRINT(0, "unwind.%s: no state->pt, dst=%ld, val=%ld\n", |
1749 | __FUNCTION__, dst, val); | 1749 | __func__, dst, val); |
1750 | } | 1750 | } |
1751 | break; | 1751 | break; |
1752 | 1752 | ||
@@ -1756,7 +1756,7 @@ run_script (struct unw_script *script, struct unw_frame_info *state) | |||
1756 | else { | 1756 | else { |
1757 | s[dst] = 0; | 1757 | s[dst] = 0; |
1758 | UNW_DPRINT(0, "unwind.%s: UNW_INSN_MOVE_CONST bad val=%ld\n", | 1758 | UNW_DPRINT(0, "unwind.%s: UNW_INSN_MOVE_CONST bad val=%ld\n", |
1759 | __FUNCTION__, val); | 1759 | __func__, val); |
1760 | } | 1760 | } |
1761 | break; | 1761 | break; |
1762 | 1762 | ||
@@ -1791,7 +1791,7 @@ run_script (struct unw_script *script, struct unw_frame_info *state) | |||
1791 | || s[val] < TASK_SIZE) | 1791 | || s[val] < TASK_SIZE) |
1792 | { | 1792 | { |
1793 | UNW_DPRINT(0, "unwind.%s: rejecting bad psp=0x%lx\n", | 1793 | UNW_DPRINT(0, "unwind.%s: rejecting bad psp=0x%lx\n", |
1794 | __FUNCTION__, s[val]); | 1794 | __func__, s[val]); |
1795 | break; | 1795 | break; |
1796 | } | 1796 | } |
1797 | #endif | 1797 | #endif |
@@ -1825,7 +1825,7 @@ find_save_locs (struct unw_frame_info *info) | |||
1825 | if ((info->ip & (local_cpu_data->unimpl_va_mask | 0xf)) || info->ip < TASK_SIZE) { | 1825 | if ((info->ip & (local_cpu_data->unimpl_va_mask | 0xf)) || info->ip < TASK_SIZE) { |
1826 | /* don't let obviously bad addresses pollute the cache */ | 1826 | /* don't let obviously bad addresses pollute the cache */ |
1827 | /* FIXME: should really be level 0 but it occurs too often. KAO */ | 1827 | /* FIXME: should really be level 0 but it occurs too often. KAO */ |
1828 | UNW_DPRINT(1, "unwind.%s: rejecting bad ip=0x%lx\n", __FUNCTION__, info->ip); | 1828 | UNW_DPRINT(1, "unwind.%s: rejecting bad ip=0x%lx\n", __func__, info->ip); |
1829 | info->rp_loc = NULL; | 1829 | info->rp_loc = NULL; |
1830 | return -1; | 1830 | return -1; |
1831 | } | 1831 | } |
@@ -1838,7 +1838,7 @@ find_save_locs (struct unw_frame_info *info) | |||
1838 | spin_unlock_irqrestore(&unw.lock, flags); | 1838 | spin_unlock_irqrestore(&unw.lock, flags); |
1839 | UNW_DPRINT(0, | 1839 | UNW_DPRINT(0, |
1840 | "unwind.%s: failed to locate/build unwind script for ip %lx\n", | 1840 | "unwind.%s: failed to locate/build unwind script for ip %lx\n", |
1841 | __FUNCTION__, info->ip); | 1841 | __func__, info->ip); |
1842 | return -1; | 1842 | return -1; |
1843 | } | 1843 | } |
1844 | have_write_lock = 1; | 1844 | have_write_lock = 1; |
@@ -1882,21 +1882,21 @@ unw_unwind (struct unw_frame_info *info) | |||
1882 | if (!unw_valid(info, info->rp_loc)) { | 1882 | if (!unw_valid(info, info->rp_loc)) { |
1883 | /* FIXME: should really be level 0 but it occurs too often. KAO */ | 1883 | /* FIXME: should really be level 0 but it occurs too often. KAO */ |
1884 | UNW_DPRINT(1, "unwind.%s: failed to locate return link (ip=0x%lx)!\n", | 1884 | UNW_DPRINT(1, "unwind.%s: failed to locate return link (ip=0x%lx)!\n", |
1885 | __FUNCTION__, info->ip); | 1885 | __func__, info->ip); |
1886 | STAT(unw.stat.api.unwind_time += ia64_get_itc() - start; local_irq_restore(flags)); | 1886 | STAT(unw.stat.api.unwind_time += ia64_get_itc() - start; local_irq_restore(flags)); |
1887 | return -1; | 1887 | return -1; |
1888 | } | 1888 | } |
1889 | /* restore the ip */ | 1889 | /* restore the ip */ |
1890 | ip = info->ip = *info->rp_loc; | 1890 | ip = info->ip = *info->rp_loc; |
1891 | if (ip < GATE_ADDR) { | 1891 | if (ip < GATE_ADDR) { |
1892 | UNW_DPRINT(2, "unwind.%s: reached user-space (ip=0x%lx)\n", __FUNCTION__, ip); | 1892 | UNW_DPRINT(2, "unwind.%s: reached user-space (ip=0x%lx)\n", __func__, ip); |
1893 | STAT(unw.stat.api.unwind_time += ia64_get_itc() - start; local_irq_restore(flags)); | 1893 | STAT(unw.stat.api.unwind_time += ia64_get_itc() - start; local_irq_restore(flags)); |
1894 | return -1; | 1894 | return -1; |
1895 | } | 1895 | } |
1896 | 1896 | ||
1897 | /* validate the previous stack frame pointer */ | 1897 | /* validate the previous stack frame pointer */ |
1898 | if (!unw_valid(info, info->pfs_loc)) { | 1898 | if (!unw_valid(info, info->pfs_loc)) { |
1899 | UNW_DPRINT(0, "unwind.%s: failed to locate ar.pfs!\n", __FUNCTION__); | 1899 | UNW_DPRINT(0, "unwind.%s: failed to locate ar.pfs!\n", __func__); |
1900 | STAT(unw.stat.api.unwind_time += ia64_get_itc() - start; local_irq_restore(flags)); | 1900 | STAT(unw.stat.api.unwind_time += ia64_get_itc() - start; local_irq_restore(flags)); |
1901 | return -1; | 1901 | return -1; |
1902 | } | 1902 | } |
@@ -1912,13 +1912,13 @@ unw_unwind (struct unw_frame_info *info) | |||
1912 | num_regs = *info->cfm_loc & 0x7f; /* size of frame */ | 1912 | num_regs = *info->cfm_loc & 0x7f; /* size of frame */ |
1913 | info->pfs_loc = | 1913 | info->pfs_loc = |
1914 | (unsigned long *) (info->pt + offsetof(struct pt_regs, ar_pfs)); | 1914 | (unsigned long *) (info->pt + offsetof(struct pt_regs, ar_pfs)); |
1915 | UNW_DPRINT(3, "unwind.%s: interrupt_frame pt 0x%lx\n", __FUNCTION__, info->pt); | 1915 | UNW_DPRINT(3, "unwind.%s: interrupt_frame pt 0x%lx\n", __func__, info->pt); |
1916 | } else | 1916 | } else |
1917 | num_regs = (*info->cfm_loc >> 7) & 0x7f; /* size of locals */ | 1917 | num_regs = (*info->cfm_loc >> 7) & 0x7f; /* size of locals */ |
1918 | info->bsp = (unsigned long) ia64_rse_skip_regs((unsigned long *) info->bsp, -num_regs); | 1918 | info->bsp = (unsigned long) ia64_rse_skip_regs((unsigned long *) info->bsp, -num_regs); |
1919 | if (info->bsp < info->regstk.limit || info->bsp > info->regstk.top) { | 1919 | if (info->bsp < info->regstk.limit || info->bsp > info->regstk.top) { |
1920 | UNW_DPRINT(0, "unwind.%s: bsp (0x%lx) out of range [0x%lx-0x%lx]\n", | 1920 | UNW_DPRINT(0, "unwind.%s: bsp (0x%lx) out of range [0x%lx-0x%lx]\n", |
1921 | __FUNCTION__, info->bsp, info->regstk.limit, info->regstk.top); | 1921 | __func__, info->bsp, info->regstk.limit, info->regstk.top); |
1922 | STAT(unw.stat.api.unwind_time += ia64_get_itc() - start; local_irq_restore(flags)); | 1922 | STAT(unw.stat.api.unwind_time += ia64_get_itc() - start; local_irq_restore(flags)); |
1923 | return -1; | 1923 | return -1; |
1924 | } | 1924 | } |
@@ -1927,14 +1927,14 @@ unw_unwind (struct unw_frame_info *info) | |||
1927 | info->sp = info->psp; | 1927 | info->sp = info->psp; |
1928 | if (info->sp < info->memstk.top || info->sp > info->memstk.limit) { | 1928 | if (info->sp < info->memstk.top || info->sp > info->memstk.limit) { |
1929 | UNW_DPRINT(0, "unwind.%s: sp (0x%lx) out of range [0x%lx-0x%lx]\n", | 1929 | UNW_DPRINT(0, "unwind.%s: sp (0x%lx) out of range [0x%lx-0x%lx]\n", |
1930 | __FUNCTION__, info->sp, info->memstk.top, info->memstk.limit); | 1930 | __func__, info->sp, info->memstk.top, info->memstk.limit); |
1931 | STAT(unw.stat.api.unwind_time += ia64_get_itc() - start; local_irq_restore(flags)); | 1931 | STAT(unw.stat.api.unwind_time += ia64_get_itc() - start; local_irq_restore(flags)); |
1932 | return -1; | 1932 | return -1; |
1933 | } | 1933 | } |
1934 | 1934 | ||
1935 | if (info->ip == prev_ip && info->sp == prev_sp && info->bsp == prev_bsp) { | 1935 | if (info->ip == prev_ip && info->sp == prev_sp && info->bsp == prev_bsp) { |
1936 | UNW_DPRINT(0, "unwind.%s: ip, sp, bsp unchanged; stopping here (ip=0x%lx)\n", | 1936 | UNW_DPRINT(0, "unwind.%s: ip, sp, bsp unchanged; stopping here (ip=0x%lx)\n", |
1937 | __FUNCTION__, ip); | 1937 | __func__, ip); |
1938 | STAT(unw.stat.api.unwind_time += ia64_get_itc() - start; local_irq_restore(flags)); | 1938 | STAT(unw.stat.api.unwind_time += ia64_get_itc() - start; local_irq_restore(flags)); |
1939 | return -1; | 1939 | return -1; |
1940 | } | 1940 | } |
@@ -1961,7 +1961,7 @@ unw_unwind_to_user (struct unw_frame_info *info) | |||
1961 | if ((long)((unsigned long)info->task + IA64_STK_OFFSET - sp) | 1961 | if ((long)((unsigned long)info->task + IA64_STK_OFFSET - sp) |
1962 | < IA64_PT_REGS_SIZE) { | 1962 | < IA64_PT_REGS_SIZE) { |
1963 | UNW_DPRINT(0, "unwind.%s: ran off the top of the kernel stack\n", | 1963 | UNW_DPRINT(0, "unwind.%s: ran off the top of the kernel stack\n", |
1964 | __FUNCTION__); | 1964 | __func__); |
1965 | break; | 1965 | break; |
1966 | } | 1966 | } |
1967 | if (unw_is_intr_frame(info) && | 1967 | if (unw_is_intr_frame(info) && |
@@ -1971,13 +1971,13 @@ unw_unwind_to_user (struct unw_frame_info *info) | |||
1971 | unw_get_rp(info, &ip); | 1971 | unw_get_rp(info, &ip); |
1972 | UNW_DPRINT(0, "unwind.%s: failed to read " | 1972 | UNW_DPRINT(0, "unwind.%s: failed to read " |
1973 | "predicate register (ip=0x%lx)\n", | 1973 | "predicate register (ip=0x%lx)\n", |
1974 | __FUNCTION__, ip); | 1974 | __func__, ip); |
1975 | return -1; | 1975 | return -1; |
1976 | } | 1976 | } |
1977 | } while (unw_unwind(info) >= 0); | 1977 | } while (unw_unwind(info) >= 0); |
1978 | unw_get_ip(info, &ip); | 1978 | unw_get_ip(info, &ip); |
1979 | UNW_DPRINT(0, "unwind.%s: failed to unwind to user-level (ip=0x%lx)\n", | 1979 | UNW_DPRINT(0, "unwind.%s: failed to unwind to user-level (ip=0x%lx)\n", |
1980 | __FUNCTION__, ip); | 1980 | __func__, ip); |
1981 | return -1; | 1981 | return -1; |
1982 | } | 1982 | } |
1983 | EXPORT_SYMBOL(unw_unwind_to_user); | 1983 | EXPORT_SYMBOL(unw_unwind_to_user); |
@@ -2028,7 +2028,7 @@ init_frame_info (struct unw_frame_info *info, struct task_struct *t, | |||
2028 | " pr 0x%lx\n" | 2028 | " pr 0x%lx\n" |
2029 | " sw 0x%lx\n" | 2029 | " sw 0x%lx\n" |
2030 | " sp 0x%lx\n", | 2030 | " sp 0x%lx\n", |
2031 | __FUNCTION__, (unsigned long) t, rbslimit, rbstop, stktop, stklimit, | 2031 | __func__, (unsigned long) t, rbslimit, rbstop, stktop, stklimit, |
2032 | info->pr, (unsigned long) info->sw, info->sp); | 2032 | info->pr, (unsigned long) info->sw, info->sp); |
2033 | STAT(unw.stat.api.init_time += ia64_get_itc() - start; local_irq_restore(flags)); | 2033 | STAT(unw.stat.api.init_time += ia64_get_itc() - start; local_irq_restore(flags)); |
2034 | } | 2034 | } |
@@ -2047,7 +2047,7 @@ unw_init_frame_info (struct unw_frame_info *info, struct task_struct *t, struct | |||
2047 | " bsp 0x%lx\n" | 2047 | " bsp 0x%lx\n" |
2048 | " sol 0x%lx\n" | 2048 | " sol 0x%lx\n" |
2049 | " ip 0x%lx\n", | 2049 | " ip 0x%lx\n", |
2050 | __FUNCTION__, info->bsp, sol, info->ip); | 2050 | __func__, info->bsp, sol, info->ip); |
2051 | find_save_locs(info); | 2051 | find_save_locs(info); |
2052 | } | 2052 | } |
2053 | 2053 | ||
@@ -2058,7 +2058,7 @@ unw_init_from_blocked_task (struct unw_frame_info *info, struct task_struct *t) | |||
2058 | { | 2058 | { |
2059 | struct switch_stack *sw = (struct switch_stack *) (t->thread.ksp + 16); | 2059 | struct switch_stack *sw = (struct switch_stack *) (t->thread.ksp + 16); |
2060 | 2060 | ||
2061 | UNW_DPRINT(1, "unwind.%s\n", __FUNCTION__); | 2061 | UNW_DPRINT(1, "unwind.%s\n", __func__); |
2062 | unw_init_frame_info(info, t, sw); | 2062 | unw_init_frame_info(info, t, sw); |
2063 | } | 2063 | } |
2064 | EXPORT_SYMBOL(unw_init_from_blocked_task); | 2064 | EXPORT_SYMBOL(unw_init_from_blocked_task); |
@@ -2088,7 +2088,7 @@ unw_add_unwind_table (const char *name, unsigned long segment_base, unsigned lon | |||
2088 | 2088 | ||
2089 | if (end - start <= 0) { | 2089 | if (end - start <= 0) { |
2090 | UNW_DPRINT(0, "unwind.%s: ignoring attempt to insert empty unwind table\n", | 2090 | UNW_DPRINT(0, "unwind.%s: ignoring attempt to insert empty unwind table\n", |
2091 | __FUNCTION__); | 2091 | __func__); |
2092 | return NULL; | 2092 | return NULL; |
2093 | } | 2093 | } |
2094 | 2094 | ||
@@ -2119,14 +2119,14 @@ unw_remove_unwind_table (void *handle) | |||
2119 | 2119 | ||
2120 | if (!handle) { | 2120 | if (!handle) { |
2121 | UNW_DPRINT(0, "unwind.%s: ignoring attempt to remove non-existent unwind table\n", | 2121 | UNW_DPRINT(0, "unwind.%s: ignoring attempt to remove non-existent unwind table\n", |
2122 | __FUNCTION__); | 2122 | __func__); |
2123 | return; | 2123 | return; |
2124 | } | 2124 | } |
2125 | 2125 | ||
2126 | table = handle; | 2126 | table = handle; |
2127 | if (table == &unw.kernel_table) { | 2127 | if (table == &unw.kernel_table) { |
2128 | UNW_DPRINT(0, "unwind.%s: sorry, freeing the kernel's unwind table is a " | 2128 | UNW_DPRINT(0, "unwind.%s: sorry, freeing the kernel's unwind table is a " |
2129 | "no-can-do!\n", __FUNCTION__); | 2129 | "no-can-do!\n", __func__); |
2130 | return; | 2130 | return; |
2131 | } | 2131 | } |
2132 | 2132 | ||
@@ -2139,7 +2139,7 @@ unw_remove_unwind_table (void *handle) | |||
2139 | break; | 2139 | break; |
2140 | if (!prev) { | 2140 | if (!prev) { |
2141 | UNW_DPRINT(0, "unwind.%s: failed to find unwind table %p\n", | 2141 | UNW_DPRINT(0, "unwind.%s: failed to find unwind table %p\n", |
2142 | __FUNCTION__, (void *) table); | 2142 | __func__, (void *) table); |
2143 | spin_unlock_irqrestore(&unw.lock, flags); | 2143 | spin_unlock_irqrestore(&unw.lock, flags); |
2144 | return; | 2144 | return; |
2145 | } | 2145 | } |
@@ -2185,7 +2185,7 @@ create_gate_table (void) | |||
2185 | } | 2185 | } |
2186 | 2186 | ||
2187 | if (!punw) { | 2187 | if (!punw) { |
2188 | printk("%s: failed to find gate DSO's unwind table!\n", __FUNCTION__); | 2188 | printk("%s: failed to find gate DSO's unwind table!\n", __func__); |
2189 | return 0; | 2189 | return 0; |
2190 | } | 2190 | } |
2191 | 2191 | ||
@@ -2202,7 +2202,7 @@ create_gate_table (void) | |||
2202 | unw.gate_table = kmalloc(size, GFP_KERNEL); | 2202 | unw.gate_table = kmalloc(size, GFP_KERNEL); |
2203 | if (!unw.gate_table) { | 2203 | if (!unw.gate_table) { |
2204 | unw.gate_table_size = 0; | 2204 | unw.gate_table_size = 0; |
2205 | printk(KERN_ERR "%s: unable to create unwind data for gate page!\n", __FUNCTION__); | 2205 | printk(KERN_ERR "%s: unable to create unwind data for gate page!\n", __func__); |
2206 | return 0; | 2206 | return 0; |
2207 | } | 2207 | } |
2208 | unw.gate_table_size = size; | 2208 | unw.gate_table_size = size; |
diff --git a/arch/ia64/mm/fault.c b/arch/ia64/mm/fault.c index 3e69881648a3..23088bed111e 100644 --- a/arch/ia64/mm/fault.c +++ b/arch/ia64/mm/fault.c | |||
@@ -26,7 +26,7 @@ static inline int notify_page_fault(struct pt_regs *regs, int trap) | |||
26 | if (!user_mode(regs)) { | 26 | if (!user_mode(regs)) { |
27 | /* kprobe_running() needs smp_processor_id() */ | 27 | /* kprobe_running() needs smp_processor_id() */ |
28 | preempt_disable(); | 28 | preempt_disable(); |
29 | if (kprobe_running() && kprobes_fault_handler(regs, trap)) | 29 | if (kprobe_running() && kprobe_fault_handler(regs, trap)) |
30 | ret = 1; | 30 | ret = 1; |
31 | preempt_enable(); | 31 | preempt_enable(); |
32 | } | 32 | } |
diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c index 25aef6211a54..a4ca657c72c6 100644 --- a/arch/ia64/mm/init.c +++ b/arch/ia64/mm/init.c | |||
@@ -714,7 +714,7 @@ int arch_add_memory(int nid, u64 start, u64 size) | |||
714 | 714 | ||
715 | if (ret) | 715 | if (ret) |
716 | printk("%s: Problem encountered in __add_pages() as ret=%d\n", | 716 | printk("%s: Problem encountered in __add_pages() as ret=%d\n", |
717 | __FUNCTION__, ret); | 717 | __func__, ret); |
718 | 718 | ||
719 | return ret; | 719 | return ret; |
720 | } | 720 | } |
diff --git a/arch/ia64/pci/fixup.c b/arch/ia64/pci/fixup.c index 245dc1fedc24..f5959c0c1810 100644 --- a/arch/ia64/pci/fixup.c +++ b/arch/ia64/pci/fixup.c | |||
@@ -63,7 +63,7 @@ static void __devinit pci_fixup_video(struct pci_dev *pdev) | |||
63 | pci_read_config_word(pdev, PCI_COMMAND, &config); | 63 | pci_read_config_word(pdev, PCI_COMMAND, &config); |
64 | if (config & (PCI_COMMAND_IO | PCI_COMMAND_MEMORY)) { | 64 | if (config & (PCI_COMMAND_IO | PCI_COMMAND_MEMORY)) { |
65 | pdev->resource[PCI_ROM_RESOURCE].flags |= IORESOURCE_ROM_SHADOW; | 65 | pdev->resource[PCI_ROM_RESOURCE].flags |= IORESOURCE_ROM_SHADOW; |
66 | printk(KERN_DEBUG "Boot video device is %s\n", pci_name(pdev)); | 66 | dev_printk(KERN_DEBUG, &pdev->dev, "Boot video device\n"); |
67 | } | 67 | } |
68 | } | 68 | } |
69 | DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, pci_fixup_video); | 69 | DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, pci_fixup_video); |
diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c index 8fd7e825192b..e282c348dcde 100644 --- a/arch/ia64/pci/pci.c +++ b/arch/ia64/pci/pci.c | |||
@@ -765,7 +765,7 @@ static void __init set_pci_cacheline_size(void) | |||
765 | status = ia64_pal_cache_summary(&levels, &unique_caches); | 765 | status = ia64_pal_cache_summary(&levels, &unique_caches); |
766 | if (status != 0) { | 766 | if (status != 0) { |
767 | printk(KERN_ERR "%s: ia64_pal_cache_summary() failed " | 767 | printk(KERN_ERR "%s: ia64_pal_cache_summary() failed " |
768 | "(status=%ld)\n", __FUNCTION__, status); | 768 | "(status=%ld)\n", __func__, status); |
769 | return; | 769 | return; |
770 | } | 770 | } |
771 | 771 | ||
@@ -773,7 +773,7 @@ static void __init set_pci_cacheline_size(void) | |||
773 | /* cache_type (data_or_unified)= */ 2, &cci); | 773 | /* cache_type (data_or_unified)= */ 2, &cci); |
774 | if (status != 0) { | 774 | if (status != 0) { |
775 | printk(KERN_ERR "%s: ia64_pal_cache_config_info() failed " | 775 | printk(KERN_ERR "%s: ia64_pal_cache_config_info() failed " |
776 | "(status=%ld)\n", __FUNCTION__, status); | 776 | "(status=%ld)\n", __func__, status); |
777 | return; | 777 | return; |
778 | } | 778 | } |
779 | pci_cache_line_size = (1 << cci.pcci_line_size) / 4; | 779 | pci_cache_line_size = (1 << cci.pcci_line_size) / 4; |
diff --git a/arch/ia64/sn/kernel/huberror.c b/arch/ia64/sn/kernel/huberror.c index b663168da55c..0101c7924a4d 100644 --- a/arch/ia64/sn/kernel/huberror.c +++ b/arch/ia64/sn/kernel/huberror.c | |||
@@ -37,7 +37,7 @@ static irqreturn_t hub_eint_handler(int irq, void *arg) | |||
37 | (u64) nasid, 0, 0, 0, 0, 0, 0); | 37 | (u64) nasid, 0, 0, 0, 0, 0, 0); |
38 | 38 | ||
39 | if ((int)ret_stuff.v0) | 39 | if ((int)ret_stuff.v0) |
40 | panic("%s: Fatal %s Error", __FUNCTION__, | 40 | panic("%s: Fatal %s Error", __func__, |
41 | ((nasid & 1) ? "TIO" : "HUBII")); | 41 | ((nasid & 1) ? "TIO" : "HUBII")); |
42 | 42 | ||
43 | if (!(nasid & 1)) /* Not a TIO, handle CRB errors */ | 43 | if (!(nasid & 1)) /* Not a TIO, handle CRB errors */ |
@@ -48,7 +48,7 @@ static irqreturn_t hub_eint_handler(int irq, void *arg) | |||
48 | (u64) nasid, 0, 0, 0, 0, 0, 0); | 48 | (u64) nasid, 0, 0, 0, 0, 0, 0); |
49 | 49 | ||
50 | if ((int)ret_stuff.v0) | 50 | if ((int)ret_stuff.v0) |
51 | panic("%s: Fatal TIO Error", __FUNCTION__); | 51 | panic("%s: Fatal TIO Error", __func__); |
52 | } else | 52 | } else |
53 | bte_error_handler((unsigned long)NODEPDA(nasid_to_cnodeid(nasid))); | 53 | bte_error_handler((unsigned long)NODEPDA(nasid_to_cnodeid(nasid))); |
54 | 54 | ||
diff --git a/arch/ia64/sn/kernel/io_acpi_init.c b/arch/ia64/sn/kernel/io_acpi_init.c index 3c7178f5dce8..6568942a95f0 100644 --- a/arch/ia64/sn/kernel/io_acpi_init.c +++ b/arch/ia64/sn/kernel/io_acpi_init.c | |||
@@ -133,7 +133,7 @@ sn_get_bussoft_ptr(struct pci_bus *bus) | |||
133 | if (ACPI_FAILURE(status)) { | 133 | if (ACPI_FAILURE(status)) { |
134 | printk(KERN_ERR "%s: " | 134 | printk(KERN_ERR "%s: " |
135 | "acpi_get_vendor_resource() failed (0x%x) for: ", | 135 | "acpi_get_vendor_resource() failed (0x%x) for: ", |
136 | __FUNCTION__, status); | 136 | __func__, status); |
137 | acpi_ns_print_node_pathname(handle, NULL); | 137 | acpi_ns_print_node_pathname(handle, NULL); |
138 | printk("\n"); | 138 | printk("\n"); |
139 | return NULL; | 139 | return NULL; |
@@ -145,7 +145,7 @@ sn_get_bussoft_ptr(struct pci_bus *bus) | |||
145 | sizeof(struct pcibus_bussoft *)) { | 145 | sizeof(struct pcibus_bussoft *)) { |
146 | printk(KERN_ERR | 146 | printk(KERN_ERR |
147 | "%s: Invalid vendor data length %d\n", | 147 | "%s: Invalid vendor data length %d\n", |
148 | __FUNCTION__, vendor->byte_length); | 148 | __func__, vendor->byte_length); |
149 | kfree(buffer.pointer); | 149 | kfree(buffer.pointer); |
150 | return NULL; | 150 | return NULL; |
151 | } | 151 | } |
@@ -184,7 +184,7 @@ sn_extract_device_info(acpi_handle handle, struct pcidev_info **pcidev_info, | |||
184 | if (ACPI_FAILURE(status)) { | 184 | if (ACPI_FAILURE(status)) { |
185 | printk(KERN_ERR | 185 | printk(KERN_ERR |
186 | "%s: acpi_get_vendor_resource() failed (0x%x) for: ", | 186 | "%s: acpi_get_vendor_resource() failed (0x%x) for: ", |
187 | __FUNCTION__, status); | 187 | __func__, status); |
188 | acpi_ns_print_node_pathname(handle, NULL); | 188 | acpi_ns_print_node_pathname(handle, NULL); |
189 | printk("\n"); | 189 | printk("\n"); |
190 | return 1; | 190 | return 1; |
@@ -196,7 +196,7 @@ sn_extract_device_info(acpi_handle handle, struct pcidev_info **pcidev_info, | |||
196 | sizeof(struct pci_devdev_info *)) { | 196 | sizeof(struct pci_devdev_info *)) { |
197 | printk(KERN_ERR | 197 | printk(KERN_ERR |
198 | "%s: Invalid vendor data length: %d for: ", | 198 | "%s: Invalid vendor data length: %d for: ", |
199 | __FUNCTION__, vendor->byte_length); | 199 | __func__, vendor->byte_length); |
200 | acpi_ns_print_node_pathname(handle, NULL); | 200 | acpi_ns_print_node_pathname(handle, NULL); |
201 | printk("\n"); | 201 | printk("\n"); |
202 | ret = 1; | 202 | ret = 1; |
@@ -205,7 +205,7 @@ sn_extract_device_info(acpi_handle handle, struct pcidev_info **pcidev_info, | |||
205 | 205 | ||
206 | pcidev_ptr = kzalloc(sizeof(struct pcidev_info), GFP_KERNEL); | 206 | pcidev_ptr = kzalloc(sizeof(struct pcidev_info), GFP_KERNEL); |
207 | if (!pcidev_ptr) | 207 | if (!pcidev_ptr) |
208 | panic("%s: Unable to alloc memory for pcidev_info", __FUNCTION__); | 208 | panic("%s: Unable to alloc memory for pcidev_info", __func__); |
209 | 209 | ||
210 | memcpy(&addr, vendor->byte_data, sizeof(struct pcidev_info *)); | 210 | memcpy(&addr, vendor->byte_data, sizeof(struct pcidev_info *)); |
211 | pcidev_prom_ptr = __va(addr); | 211 | pcidev_prom_ptr = __va(addr); |
@@ -214,7 +214,7 @@ sn_extract_device_info(acpi_handle handle, struct pcidev_info **pcidev_info, | |||
214 | /* Get the IRQ info */ | 214 | /* Get the IRQ info */ |
215 | irq_info = kzalloc(sizeof(struct sn_irq_info), GFP_KERNEL); | 215 | irq_info = kzalloc(sizeof(struct sn_irq_info), GFP_KERNEL); |
216 | if (!irq_info) | 216 | if (!irq_info) |
217 | panic("%s: Unable to alloc memory for sn_irq_info", __FUNCTION__); | 217 | panic("%s: Unable to alloc memory for sn_irq_info", __func__); |
218 | 218 | ||
219 | if (pcidev_ptr->pdi_sn_irq_info) { | 219 | if (pcidev_ptr->pdi_sn_irq_info) { |
220 | irq_info_prom = __va(pcidev_ptr->pdi_sn_irq_info); | 220 | irq_info_prom = __va(pcidev_ptr->pdi_sn_irq_info); |
@@ -249,10 +249,10 @@ get_host_devfn(acpi_handle device_handle, acpi_handle rootbus_handle) | |||
249 | status = acpi_get_parent(child, &parent); | 249 | status = acpi_get_parent(child, &parent); |
250 | if (ACPI_FAILURE(status)) { | 250 | if (ACPI_FAILURE(status)) { |
251 | printk(KERN_ERR "%s: acpi_get_parent() failed " | 251 | printk(KERN_ERR "%s: acpi_get_parent() failed " |
252 | "(0x%x) for: ", __FUNCTION__, status); | 252 | "(0x%x) for: ", __func__, status); |
253 | acpi_ns_print_node_pathname(child, NULL); | 253 | acpi_ns_print_node_pathname(child, NULL); |
254 | printk("\n"); | 254 | printk("\n"); |
255 | panic("%s: Unable to find host devfn\n", __FUNCTION__); | 255 | panic("%s: Unable to find host devfn\n", __func__); |
256 | } | 256 | } |
257 | if (parent == rootbus_handle) | 257 | if (parent == rootbus_handle) |
258 | break; | 258 | break; |
@@ -260,7 +260,7 @@ get_host_devfn(acpi_handle device_handle, acpi_handle rootbus_handle) | |||
260 | } | 260 | } |
261 | if (!child) { | 261 | if (!child) { |
262 | printk(KERN_ERR "%s: Unable to find root bus for: ", | 262 | printk(KERN_ERR "%s: Unable to find root bus for: ", |
263 | __FUNCTION__); | 263 | __func__); |
264 | acpi_ns_print_node_pathname(device_handle, NULL); | 264 | acpi_ns_print_node_pathname(device_handle, NULL); |
265 | printk("\n"); | 265 | printk("\n"); |
266 | BUG(); | 266 | BUG(); |
@@ -269,10 +269,10 @@ get_host_devfn(acpi_handle device_handle, acpi_handle rootbus_handle) | |||
269 | status = acpi_evaluate_integer(child, METHOD_NAME__ADR, NULL, &adr); | 269 | status = acpi_evaluate_integer(child, METHOD_NAME__ADR, NULL, &adr); |
270 | if (ACPI_FAILURE(status)) { | 270 | if (ACPI_FAILURE(status)) { |
271 | printk(KERN_ERR "%s: Unable to get _ADR (0x%x) for: ", | 271 | printk(KERN_ERR "%s: Unable to get _ADR (0x%x) for: ", |
272 | __FUNCTION__, status); | 272 | __func__, status); |
273 | acpi_ns_print_node_pathname(child, NULL); | 273 | acpi_ns_print_node_pathname(child, NULL); |
274 | printk("\n"); | 274 | printk("\n"); |
275 | panic("%s: Unable to find host devfn\n", __FUNCTION__); | 275 | panic("%s: Unable to find host devfn\n", __func__); |
276 | } | 276 | } |
277 | 277 | ||
278 | slot = (adr >> 16) & 0xffff; | 278 | slot = (adr >> 16) & 0xffff; |
@@ -308,7 +308,7 @@ find_matching_device(acpi_handle handle, u32 lvl, void *context, void **rv) | |||
308 | if (ACPI_FAILURE(status)) { | 308 | if (ACPI_FAILURE(status)) { |
309 | printk(KERN_ERR | 309 | printk(KERN_ERR |
310 | "%s: acpi_get_parent() failed (0x%x) for: ", | 310 | "%s: acpi_get_parent() failed (0x%x) for: ", |
311 | __FUNCTION__, status); | 311 | __func__, status); |
312 | acpi_ns_print_node_pathname(handle, NULL); | 312 | acpi_ns_print_node_pathname(handle, NULL); |
313 | printk("\n"); | 313 | printk("\n"); |
314 | return AE_OK; | 314 | return AE_OK; |
@@ -318,7 +318,7 @@ find_matching_device(acpi_handle handle, u32 lvl, void *context, void **rv) | |||
318 | if (ACPI_FAILURE(status)) { | 318 | if (ACPI_FAILURE(status)) { |
319 | printk(KERN_ERR | 319 | printk(KERN_ERR |
320 | "%s: Failed to find _BBN in parent of: ", | 320 | "%s: Failed to find _BBN in parent of: ", |
321 | __FUNCTION__); | 321 | __func__); |
322 | acpi_ns_print_node_pathname(handle, NULL); | 322 | acpi_ns_print_node_pathname(handle, NULL); |
323 | printk("\n"); | 323 | printk("\n"); |
324 | return AE_OK; | 324 | return AE_OK; |
@@ -358,14 +358,14 @@ sn_acpi_get_pcidev_info(struct pci_dev *dev, struct pcidev_info **pcidev_info, | |||
358 | if (segment != pci_domain_nr(dev)) { | 358 | if (segment != pci_domain_nr(dev)) { |
359 | printk(KERN_ERR | 359 | printk(KERN_ERR |
360 | "%s: Segment number mismatch, 0x%lx vs 0x%x for: ", | 360 | "%s: Segment number mismatch, 0x%lx vs 0x%x for: ", |
361 | __FUNCTION__, segment, pci_domain_nr(dev)); | 361 | __func__, segment, pci_domain_nr(dev)); |
362 | acpi_ns_print_node_pathname(rootbus_handle, NULL); | 362 | acpi_ns_print_node_pathname(rootbus_handle, NULL); |
363 | printk("\n"); | 363 | printk("\n"); |
364 | return 1; | 364 | return 1; |
365 | } | 365 | } |
366 | } else { | 366 | } else { |
367 | printk(KERN_ERR "%s: Unable to get __SEG from: ", | 367 | printk(KERN_ERR "%s: Unable to get __SEG from: ", |
368 | __FUNCTION__); | 368 | __func__); |
369 | acpi_ns_print_node_pathname(rootbus_handle, NULL); | 369 | acpi_ns_print_node_pathname(rootbus_handle, NULL); |
370 | printk("\n"); | 370 | printk("\n"); |
371 | return 1; | 371 | return 1; |
@@ -386,7 +386,7 @@ sn_acpi_get_pcidev_info(struct pci_dev *dev, struct pcidev_info **pcidev_info, | |||
386 | if (!pcidev_match.handle) { | 386 | if (!pcidev_match.handle) { |
387 | printk(KERN_ERR | 387 | printk(KERN_ERR |
388 | "%s: Could not find matching ACPI device for %s.\n", | 388 | "%s: Could not find matching ACPI device for %s.\n", |
389 | __FUNCTION__, pci_name(dev)); | 389 | __func__, pci_name(dev)); |
390 | return 1; | 390 | return 1; |
391 | } | 391 | } |
392 | 392 | ||
@@ -422,7 +422,7 @@ sn_acpi_slot_fixup(struct pci_dev *dev) | |||
422 | 422 | ||
423 | if (sn_acpi_get_pcidev_info(dev, &pcidev_info, &sn_irq_info)) { | 423 | if (sn_acpi_get_pcidev_info(dev, &pcidev_info, &sn_irq_info)) { |
424 | panic("%s: Failure obtaining pcidev_info for %s\n", | 424 | panic("%s: Failure obtaining pcidev_info for %s\n", |
425 | __FUNCTION__, pci_name(dev)); | 425 | __func__, pci_name(dev)); |
426 | } | 426 | } |
427 | 427 | ||
428 | if (pcidev_info->pdi_pio_mapped_addr[PCI_ROM_RESOURCE]) { | 428 | if (pcidev_info->pdi_pio_mapped_addr[PCI_ROM_RESOURCE]) { |
@@ -463,7 +463,7 @@ sn_acpi_bus_fixup(struct pci_bus *bus) | |||
463 | printk(KERN_ERR | 463 | printk(KERN_ERR |
464 | "%s: 0x%04x:0x%02x Unable to " | 464 | "%s: 0x%04x:0x%02x Unable to " |
465 | "obtain prom_bussoft_ptr\n", | 465 | "obtain prom_bussoft_ptr\n", |
466 | __FUNCTION__, pci_domain_nr(bus), bus->number); | 466 | __func__, pci_domain_nr(bus), bus->number); |
467 | return; | 467 | return; |
468 | } | 468 | } |
469 | sn_common_bus_fixup(bus, prom_bussoft_ptr); | 469 | sn_common_bus_fixup(bus, prom_bussoft_ptr); |
diff --git a/arch/ia64/sn/kernel/io_common.c b/arch/ia64/sn/kernel/io_common.c index c4eb84f9e781..8a924a5661dd 100644 --- a/arch/ia64/sn/kernel/io_common.c +++ b/arch/ia64/sn/kernel/io_common.c | |||
@@ -364,7 +364,7 @@ void sn_bus_store_sysdata(struct pci_dev *dev) | |||
364 | 364 | ||
365 | element = kzalloc(sizeof(struct sysdata_el), GFP_KERNEL); | 365 | element = kzalloc(sizeof(struct sysdata_el), GFP_KERNEL); |
366 | if (!element) { | 366 | if (!element) { |
367 | dev_dbg(&dev->dev, "%s: out of memory!\n", __FUNCTION__); | 367 | dev_dbg(&dev->dev, "%s: out of memory!\n", __func__); |
368 | return; | 368 | return; |
369 | } | 369 | } |
370 | element->sysdata = SN_PCIDEV_INFO(dev); | 370 | element->sysdata = SN_PCIDEV_INFO(dev); |
diff --git a/arch/ia64/sn/kernel/io_init.c b/arch/ia64/sn/kernel/io_init.c index 906b93674b76..c3aa851d1ca6 100644 --- a/arch/ia64/sn/kernel/io_init.c +++ b/arch/ia64/sn/kernel/io_init.c | |||
@@ -209,11 +209,11 @@ sn_io_slot_fixup(struct pci_dev *dev) | |||
209 | 209 | ||
210 | pcidev_info = kzalloc(sizeof(struct pcidev_info), GFP_KERNEL); | 210 | pcidev_info = kzalloc(sizeof(struct pcidev_info), GFP_KERNEL); |
211 | if (!pcidev_info) | 211 | if (!pcidev_info) |
212 | panic("%s: Unable to alloc memory for pcidev_info", __FUNCTION__); | 212 | panic("%s: Unable to alloc memory for pcidev_info", __func__); |
213 | 213 | ||
214 | sn_irq_info = kzalloc(sizeof(struct sn_irq_info), GFP_KERNEL); | 214 | sn_irq_info = kzalloc(sizeof(struct sn_irq_info), GFP_KERNEL); |
215 | if (!sn_irq_info) | 215 | if (!sn_irq_info) |
216 | panic("%s: Unable to alloc memory for sn_irq_info", __FUNCTION__); | 216 | panic("%s: Unable to alloc memory for sn_irq_info", __func__); |
217 | 217 | ||
218 | /* Call to retrieve pci device information needed by kernel. */ | 218 | /* Call to retrieve pci device information needed by kernel. */ |
219 | status = sal_get_pcidev_info((u64) pci_domain_nr(dev), | 219 | status = sal_get_pcidev_info((u64) pci_domain_nr(dev), |
diff --git a/arch/ia64/sn/kernel/mca.c b/arch/ia64/sn/kernel/mca.c index 868c9aa64fe2..27793f7aa99c 100644 --- a/arch/ia64/sn/kernel/mca.c +++ b/arch/ia64/sn/kernel/mca.c | |||
@@ -100,7 +100,7 @@ sn_platform_plat_specific_err_print(const u8 * sect_header, u8 ** oemdata, | |||
100 | if (!newbuf) { | 100 | if (!newbuf) { |
101 | mutex_unlock(&sn_oemdata_mutex); | 101 | mutex_unlock(&sn_oemdata_mutex); |
102 | printk(KERN_ERR "%s: unable to extend sn_oemdata\n", | 102 | printk(KERN_ERR "%s: unable to extend sn_oemdata\n", |
103 | __FUNCTION__); | 103 | __func__); |
104 | return 1; | 104 | return 1; |
105 | } | 105 | } |
106 | vfree(*sn_oemdata); | 106 | vfree(*sn_oemdata); |
diff --git a/arch/ia64/sn/pci/pci_dma.c b/arch/ia64/sn/pci/pci_dma.c index 511db2fd7bff..18b94b792d54 100644 --- a/arch/ia64/sn/pci/pci_dma.c +++ b/arch/ia64/sn/pci/pci_dma.c | |||
@@ -116,7 +116,7 @@ void *sn_dma_alloc_coherent(struct device *dev, size_t size, | |||
116 | *dma_handle = provider->dma_map_consistent(pdev, phys_addr, size, | 116 | *dma_handle = provider->dma_map_consistent(pdev, phys_addr, size, |
117 | SN_DMA_ADDR_PHYS); | 117 | SN_DMA_ADDR_PHYS); |
118 | if (!*dma_handle) { | 118 | if (!*dma_handle) { |
119 | printk(KERN_ERR "%s: out of ATEs\n", __FUNCTION__); | 119 | printk(KERN_ERR "%s: out of ATEs\n", __func__); |
120 | free_pages((unsigned long)cpuaddr, get_order(size)); | 120 | free_pages((unsigned long)cpuaddr, get_order(size)); |
121 | return NULL; | 121 | return NULL; |
122 | } | 122 | } |
@@ -179,7 +179,7 @@ dma_addr_t sn_dma_map_single(struct device *dev, void *cpu_addr, size_t size, | |||
179 | phys_addr = __pa(cpu_addr); | 179 | phys_addr = __pa(cpu_addr); |
180 | dma_addr = provider->dma_map(pdev, phys_addr, size, SN_DMA_ADDR_PHYS); | 180 | dma_addr = provider->dma_map(pdev, phys_addr, size, SN_DMA_ADDR_PHYS); |
181 | if (!dma_addr) { | 181 | if (!dma_addr) { |
182 | printk(KERN_ERR "%s: out of ATEs\n", __FUNCTION__); | 182 | printk(KERN_ERR "%s: out of ATEs\n", __func__); |
183 | return 0; | 183 | return 0; |
184 | } | 184 | } |
185 | return dma_addr; | 185 | return dma_addr; |
@@ -266,7 +266,7 @@ int sn_dma_map_sg(struct device *dev, struct scatterlist *sgl, int nhwentries, | |||
266 | SN_DMA_ADDR_PHYS); | 266 | SN_DMA_ADDR_PHYS); |
267 | 267 | ||
268 | if (!sg->dma_address) { | 268 | if (!sg->dma_address) { |
269 | printk(KERN_ERR "%s: out of ATEs\n", __FUNCTION__); | 269 | printk(KERN_ERR "%s: out of ATEs\n", __func__); |
270 | 270 | ||
271 | /* | 271 | /* |
272 | * Free any successfully allocated entries. | 272 | * Free any successfully allocated entries. |
diff --git a/arch/ia64/sn/pci/tioca_provider.c b/arch/ia64/sn/pci/tioca_provider.c index ef048a674772..529462c01570 100644 --- a/arch/ia64/sn/pci/tioca_provider.c +++ b/arch/ia64/sn/pci/tioca_provider.c | |||
@@ -88,7 +88,7 @@ tioca_gart_init(struct tioca_kernel *tioca_kern) | |||
88 | break; | 88 | break; |
89 | default: | 89 | default: |
90 | printk(KERN_ERR "%s: Invalid CA_APERATURE_SIZE " | 90 | printk(KERN_ERR "%s: Invalid CA_APERATURE_SIZE " |
91 | "0x%lx\n", __FUNCTION__, (ulong) CA_APERATURE_SIZE); | 91 | "0x%lx\n", __func__, (ulong) CA_APERATURE_SIZE); |
92 | return -1; | 92 | return -1; |
93 | } | 93 | } |
94 | 94 | ||
@@ -124,7 +124,7 @@ tioca_gart_init(struct tioca_kernel *tioca_kern) | |||
124 | if (!tmp) { | 124 | if (!tmp) { |
125 | printk(KERN_ERR "%s: Could not allocate " | 125 | printk(KERN_ERR "%s: Could not allocate " |
126 | "%lu bytes (order %d) for GART\n", | 126 | "%lu bytes (order %d) for GART\n", |
127 | __FUNCTION__, | 127 | __func__, |
128 | tioca_kern->ca_gart_size, | 128 | tioca_kern->ca_gart_size, |
129 | get_order(tioca_kern->ca_gart_size)); | 129 | get_order(tioca_kern->ca_gart_size)); |
130 | return -ENOMEM; | 130 | return -ENOMEM; |
@@ -341,7 +341,7 @@ tioca_dma_d48(struct pci_dev *pdev, u64 paddr) | |||
341 | 341 | ||
342 | if (node_upper > 64) { | 342 | if (node_upper > 64) { |
343 | printk(KERN_ERR "%s: coretalk addr 0x%p node id out " | 343 | printk(KERN_ERR "%s: coretalk addr 0x%p node id out " |
344 | "of range\n", __FUNCTION__, (void *)ct_addr); | 344 | "of range\n", __func__, (void *)ct_addr); |
345 | return 0; | 345 | return 0; |
346 | } | 346 | } |
347 | 347 | ||
@@ -349,7 +349,7 @@ tioca_dma_d48(struct pci_dev *pdev, u64 paddr) | |||
349 | if (node_upper != (agp_dma_extn >> CA_AGP_DMA_NODE_ID_SHFT)) { | 349 | if (node_upper != (agp_dma_extn >> CA_AGP_DMA_NODE_ID_SHFT)) { |
350 | printk(KERN_ERR "%s: coretalk upper node (%u) " | 350 | printk(KERN_ERR "%s: coretalk upper node (%u) " |
351 | "mismatch with ca_agp_dma_addr_extn (%lu)\n", | 351 | "mismatch with ca_agp_dma_addr_extn (%lu)\n", |
352 | __FUNCTION__, | 352 | __func__, |
353 | node_upper, (agp_dma_extn >> CA_AGP_DMA_NODE_ID_SHFT)); | 353 | node_upper, (agp_dma_extn >> CA_AGP_DMA_NODE_ID_SHFT)); |
354 | return 0; | 354 | return 0; |
355 | } | 355 | } |
@@ -597,7 +597,7 @@ tioca_bus_fixup(struct pcibus_bussoft *prom_bussoft, struct pci_controller *cont | |||
597 | if (is_shub1() && sn_sal_rev() < 0x0406) { | 597 | if (is_shub1() && sn_sal_rev() < 0x0406) { |
598 | printk | 598 | printk |
599 | (KERN_ERR "%s: SGI prom rev 4.06 or greater required " | 599 | (KERN_ERR "%s: SGI prom rev 4.06 or greater required " |
600 | "for tioca support\n", __FUNCTION__); | 600 | "for tioca support\n", __func__); |
601 | return NULL; | 601 | return NULL; |
602 | } | 602 | } |
603 | 603 | ||
@@ -651,7 +651,7 @@ tioca_bus_fixup(struct pcibus_bussoft *prom_bussoft, struct pci_controller *cont | |||
651 | printk(KERN_WARNING | 651 | printk(KERN_WARNING |
652 | "%s: Unable to get irq %d. " | 652 | "%s: Unable to get irq %d. " |
653 | "Error interrupts won't be routed for TIOCA bus %d\n", | 653 | "Error interrupts won't be routed for TIOCA bus %d\n", |
654 | __FUNCTION__, SGI_TIOCA_ERROR, | 654 | __func__, SGI_TIOCA_ERROR, |
655 | (int)tioca_common->ca_common.bs_persist_busnum); | 655 | (int)tioca_common->ca_common.bs_persist_busnum); |
656 | 656 | ||
657 | sn_set_err_irq_affinity(SGI_TIOCA_ERROR); | 657 | sn_set_err_irq_affinity(SGI_TIOCA_ERROR); |
diff --git a/arch/ia64/sn/pci/tioce_provider.c b/arch/ia64/sn/pci/tioce_provider.c index 999f14f986e2..9b3c11373022 100644 --- a/arch/ia64/sn/pci/tioce_provider.c +++ b/arch/ia64/sn/pci/tioce_provider.c | |||
@@ -494,7 +494,7 @@ tioce_dma_unmap(struct pci_dev *pdev, dma_addr_t bus_addr, int dir) | |||
494 | if (&map->ce_dmamap_list == &ce_kern->ce_dmamap_list) { | 494 | if (&map->ce_dmamap_list == &ce_kern->ce_dmamap_list) { |
495 | printk(KERN_WARNING | 495 | printk(KERN_WARNING |
496 | "%s: %s - no map found for bus_addr 0x%lx\n", | 496 | "%s: %s - no map found for bus_addr 0x%lx\n", |
497 | __FUNCTION__, pci_name(pdev), bus_addr); | 497 | __func__, pci_name(pdev), bus_addr); |
498 | } else if (--map->refcnt == 0) { | 498 | } else if (--map->refcnt == 0) { |
499 | for (i = 0; i < map->ate_count; i++) { | 499 | for (i = 0; i < map->ate_count; i++) { |
500 | map->ate_shadow[i] = 0; | 500 | map->ate_shadow[i] = 0; |
@@ -1030,7 +1030,7 @@ tioce_bus_fixup(struct pcibus_bussoft *prom_bussoft, struct pci_controller *cont | |||
1030 | "%s: Unable to get irq %d. " | 1030 | "%s: Unable to get irq %d. " |
1031 | "Error interrupts won't be routed for " | 1031 | "Error interrupts won't be routed for " |
1032 | "TIOCE bus %04x:%02x\n", | 1032 | "TIOCE bus %04x:%02x\n", |
1033 | __FUNCTION__, SGI_PCIASIC_ERROR, | 1033 | __func__, SGI_PCIASIC_ERROR, |
1034 | tioce_common->ce_pcibus.bs_persist_segment, | 1034 | tioce_common->ce_pcibus.bs_persist_segment, |
1035 | tioce_common->ce_pcibus.bs_persist_busnum); | 1035 | tioce_common->ce_pcibus.bs_persist_busnum); |
1036 | 1036 | ||
diff --git a/arch/m68k/kernel/entry.S b/arch/m68k/kernel/entry.S index 6dfa3b3c0e2a..18a9c5f4b00d 100644 --- a/arch/m68k/kernel/entry.S +++ b/arch/m68k/kernel/entry.S | |||
@@ -742,7 +742,9 @@ sys_call_table: | |||
742 | .long sys_epoll_pwait /* 315 */ | 742 | .long sys_epoll_pwait /* 315 */ |
743 | .long sys_utimensat | 743 | .long sys_utimensat |
744 | .long sys_signalfd | 744 | .long sys_signalfd |
745 | .long sys_ni_syscall | 745 | .long sys_timerfd_create |
746 | .long sys_eventfd | 746 | .long sys_eventfd |
747 | .long sys_fallocate /* 320 */ | 747 | .long sys_fallocate /* 320 */ |
748 | .long sys_timerfd_settime | ||
749 | .long sys_timerfd_gettime | ||
748 | 750 | ||
diff --git a/arch/m68knommu/defconfig b/arch/m68knommu/defconfig index 648113075f97..670b0a99cfa0 100644 --- a/arch/m68knommu/defconfig +++ b/arch/m68knommu/defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.23 | 3 | # Linux kernel version: 2.6.25-rc3 |
4 | # Thu Oct 18 13:17:38 2007 | 4 | # Mon Feb 25 15:03:00 2008 |
5 | # | 5 | # |
6 | CONFIG_M68K=y | 6 | CONFIG_M68K=y |
7 | # CONFIG_MMU is not set | 7 | # CONFIG_MMU is not set |
@@ -15,8 +15,10 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y | |||
15 | CONFIG_GENERIC_HWEIGHT=y | 15 | CONFIG_GENERIC_HWEIGHT=y |
16 | CONFIG_GENERIC_HARDIRQS=y | 16 | CONFIG_GENERIC_HARDIRQS=y |
17 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 17 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
18 | CONFIG_GENERIC_TIME=y | ||
18 | CONFIG_TIME_LOW_RES=y | 19 | CONFIG_TIME_LOW_RES=y |
19 | CONFIG_NO_IOPORT=y | 20 | CONFIG_NO_IOPORT=y |
21 | CONFIG_ARCH_SUPPORTS_AOUT=y | ||
20 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 22 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
21 | 23 | ||
22 | # | 24 | # |
@@ -31,12 +33,14 @@ CONFIG_LOCALVERSION_AUTO=y | |||
31 | # CONFIG_POSIX_MQUEUE is not set | 33 | # CONFIG_POSIX_MQUEUE is not set |
32 | # CONFIG_BSD_PROCESS_ACCT is not set | 34 | # CONFIG_BSD_PROCESS_ACCT is not set |
33 | # CONFIG_TASKSTATS is not set | 35 | # CONFIG_TASKSTATS is not set |
34 | # CONFIG_USER_NS is not set | ||
35 | # CONFIG_AUDIT is not set | 36 | # CONFIG_AUDIT is not set |
36 | # CONFIG_IKCONFIG is not set | 37 | # CONFIG_IKCONFIG is not set |
37 | CONFIG_LOG_BUF_SHIFT=14 | 38 | CONFIG_LOG_BUF_SHIFT=14 |
39 | # CONFIG_CGROUPS is not set | ||
40 | # CONFIG_GROUP_SCHED is not set | ||
38 | # CONFIG_SYSFS_DEPRECATED is not set | 41 | # CONFIG_SYSFS_DEPRECATED is not set |
39 | # CONFIG_RELAY is not set | 42 | # CONFIG_RELAY is not set |
43 | # CONFIG_NAMESPACES is not set | ||
40 | # CONFIG_BLK_DEV_INITRD is not set | 44 | # CONFIG_BLK_DEV_INITRD is not set |
41 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 45 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
42 | CONFIG_SYSCTL=y | 46 | CONFIG_SYSCTL=y |
@@ -48,15 +52,22 @@ CONFIG_SYSCTL_SYSCALL=y | |||
48 | CONFIG_PRINTK=y | 52 | CONFIG_PRINTK=y |
49 | CONFIG_BUG=y | 53 | CONFIG_BUG=y |
50 | CONFIG_ELF_CORE=y | 54 | CONFIG_ELF_CORE=y |
55 | CONFIG_COMPAT_BRK=y | ||
51 | CONFIG_BASE_FULL=y | 56 | CONFIG_BASE_FULL=y |
52 | # CONFIG_FUTEX is not set | 57 | # CONFIG_FUTEX is not set |
53 | # CONFIG_EPOLL is not set | 58 | # CONFIG_EPOLL is not set |
54 | # CONFIG_SIGNALFD is not set | 59 | # CONFIG_SIGNALFD is not set |
60 | # CONFIG_TIMERFD is not set | ||
55 | # CONFIG_EVENTFD is not set | 61 | # CONFIG_EVENTFD is not set |
56 | # CONFIG_VM_EVENT_COUNTERS is not set | 62 | # CONFIG_VM_EVENT_COUNTERS is not set |
57 | CONFIG_SLAB=y | 63 | CONFIG_SLAB=y |
58 | # CONFIG_SLUB is not set | 64 | # CONFIG_SLUB is not set |
59 | # CONFIG_SLOB is not set | 65 | # CONFIG_SLOB is not set |
66 | # CONFIG_PROFILING is not set | ||
67 | # CONFIG_MARKERS is not set | ||
68 | # CONFIG_HAVE_OPROFILE is not set | ||
69 | # CONFIG_HAVE_KPROBES is not set | ||
70 | CONFIG_SLABINFO=y | ||
60 | CONFIG_TINY_SHMEM=y | 71 | CONFIG_TINY_SHMEM=y |
61 | CONFIG_BASE_SMALL=0 | 72 | CONFIG_BASE_SMALL=0 |
62 | CONFIG_MODULES=y | 73 | CONFIG_MODULES=y |
@@ -83,6 +94,8 @@ CONFIG_IOSCHED_NOOP=y | |||
83 | # CONFIG_DEFAULT_CFQ is not set | 94 | # CONFIG_DEFAULT_CFQ is not set |
84 | CONFIG_DEFAULT_NOOP=y | 95 | CONFIG_DEFAULT_NOOP=y |
85 | CONFIG_DEFAULT_IOSCHED="noop" | 96 | CONFIG_DEFAULT_IOSCHED="noop" |
97 | CONFIG_CLASSIC_RCU=y | ||
98 | # CONFIG_PREEMPT_RCU is not set | ||
86 | 99 | ||
87 | # | 100 | # |
88 | # Processor type and features | 101 | # Processor type and features |
@@ -121,6 +134,7 @@ CONFIG_M5272C3=y | |||
121 | # CONFIG_MOD5272 is not set | 134 | # CONFIG_MOD5272 is not set |
122 | CONFIG_FREESCALE=y | 135 | CONFIG_FREESCALE=y |
123 | CONFIG_4KSTACKS=y | 136 | CONFIG_4KSTACKS=y |
137 | CONFIG_HZ=100 | ||
124 | 138 | ||
125 | # | 139 | # |
126 | # RAM configuration | 140 | # RAM configuration |
@@ -147,6 +161,7 @@ CONFIG_FLATMEM_MANUAL=y | |||
147 | CONFIG_FLATMEM=y | 161 | CONFIG_FLATMEM=y |
148 | CONFIG_FLAT_NODE_MEM_MAP=y | 162 | CONFIG_FLAT_NODE_MEM_MAP=y |
149 | # CONFIG_SPARSEMEM_STATIC is not set | 163 | # CONFIG_SPARSEMEM_STATIC is not set |
164 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
150 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 165 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
151 | # CONFIG_RESOURCES_64BIT is not set | 166 | # CONFIG_RESOURCES_64BIT is not set |
152 | CONFIG_ZONE_DMA_FLAG=1 | 167 | CONFIG_ZONE_DMA_FLAG=1 |
@@ -159,10 +174,6 @@ CONFIG_VIRT_TO_BUS=y | |||
159 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 174 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
160 | 175 | ||
161 | # | 176 | # |
162 | # PCCARD (PCMCIA/CardBus) support | ||
163 | # | ||
164 | |||
165 | # | ||
166 | # Executable file formats | 177 | # Executable file formats |
167 | # | 178 | # |
168 | CONFIG_BINFMT_FLAT=y | 179 | CONFIG_BINFMT_FLAT=y |
@@ -205,6 +216,7 @@ CONFIG_IP_FIB_HASH=y | |||
205 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | 216 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |
206 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | 217 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set |
207 | # CONFIG_INET_XFRM_MODE_BEET is not set | 218 | # CONFIG_INET_XFRM_MODE_BEET is not set |
219 | # CONFIG_INET_LRO is not set | ||
208 | # CONFIG_INET_DIAG is not set | 220 | # CONFIG_INET_DIAG is not set |
209 | # CONFIG_TCP_CONG_ADVANCED is not set | 221 | # CONFIG_TCP_CONG_ADVANCED is not set |
210 | CONFIG_TCP_CONG_CUBIC=y | 222 | CONFIG_TCP_CONG_CUBIC=y |
@@ -229,10 +241,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
229 | # CONFIG_LAPB is not set | 241 | # CONFIG_LAPB is not set |
230 | # CONFIG_ECONET is not set | 242 | # CONFIG_ECONET is not set |
231 | # CONFIG_WAN_ROUTER is not set | 243 | # CONFIG_WAN_ROUTER is not set |
232 | |||
233 | # | ||
234 | # QoS and/or fair queueing | ||
235 | # | ||
236 | # CONFIG_NET_SCHED is not set | 244 | # CONFIG_NET_SCHED is not set |
237 | 245 | ||
238 | # | 246 | # |
@@ -240,6 +248,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
240 | # | 248 | # |
241 | # CONFIG_NET_PKTGEN is not set | 249 | # CONFIG_NET_PKTGEN is not set |
242 | # CONFIG_HAMRADIO is not set | 250 | # CONFIG_HAMRADIO is not set |
251 | # CONFIG_CAN is not set | ||
243 | # CONFIG_IRDA is not set | 252 | # CONFIG_IRDA is not set |
244 | # CONFIG_BT is not set | 253 | # CONFIG_BT is not set |
245 | # CONFIG_AF_RXRPC is not set | 254 | # CONFIG_AF_RXRPC is not set |
@@ -283,6 +292,7 @@ CONFIG_MTD_BLOCK=y | |||
283 | # CONFIG_INFTL is not set | 292 | # CONFIG_INFTL is not set |
284 | # CONFIG_RFD_FTL is not set | 293 | # CONFIG_RFD_FTL is not set |
285 | # CONFIG_SSFDC is not set | 294 | # CONFIG_SSFDC is not set |
295 | # CONFIG_MTD_OOPS is not set | ||
286 | 296 | ||
287 | # | 297 | # |
288 | # RAM/ROM/Flash chip drivers | 298 | # RAM/ROM/Flash chip drivers |
@@ -339,10 +349,11 @@ CONFIG_BLK_DEV=y | |||
339 | CONFIG_BLK_DEV_RAM=y | 349 | CONFIG_BLK_DEV_RAM=y |
340 | CONFIG_BLK_DEV_RAM_COUNT=16 | 350 | CONFIG_BLK_DEV_RAM_COUNT=16 |
341 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 351 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
342 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | 352 | # CONFIG_BLK_DEV_XIP is not set |
343 | # CONFIG_CDROM_PKTCDVD is not set | 353 | # CONFIG_CDROM_PKTCDVD is not set |
344 | # CONFIG_ATA_OVER_ETH is not set | 354 | # CONFIG_ATA_OVER_ETH is not set |
345 | # CONFIG_MISC_DEVICES is not set | 355 | # CONFIG_MISC_DEVICES is not set |
356 | CONFIG_HAVE_IDE=y | ||
346 | # CONFIG_IDE is not set | 357 | # CONFIG_IDE is not set |
347 | 358 | ||
348 | # | 359 | # |
@@ -360,9 +371,15 @@ CONFIG_NETDEVICES=y | |||
360 | # CONFIG_MACVLAN is not set | 371 | # CONFIG_MACVLAN is not set |
361 | # CONFIG_EQUALIZER is not set | 372 | # CONFIG_EQUALIZER is not set |
362 | # CONFIG_TUN is not set | 373 | # CONFIG_TUN is not set |
374 | # CONFIG_VETH is not set | ||
363 | # CONFIG_PHYLIB is not set | 375 | # CONFIG_PHYLIB is not set |
364 | CONFIG_NET_ETHERNET=y | 376 | CONFIG_NET_ETHERNET=y |
365 | # CONFIG_MII is not set | 377 | # CONFIG_MII is not set |
378 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
379 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
380 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
381 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
382 | # CONFIG_B44 is not set | ||
366 | CONFIG_FEC=y | 383 | CONFIG_FEC=y |
367 | # CONFIG_FEC2 is not set | 384 | # CONFIG_FEC2 is not set |
368 | # CONFIG_NETDEV_1000 is not set | 385 | # CONFIG_NETDEV_1000 is not set |
@@ -377,7 +394,7 @@ CONFIG_FEC=y | |||
377 | CONFIG_PPP=y | 394 | CONFIG_PPP=y |
378 | # CONFIG_PPP_MULTILINK is not set | 395 | # CONFIG_PPP_MULTILINK is not set |
379 | # CONFIG_PPP_FILTER is not set | 396 | # CONFIG_PPP_FILTER is not set |
380 | # CONFIG_PPP_ASYNC is not set | 397 | CONFIG_PPP_ASYNC=y |
381 | # CONFIG_PPP_SYNC_TTY is not set | 398 | # CONFIG_PPP_SYNC_TTY is not set |
382 | # CONFIG_PPP_DEFLATE is not set | 399 | # CONFIG_PPP_DEFLATE is not set |
383 | # CONFIG_PPP_BSDCOMP is not set | 400 | # CONFIG_PPP_BSDCOMP is not set |
@@ -386,7 +403,6 @@ CONFIG_PPP=y | |||
386 | # CONFIG_PPPOL2TP is not set | 403 | # CONFIG_PPPOL2TP is not set |
387 | # CONFIG_SLIP is not set | 404 | # CONFIG_SLIP is not set |
388 | CONFIG_SLHC=y | 405 | CONFIG_SLHC=y |
389 | # CONFIG_SHAPER is not set | ||
390 | # CONFIG_NETCONSOLE is not set | 406 | # CONFIG_NETCONSOLE is not set |
391 | # CONFIG_NETPOLL is not set | 407 | # CONFIG_NETPOLL is not set |
392 | # CONFIG_NET_POLL_CONTROLLER is not set | 408 | # CONFIG_NET_POLL_CONTROLLER is not set |
@@ -418,12 +434,16 @@ CONFIG_SLHC=y | |||
418 | # | 434 | # |
419 | # Non-8250 serial port support | 435 | # Non-8250 serial port support |
420 | # | 436 | # |
421 | CONFIG_SERIAL_COLDFIRE=y | 437 | CONFIG_SERIAL_CORE=y |
438 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
439 | # CONFIG_SERIAL_COLDFIRE is not set | ||
440 | CONFIG_SERIAL_MCF=y | ||
441 | CONFIG_SERIAL_MCF_BAUDRATE=19200 | ||
442 | CONFIG_SERIAL_MCF_CONSOLE=y | ||
422 | # CONFIG_UNIX98_PTYS is not set | 443 | # CONFIG_UNIX98_PTYS is not set |
423 | CONFIG_LEGACY_PTYS=y | 444 | CONFIG_LEGACY_PTYS=y |
424 | CONFIG_LEGACY_PTY_COUNT=256 | 445 | CONFIG_LEGACY_PTY_COUNT=256 |
425 | # CONFIG_IPMI_HANDLER is not set | 446 | # CONFIG_IPMI_HANDLER is not set |
426 | # CONFIG_WATCHDOG is not set | ||
427 | # CONFIG_HW_RANDOM is not set | 447 | # CONFIG_HW_RANDOM is not set |
428 | # CONFIG_GEN_RTC is not set | 448 | # CONFIG_GEN_RTC is not set |
429 | # CONFIG_R3964 is not set | 449 | # CONFIG_R3964 is not set |
@@ -439,6 +459,14 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
439 | # CONFIG_W1 is not set | 459 | # CONFIG_W1 is not set |
440 | # CONFIG_POWER_SUPPLY is not set | 460 | # CONFIG_POWER_SUPPLY is not set |
441 | # CONFIG_HWMON is not set | 461 | # CONFIG_HWMON is not set |
462 | # CONFIG_THERMAL is not set | ||
463 | # CONFIG_WATCHDOG is not set | ||
464 | |||
465 | # | ||
466 | # Sonics Silicon Backplane | ||
467 | # | ||
468 | CONFIG_SSB_POSSIBLE=y | ||
469 | # CONFIG_SSB is not set | ||
442 | 470 | ||
443 | # | 471 | # |
444 | # Multifunction device drivers | 472 | # Multifunction device drivers |
@@ -450,20 +478,20 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
450 | # | 478 | # |
451 | # CONFIG_VIDEO_DEV is not set | 479 | # CONFIG_VIDEO_DEV is not set |
452 | # CONFIG_DVB_CORE is not set | 480 | # CONFIG_DVB_CORE is not set |
453 | CONFIG_DAB=y | 481 | # CONFIG_DAB is not set |
454 | 482 | ||
455 | # | 483 | # |
456 | # Graphics support | 484 | # Graphics support |
457 | # | 485 | # |
486 | # CONFIG_VGASTATE is not set | ||
487 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
488 | # CONFIG_FB is not set | ||
458 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 489 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
459 | 490 | ||
460 | # | 491 | # |
461 | # Display device support | 492 | # Display device support |
462 | # | 493 | # |
463 | # CONFIG_DISPLAY_SUPPORT is not set | 494 | # CONFIG_DISPLAY_SUPPORT is not set |
464 | # CONFIG_VGASTATE is not set | ||
465 | CONFIG_VIDEO_OUTPUT_CONTROL=y | ||
466 | # CONFIG_FB is not set | ||
467 | 495 | ||
468 | # | 496 | # |
469 | # Sound | 497 | # Sound |
@@ -471,23 +499,11 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y | |||
471 | # CONFIG_SOUND is not set | 499 | # CONFIG_SOUND is not set |
472 | # CONFIG_USB_SUPPORT is not set | 500 | # CONFIG_USB_SUPPORT is not set |
473 | # CONFIG_MMC is not set | 501 | # CONFIG_MMC is not set |
502 | # CONFIG_MEMSTICK is not set | ||
474 | # CONFIG_NEW_LEDS is not set | 503 | # CONFIG_NEW_LEDS is not set |
475 | # CONFIG_RTC_CLASS is not set | 504 | # CONFIG_RTC_CLASS is not set |
476 | 505 | ||
477 | # | 506 | # |
478 | # DMA Engine support | ||
479 | # | ||
480 | # CONFIG_DMA_ENGINE is not set | ||
481 | |||
482 | # | ||
483 | # DMA Clients | ||
484 | # | ||
485 | |||
486 | # | ||
487 | # DMA Devices | ||
488 | # | ||
489 | |||
490 | # | ||
491 | # Userspace I/O | 507 | # Userspace I/O |
492 | # | 508 | # |
493 | # CONFIG_UIO is not set | 509 | # CONFIG_UIO is not set |
@@ -505,11 +521,9 @@ CONFIG_EXT2_FS=y | |||
505 | # CONFIG_XFS_FS is not set | 521 | # CONFIG_XFS_FS is not set |
506 | # CONFIG_GFS2_FS is not set | 522 | # CONFIG_GFS2_FS is not set |
507 | # CONFIG_OCFS2_FS is not set | 523 | # CONFIG_OCFS2_FS is not set |
508 | # CONFIG_MINIX_FS is not set | 524 | # CONFIG_DNOTIFY is not set |
509 | CONFIG_ROMFS_FS=y | ||
510 | # CONFIG_INOTIFY is not set | 525 | # CONFIG_INOTIFY is not set |
511 | # CONFIG_QUOTA is not set | 526 | # CONFIG_QUOTA is not set |
512 | # CONFIG_DNOTIFY is not set | ||
513 | # CONFIG_AUTOFS_FS is not set | 527 | # CONFIG_AUTOFS_FS is not set |
514 | # CONFIG_AUTOFS4_FS is not set | 528 | # CONFIG_AUTOFS4_FS is not set |
515 | # CONFIG_FUSE_FS is not set | 529 | # CONFIG_FUSE_FS is not set |
@@ -535,7 +549,6 @@ CONFIG_PROC_SYSCTL=y | |||
535 | CONFIG_SYSFS=y | 549 | CONFIG_SYSFS=y |
536 | # CONFIG_TMPFS is not set | 550 | # CONFIG_TMPFS is not set |
537 | # CONFIG_HUGETLB_PAGE is not set | 551 | # CONFIG_HUGETLB_PAGE is not set |
538 | CONFIG_RAMFS=y | ||
539 | # CONFIG_CONFIGFS_FS is not set | 552 | # CONFIG_CONFIGFS_FS is not set |
540 | 553 | ||
541 | # | 554 | # |
@@ -551,42 +564,27 @@ CONFIG_RAMFS=y | |||
551 | # CONFIG_JFFS2_FS is not set | 564 | # CONFIG_JFFS2_FS is not set |
552 | # CONFIG_CRAMFS is not set | 565 | # CONFIG_CRAMFS is not set |
553 | # CONFIG_VXFS_FS is not set | 566 | # CONFIG_VXFS_FS is not set |
567 | # CONFIG_MINIX_FS is not set | ||
554 | # CONFIG_HPFS_FS is not set | 568 | # CONFIG_HPFS_FS is not set |
555 | # CONFIG_QNX4FS_FS is not set | 569 | # CONFIG_QNX4FS_FS is not set |
570 | CONFIG_ROMFS_FS=y | ||
556 | # CONFIG_SYSV_FS is not set | 571 | # CONFIG_SYSV_FS is not set |
557 | # CONFIG_UFS_FS is not set | 572 | # CONFIG_UFS_FS is not set |
558 | 573 | # CONFIG_NETWORK_FILESYSTEMS is not set | |
559 | # | ||
560 | # Network File Systems | ||
561 | # | ||
562 | # CONFIG_NFS_FS is not set | ||
563 | # CONFIG_NFSD is not set | ||
564 | # CONFIG_SMB_FS is not set | ||
565 | # CONFIG_CIFS is not set | ||
566 | # CONFIG_NCP_FS is not set | ||
567 | # CONFIG_CODA_FS is not set | ||
568 | # CONFIG_AFS_FS is not set | ||
569 | 574 | ||
570 | # | 575 | # |
571 | # Partition Types | 576 | # Partition Types |
572 | # | 577 | # |
573 | # CONFIG_PARTITION_ADVANCED is not set | 578 | # CONFIG_PARTITION_ADVANCED is not set |
574 | CONFIG_MSDOS_PARTITION=y | 579 | CONFIG_MSDOS_PARTITION=y |
575 | |||
576 | # | ||
577 | # Native Language Support | ||
578 | # | ||
579 | # CONFIG_NLS is not set | 580 | # CONFIG_NLS is not set |
580 | |||
581 | # | ||
582 | # Distributed Lock Manager | ||
583 | # | ||
584 | # CONFIG_DLM is not set | 581 | # CONFIG_DLM is not set |
585 | 582 | ||
586 | # | 583 | # |
587 | # Kernel hacking | 584 | # Kernel hacking |
588 | # | 585 | # |
589 | # CONFIG_PRINTK_TIME is not set | 586 | # CONFIG_PRINTK_TIME is not set |
587 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
590 | # CONFIG_ENABLE_MUST_CHECK is not set | 588 | # CONFIG_ENABLE_MUST_CHECK is not set |
591 | # CONFIG_MAGIC_SYSRQ is not set | 589 | # CONFIG_MAGIC_SYSRQ is not set |
592 | # CONFIG_UNUSED_SYMBOLS is not set | 590 | # CONFIG_UNUSED_SYMBOLS is not set |
@@ -594,6 +592,7 @@ CONFIG_MSDOS_PARTITION=y | |||
594 | # CONFIG_HEADERS_CHECK is not set | 592 | # CONFIG_HEADERS_CHECK is not set |
595 | # CONFIG_DEBUG_KERNEL is not set | 593 | # CONFIG_DEBUG_KERNEL is not set |
596 | # CONFIG_DEBUG_BUGVERBOSE is not set | 594 | # CONFIG_DEBUG_BUGVERBOSE is not set |
595 | # CONFIG_SAMPLES is not set | ||
597 | # CONFIG_FULLDEBUG is not set | 596 | # CONFIG_FULLDEBUG is not set |
598 | # CONFIG_HIGHPROFILE is not set | 597 | # CONFIG_HIGHPROFILE is not set |
599 | # CONFIG_BOOTPARAM is not set | 598 | # CONFIG_BOOTPARAM is not set |
@@ -605,6 +604,7 @@ CONFIG_MSDOS_PARTITION=y | |||
605 | # | 604 | # |
606 | # CONFIG_KEYS is not set | 605 | # CONFIG_KEYS is not set |
607 | # CONFIG_SECURITY is not set | 606 | # CONFIG_SECURITY is not set |
607 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
608 | # CONFIG_CRYPTO is not set | 608 | # CONFIG_CRYPTO is not set |
609 | 609 | ||
610 | # | 610 | # |
diff --git a/arch/m68knommu/kernel/syscalltable.S b/arch/m68knommu/kernel/syscalltable.S index 1b02b8820068..fca2e49917a3 100644 --- a/arch/m68knommu/kernel/syscalltable.S +++ b/arch/m68knommu/kernel/syscalltable.S | |||
@@ -336,9 +336,11 @@ ENTRY(sys_call_table) | |||
336 | .long sys_epoll_pwait /* 315 */ | 336 | .long sys_epoll_pwait /* 315 */ |
337 | .long sys_utimensat | 337 | .long sys_utimensat |
338 | .long sys_signalfd | 338 | .long sys_signalfd |
339 | .long sys_ni_syscall | 339 | .long sys_timerfd_create |
340 | .long sys_eventfd | 340 | .long sys_eventfd |
341 | .long sys_fallocate /* 320 */ | 341 | .long sys_fallocate /* 320 */ |
342 | .long sys_timerfd_settime | ||
343 | .long sys_timerfd_gettime | ||
342 | 344 | ||
343 | .rept NR_syscalls-(.-sys_call_table)/4 | 345 | .rept NR_syscalls-(.-sys_call_table)/4 |
344 | .long sys_ni_syscall | 346 | .long sys_ni_syscall |
diff --git a/arch/m68knommu/platform/68328/timers.c b/arch/m68knommu/platform/68328/timers.c index 9159fd05c9ac..6bafefa546e5 100644 --- a/arch/m68knommu/platform/68328/timers.c +++ b/arch/m68knommu/platform/68328/timers.c | |||
@@ -67,16 +67,6 @@ static irqreturn_t hw_tick(int irq, void *dummy) | |||
67 | 67 | ||
68 | /***************************************************************************/ | 68 | /***************************************************************************/ |
69 | 69 | ||
70 | static irqreturn_t hw_tick(int irq, void *dummy) | ||
71 | { | ||
72 | /* Reset Timer1 */ | ||
73 | TSTAT &= 0; | ||
74 | |||
75 | return arch_timer_interrupt(irq, dummy); | ||
76 | } | ||
77 | |||
78 | /***************************************************************************/ | ||
79 | |||
80 | static struct irqaction m68328_timer_irq = { | 70 | static struct irqaction m68328_timer_irq = { |
81 | .name = "timer", | 71 | .name = "timer", |
82 | .flags = IRQF_DISABLED | IRQF_TIMER, | 72 | .flags = IRQF_DISABLED | IRQF_TIMER, |
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 5b8d8382b762..1189d8d6170d 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -90,6 +90,7 @@ config PPC | |||
90 | select HAVE_IDE | 90 | select HAVE_IDE |
91 | select HAVE_OPROFILE | 91 | select HAVE_OPROFILE |
92 | select HAVE_KPROBES | 92 | select HAVE_KPROBES |
93 | select HAVE_KRETPROBES | ||
93 | 94 | ||
94 | config EARLY_PRINTK | 95 | config EARLY_PRINTK |
95 | bool | 96 | bool |
diff --git a/arch/powerpc/boot/dts/mpc8377_mds.dts b/arch/powerpc/boot/dts/mpc8377_mds.dts index a3637fff73cc..49c05e97386c 100644 --- a/arch/powerpc/boot/dts/mpc8377_mds.dts +++ b/arch/powerpc/boot/dts/mpc8377_mds.dts | |||
@@ -47,6 +47,72 @@ | |||
47 | reg = <0x00000000 0x20000000>; // 512MB at 0 | 47 | reg = <0x00000000 0x20000000>; // 512MB at 0 |
48 | }; | 48 | }; |
49 | 49 | ||
50 | localbus@e0005000 { | ||
51 | #address-cells = <2>; | ||
52 | #size-cells = <1>; | ||
53 | compatible = "fsl,mpc8377-elbc", "fsl,elbc", "simple-bus"; | ||
54 | reg = <0xe0005000 0x1000>; | ||
55 | interrupts = <77 0x8>; | ||
56 | interrupt-parent = <&ipic>; | ||
57 | |||
58 | // booting from NOR flash | ||
59 | ranges = <0 0x0 0xfe000000 0x02000000 | ||
60 | 1 0x0 0xf8000000 0x00008000 | ||
61 | 3 0x0 0xe0600000 0x00008000>; | ||
62 | |||
63 | flash@0,0 { | ||
64 | #address-cells = <1>; | ||
65 | #size-cells = <1>; | ||
66 | compatible = "cfi-flash"; | ||
67 | reg = <0 0x0 0x2000000>; | ||
68 | bank-width = <2>; | ||
69 | device-width = <1>; | ||
70 | |||
71 | u-boot@0 { | ||
72 | reg = <0x0 0x100000>; | ||
73 | read-only; | ||
74 | }; | ||
75 | |||
76 | fs@100000 { | ||
77 | reg = <0x100000 0x800000>; | ||
78 | }; | ||
79 | |||
80 | kernel@1d00000 { | ||
81 | reg = <0x1d00000 0x200000>; | ||
82 | }; | ||
83 | |||
84 | dtb@1f00000 { | ||
85 | reg = <0x1f00000 0x100000>; | ||
86 | }; | ||
87 | }; | ||
88 | |||
89 | bcsr@1,0 { | ||
90 | reg = <1 0x0 0x8000>; | ||
91 | compatible = "fsl,mpc837xmds-bcsr"; | ||
92 | }; | ||
93 | |||
94 | nand@3,0 { | ||
95 | #address-cells = <1>; | ||
96 | #size-cells = <1>; | ||
97 | compatible = "fsl,mpc8377-fcm-nand", | ||
98 | "fsl,elbc-fcm-nand"; | ||
99 | reg = <3 0x0 0x8000>; | ||
100 | |||
101 | u-boot@0 { | ||
102 | reg = <0x0 0x100000>; | ||
103 | read-only; | ||
104 | }; | ||
105 | |||
106 | kernel@100000 { | ||
107 | reg = <0x100000 0x300000>; | ||
108 | }; | ||
109 | |||
110 | fs@400000 { | ||
111 | reg = <0x400000 0x1c00000>; | ||
112 | }; | ||
113 | }; | ||
114 | }; | ||
115 | |||
50 | soc@e0000000 { | 116 | soc@e0000000 { |
51 | #address-cells = <1>; | 117 | #address-cells = <1>; |
52 | #size-cells = <1>; | 118 | #size-cells = <1>; |
@@ -91,7 +157,6 @@ | |||
91 | mode = "cpu"; | 157 | mode = "cpu"; |
92 | }; | 158 | }; |
93 | 159 | ||
94 | /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */ | ||
95 | usb@23000 { | 160 | usb@23000 { |
96 | compatible = "fsl-usb2-dr"; | 161 | compatible = "fsl-usb2-dr"; |
97 | reg = <0x23000 0x1000>; | 162 | reg = <0x23000 0x1000>; |
@@ -99,7 +164,8 @@ | |||
99 | #size-cells = <0>; | 164 | #size-cells = <0>; |
100 | interrupt-parent = <&ipic>; | 165 | interrupt-parent = <&ipic>; |
101 | interrupts = <38 0x8>; | 166 | interrupts = <38 0x8>; |
102 | phy_type = "utmi_wide"; | 167 | dr_mode = "host"; |
168 | phy_type = "ulpi"; | ||
103 | }; | 169 | }; |
104 | 170 | ||
105 | mdio@24520 { | 171 | mdio@24520 { |
diff --git a/arch/powerpc/boot/dts/mpc8378_mds.dts b/arch/powerpc/boot/dts/mpc8378_mds.dts index 533e9b06cc8f..1d6ea080ad73 100644 --- a/arch/powerpc/boot/dts/mpc8378_mds.dts +++ b/arch/powerpc/boot/dts/mpc8378_mds.dts | |||
@@ -47,6 +47,72 @@ | |||
47 | reg = <0x00000000 0x20000000>; // 512MB at 0 | 47 | reg = <0x00000000 0x20000000>; // 512MB at 0 |
48 | }; | 48 | }; |
49 | 49 | ||
50 | localbus@e0005000 { | ||
51 | #address-cells = <2>; | ||
52 | #size-cells = <1>; | ||
53 | compatible = "fsl,mpc8378-elbc", "fsl,elbc", "simple-bus"; | ||
54 | reg = <0xe0005000 0x1000>; | ||
55 | interrupts = <77 0x8>; | ||
56 | interrupt-parent = <&ipic>; | ||
57 | |||
58 | // booting from NOR flash | ||
59 | ranges = <0 0x0 0xfe000000 0x02000000 | ||
60 | 1 0x0 0xf8000000 0x00008000 | ||
61 | 3 0x0 0xe0600000 0x00008000>; | ||
62 | |||
63 | flash@0,0 { | ||
64 | #address-cells = <1>; | ||
65 | #size-cells = <1>; | ||
66 | compatible = "cfi-flash"; | ||
67 | reg = <0 0x0 0x2000000>; | ||
68 | bank-width = <2>; | ||
69 | device-width = <1>; | ||
70 | |||
71 | u-boot@0 { | ||
72 | reg = <0x0 0x100000>; | ||
73 | read-only; | ||
74 | }; | ||
75 | |||
76 | fs@100000 { | ||
77 | reg = <0x100000 0x800000>; | ||
78 | }; | ||
79 | |||
80 | kernel@1d00000 { | ||
81 | reg = <0x1d00000 0x200000>; | ||
82 | }; | ||
83 | |||
84 | dtb@1f00000 { | ||
85 | reg = <0x1f00000 0x100000>; | ||
86 | }; | ||
87 | }; | ||
88 | |||
89 | bcsr@1,0 { | ||
90 | reg = <1 0x0 0x8000>; | ||
91 | compatible = "fsl,mpc837xmds-bcsr"; | ||
92 | }; | ||
93 | |||
94 | nand@3,0 { | ||
95 | #address-cells = <1>; | ||
96 | #size-cells = <1>; | ||
97 | compatible = "fsl,mpc8378-fcm-nand", | ||
98 | "fsl,elbc-fcm-nand"; | ||
99 | reg = <3 0x0 0x8000>; | ||
100 | |||
101 | u-boot@0 { | ||
102 | reg = <0x0 0x100000>; | ||
103 | read-only; | ||
104 | }; | ||
105 | |||
106 | kernel@100000 { | ||
107 | reg = <0x100000 0x300000>; | ||
108 | }; | ||
109 | |||
110 | fs@400000 { | ||
111 | reg = <0x400000 0x1c00000>; | ||
112 | }; | ||
113 | }; | ||
114 | }; | ||
115 | |||
50 | soc@e0000000 { | 116 | soc@e0000000 { |
51 | #address-cells = <1>; | 117 | #address-cells = <1>; |
52 | #size-cells = <1>; | 118 | #size-cells = <1>; |
@@ -91,7 +157,6 @@ | |||
91 | mode = "cpu"; | 157 | mode = "cpu"; |
92 | }; | 158 | }; |
93 | 159 | ||
94 | /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */ | ||
95 | usb@23000 { | 160 | usb@23000 { |
96 | compatible = "fsl-usb2-dr"; | 161 | compatible = "fsl-usb2-dr"; |
97 | reg = <0x23000 0x1000>; | 162 | reg = <0x23000 0x1000>; |
@@ -99,7 +164,8 @@ | |||
99 | #size-cells = <0>; | 164 | #size-cells = <0>; |
100 | interrupt-parent = <&ipic>; | 165 | interrupt-parent = <&ipic>; |
101 | interrupts = <38 0x8>; | 166 | interrupts = <38 0x8>; |
102 | phy_type = "utmi_wide"; | 167 | dr_mode = "host"; |
168 | phy_type = "ulpi"; | ||
103 | }; | 169 | }; |
104 | 170 | ||
105 | mdio@24520 { | 171 | mdio@24520 { |
diff --git a/arch/powerpc/boot/dts/mpc8379_mds.dts b/arch/powerpc/boot/dts/mpc8379_mds.dts index c270685bbde4..fdb4a9255b24 100644 --- a/arch/powerpc/boot/dts/mpc8379_mds.dts +++ b/arch/powerpc/boot/dts/mpc8379_mds.dts | |||
@@ -47,6 +47,72 @@ | |||
47 | reg = <0x00000000 0x20000000>; // 512MB at 0 | 47 | reg = <0x00000000 0x20000000>; // 512MB at 0 |
48 | }; | 48 | }; |
49 | 49 | ||
50 | localbus@e0005000 { | ||
51 | #address-cells = <2>; | ||
52 | #size-cells = <1>; | ||
53 | compatible = "fsl,mpc8379-elbc", "fsl,elbc", "simple-bus"; | ||
54 | reg = <0xe0005000 0x1000>; | ||
55 | interrupts = <77 0x8>; | ||
56 | interrupt-parent = <&ipic>; | ||
57 | |||
58 | // booting from NOR flash | ||
59 | ranges = <0 0x0 0xfe000000 0x02000000 | ||
60 | 1 0x0 0xf8000000 0x00008000 | ||
61 | 3 0x0 0xe0600000 0x00008000>; | ||
62 | |||
63 | flash@0,0 { | ||
64 | #address-cells = <1>; | ||
65 | #size-cells = <1>; | ||
66 | compatible = "cfi-flash"; | ||
67 | reg = <0 0x0 0x2000000>; | ||
68 | bank-width = <2>; | ||
69 | device-width = <1>; | ||
70 | |||
71 | u-boot@0 { | ||
72 | reg = <0x0 0x100000>; | ||
73 | read-only; | ||
74 | }; | ||
75 | |||
76 | fs@100000 { | ||
77 | reg = <0x100000 0x800000>; | ||
78 | }; | ||
79 | |||
80 | kernel@1d00000 { | ||
81 | reg = <0x1d00000 0x200000>; | ||
82 | }; | ||
83 | |||
84 | dtb@1f00000 { | ||
85 | reg = <0x1f00000 0x100000>; | ||
86 | }; | ||
87 | }; | ||
88 | |||
89 | bcsr@1,0 { | ||
90 | reg = <1 0x0 0x8000>; | ||
91 | compatible = "fsl,mpc837xmds-bcsr"; | ||
92 | }; | ||
93 | |||
94 | nand@3,0 { | ||
95 | #address-cells = <1>; | ||
96 | #size-cells = <1>; | ||
97 | compatible = "fsl,mpc8379-fcm-nand", | ||
98 | "fsl,elbc-fcm-nand"; | ||
99 | reg = <3 0x0 0x8000>; | ||
100 | |||
101 | u-boot@0 { | ||
102 | reg = <0x0 0x100000>; | ||
103 | read-only; | ||
104 | }; | ||
105 | |||
106 | kernel@100000 { | ||
107 | reg = <0x100000 0x300000>; | ||
108 | }; | ||
109 | |||
110 | fs@400000 { | ||
111 | reg = <0x400000 0x1c00000>; | ||
112 | }; | ||
113 | }; | ||
114 | }; | ||
115 | |||
50 | soc@e0000000 { | 116 | soc@e0000000 { |
51 | #address-cells = <1>; | 117 | #address-cells = <1>; |
52 | #size-cells = <1>; | 118 | #size-cells = <1>; |
@@ -91,7 +157,6 @@ | |||
91 | mode = "cpu"; | 157 | mode = "cpu"; |
92 | }; | 158 | }; |
93 | 159 | ||
94 | /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */ | ||
95 | usb@23000 { | 160 | usb@23000 { |
96 | compatible = "fsl-usb2-dr"; | 161 | compatible = "fsl-usb2-dr"; |
97 | reg = <0x23000 0x1000>; | 162 | reg = <0x23000 0x1000>; |
@@ -99,7 +164,8 @@ | |||
99 | #size-cells = <0>; | 164 | #size-cells = <0>; |
100 | interrupt-parent = <&ipic>; | 165 | interrupt-parent = <&ipic>; |
101 | interrupts = <38 0x8>; | 166 | interrupts = <38 0x8>; |
102 | phy_type = "utmi_wide"; | 167 | dr_mode = "host"; |
168 | phy_type = "ulpi"; | ||
103 | }; | 169 | }; |
104 | 170 | ||
105 | mdio@24520 { | 171 | mdio@24520 { |
diff --git a/arch/powerpc/boot/dts/sbc8548.dts b/arch/powerpc/boot/dts/sbc8548.dts index 14be38ad5d4b..b86e65d926c1 100644 --- a/arch/powerpc/boot/dts/sbc8548.dts +++ b/arch/powerpc/boot/dts/sbc8548.dts | |||
@@ -184,11 +184,17 @@ | |||
184 | cell-index = <0>; | 184 | cell-index = <0>; |
185 | interrupt-map-mask = <0xf800 0x0 0x0 0x7>; | 185 | interrupt-map-mask = <0xf800 0x0 0x0 0x7>; |
186 | interrupt-map = < | 186 | interrupt-map = < |
187 | /* IDSEL 0x01 (PCI-X slot) */ | 187 | /* IDSEL 0x01 (PCI-X slot) @66MHz */ |
188 | 0x0800 0x0 0x0 0x1 &mpic 0x0 0x1 | 188 | 0x0800 0x0 0x0 0x1 &mpic 0x2 0x1 |
189 | 0x0800 0x0 0x0 0x2 &mpic 0x1 0x1 | 189 | 0x0800 0x0 0x0 0x2 &mpic 0x3 0x1 |
190 | 0x0800 0x0 0x0 0x3 &mpic 0x2 0x1 | 190 | 0x0800 0x0 0x0 0x3 &mpic 0x4 0x1 |
191 | 0x0800 0x0 0x0 0x4 &mpic 0x3 0x1>; | 191 | 0x0800 0x0 0x0 0x4 &mpic 0x1 0x1 |
192 | |||
193 | /* IDSEL 0x11 (PCI, 3.3V 32bit) @33MHz */ | ||
194 | 0x8800 0x0 0x0 0x1 &mpic 0x2 0x1 | ||
195 | 0x8800 0x0 0x0 0x2 &mpic 0x3 0x1 | ||
196 | 0x8800 0x0 0x0 0x3 &mpic 0x4 0x1 | ||
197 | 0x8800 0x0 0x0 0x4 &mpic 0x1 0x1>; | ||
192 | 198 | ||
193 | interrupt-parent = <&mpic>; | 199 | interrupt-parent = <&mpic>; |
194 | interrupts = <0x18 0x2>; | 200 | interrupts = <0x18 0x2>; |
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper index c3178155311b..d50e498a072b 100755 --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper | |||
@@ -191,10 +191,14 @@ ps3) | |||
191 | ksection=.kernel:vmlinux.bin | 191 | ksection=.kernel:vmlinux.bin |
192 | isection=.kernel:initrd | 192 | isection=.kernel:initrd |
193 | ;; | 193 | ;; |
194 | ep88xc|ep405|redboot*|ep8248e) | 194 | ep88xc|ep405|ep8248e) |
195 | platformo="$object/fixed-head.o $object/$platform.o" | 195 | platformo="$object/fixed-head.o $object/$platform.o" |
196 | binary=y | 196 | binary=y |
197 | ;; | 197 | ;; |
198 | adder875-redboot) | ||
199 | platformo="$object/fixed-head.o $object/redboot-8xx.o" | ||
200 | binary=y | ||
201 | ;; | ||
198 | esac | 202 | esac |
199 | 203 | ||
200 | vmz="$tmpdir/`basename \"$kernel\"`.$ext" | 204 | vmz="$tmpdir/`basename \"$kernel\"`.$ext" |
diff --git a/arch/powerpc/configs/adder875-uboot_defconfig b/arch/powerpc/configs/adder875-uboot_defconfig deleted file mode 100644 index 1faf7ef59a23..000000000000 --- a/arch/powerpc/configs/adder875-uboot_defconfig +++ /dev/null | |||
@@ -1,798 +0,0 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.24-rc6 | ||
4 | # Thu Jan 17 16:17:18 2008 | ||
5 | # | ||
6 | # CONFIG_PPC64 is not set | ||
7 | |||
8 | # | ||
9 | # Processor support | ||
10 | # | ||
11 | # CONFIG_6xx is not set | ||
12 | # CONFIG_PPC_85xx is not set | ||
13 | CONFIG_PPC_8xx=y | ||
14 | # CONFIG_40x is not set | ||
15 | # CONFIG_44x is not set | ||
16 | # CONFIG_E200 is not set | ||
17 | CONFIG_8xx=y | ||
18 | # CONFIG_PPC_MM_SLICES is not set | ||
19 | CONFIG_NOT_COHERENT_CACHE=y | ||
20 | CONFIG_PPC32=y | ||
21 | CONFIG_WORD_SIZE=32 | ||
22 | CONFIG_PPC_MERGE=y | ||
23 | CONFIG_MMU=y | ||
24 | CONFIG_GENERIC_CMOS_UPDATE=y | ||
25 | CONFIG_GENERIC_TIME=y | ||
26 | CONFIG_GENERIC_TIME_VSYSCALL=y | ||
27 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
28 | CONFIG_GENERIC_HARDIRQS=y | ||
29 | CONFIG_IRQ_PER_CPU=y | ||
30 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | ||
31 | CONFIG_ARCH_HAS_ILOG2_U32=y | ||
32 | CONFIG_GENERIC_HWEIGHT=y | ||
33 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
34 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
35 | # CONFIG_ARCH_NO_VIRT_TO_BUS is not set | ||
36 | CONFIG_PPC=y | ||
37 | CONFIG_EARLY_PRINTK=y | ||
38 | CONFIG_GENERIC_NVRAM=y | ||
39 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
40 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | ||
41 | CONFIG_PPC_OF=y | ||
42 | CONFIG_OF=y | ||
43 | # CONFIG_PPC_UDBG_16550 is not set | ||
44 | # CONFIG_GENERIC_TBSYNC is not set | ||
45 | CONFIG_AUDIT_ARCH=y | ||
46 | CONFIG_GENERIC_BUG=y | ||
47 | # CONFIG_DEFAULT_UIMAGE is not set | ||
48 | CONFIG_REDBOOT=y | ||
49 | # CONFIG_PPC_DCR_NATIVE is not set | ||
50 | # CONFIG_PPC_DCR_MMIO is not set | ||
51 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
52 | |||
53 | # | ||
54 | # General setup | ||
55 | # | ||
56 | CONFIG_EXPERIMENTAL=y | ||
57 | CONFIG_BROKEN_ON_SMP=y | ||
58 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
59 | CONFIG_LOCALVERSION="" | ||
60 | CONFIG_LOCALVERSION_AUTO=y | ||
61 | # CONFIG_SWAP is not set | ||
62 | CONFIG_SYSVIPC=y | ||
63 | CONFIG_SYSVIPC_SYSCTL=y | ||
64 | # CONFIG_POSIX_MQUEUE is not set | ||
65 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
66 | # CONFIG_TASKSTATS is not set | ||
67 | # CONFIG_USER_NS is not set | ||
68 | # CONFIG_PID_NS is not set | ||
69 | # CONFIG_AUDIT is not set | ||
70 | # CONFIG_IKCONFIG is not set | ||
71 | CONFIG_LOG_BUF_SHIFT=14 | ||
72 | # CONFIG_CGROUPS is not set | ||
73 | CONFIG_FAIR_GROUP_SCHED=y | ||
74 | CONFIG_FAIR_USER_SCHED=y | ||
75 | # CONFIG_FAIR_CGROUP_SCHED is not set | ||
76 | CONFIG_SYSFS_DEPRECATED=y | ||
77 | # CONFIG_RELAY is not set | ||
78 | # CONFIG_BLK_DEV_INITRD is not set | ||
79 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
80 | CONFIG_SYSCTL=y | ||
81 | CONFIG_EMBEDDED=y | ||
82 | # CONFIG_SYSCTL_SYSCALL is not set | ||
83 | CONFIG_KALLSYMS=y | ||
84 | # CONFIG_KALLSYMS_ALL is not set | ||
85 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
86 | CONFIG_HOTPLUG=y | ||
87 | CONFIG_PRINTK=y | ||
88 | CONFIG_BUG=y | ||
89 | # CONFIG_ELF_CORE is not set | ||
90 | # CONFIG_BASE_FULL is not set | ||
91 | # CONFIG_FUTEX is not set | ||
92 | CONFIG_ANON_INODES=y | ||
93 | CONFIG_EPOLL=y | ||
94 | CONFIG_SIGNALFD=y | ||
95 | CONFIG_EVENTFD=y | ||
96 | CONFIG_SHMEM=y | ||
97 | # CONFIG_VM_EVENT_COUNTERS is not set | ||
98 | CONFIG_SLUB_DEBUG=y | ||
99 | # CONFIG_SLAB is not set | ||
100 | CONFIG_SLUB=y | ||
101 | # CONFIG_SLOB is not set | ||
102 | # CONFIG_TINY_SHMEM is not set | ||
103 | CONFIG_BASE_SMALL=1 | ||
104 | # CONFIG_MODULES is not set | ||
105 | CONFIG_BLOCK=y | ||
106 | # CONFIG_LBD is not set | ||
107 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
108 | # CONFIG_LSF is not set | ||
109 | # CONFIG_BLK_DEV_BSG is not set | ||
110 | |||
111 | # | ||
112 | # IO Schedulers | ||
113 | # | ||
114 | CONFIG_IOSCHED_NOOP=y | ||
115 | # CONFIG_IOSCHED_AS is not set | ||
116 | CONFIG_IOSCHED_DEADLINE=y | ||
117 | # CONFIG_IOSCHED_CFQ is not set | ||
118 | # CONFIG_DEFAULT_AS is not set | ||
119 | CONFIG_DEFAULT_DEADLINE=y | ||
120 | # CONFIG_DEFAULT_CFQ is not set | ||
121 | # CONFIG_DEFAULT_NOOP is not set | ||
122 | CONFIG_DEFAULT_IOSCHED="deadline" | ||
123 | |||
124 | # | ||
125 | # Platform support | ||
126 | # | ||
127 | # CONFIG_PPC_MPC52xx is not set | ||
128 | # CONFIG_PPC_MPC5200 is not set | ||
129 | # CONFIG_PPC_CELL is not set | ||
130 | # CONFIG_PPC_CELL_NATIVE is not set | ||
131 | CONFIG_CPM1=y | ||
132 | # CONFIG_MPC8XXFADS is not set | ||
133 | # CONFIG_MPC86XADS is not set | ||
134 | # CONFIG_MPC885ADS is not set | ||
135 | # CONFIG_PPC_EP88XC is not set | ||
136 | CONFIG_PPC_ADDER875=y | ||
137 | |||
138 | # | ||
139 | # MPC8xx CPM Options | ||
140 | # | ||
141 | |||
142 | # | ||
143 | # Generic MPC8xx Options | ||
144 | # | ||
145 | CONFIG_8xx_COPYBACK=y | ||
146 | # CONFIG_8xx_CPU6 is not set | ||
147 | CONFIG_8xx_CPU15=y | ||
148 | CONFIG_NO_UCODE_PATCH=y | ||
149 | # CONFIG_USB_SOF_UCODE_PATCH is not set | ||
150 | # CONFIG_I2C_SPI_UCODE_PATCH is not set | ||
151 | # CONFIG_I2C_SPI_SMC1_UCODE_PATCH is not set | ||
152 | # CONFIG_PQ2ADS is not set | ||
153 | # CONFIG_MPIC is not set | ||
154 | # CONFIG_MPIC_WEIRD is not set | ||
155 | # CONFIG_PPC_I8259 is not set | ||
156 | # CONFIG_PPC_RTAS is not set | ||
157 | # CONFIG_MMIO_NVRAM is not set | ||
158 | # CONFIG_PPC_MPC106 is not set | ||
159 | # CONFIG_PPC_970_NAP is not set | ||
160 | # CONFIG_PPC_INDIRECT_IO is not set | ||
161 | # CONFIG_GENERIC_IOMAP is not set | ||
162 | # CONFIG_CPU_FREQ is not set | ||
163 | # CONFIG_CPM2 is not set | ||
164 | CONFIG_PPC_CPM_NEW_BINDING=y | ||
165 | # CONFIG_FSL_ULI1575 is not set | ||
166 | CONFIG_CPM=y | ||
167 | |||
168 | # | ||
169 | # Kernel options | ||
170 | # | ||
171 | # CONFIG_HIGHMEM is not set | ||
172 | # CONFIG_TICK_ONESHOT is not set | ||
173 | # CONFIG_NO_HZ is not set | ||
174 | # CONFIG_HIGH_RES_TIMERS is not set | ||
175 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
176 | # CONFIG_HZ_100 is not set | ||
177 | # CONFIG_HZ_250 is not set | ||
178 | # CONFIG_HZ_300 is not set | ||
179 | CONFIG_HZ_1000=y | ||
180 | CONFIG_HZ=1000 | ||
181 | CONFIG_PREEMPT_NONE=y | ||
182 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
183 | # CONFIG_PREEMPT is not set | ||
184 | CONFIG_BINFMT_ELF=y | ||
185 | # CONFIG_BINFMT_MISC is not set | ||
186 | # CONFIG_MATH_EMULATION is not set | ||
187 | # CONFIG_8XX_MINIMAL_FPEMU is not set | ||
188 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
189 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
190 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
191 | CONFIG_SELECT_MEMORY_MODEL=y | ||
192 | CONFIG_FLATMEM_MANUAL=y | ||
193 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
194 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
195 | CONFIG_FLATMEM=y | ||
196 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
197 | # CONFIG_SPARSEMEM_STATIC is not set | ||
198 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
199 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
200 | # CONFIG_RESOURCES_64BIT is not set | ||
201 | CONFIG_ZONE_DMA_FLAG=1 | ||
202 | CONFIG_BOUNCE=y | ||
203 | CONFIG_VIRT_TO_BUS=y | ||
204 | # CONFIG_PROC_DEVICETREE is not set | ||
205 | # CONFIG_CMDLINE_BOOL is not set | ||
206 | # CONFIG_PM is not set | ||
207 | CONFIG_SUSPEND_UP_POSSIBLE=y | ||
208 | CONFIG_HIBERNATION_UP_POSSIBLE=y | ||
209 | # CONFIG_SECCOMP is not set | ||
210 | CONFIG_WANT_DEVICE_TREE=y | ||
211 | CONFIG_DEVICE_TREE="adder875-uboot.dts" | ||
212 | CONFIG_ISA_DMA_API=y | ||
213 | |||
214 | # | ||
215 | # Bus options | ||
216 | # | ||
217 | CONFIG_ZONE_DMA=y | ||
218 | CONFIG_FSL_SOC=y | ||
219 | # CONFIG_PCI is not set | ||
220 | # CONFIG_PCI_DOMAINS is not set | ||
221 | # CONFIG_PCI_SYSCALL is not set | ||
222 | # CONFIG_PCI_QSPAN is not set | ||
223 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
224 | # CONFIG_PCCARD is not set | ||
225 | |||
226 | # | ||
227 | # Advanced setup | ||
228 | # | ||
229 | # CONFIG_ADVANCED_OPTIONS is not set | ||
230 | |||
231 | # | ||
232 | # Default settings for advanced configuration options are used | ||
233 | # | ||
234 | CONFIG_HIGHMEM_START=0xfe000000 | ||
235 | CONFIG_LOWMEM_SIZE=0x30000000 | ||
236 | CONFIG_KERNEL_START=0xc0000000 | ||
237 | CONFIG_TASK_SIZE=0x80000000 | ||
238 | CONFIG_CONSISTENT_START=0xfd000000 | ||
239 | CONFIG_CONSISTENT_SIZE=0x00200000 | ||
240 | CONFIG_BOOT_LOAD=0x00400000 | ||
241 | |||
242 | # | ||
243 | # Networking | ||
244 | # | ||
245 | CONFIG_NET=y | ||
246 | |||
247 | # | ||
248 | # Networking options | ||
249 | # | ||
250 | CONFIG_PACKET=y | ||
251 | # CONFIG_PACKET_MMAP is not set | ||
252 | CONFIG_UNIX=y | ||
253 | # CONFIG_NET_KEY is not set | ||
254 | CONFIG_INET=y | ||
255 | CONFIG_IP_MULTICAST=y | ||
256 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
257 | CONFIG_IP_FIB_HASH=y | ||
258 | CONFIG_IP_PNP=y | ||
259 | # CONFIG_IP_PNP_DHCP is not set | ||
260 | # CONFIG_IP_PNP_BOOTP is not set | ||
261 | # CONFIG_IP_PNP_RARP is not set | ||
262 | # CONFIG_NET_IPIP is not set | ||
263 | # CONFIG_NET_IPGRE is not set | ||
264 | # CONFIG_IP_MROUTE is not set | ||
265 | # CONFIG_ARPD is not set | ||
266 | CONFIG_SYN_COOKIES=y | ||
267 | # CONFIG_INET_AH is not set | ||
268 | # CONFIG_INET_ESP is not set | ||
269 | # CONFIG_INET_IPCOMP is not set | ||
270 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
271 | # CONFIG_INET_TUNNEL is not set | ||
272 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | ||
273 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | ||
274 | # CONFIG_INET_XFRM_MODE_BEET is not set | ||
275 | # CONFIG_INET_LRO is not set | ||
276 | CONFIG_INET_DIAG=y | ||
277 | CONFIG_INET_TCP_DIAG=y | ||
278 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
279 | CONFIG_TCP_CONG_CUBIC=y | ||
280 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
281 | # CONFIG_TCP_MD5SIG is not set | ||
282 | # CONFIG_IPV6 is not set | ||
283 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
284 | # CONFIG_INET6_TUNNEL is not set | ||
285 | # CONFIG_NETWORK_SECMARK is not set | ||
286 | # CONFIG_NETFILTER is not set | ||
287 | # CONFIG_IP_DCCP is not set | ||
288 | # CONFIG_IP_SCTP is not set | ||
289 | # CONFIG_TIPC is not set | ||
290 | # CONFIG_ATM is not set | ||
291 | # CONFIG_BRIDGE is not set | ||
292 | # CONFIG_VLAN_8021Q is not set | ||
293 | # CONFIG_DECNET is not set | ||
294 | # CONFIG_LLC2 is not set | ||
295 | # CONFIG_IPX is not set | ||
296 | # CONFIG_ATALK is not set | ||
297 | # CONFIG_X25 is not set | ||
298 | # CONFIG_LAPB is not set | ||
299 | # CONFIG_ECONET is not set | ||
300 | # CONFIG_WAN_ROUTER is not set | ||
301 | # CONFIG_NET_SCHED is not set | ||
302 | |||
303 | # | ||
304 | # Network testing | ||
305 | # | ||
306 | # CONFIG_NET_PKTGEN is not set | ||
307 | # CONFIG_HAMRADIO is not set | ||
308 | # CONFIG_IRDA is not set | ||
309 | # CONFIG_BT is not set | ||
310 | # CONFIG_AF_RXRPC is not set | ||
311 | |||
312 | # | ||
313 | # Wireless | ||
314 | # | ||
315 | # CONFIG_CFG80211 is not set | ||
316 | # CONFIG_WIRELESS_EXT is not set | ||
317 | # CONFIG_MAC80211 is not set | ||
318 | # CONFIG_IEEE80211 is not set | ||
319 | # CONFIG_RFKILL is not set | ||
320 | # CONFIG_NET_9P is not set | ||
321 | |||
322 | # | ||
323 | # Device Drivers | ||
324 | # | ||
325 | |||
326 | # | ||
327 | # Generic Driver Options | ||
328 | # | ||
329 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
330 | CONFIG_STANDALONE=y | ||
331 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
332 | # CONFIG_FW_LOADER is not set | ||
333 | # CONFIG_DEBUG_DRIVER is not set | ||
334 | # CONFIG_DEBUG_DEVRES is not set | ||
335 | # CONFIG_SYS_HYPERVISOR is not set | ||
336 | # CONFIG_CONNECTOR is not set | ||
337 | CONFIG_MTD=y | ||
338 | # CONFIG_MTD_DEBUG is not set | ||
339 | # CONFIG_MTD_CONCAT is not set | ||
340 | # CONFIG_MTD_PARTITIONS is not set | ||
341 | |||
342 | # | ||
343 | # User Modules And Translation Layers | ||
344 | # | ||
345 | CONFIG_MTD_CHAR=y | ||
346 | CONFIG_MTD_BLKDEVS=y | ||
347 | CONFIG_MTD_BLOCK=y | ||
348 | # CONFIG_FTL is not set | ||
349 | # CONFIG_NFTL is not set | ||
350 | # CONFIG_INFTL is not set | ||
351 | # CONFIG_RFD_FTL is not set | ||
352 | # CONFIG_SSFDC is not set | ||
353 | # CONFIG_MTD_OOPS is not set | ||
354 | |||
355 | # | ||
356 | # RAM/ROM/Flash chip drivers | ||
357 | # | ||
358 | CONFIG_MTD_CFI=y | ||
359 | # CONFIG_MTD_JEDECPROBE is not set | ||
360 | CONFIG_MTD_GEN_PROBE=y | ||
361 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
362 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
363 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
364 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
365 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
366 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
367 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
368 | CONFIG_MTD_CFI_I1=y | ||
369 | CONFIG_MTD_CFI_I2=y | ||
370 | # CONFIG_MTD_CFI_I4 is not set | ||
371 | # CONFIG_MTD_CFI_I8 is not set | ||
372 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
373 | CONFIG_MTD_CFI_AMDSTD=y | ||
374 | # CONFIG_MTD_CFI_STAA is not set | ||
375 | CONFIG_MTD_CFI_UTIL=y | ||
376 | # CONFIG_MTD_RAM is not set | ||
377 | # CONFIG_MTD_ROM is not set | ||
378 | # CONFIG_MTD_ABSENT is not set | ||
379 | |||
380 | # | ||
381 | # Mapping drivers for chip access | ||
382 | # | ||
383 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
384 | # CONFIG_MTD_PHYSMAP is not set | ||
385 | CONFIG_MTD_PHYSMAP_OF=y | ||
386 | # CONFIG_MTD_CFI_FLAGADM is not set | ||
387 | # CONFIG_MTD_PLATRAM is not set | ||
388 | |||
389 | # | ||
390 | # Self-contained MTD device drivers | ||
391 | # | ||
392 | # CONFIG_MTD_SLRAM is not set | ||
393 | # CONFIG_MTD_PHRAM is not set | ||
394 | # CONFIG_MTD_MTDRAM is not set | ||
395 | # CONFIG_MTD_BLOCK2MTD is not set | ||
396 | |||
397 | # | ||
398 | # Disk-On-Chip Device Drivers | ||
399 | # | ||
400 | # CONFIG_MTD_DOC2000 is not set | ||
401 | # CONFIG_MTD_DOC2001 is not set | ||
402 | # CONFIG_MTD_DOC2001PLUS is not set | ||
403 | # CONFIG_MTD_NAND is not set | ||
404 | # CONFIG_MTD_ONENAND is not set | ||
405 | |||
406 | # | ||
407 | # UBI - Unsorted block images | ||
408 | # | ||
409 | # CONFIG_MTD_UBI is not set | ||
410 | CONFIG_OF_DEVICE=y | ||
411 | # CONFIG_PARPORT is not set | ||
412 | # CONFIG_BLK_DEV is not set | ||
413 | # CONFIG_MISC_DEVICES is not set | ||
414 | # CONFIG_IDE is not set | ||
415 | |||
416 | # | ||
417 | # SCSI device support | ||
418 | # | ||
419 | # CONFIG_RAID_ATTRS is not set | ||
420 | # CONFIG_SCSI is not set | ||
421 | # CONFIG_SCSI_DMA is not set | ||
422 | # CONFIG_SCSI_NETLINK is not set | ||
423 | # CONFIG_ATA is not set | ||
424 | # CONFIG_MD is not set | ||
425 | # CONFIG_MACINTOSH_DRIVERS is not set | ||
426 | CONFIG_NETDEVICES=y | ||
427 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
428 | # CONFIG_DUMMY is not set | ||
429 | # CONFIG_BONDING is not set | ||
430 | # CONFIG_MACVLAN is not set | ||
431 | # CONFIG_EQUALIZER is not set | ||
432 | # CONFIG_TUN is not set | ||
433 | # CONFIG_VETH is not set | ||
434 | CONFIG_PHYLIB=y | ||
435 | |||
436 | # | ||
437 | # MII PHY device drivers | ||
438 | # | ||
439 | # CONFIG_MARVELL_PHY is not set | ||
440 | CONFIG_DAVICOM_PHY=y | ||
441 | # CONFIG_QSEMI_PHY is not set | ||
442 | # CONFIG_LXT_PHY is not set | ||
443 | # CONFIG_CICADA_PHY is not set | ||
444 | # CONFIG_VITESSE_PHY is not set | ||
445 | # CONFIG_SMSC_PHY is not set | ||
446 | # CONFIG_BROADCOM_PHY is not set | ||
447 | # CONFIG_ICPLUS_PHY is not set | ||
448 | # CONFIG_FIXED_PHY is not set | ||
449 | # CONFIG_MDIO_BITBANG is not set | ||
450 | CONFIG_NET_ETHERNET=y | ||
451 | CONFIG_MII=y | ||
452 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
453 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
454 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
455 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
456 | # CONFIG_B44 is not set | ||
457 | CONFIG_FS_ENET=y | ||
458 | # CONFIG_FS_ENET_HAS_SCC is not set | ||
459 | CONFIG_FS_ENET_HAS_FEC=y | ||
460 | CONFIG_FS_ENET_MDIO_FEC=y | ||
461 | # CONFIG_NETDEV_1000 is not set | ||
462 | # CONFIG_NETDEV_10000 is not set | ||
463 | |||
464 | # | ||
465 | # Wireless LAN | ||
466 | # | ||
467 | # CONFIG_WLAN_PRE80211 is not set | ||
468 | # CONFIG_WLAN_80211 is not set | ||
469 | # CONFIG_WAN is not set | ||
470 | # CONFIG_PPP is not set | ||
471 | # CONFIG_SLIP is not set | ||
472 | # CONFIG_SHAPER is not set | ||
473 | # CONFIG_NETCONSOLE is not set | ||
474 | # CONFIG_NETPOLL is not set | ||
475 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
476 | # CONFIG_ISDN is not set | ||
477 | # CONFIG_PHONE is not set | ||
478 | |||
479 | # | ||
480 | # Input device support | ||
481 | # | ||
482 | CONFIG_INPUT=y | ||
483 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
484 | # CONFIG_INPUT_POLLDEV is not set | ||
485 | |||
486 | # | ||
487 | # Userland interfaces | ||
488 | # | ||
489 | CONFIG_INPUT_MOUSEDEV=y | ||
490 | CONFIG_INPUT_MOUSEDEV_PSAUX=y | ||
491 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
492 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
493 | # CONFIG_INPUT_JOYDEV is not set | ||
494 | # CONFIG_INPUT_EVDEV is not set | ||
495 | # CONFIG_INPUT_EVBUG is not set | ||
496 | |||
497 | # | ||
498 | # Input Device Drivers | ||
499 | # | ||
500 | CONFIG_INPUT_KEYBOARD=y | ||
501 | CONFIG_KEYBOARD_ATKBD=y | ||
502 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
503 | # CONFIG_KEYBOARD_LKKBD is not set | ||
504 | # CONFIG_KEYBOARD_XTKBD is not set | ||
505 | # CONFIG_KEYBOARD_NEWTON is not set | ||
506 | # CONFIG_KEYBOARD_STOWAWAY is not set | ||
507 | CONFIG_INPUT_MOUSE=y | ||
508 | CONFIG_MOUSE_PS2=y | ||
509 | CONFIG_MOUSE_PS2_ALPS=y | ||
510 | CONFIG_MOUSE_PS2_LOGIPS2PP=y | ||
511 | CONFIG_MOUSE_PS2_SYNAPTICS=y | ||
512 | CONFIG_MOUSE_PS2_LIFEBOOK=y | ||
513 | CONFIG_MOUSE_PS2_TRACKPOINT=y | ||
514 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set | ||
515 | # CONFIG_MOUSE_SERIAL is not set | ||
516 | # CONFIG_MOUSE_VSXXXAA is not set | ||
517 | # CONFIG_INPUT_JOYSTICK is not set | ||
518 | # CONFIG_INPUT_TABLET is not set | ||
519 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
520 | # CONFIG_INPUT_MISC is not set | ||
521 | |||
522 | # | ||
523 | # Hardware I/O ports | ||
524 | # | ||
525 | CONFIG_SERIO=y | ||
526 | CONFIG_SERIO_I8042=y | ||
527 | CONFIG_SERIO_SERPORT=y | ||
528 | CONFIG_SERIO_LIBPS2=y | ||
529 | # CONFIG_SERIO_RAW is not set | ||
530 | # CONFIG_GAMEPORT is not set | ||
531 | |||
532 | # | ||
533 | # Character devices | ||
534 | # | ||
535 | # CONFIG_VT is not set | ||
536 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
537 | |||
538 | # | ||
539 | # Serial drivers | ||
540 | # | ||
541 | # CONFIG_SERIAL_8250 is not set | ||
542 | |||
543 | # | ||
544 | # Non-8250 serial port support | ||
545 | # | ||
546 | # CONFIG_SERIAL_UARTLITE is not set | ||
547 | CONFIG_SERIAL_CORE=y | ||
548 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
549 | CONFIG_SERIAL_CPM=y | ||
550 | CONFIG_SERIAL_CPM_CONSOLE=y | ||
551 | # CONFIG_SERIAL_CPM_SCC1 is not set | ||
552 | # CONFIG_SERIAL_CPM_SCC2 is not set | ||
553 | # CONFIG_SERIAL_CPM_SCC3 is not set | ||
554 | # CONFIG_SERIAL_CPM_SCC4 is not set | ||
555 | CONFIG_SERIAL_CPM_SMC1=y | ||
556 | CONFIG_SERIAL_CPM_SMC2=y | ||
557 | CONFIG_UNIX98_PTYS=y | ||
558 | # CONFIG_LEGACY_PTYS is not set | ||
559 | # CONFIG_IPMI_HANDLER is not set | ||
560 | CONFIG_HW_RANDOM=y | ||
561 | # CONFIG_NVRAM is not set | ||
562 | CONFIG_GEN_RTC=y | ||
563 | # CONFIG_GEN_RTC_X is not set | ||
564 | # CONFIG_R3964 is not set | ||
565 | # CONFIG_RAW_DRIVER is not set | ||
566 | # CONFIG_TCG_TPM is not set | ||
567 | # CONFIG_I2C is not set | ||
568 | |||
569 | # | ||
570 | # SPI support | ||
571 | # | ||
572 | # CONFIG_SPI is not set | ||
573 | # CONFIG_SPI_MASTER is not set | ||
574 | # CONFIG_W1 is not set | ||
575 | # CONFIG_POWER_SUPPLY is not set | ||
576 | # CONFIG_HWMON is not set | ||
577 | # CONFIG_WATCHDOG is not set | ||
578 | |||
579 | # | ||
580 | # Sonics Silicon Backplane | ||
581 | # | ||
582 | CONFIG_SSB_POSSIBLE=y | ||
583 | # CONFIG_SSB is not set | ||
584 | |||
585 | # | ||
586 | # Multifunction device drivers | ||
587 | # | ||
588 | # CONFIG_MFD_SM501 is not set | ||
589 | |||
590 | # | ||
591 | # Multimedia devices | ||
592 | # | ||
593 | # CONFIG_VIDEO_DEV is not set | ||
594 | # CONFIG_DVB_CORE is not set | ||
595 | CONFIG_DAB=y | ||
596 | |||
597 | # | ||
598 | # Graphics support | ||
599 | # | ||
600 | # CONFIG_VGASTATE is not set | ||
601 | CONFIG_VIDEO_OUTPUT_CONTROL=y | ||
602 | # CONFIG_FB is not set | ||
603 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
604 | |||
605 | # | ||
606 | # Display device support | ||
607 | # | ||
608 | # CONFIG_DISPLAY_SUPPORT is not set | ||
609 | |||
610 | # | ||
611 | # Sound | ||
612 | # | ||
613 | # CONFIG_SOUND is not set | ||
614 | # CONFIG_HID_SUPPORT is not set | ||
615 | # CONFIG_USB_SUPPORT is not set | ||
616 | # CONFIG_MMC is not set | ||
617 | # CONFIG_NEW_LEDS is not set | ||
618 | # CONFIG_EDAC is not set | ||
619 | # CONFIG_RTC_CLASS is not set | ||
620 | |||
621 | # | ||
622 | # Userspace I/O | ||
623 | # | ||
624 | # CONFIG_UIO is not set | ||
625 | |||
626 | # | ||
627 | # File systems | ||
628 | # | ||
629 | # CONFIG_EXT2_FS is not set | ||
630 | # CONFIG_EXT3_FS is not set | ||
631 | # CONFIG_EXT4DEV_FS is not set | ||
632 | # CONFIG_REISERFS_FS is not set | ||
633 | # CONFIG_JFS_FS is not set | ||
634 | # CONFIG_FS_POSIX_ACL is not set | ||
635 | # CONFIG_XFS_FS is not set | ||
636 | # CONFIG_GFS2_FS is not set | ||
637 | # CONFIG_OCFS2_FS is not set | ||
638 | # CONFIG_MINIX_FS is not set | ||
639 | # CONFIG_ROMFS_FS is not set | ||
640 | # CONFIG_INOTIFY is not set | ||
641 | # CONFIG_QUOTA is not set | ||
642 | # CONFIG_DNOTIFY is not set | ||
643 | # CONFIG_AUTOFS_FS is not set | ||
644 | # CONFIG_AUTOFS4_FS is not set | ||
645 | # CONFIG_FUSE_FS is not set | ||
646 | |||
647 | # | ||
648 | # CD-ROM/DVD Filesystems | ||
649 | # | ||
650 | # CONFIG_ISO9660_FS is not set | ||
651 | # CONFIG_UDF_FS is not set | ||
652 | |||
653 | # | ||
654 | # DOS/FAT/NT Filesystems | ||
655 | # | ||
656 | # CONFIG_MSDOS_FS is not set | ||
657 | # CONFIG_VFAT_FS is not set | ||
658 | # CONFIG_NTFS_FS is not set | ||
659 | |||
660 | # | ||
661 | # Pseudo filesystems | ||
662 | # | ||
663 | CONFIG_PROC_FS=y | ||
664 | # CONFIG_PROC_KCORE is not set | ||
665 | CONFIG_PROC_SYSCTL=y | ||
666 | CONFIG_SYSFS=y | ||
667 | CONFIG_TMPFS=y | ||
668 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
669 | # CONFIG_HUGETLB_PAGE is not set | ||
670 | # CONFIG_CONFIGFS_FS is not set | ||
671 | |||
672 | # | ||
673 | # Miscellaneous filesystems | ||
674 | # | ||
675 | # CONFIG_ADFS_FS is not set | ||
676 | # CONFIG_AFFS_FS is not set | ||
677 | # CONFIG_HFS_FS is not set | ||
678 | # CONFIG_HFSPLUS_FS is not set | ||
679 | # CONFIG_BEFS_FS is not set | ||
680 | # CONFIG_BFS_FS is not set | ||
681 | # CONFIG_EFS_FS is not set | ||
682 | # CONFIG_JFFS2_FS is not set | ||
683 | CONFIG_CRAMFS=y | ||
684 | # CONFIG_VXFS_FS is not set | ||
685 | # CONFIG_HPFS_FS is not set | ||
686 | # CONFIG_QNX4FS_FS is not set | ||
687 | # CONFIG_SYSV_FS is not set | ||
688 | # CONFIG_UFS_FS is not set | ||
689 | CONFIG_NETWORK_FILESYSTEMS=y | ||
690 | CONFIG_NFS_FS=y | ||
691 | CONFIG_NFS_V3=y | ||
692 | # CONFIG_NFS_V3_ACL is not set | ||
693 | # CONFIG_NFS_V4 is not set | ||
694 | # CONFIG_NFS_DIRECTIO is not set | ||
695 | # CONFIG_NFSD is not set | ||
696 | CONFIG_ROOT_NFS=y | ||
697 | CONFIG_LOCKD=y | ||
698 | CONFIG_LOCKD_V4=y | ||
699 | CONFIG_NFS_COMMON=y | ||
700 | CONFIG_SUNRPC=y | ||
701 | # CONFIG_SUNRPC_BIND34 is not set | ||
702 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
703 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
704 | # CONFIG_SMB_FS is not set | ||
705 | # CONFIG_CIFS is not set | ||
706 | # CONFIG_NCP_FS is not set | ||
707 | # CONFIG_CODA_FS is not set | ||
708 | # CONFIG_AFS_FS is not set | ||
709 | |||
710 | # | ||
711 | # Partition Types | ||
712 | # | ||
713 | CONFIG_PARTITION_ADVANCED=y | ||
714 | # CONFIG_ACORN_PARTITION is not set | ||
715 | # CONFIG_OSF_PARTITION is not set | ||
716 | # CONFIG_AMIGA_PARTITION is not set | ||
717 | # CONFIG_ATARI_PARTITION is not set | ||
718 | # CONFIG_MAC_PARTITION is not set | ||
719 | CONFIG_MSDOS_PARTITION=y | ||
720 | # CONFIG_BSD_DISKLABEL is not set | ||
721 | # CONFIG_MINIX_SUBPARTITION is not set | ||
722 | # CONFIG_SOLARIS_X86_PARTITION is not set | ||
723 | # CONFIG_UNIXWARE_DISKLABEL is not set | ||
724 | # CONFIG_LDM_PARTITION is not set | ||
725 | # CONFIG_SGI_PARTITION is not set | ||
726 | # CONFIG_ULTRIX_PARTITION is not set | ||
727 | # CONFIG_SUN_PARTITION is not set | ||
728 | # CONFIG_KARMA_PARTITION is not set | ||
729 | # CONFIG_EFI_PARTITION is not set | ||
730 | # CONFIG_SYSV68_PARTITION is not set | ||
731 | # CONFIG_NLS is not set | ||
732 | # CONFIG_DLM is not set | ||
733 | # CONFIG_UCC_SLOW is not set | ||
734 | |||
735 | # | ||
736 | # Library routines | ||
737 | # | ||
738 | # CONFIG_CRC_CCITT is not set | ||
739 | # CONFIG_CRC16 is not set | ||
740 | # CONFIG_CRC_ITU_T is not set | ||
741 | # CONFIG_CRC32 is not set | ||
742 | # CONFIG_CRC7 is not set | ||
743 | # CONFIG_LIBCRC32C is not set | ||
744 | CONFIG_ZLIB_INFLATE=y | ||
745 | CONFIG_HAS_IOMEM=y | ||
746 | CONFIG_HAS_IOPORT=y | ||
747 | CONFIG_HAS_DMA=y | ||
748 | CONFIG_INSTRUMENTATION=y | ||
749 | # CONFIG_PROFILING is not set | ||
750 | # CONFIG_MARKERS is not set | ||
751 | |||
752 | # | ||
753 | # Kernel hacking | ||
754 | # | ||
755 | # CONFIG_PRINTK_TIME is not set | ||
756 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
757 | CONFIG_ENABLE_MUST_CHECK=y | ||
758 | CONFIG_MAGIC_SYSRQ=y | ||
759 | # CONFIG_UNUSED_SYMBOLS is not set | ||
760 | # CONFIG_DEBUG_FS is not set | ||
761 | # CONFIG_HEADERS_CHECK is not set | ||
762 | CONFIG_DEBUG_KERNEL=y | ||
763 | # CONFIG_DEBUG_SHIRQ is not set | ||
764 | CONFIG_DETECT_SOFTLOCKUP=y | ||
765 | CONFIG_SCHED_DEBUG=y | ||
766 | # CONFIG_SCHEDSTATS is not set | ||
767 | # CONFIG_TIMER_STATS is not set | ||
768 | # CONFIG_SLUB_DEBUG_ON is not set | ||
769 | # CONFIG_DEBUG_SPINLOCK is not set | ||
770 | # CONFIG_DEBUG_MUTEXES is not set | ||
771 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
772 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
773 | # CONFIG_DEBUG_KOBJECT is not set | ||
774 | CONFIG_DEBUG_BUGVERBOSE=y | ||
775 | CONFIG_DEBUG_INFO=y | ||
776 | # CONFIG_DEBUG_VM is not set | ||
777 | # CONFIG_DEBUG_LIST is not set | ||
778 | # CONFIG_DEBUG_SG is not set | ||
779 | CONFIG_FORCED_INLINING=y | ||
780 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
781 | # CONFIG_FAULT_INJECTION is not set | ||
782 | # CONFIG_SAMPLES is not set | ||
783 | # CONFIG_DEBUG_STACKOVERFLOW is not set | ||
784 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
785 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
786 | # CONFIG_DEBUGGER is not set | ||
787 | # CONFIG_BDI_SWITCH is not set | ||
788 | # CONFIG_PPC_EARLY_DEBUG is not set | ||
789 | |||
790 | # | ||
791 | # Security options | ||
792 | # | ||
793 | # CONFIG_KEYS is not set | ||
794 | # CONFIG_SECURITY is not set | ||
795 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
796 | # CONFIG_CRYPTO is not set | ||
797 | # CONFIG_PPC_CLOCK is not set | ||
798 | CONFIG_PPC_LIB_RHEAP=y | ||
diff --git a/arch/powerpc/configs/adder875-redboot_defconfig b/arch/powerpc/configs/adder875_defconfig index cab5f9b64567..a3cc94a2ff06 100644 --- a/arch/powerpc/configs/adder875-redboot_defconfig +++ b/arch/powerpc/configs/adder875_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.24-rc6 | 3 | # Linux kernel version: 2.6.25-rc2 |
4 | # Thu Jan 17 16:17:38 2008 | 4 | # Wed Feb 20 12:26:07 2008 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -26,6 +26,7 @@ CONFIG_GENERIC_TIME=y | |||
26 | CONFIG_GENERIC_TIME_VSYSCALL=y | 26 | CONFIG_GENERIC_TIME_VSYSCALL=y |
27 | CONFIG_GENERIC_CLOCKEVENTS=y | 27 | CONFIG_GENERIC_CLOCKEVENTS=y |
28 | CONFIG_GENERIC_HARDIRQS=y | 28 | CONFIG_GENERIC_HARDIRQS=y |
29 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | ||
29 | CONFIG_IRQ_PER_CPU=y | 30 | CONFIG_IRQ_PER_CPU=y |
30 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 31 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
31 | CONFIG_ARCH_HAS_ILOG2_U32=y | 32 | CONFIG_ARCH_HAS_ILOG2_U32=y |
@@ -64,17 +65,18 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
64 | # CONFIG_POSIX_MQUEUE is not set | 65 | # CONFIG_POSIX_MQUEUE is not set |
65 | # CONFIG_BSD_PROCESS_ACCT is not set | 66 | # CONFIG_BSD_PROCESS_ACCT is not set |
66 | # CONFIG_TASKSTATS is not set | 67 | # CONFIG_TASKSTATS is not set |
67 | # CONFIG_USER_NS is not set | ||
68 | # CONFIG_PID_NS is not set | ||
69 | # CONFIG_AUDIT is not set | 68 | # CONFIG_AUDIT is not set |
70 | # CONFIG_IKCONFIG is not set | 69 | # CONFIG_IKCONFIG is not set |
71 | CONFIG_LOG_BUF_SHIFT=14 | 70 | CONFIG_LOG_BUF_SHIFT=14 |
72 | # CONFIG_CGROUPS is not set | 71 | # CONFIG_CGROUPS is not set |
72 | CONFIG_GROUP_SCHED=y | ||
73 | CONFIG_FAIR_GROUP_SCHED=y | 73 | CONFIG_FAIR_GROUP_SCHED=y |
74 | CONFIG_FAIR_USER_SCHED=y | 74 | # CONFIG_RT_GROUP_SCHED is not set |
75 | # CONFIG_FAIR_CGROUP_SCHED is not set | 75 | CONFIG_USER_SCHED=y |
76 | # CONFIG_CGROUP_SCHED is not set | ||
76 | CONFIG_SYSFS_DEPRECATED=y | 77 | CONFIG_SYSFS_DEPRECATED=y |
77 | # CONFIG_RELAY is not set | 78 | # CONFIG_RELAY is not set |
79 | # CONFIG_NAMESPACES is not set | ||
78 | # CONFIG_BLK_DEV_INITRD is not set | 80 | # CONFIG_BLK_DEV_INITRD is not set |
79 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 81 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
80 | CONFIG_SYSCTL=y | 82 | CONFIG_SYSCTL=y |
@@ -87,11 +89,13 @@ CONFIG_HOTPLUG=y | |||
87 | CONFIG_PRINTK=y | 89 | CONFIG_PRINTK=y |
88 | CONFIG_BUG=y | 90 | CONFIG_BUG=y |
89 | # CONFIG_ELF_CORE is not set | 91 | # CONFIG_ELF_CORE is not set |
92 | CONFIG_COMPAT_BRK=y | ||
90 | # CONFIG_BASE_FULL is not set | 93 | # CONFIG_BASE_FULL is not set |
91 | # CONFIG_FUTEX is not set | 94 | # CONFIG_FUTEX is not set |
92 | CONFIG_ANON_INODES=y | 95 | CONFIG_ANON_INODES=y |
93 | CONFIG_EPOLL=y | 96 | CONFIG_EPOLL=y |
94 | CONFIG_SIGNALFD=y | 97 | CONFIG_SIGNALFD=y |
98 | CONFIG_TIMERFD=y | ||
95 | CONFIG_EVENTFD=y | 99 | CONFIG_EVENTFD=y |
96 | CONFIG_SHMEM=y | 100 | CONFIG_SHMEM=y |
97 | # CONFIG_VM_EVENT_COUNTERS is not set | 101 | # CONFIG_VM_EVENT_COUNTERS is not set |
@@ -99,6 +103,12 @@ CONFIG_SLUB_DEBUG=y | |||
99 | # CONFIG_SLAB is not set | 103 | # CONFIG_SLAB is not set |
100 | CONFIG_SLUB=y | 104 | CONFIG_SLUB=y |
101 | # CONFIG_SLOB is not set | 105 | # CONFIG_SLOB is not set |
106 | # CONFIG_PROFILING is not set | ||
107 | # CONFIG_MARKERS is not set | ||
108 | CONFIG_HAVE_OPROFILE=y | ||
109 | CONFIG_HAVE_KPROBES=y | ||
110 | CONFIG_PROC_PAGE_MONITOR=y | ||
111 | CONFIG_SLABINFO=y | ||
102 | # CONFIG_TINY_SHMEM is not set | 112 | # CONFIG_TINY_SHMEM is not set |
103 | CONFIG_BASE_SMALL=1 | 113 | CONFIG_BASE_SMALL=1 |
104 | # CONFIG_MODULES is not set | 114 | # CONFIG_MODULES is not set |
@@ -120,12 +130,14 @@ CONFIG_DEFAULT_DEADLINE=y | |||
120 | # CONFIG_DEFAULT_CFQ is not set | 130 | # CONFIG_DEFAULT_CFQ is not set |
121 | # CONFIG_DEFAULT_NOOP is not set | 131 | # CONFIG_DEFAULT_NOOP is not set |
122 | CONFIG_DEFAULT_IOSCHED="deadline" | 132 | CONFIG_DEFAULT_IOSCHED="deadline" |
133 | CONFIG_CLASSIC_RCU=y | ||
134 | # CONFIG_PREEMPT_RCU is not set | ||
123 | 135 | ||
124 | # | 136 | # |
125 | # Platform support | 137 | # Platform support |
126 | # | 138 | # |
127 | # CONFIG_PPC_MPC52xx is not set | 139 | # CONFIG_PPC_MPC512x is not set |
128 | # CONFIG_PPC_MPC5200 is not set | 140 | # CONFIG_PPC_MPC5121 is not set |
129 | # CONFIG_PPC_CELL is not set | 141 | # CONFIG_PPC_CELL is not set |
130 | # CONFIG_PPC_CELL_NATIVE is not set | 142 | # CONFIG_PPC_CELL_NATIVE is not set |
131 | CONFIG_CPM1=y | 143 | CONFIG_CPM1=y |
@@ -150,6 +162,7 @@ CONFIG_NO_UCODE_PATCH=y | |||
150 | # CONFIG_I2C_SPI_UCODE_PATCH is not set | 162 | # CONFIG_I2C_SPI_UCODE_PATCH is not set |
151 | # CONFIG_I2C_SPI_SMC1_UCODE_PATCH is not set | 163 | # CONFIG_I2C_SPI_SMC1_UCODE_PATCH is not set |
152 | # CONFIG_PQ2ADS is not set | 164 | # CONFIG_PQ2ADS is not set |
165 | # CONFIG_IPIC is not set | ||
153 | # CONFIG_MPIC is not set | 166 | # CONFIG_MPIC is not set |
154 | # CONFIG_MPIC_WEIRD is not set | 167 | # CONFIG_MPIC_WEIRD is not set |
155 | # CONFIG_PPC_I8259 is not set | 168 | # CONFIG_PPC_I8259 is not set |
@@ -160,7 +173,6 @@ CONFIG_NO_UCODE_PATCH=y | |||
160 | # CONFIG_PPC_INDIRECT_IO is not set | 173 | # CONFIG_PPC_INDIRECT_IO is not set |
161 | # CONFIG_GENERIC_IOMAP is not set | 174 | # CONFIG_GENERIC_IOMAP is not set |
162 | # CONFIG_CPU_FREQ is not set | 175 | # CONFIG_CPU_FREQ is not set |
163 | # CONFIG_CPM2 is not set | ||
164 | CONFIG_PPC_CPM_NEW_BINDING=y | 176 | CONFIG_PPC_CPM_NEW_BINDING=y |
165 | # CONFIG_FSL_ULI1575 is not set | 177 | # CONFIG_FSL_ULI1575 is not set |
166 | CONFIG_CPM=y | 178 | CONFIG_CPM=y |
@@ -178,14 +190,19 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | |||
178 | # CONFIG_HZ_300 is not set | 190 | # CONFIG_HZ_300 is not set |
179 | CONFIG_HZ_1000=y | 191 | CONFIG_HZ_1000=y |
180 | CONFIG_HZ=1000 | 192 | CONFIG_HZ=1000 |
193 | # CONFIG_SCHED_HRTICK is not set | ||
181 | CONFIG_PREEMPT_NONE=y | 194 | CONFIG_PREEMPT_NONE=y |
182 | # CONFIG_PREEMPT_VOLUNTARY is not set | 195 | # CONFIG_PREEMPT_VOLUNTARY is not set |
183 | # CONFIG_PREEMPT is not set | 196 | # CONFIG_PREEMPT is not set |
197 | CONFIG_RCU_TRACE=y | ||
184 | CONFIG_BINFMT_ELF=y | 198 | CONFIG_BINFMT_ELF=y |
185 | # CONFIG_BINFMT_MISC is not set | 199 | # CONFIG_BINFMT_MISC is not set |
186 | # CONFIG_MATH_EMULATION is not set | 200 | # CONFIG_MATH_EMULATION is not set |
187 | # CONFIG_8XX_MINIMAL_FPEMU is not set | 201 | # CONFIG_8XX_MINIMAL_FPEMU is not set |
202 | # CONFIG_IOMMU_HELPER is not set | ||
188 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | 203 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y |
204 | CONFIG_ARCH_HAS_WALK_MEMORY=y | ||
205 | CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y | ||
189 | CONFIG_ARCH_FLATMEM_ENABLE=y | 206 | CONFIG_ARCH_FLATMEM_ENABLE=y |
190 | CONFIG_ARCH_POPULATES_NODE_MAP=y | 207 | CONFIG_ARCH_POPULATES_NODE_MAP=y |
191 | CONFIG_SELECT_MEMORY_MODEL=y | 208 | CONFIG_SELECT_MEMORY_MODEL=y |
@@ -204,11 +221,7 @@ CONFIG_VIRT_TO_BUS=y | |||
204 | # CONFIG_PROC_DEVICETREE is not set | 221 | # CONFIG_PROC_DEVICETREE is not set |
205 | # CONFIG_CMDLINE_BOOL is not set | 222 | # CONFIG_CMDLINE_BOOL is not set |
206 | # CONFIG_PM is not set | 223 | # CONFIG_PM is not set |
207 | CONFIG_SUSPEND_UP_POSSIBLE=y | ||
208 | CONFIG_HIBERNATION_UP_POSSIBLE=y | ||
209 | # CONFIG_SECCOMP is not set | 224 | # CONFIG_SECCOMP is not set |
210 | CONFIG_WANT_DEVICE_TREE=y | ||
211 | CONFIG_DEVICE_TREE="adder875-redboot.dts" | ||
212 | CONFIG_ISA_DMA_API=y | 225 | CONFIG_ISA_DMA_API=y |
213 | 226 | ||
214 | # | 227 | # |
@@ -305,6 +318,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
305 | # | 318 | # |
306 | # CONFIG_NET_PKTGEN is not set | 319 | # CONFIG_NET_PKTGEN is not set |
307 | # CONFIG_HAMRADIO is not set | 320 | # CONFIG_HAMRADIO is not set |
321 | # CONFIG_CAN is not set | ||
308 | # CONFIG_IRDA is not set | 322 | # CONFIG_IRDA is not set |
309 | # CONFIG_BT is not set | 323 | # CONFIG_BT is not set |
310 | # CONFIG_AF_RXRPC is not set | 324 | # CONFIG_AF_RXRPC is not set |
@@ -411,6 +425,7 @@ CONFIG_OF_DEVICE=y | |||
411 | # CONFIG_PARPORT is not set | 425 | # CONFIG_PARPORT is not set |
412 | # CONFIG_BLK_DEV is not set | 426 | # CONFIG_BLK_DEV is not set |
413 | # CONFIG_MISC_DEVICES is not set | 427 | # CONFIG_MISC_DEVICES is not set |
428 | CONFIG_HAVE_IDE=y | ||
414 | # CONFIG_IDE is not set | 429 | # CONFIG_IDE is not set |
415 | 430 | ||
416 | # | 431 | # |
@@ -445,6 +460,7 @@ CONFIG_DAVICOM_PHY=y | |||
445 | # CONFIG_SMSC_PHY is not set | 460 | # CONFIG_SMSC_PHY is not set |
446 | # CONFIG_BROADCOM_PHY is not set | 461 | # CONFIG_BROADCOM_PHY is not set |
447 | # CONFIG_ICPLUS_PHY is not set | 462 | # CONFIG_ICPLUS_PHY is not set |
463 | # CONFIG_REALTEK_PHY is not set | ||
448 | # CONFIG_FIXED_PHY is not set | 464 | # CONFIG_FIXED_PHY is not set |
449 | # CONFIG_MDIO_BITBANG is not set | 465 | # CONFIG_MDIO_BITBANG is not set |
450 | CONFIG_NET_ETHERNET=y | 466 | CONFIG_NET_ETHERNET=y |
@@ -469,7 +485,6 @@ CONFIG_FS_ENET_MDIO_FEC=y | |||
469 | # CONFIG_WAN is not set | 485 | # CONFIG_WAN is not set |
470 | # CONFIG_PPP is not set | 486 | # CONFIG_PPP is not set |
471 | # CONFIG_SLIP is not set | 487 | # CONFIG_SLIP is not set |
472 | # CONFIG_SHAPER is not set | ||
473 | # CONFIG_NETCONSOLE is not set | 488 | # CONFIG_NETCONSOLE is not set |
474 | # CONFIG_NETPOLL is not set | 489 | # CONFIG_NETPOLL is not set |
475 | # CONFIG_NET_POLL_CONTROLLER is not set | 490 | # CONFIG_NET_POLL_CONTROLLER is not set |
@@ -574,6 +589,7 @@ CONFIG_GEN_RTC=y | |||
574 | # CONFIG_W1 is not set | 589 | # CONFIG_W1 is not set |
575 | # CONFIG_POWER_SUPPLY is not set | 590 | # CONFIG_POWER_SUPPLY is not set |
576 | # CONFIG_HWMON is not set | 591 | # CONFIG_HWMON is not set |
592 | CONFIG_THERMAL=y | ||
577 | # CONFIG_WATCHDOG is not set | 593 | # CONFIG_WATCHDOG is not set |
578 | 594 | ||
579 | # | 595 | # |
@@ -614,6 +630,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y | |||
614 | # CONFIG_HID_SUPPORT is not set | 630 | # CONFIG_HID_SUPPORT is not set |
615 | # CONFIG_USB_SUPPORT is not set | 631 | # CONFIG_USB_SUPPORT is not set |
616 | # CONFIG_MMC is not set | 632 | # CONFIG_MMC is not set |
633 | # CONFIG_MEMSTICK is not set | ||
617 | # CONFIG_NEW_LEDS is not set | 634 | # CONFIG_NEW_LEDS is not set |
618 | # CONFIG_EDAC is not set | 635 | # CONFIG_EDAC is not set |
619 | # CONFIG_RTC_CLASS is not set | 636 | # CONFIG_RTC_CLASS is not set |
@@ -635,11 +652,9 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y | |||
635 | # CONFIG_XFS_FS is not set | 652 | # CONFIG_XFS_FS is not set |
636 | # CONFIG_GFS2_FS is not set | 653 | # CONFIG_GFS2_FS is not set |
637 | # CONFIG_OCFS2_FS is not set | 654 | # CONFIG_OCFS2_FS is not set |
638 | # CONFIG_MINIX_FS is not set | 655 | # CONFIG_DNOTIFY is not set |
639 | # CONFIG_ROMFS_FS is not set | ||
640 | # CONFIG_INOTIFY is not set | 656 | # CONFIG_INOTIFY is not set |
641 | # CONFIG_QUOTA is not set | 657 | # CONFIG_QUOTA is not set |
642 | # CONFIG_DNOTIFY is not set | ||
643 | # CONFIG_AUTOFS_FS is not set | 658 | # CONFIG_AUTOFS_FS is not set |
644 | # CONFIG_AUTOFS4_FS is not set | 659 | # CONFIG_AUTOFS4_FS is not set |
645 | # CONFIG_FUSE_FS is not set | 660 | # CONFIG_FUSE_FS is not set |
@@ -682,8 +697,10 @@ CONFIG_TMPFS=y | |||
682 | # CONFIG_JFFS2_FS is not set | 697 | # CONFIG_JFFS2_FS is not set |
683 | CONFIG_CRAMFS=y | 698 | CONFIG_CRAMFS=y |
684 | # CONFIG_VXFS_FS is not set | 699 | # CONFIG_VXFS_FS is not set |
700 | # CONFIG_MINIX_FS is not set | ||
685 | # CONFIG_HPFS_FS is not set | 701 | # CONFIG_HPFS_FS is not set |
686 | # CONFIG_QNX4FS_FS is not set | 702 | # CONFIG_QNX4FS_FS is not set |
703 | # CONFIG_ROMFS_FS is not set | ||
687 | # CONFIG_SYSV_FS is not set | 704 | # CONFIG_SYSV_FS is not set |
688 | # CONFIG_UFS_FS is not set | 705 | # CONFIG_UFS_FS is not set |
689 | CONFIG_NETWORK_FILESYSTEMS=y | 706 | CONFIG_NETWORK_FILESYSTEMS=y |
@@ -730,7 +747,6 @@ CONFIG_MSDOS_PARTITION=y | |||
730 | # CONFIG_SYSV68_PARTITION is not set | 747 | # CONFIG_SYSV68_PARTITION is not set |
731 | # CONFIG_NLS is not set | 748 | # CONFIG_NLS is not set |
732 | # CONFIG_DLM is not set | 749 | # CONFIG_DLM is not set |
733 | # CONFIG_UCC_SLOW is not set | ||
734 | 750 | ||
735 | # | 751 | # |
736 | # Library routines | 752 | # Library routines |
@@ -745,9 +761,6 @@ CONFIG_ZLIB_INFLATE=y | |||
745 | CONFIG_HAS_IOMEM=y | 761 | CONFIG_HAS_IOMEM=y |
746 | CONFIG_HAS_IOPORT=y | 762 | CONFIG_HAS_IOPORT=y |
747 | CONFIG_HAS_DMA=y | 763 | CONFIG_HAS_DMA=y |
748 | CONFIG_INSTRUMENTATION=y | ||
749 | # CONFIG_PROFILING is not set | ||
750 | # CONFIG_MARKERS is not set | ||
751 | 764 | ||
752 | # | 765 | # |
753 | # Kernel hacking | 766 | # Kernel hacking |
@@ -757,7 +770,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y | |||
757 | CONFIG_ENABLE_MUST_CHECK=y | 770 | CONFIG_ENABLE_MUST_CHECK=y |
758 | CONFIG_MAGIC_SYSRQ=y | 771 | CONFIG_MAGIC_SYSRQ=y |
759 | # CONFIG_UNUSED_SYMBOLS is not set | 772 | # CONFIG_UNUSED_SYMBOLS is not set |
760 | # CONFIG_DEBUG_FS is not set | 773 | CONFIG_DEBUG_FS=y |
761 | # CONFIG_HEADERS_CHECK is not set | 774 | # CONFIG_HEADERS_CHECK is not set |
762 | CONFIG_DEBUG_KERNEL=y | 775 | CONFIG_DEBUG_KERNEL=y |
763 | # CONFIG_DEBUG_SHIRQ is not set | 776 | # CONFIG_DEBUG_SHIRQ is not set |
@@ -766,6 +779,7 @@ CONFIG_SCHED_DEBUG=y | |||
766 | # CONFIG_SCHEDSTATS is not set | 779 | # CONFIG_SCHEDSTATS is not set |
767 | # CONFIG_TIMER_STATS is not set | 780 | # CONFIG_TIMER_STATS is not set |
768 | # CONFIG_SLUB_DEBUG_ON is not set | 781 | # CONFIG_SLUB_DEBUG_ON is not set |
782 | # CONFIG_SLUB_STATS is not set | ||
769 | # CONFIG_DEBUG_SPINLOCK is not set | 783 | # CONFIG_DEBUG_SPINLOCK is not set |
770 | # CONFIG_DEBUG_MUTEXES is not set | 784 | # CONFIG_DEBUG_MUTEXES is not set |
771 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 785 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
@@ -776,14 +790,15 @@ CONFIG_DEBUG_INFO=y | |||
776 | # CONFIG_DEBUG_VM is not set | 790 | # CONFIG_DEBUG_VM is not set |
777 | # CONFIG_DEBUG_LIST is not set | 791 | # CONFIG_DEBUG_LIST is not set |
778 | # CONFIG_DEBUG_SG is not set | 792 | # CONFIG_DEBUG_SG is not set |
779 | CONFIG_FORCED_INLINING=y | ||
780 | # CONFIG_BOOT_PRINTK_DELAY is not set | 793 | # CONFIG_BOOT_PRINTK_DELAY is not set |
794 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
781 | # CONFIG_FAULT_INJECTION is not set | 795 | # CONFIG_FAULT_INJECTION is not set |
782 | # CONFIG_SAMPLES is not set | 796 | # CONFIG_SAMPLES is not set |
783 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 797 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
784 | # CONFIG_DEBUG_STACK_USAGE is not set | 798 | # CONFIG_DEBUG_STACK_USAGE is not set |
785 | # CONFIG_DEBUG_PAGEALLOC is not set | 799 | # CONFIG_DEBUG_PAGEALLOC is not set |
786 | # CONFIG_DEBUGGER is not set | 800 | # CONFIG_DEBUGGER is not set |
801 | # CONFIG_VIRQ_DEBUG is not set | ||
787 | # CONFIG_BDI_SWITCH is not set | 802 | # CONFIG_BDI_SWITCH is not set |
788 | # CONFIG_PPC_EARLY_DEBUG is not set | 803 | # CONFIG_PPC_EARLY_DEBUG is not set |
789 | 804 | ||
diff --git a/arch/powerpc/kernel/head_8xx.S b/arch/powerpc/kernel/head_8xx.S index f7458396cd7c..3c9452d4308b 100644 --- a/arch/powerpc/kernel/head_8xx.S +++ b/arch/powerpc/kernel/head_8xx.S | |||
@@ -332,8 +332,18 @@ InstructionTLBMiss: | |||
332 | mfspr r11, SPRN_MD_TWC /* ....and get the pte address */ | 332 | mfspr r11, SPRN_MD_TWC /* ....and get the pte address */ |
333 | lwz r10, 0(r11) /* Get the pte */ | 333 | lwz r10, 0(r11) /* Get the pte */ |
334 | 334 | ||
335 | #ifdef CONFIG_SWAP | ||
336 | /* do not set the _PAGE_ACCESSED bit of a non-present page */ | ||
337 | andi. r11, r10, _PAGE_PRESENT | ||
338 | beq 4f | ||
339 | ori r10, r10, _PAGE_ACCESSED | ||
340 | mfspr r11, SPRN_MD_TWC /* get the pte address again */ | ||
341 | stw r10, 0(r11) | ||
342 | 4: | ||
343 | #else | ||
335 | ori r10, r10, _PAGE_ACCESSED | 344 | ori r10, r10, _PAGE_ACCESSED |
336 | stw r10, 0(r11) | 345 | stw r10, 0(r11) |
346 | #endif | ||
337 | 347 | ||
338 | /* The Linux PTE won't go exactly into the MMU TLB. | 348 | /* The Linux PTE won't go exactly into the MMU TLB. |
339 | * Software indicator bits 21, 22 and 28 must be clear. | 349 | * Software indicator bits 21, 22 and 28 must be clear. |
@@ -398,8 +408,17 @@ DataStoreTLBMiss: | |||
398 | DO_8xx_CPU6(0x3b80, r3) | 408 | DO_8xx_CPU6(0x3b80, r3) |
399 | mtspr SPRN_MD_TWC, r11 | 409 | mtspr SPRN_MD_TWC, r11 |
400 | 410 | ||
401 | mfspr r11, SPRN_MD_TWC /* get the pte address again */ | 411 | #ifdef CONFIG_SWAP |
412 | /* do not set the _PAGE_ACCESSED bit of a non-present page */ | ||
413 | andi. r11, r10, _PAGE_PRESENT | ||
414 | beq 4f | ||
402 | ori r10, r10, _PAGE_ACCESSED | 415 | ori r10, r10, _PAGE_ACCESSED |
416 | 4: | ||
417 | /* and update pte in table */ | ||
418 | #else | ||
419 | ori r10, r10, _PAGE_ACCESSED | ||
420 | #endif | ||
421 | mfspr r11, SPRN_MD_TWC /* get the pte address again */ | ||
403 | stw r10, 0(r11) | 422 | stw r10, 0(r11) |
404 | 423 | ||
405 | /* The Linux PTE won't go exactly into the MMU TLB. | 424 | /* The Linux PTE won't go exactly into the MMU TLB. |
@@ -507,7 +526,16 @@ DataTLBError: | |||
507 | 526 | ||
508 | /* Update 'changed', among others. | 527 | /* Update 'changed', among others. |
509 | */ | 528 | */ |
529 | #ifdef CONFIG_SWAP | ||
530 | ori r10, r10, _PAGE_DIRTY|_PAGE_HWWRITE | ||
531 | /* do not set the _PAGE_ACCESSED bit of a non-present page */ | ||
532 | andi. r11, r10, _PAGE_PRESENT | ||
533 | beq 4f | ||
534 | ori r10, r10, _PAGE_ACCESSED | ||
535 | 4: | ||
536 | #else | ||
510 | ori r10, r10, _PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_HWWRITE | 537 | ori r10, r10, _PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_HWWRITE |
538 | #endif | ||
511 | mfspr r11, SPRN_MD_TWC /* Get pte address again */ | 539 | mfspr r11, SPRN_MD_TWC /* Get pte address again */ |
512 | stw r10, 0(r11) /* and update pte in table */ | 540 | stw r10, 0(r11) /* and update pte in table */ |
513 | 541 | ||
diff --git a/arch/powerpc/platforms/83xx/mpc837x_mds.c b/arch/powerpc/platforms/83xx/mpc837x_mds.c index 8a9c26973605..64d17b0d6455 100644 --- a/arch/powerpc/platforms/83xx/mpc837x_mds.c +++ b/arch/powerpc/platforms/83xx/mpc837x_mds.c | |||
@@ -39,12 +39,9 @@ static int mpc837xmds_usb_cfg(void) | |||
39 | if (ret) | 39 | if (ret) |
40 | return ret; | 40 | return ret; |
41 | /* Map BCSR area */ | 41 | /* Map BCSR area */ |
42 | np = of_find_node_by_name(NULL, "bcsr"); | 42 | np = of_find_compatible_node(NULL, NULL, "fsl,mpc837xmds-bcsr"); |
43 | if (np) { | 43 | if (np) { |
44 | struct resource res; | 44 | bcsr_regs = of_iomap(np, 0); |
45 | |||
46 | of_address_to_resource(np, 0, &res); | ||
47 | bcsr_regs = ioremap(res.start, res.end - res.start + 1); | ||
48 | of_node_put(np); | 45 | of_node_put(np); |
49 | } | 46 | } |
50 | if (!bcsr_regs) | 47 | if (!bcsr_regs) |
@@ -96,6 +93,7 @@ static void __init mpc837x_mds_setup_arch(void) | |||
96 | static struct of_device_id mpc837x_ids[] = { | 93 | static struct of_device_id mpc837x_ids[] = { |
97 | { .type = "soc", }, | 94 | { .type = "soc", }, |
98 | { .compatible = "soc", }, | 95 | { .compatible = "soc", }, |
96 | { .compatible = "simple-bus", }, | ||
99 | {}, | 97 | {}, |
100 | }; | 98 | }; |
101 | 99 | ||
diff --git a/arch/powerpc/platforms/Kconfig b/arch/powerpc/platforms/Kconfig index 0afd22595546..a578b966ecbc 100644 --- a/arch/powerpc/platforms/Kconfig +++ b/arch/powerpc/platforms/Kconfig | |||
@@ -22,7 +22,6 @@ config PPC_83xx | |||
22 | select FSL_SOC | 22 | select FSL_SOC |
23 | select MPC83xx | 23 | select MPC83xx |
24 | select IPIC | 24 | select IPIC |
25 | select FSL_EMB_PERFMON | ||
26 | 25 | ||
27 | config PPC_86xx | 26 | config PPC_86xx |
28 | bool "Freescale 86xx" | 27 | bool "Freescale 86xx" |
diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype index 73d81ce14b67..0c3face0ddbb 100644 --- a/arch/powerpc/platforms/Kconfig.cputype +++ b/arch/powerpc/platforms/Kconfig.cputype | |||
@@ -113,7 +113,12 @@ config FSL_BOOKE | |||
113 | default y | 113 | default y |
114 | 114 | ||
115 | config FSL_EMB_PERFMON | 115 | config FSL_EMB_PERFMON |
116 | bool | 116 | bool "Freescale Embedded Perfmon" |
117 | depends on E500 || PPC_83xx | ||
118 | help | ||
119 | This is the Performance Monitor support found on the e500 core | ||
120 | and some e300 cores (c3 and c4). Select this only if your | ||
121 | core supports the Embedded Performance Monitor APU | ||
117 | 122 | ||
118 | config PTE_64BIT | 123 | config PTE_64BIT |
119 | bool | 124 | bool |
diff --git a/arch/powerpc/sysdev/qe_lib/qe.c b/arch/powerpc/sysdev/qe_lib/qe.c index 6efbd5e5bb1b..cc81fd1141b0 100644 --- a/arch/powerpc/sysdev/qe_lib/qe.c +++ b/arch/powerpc/sysdev/qe_lib/qe.c | |||
@@ -509,7 +509,7 @@ int qe_upload_firmware(const struct qe_firmware *firmware) | |||
509 | } | 509 | } |
510 | 510 | ||
511 | /* Validate some of the fields */ | 511 | /* Validate some of the fields */ |
512 | if ((firmware->count < 1) || (firmware->count >= MAX_QE_RISC)) { | 512 | if ((firmware->count < 1) || (firmware->count > MAX_QE_RISC)) { |
513 | printk(KERN_ERR "qe-firmware: invalid data\n"); | 513 | printk(KERN_ERR "qe-firmware: invalid data\n"); |
514 | return -EINVAL; | 514 | return -EINVAL; |
515 | } | 515 | } |
@@ -609,7 +609,10 @@ struct qe_firmware_info *qe_get_firmware_info(void) | |||
609 | * If we haven't checked yet, and a driver hasn't uploaded a firmware | 609 | * If we haven't checked yet, and a driver hasn't uploaded a firmware |
610 | * yet, then check the device tree for information. | 610 | * yet, then check the device tree for information. |
611 | */ | 611 | */ |
612 | if (initialized || qe_firmware_uploaded) | 612 | if (qe_firmware_uploaded) |
613 | return &qe_firmware_info; | ||
614 | |||
615 | if (initialized) | ||
613 | return NULL; | 616 | return NULL; |
614 | 617 | ||
615 | initialized = 1; | 618 | initialized = 1; |
diff --git a/arch/ppc/kernel/head_8xx.S b/arch/ppc/kernel/head_8xx.S index eb8d26f87362..321bda2de2cb 100644 --- a/arch/ppc/kernel/head_8xx.S +++ b/arch/ppc/kernel/head_8xx.S | |||
@@ -329,8 +329,18 @@ InstructionTLBMiss: | |||
329 | mfspr r11, SPRN_MD_TWC /* ....and get the pte address */ | 329 | mfspr r11, SPRN_MD_TWC /* ....and get the pte address */ |
330 | lwz r10, 0(r11) /* Get the pte */ | 330 | lwz r10, 0(r11) /* Get the pte */ |
331 | 331 | ||
332 | #ifdef CONFIG_SWAP | ||
333 | /* do not set the _PAGE_ACCESSED bit of a non-present page */ | ||
334 | andi. r11, r10, _PAGE_PRESENT | ||
335 | beq 4f | ||
336 | ori r10, r10, _PAGE_ACCESSED | ||
337 | mfspr r11, SPRN_MD_TWC /* get the pte address again */ | ||
338 | stw r10, 0(r11) | ||
339 | 4: | ||
340 | #else | ||
332 | ori r10, r10, _PAGE_ACCESSED | 341 | ori r10, r10, _PAGE_ACCESSED |
333 | stw r10, 0(r11) | 342 | stw r10, 0(r11) |
343 | #endif | ||
334 | 344 | ||
335 | /* The Linux PTE won't go exactly into the MMU TLB. | 345 | /* The Linux PTE won't go exactly into the MMU TLB. |
336 | * Software indicator bits 21, 22 and 28 must be clear. | 346 | * Software indicator bits 21, 22 and 28 must be clear. |
@@ -395,8 +405,17 @@ DataStoreTLBMiss: | |||
395 | DO_8xx_CPU6(0x3b80, r3) | 405 | DO_8xx_CPU6(0x3b80, r3) |
396 | mtspr SPRN_MD_TWC, r11 | 406 | mtspr SPRN_MD_TWC, r11 |
397 | 407 | ||
398 | mfspr r11, SPRN_MD_TWC /* get the pte address again */ | 408 | #ifdef CONFIG_SWAP |
409 | /* do not set the _PAGE_ACCESSED bit of a non-present page */ | ||
410 | andi. r11, r10, _PAGE_PRESENT | ||
411 | beq 4f | ||
412 | ori r10, r10, _PAGE_ACCESSED | ||
413 | 4: | ||
414 | /* and update pte in table */ | ||
415 | #else | ||
399 | ori r10, r10, _PAGE_ACCESSED | 416 | ori r10, r10, _PAGE_ACCESSED |
417 | #endif | ||
418 | mfspr r11, SPRN_MD_TWC /* get the pte address again */ | ||
400 | stw r10, 0(r11) | 419 | stw r10, 0(r11) |
401 | 420 | ||
402 | /* The Linux PTE won't go exactly into the MMU TLB. | 421 | /* The Linux PTE won't go exactly into the MMU TLB. |
@@ -575,7 +594,16 @@ DataTLBError: | |||
575 | 594 | ||
576 | /* Update 'changed', among others. | 595 | /* Update 'changed', among others. |
577 | */ | 596 | */ |
597 | #ifdef CONFIG_SWAP | ||
598 | ori r10, r10, _PAGE_DIRTY|_PAGE_HWWRITE | ||
599 | /* do not set the _PAGE_ACCESSED bit of a non-present page */ | ||
600 | andi. r11, r10, _PAGE_PRESENT | ||
601 | beq 4f | ||
602 | ori r10, r10, _PAGE_ACCESSED | ||
603 | 4: | ||
604 | #else | ||
578 | ori r10, r10, _PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_HWWRITE | 605 | ori r10, r10, _PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_HWWRITE |
606 | #endif | ||
579 | mfspr r11, SPRN_MD_TWC /* Get pte address again */ | 607 | mfspr r11, SPRN_MD_TWC /* Get pte address again */ |
580 | stw r10, 0(r11) /* and update pte in table */ | 608 | stw r10, 0(r11) /* and update pte in table */ |
581 | 609 | ||
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index b21444b681b6..1831833c430e 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig | |||
@@ -61,6 +61,7 @@ config S390 | |||
61 | def_bool y | 61 | def_bool y |
62 | select HAVE_OPROFILE | 62 | select HAVE_OPROFILE |
63 | select HAVE_KPROBES | 63 | select HAVE_KPROBES |
64 | select HAVE_KRETPROBES | ||
64 | 65 | ||
65 | source "init/Kconfig" | 66 | source "init/Kconfig" |
66 | 67 | ||
@@ -350,6 +351,10 @@ endchoice | |||
350 | 351 | ||
351 | source "fs/Kconfig.binfmt" | 352 | source "fs/Kconfig.binfmt" |
352 | 353 | ||
354 | config FORCE_MAX_ZONEORDER | ||
355 | int | ||
356 | default "9" | ||
357 | |||
353 | config PROCESS_DEBUG | 358 | config PROCESS_DEBUG |
354 | bool "Show crashed user process info" | 359 | bool "Show crashed user process info" |
355 | help | 360 | help |
diff --git a/arch/s390/defconfig b/arch/s390/defconfig index 39921f3a9685..62f6b5a606dd 100644 --- a/arch/s390/defconfig +++ b/arch/s390/defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.24 | 3 | # Linux kernel version: 2.6.25-rc4 |
4 | # Sat Feb 9 12:13:01 2008 | 4 | # Wed Mar 5 11:22:59 2008 |
5 | # | 5 | # |
6 | CONFIG_MMU=y | 6 | CONFIG_MMU=y |
7 | CONFIG_ZONE_DMA=y | 7 | CONFIG_ZONE_DMA=y |
@@ -43,12 +43,15 @@ CONFIG_CGROUPS=y | |||
43 | # CONFIG_CGROUP_DEBUG is not set | 43 | # CONFIG_CGROUP_DEBUG is not set |
44 | CONFIG_CGROUP_NS=y | 44 | CONFIG_CGROUP_NS=y |
45 | # CONFIG_CPUSETS is not set | 45 | # CONFIG_CPUSETS is not set |
46 | CONFIG_GROUP_SCHED=y | ||
46 | CONFIG_FAIR_GROUP_SCHED=y | 47 | CONFIG_FAIR_GROUP_SCHED=y |
47 | CONFIG_FAIR_USER_SCHED=y | 48 | # CONFIG_RT_GROUP_SCHED is not set |
48 | # CONFIG_FAIR_CGROUP_SCHED is not set | 49 | CONFIG_USER_SCHED=y |
50 | # CONFIG_CGROUP_SCHED is not set | ||
49 | # CONFIG_CGROUP_CPUACCT is not set | 51 | # CONFIG_CGROUP_CPUACCT is not set |
50 | # CONFIG_RESOURCE_COUNTERS is not set | 52 | # CONFIG_RESOURCE_COUNTERS is not set |
51 | CONFIG_SYSFS_DEPRECATED=y | 53 | CONFIG_SYSFS_DEPRECATED=y |
54 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
52 | # CONFIG_RELAY is not set | 55 | # CONFIG_RELAY is not set |
53 | CONFIG_NAMESPACES=y | 56 | CONFIG_NAMESPACES=y |
54 | CONFIG_UTS_NS=y | 57 | CONFIG_UTS_NS=y |
@@ -85,7 +88,9 @@ CONFIG_SLAB=y | |||
85 | # CONFIG_MARKERS is not set | 88 | # CONFIG_MARKERS is not set |
86 | CONFIG_HAVE_OPROFILE=y | 89 | CONFIG_HAVE_OPROFILE=y |
87 | CONFIG_KPROBES=y | 90 | CONFIG_KPROBES=y |
91 | CONFIG_KRETPROBES=y | ||
88 | CONFIG_HAVE_KPROBES=y | 92 | CONFIG_HAVE_KPROBES=y |
93 | CONFIG_HAVE_KRETPROBES=y | ||
89 | CONFIG_PROC_PAGE_MONITOR=y | 94 | CONFIG_PROC_PAGE_MONITOR=y |
90 | CONFIG_SLABINFO=y | 95 | CONFIG_SLABINFO=y |
91 | CONFIG_RT_MUTEXES=y | 96 | CONFIG_RT_MUTEXES=y |
@@ -185,6 +190,7 @@ CONFIG_IPL=y | |||
185 | CONFIG_IPL_VM=y | 190 | CONFIG_IPL_VM=y |
186 | CONFIG_BINFMT_ELF=y | 191 | CONFIG_BINFMT_ELF=y |
187 | CONFIG_BINFMT_MISC=m | 192 | CONFIG_BINFMT_MISC=m |
193 | CONFIG_FORCE_MAX_ZONEORDER=9 | ||
188 | # CONFIG_PROCESS_DEBUG is not set | 194 | # CONFIG_PROCESS_DEBUG is not set |
189 | CONFIG_PFAULT=y | 195 | CONFIG_PFAULT=y |
190 | # CONFIG_SHARED_KERNEL is not set | 196 | # CONFIG_SHARED_KERNEL is not set |
@@ -435,6 +441,7 @@ CONFIG_DASD_EER=y | |||
435 | CONFIG_MISC_DEVICES=y | 441 | CONFIG_MISC_DEVICES=y |
436 | # CONFIG_EEPROM_93CX6 is not set | 442 | # CONFIG_EEPROM_93CX6 is not set |
437 | # CONFIG_ENCLOSURE_SERVICES is not set | 443 | # CONFIG_ENCLOSURE_SERVICES is not set |
444 | # CONFIG_HAVE_IDE is not set | ||
438 | 445 | ||
439 | # | 446 | # |
440 | # SCSI device support | 447 | # SCSI device support |
@@ -593,6 +600,7 @@ CONFIG_S390_VMUR=m | |||
593 | # | 600 | # |
594 | # Sonics Silicon Backplane | 601 | # Sonics Silicon Backplane |
595 | # | 602 | # |
603 | # CONFIG_MEMSTICK is not set | ||
596 | 604 | ||
597 | # | 605 | # |
598 | # File systems | 606 | # File systems |
@@ -750,7 +758,6 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
750 | # CONFIG_DEBUG_LIST is not set | 758 | # CONFIG_DEBUG_LIST is not set |
751 | # CONFIG_DEBUG_SG is not set | 759 | # CONFIG_DEBUG_SG is not set |
752 | # CONFIG_FRAME_POINTER is not set | 760 | # CONFIG_FRAME_POINTER is not set |
753 | CONFIG_FORCED_INLINING=y | ||
754 | # CONFIG_RCU_TORTURE_TEST is not set | 761 | # CONFIG_RCU_TORTURE_TEST is not set |
755 | # CONFIG_KPROBES_SANITY_TEST is not set | 762 | # CONFIG_KPROBES_SANITY_TEST is not set |
756 | # CONFIG_BACKTRACE_SELF_TEST is not set | 763 | # CONFIG_BACKTRACE_SELF_TEST is not set |
@@ -759,6 +766,7 @@ CONFIG_FORCED_INLINING=y | |||
759 | # CONFIG_LATENCYTOP is not set | 766 | # CONFIG_LATENCYTOP is not set |
760 | CONFIG_SAMPLES=y | 767 | CONFIG_SAMPLES=y |
761 | # CONFIG_SAMPLE_KOBJECT is not set | 768 | # CONFIG_SAMPLE_KOBJECT is not set |
769 | # CONFIG_SAMPLE_KPROBES is not set | ||
762 | # CONFIG_DEBUG_PAGEALLOC is not set | 770 | # CONFIG_DEBUG_PAGEALLOC is not set |
763 | 771 | ||
764 | # | 772 | # |
diff --git a/arch/s390/kernel/Makefile b/arch/s390/kernel/Makefile index b3b650a93c7c..4d3e38392cb1 100644 --- a/arch/s390/kernel/Makefile +++ b/arch/s390/kernel/Makefile | |||
@@ -4,6 +4,11 @@ | |||
4 | 4 | ||
5 | EXTRA_AFLAGS := -traditional | 5 | EXTRA_AFLAGS := -traditional |
6 | 6 | ||
7 | # | ||
8 | # Passing null pointers is ok for smp code, since we access the lowcore here. | ||
9 | # | ||
10 | CFLAGS_smp.o := -Wno-nonnull | ||
11 | |||
7 | obj-y := bitmap.o traps.o time.o process.o base.o early.o \ | 12 | obj-y := bitmap.o traps.o time.o process.o base.o early.o \ |
8 | setup.o sys_s390.o ptrace.o signal.o cpcmd.o ebcdic.o \ | 13 | setup.o sys_s390.o ptrace.o signal.o cpcmd.o ebcdic.o \ |
9 | semaphore.o s390_ext.o debug.o irq.o ipl.o dis.o diag.o | 14 | semaphore.o s390_ext.o debug.o irq.o ipl.o dis.o diag.o |
diff --git a/arch/s390/kernel/early.c b/arch/s390/kernel/early.c index 9f7b73b180f0..01832c440636 100644 --- a/arch/s390/kernel/early.c +++ b/arch/s390/kernel/early.c | |||
@@ -88,13 +88,17 @@ static noinline __init void create_kernel_nss(void) | |||
88 | 88 | ||
89 | __cpcmd(defsys_cmd, NULL, 0, &response); | 89 | __cpcmd(defsys_cmd, NULL, 0, &response); |
90 | 90 | ||
91 | if (response != 0) | 91 | if (response != 0) { |
92 | kernel_nss_name[0] = '\0'; | ||
92 | return; | 93 | return; |
94 | } | ||
93 | 95 | ||
94 | __cpcmd(savesys_cmd, NULL, 0, &response); | 96 | __cpcmd(savesys_cmd, NULL, 0, &response); |
95 | 97 | ||
96 | if (response != strlen(savesys_cmd)) | 98 | if (response != strlen(savesys_cmd)) { |
99 | kernel_nss_name[0] = '\0'; | ||
97 | return; | 100 | return; |
101 | } | ||
98 | 102 | ||
99 | ipl_flags = IPL_NSS_VALID; | 103 | ipl_flags = IPL_NSS_VALID; |
100 | } | 104 | } |
diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c index 60acdc266db1..375232c46c7a 100644 --- a/arch/s390/kernel/ipl.c +++ b/arch/s390/kernel/ipl.c | |||
@@ -704,6 +704,7 @@ void reipl_run(struct shutdown_trigger *trigger) | |||
704 | default: | 704 | default: |
705 | break; | 705 | break; |
706 | } | 706 | } |
707 | disabled_wait((unsigned long) __builtin_return_address(0)); | ||
707 | } | 708 | } |
708 | 709 | ||
709 | static void __init reipl_probe(void) | 710 | static void __init reipl_probe(void) |
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c index 1c59ec161cf8..ce203154d8ce 100644 --- a/arch/s390/kernel/process.c +++ b/arch/s390/kernel/process.c | |||
@@ -152,6 +152,10 @@ static void default_idle(void) | |||
152 | local_mcck_disable(); | 152 | local_mcck_disable(); |
153 | if (test_thread_flag(TIF_MCCK_PENDING)) { | 153 | if (test_thread_flag(TIF_MCCK_PENDING)) { |
154 | local_mcck_enable(); | 154 | local_mcck_enable(); |
155 | /* disable monitor call class 0 */ | ||
156 | __ctl_clear_bit(8, 15); | ||
157 | atomic_notifier_call_chain(&idle_chain, S390_CPU_NOT_IDLE, | ||
158 | hcpu); | ||
155 | local_irq_enable(); | 159 | local_irq_enable(); |
156 | s390_handle_mcck(); | 160 | s390_handle_mcck(); |
157 | return; | 161 | return; |
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c index 818bd09c0260..8f894d380a62 100644 --- a/arch/s390/kernel/smp.c +++ b/arch/s390/kernel/smp.c | |||
@@ -629,14 +629,8 @@ static int __cpuinit smp_alloc_lowcore(int cpu) | |||
629 | panic_stack = __get_free_page(GFP_KERNEL); | 629 | panic_stack = __get_free_page(GFP_KERNEL); |
630 | if (!panic_stack || !async_stack) | 630 | if (!panic_stack || !async_stack) |
631 | goto out; | 631 | goto out; |
632 | /* | 632 | memcpy(lowcore, &S390_lowcore, 512); |
633 | * Only need to copy the first 512 bytes from address 0. But since | 633 | memset((char *)lowcore + 512, 0, sizeof(*lowcore) - 512); |
634 | * the compiler emits a warning if src == NULL for memcpy use copy_page | ||
635 | * instead. Copies more than needed but this code is not performance | ||
636 | * critical. | ||
637 | */ | ||
638 | copy_page(lowcore, &S390_lowcore); | ||
639 | memset((void *)lowcore + 512, 0, sizeof(*lowcore) - 512); | ||
640 | lowcore->async_stack = async_stack + ASYNC_SIZE; | 634 | lowcore->async_stack = async_stack + ASYNC_SIZE; |
641 | lowcore->panic_stack = panic_stack + PAGE_SIZE; | 635 | lowcore->panic_stack = panic_stack + PAGE_SIZE; |
642 | 636 | ||
diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c index 76a5dd1b4ce9..cb232c155360 100644 --- a/arch/s390/kernel/time.c +++ b/arch/s390/kernel/time.c | |||
@@ -209,8 +209,6 @@ static void stop_hz_timer(void) | |||
209 | */ | 209 | */ |
210 | static void start_hz_timer(void) | 210 | static void start_hz_timer(void) |
211 | { | 211 | { |
212 | BUG_ON(!in_interrupt()); | ||
213 | |||
214 | if (!cpu_isset(smp_processor_id(), nohz_cpu_mask)) | 212 | if (!cpu_isset(smp_processor_id(), nohz_cpu_mask)) |
215 | return; | 213 | return; |
216 | account_ticks(get_clock()); | 214 | account_ticks(get_clock()); |
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 783cfbbf87ca..95b7534e9e3c 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig | |||
@@ -456,13 +456,6 @@ config SH_SECUREEDGE5410 | |||
456 | This includes both the OEM SecureEdge products as well as the | 456 | This includes both the OEM SecureEdge products as well as the |
457 | SME product line. | 457 | SME product line. |
458 | 458 | ||
459 | config SH_7710VOIPGW | ||
460 | bool "SH7710-VOIP-GW" | ||
461 | depends on CPU_SUBTYPE_SH7710 | ||
462 | help | ||
463 | Select this option to build a kernel for the SH7710 based | ||
464 | VOIP GW. | ||
465 | |||
466 | config SH_RTS7751R2D | 459 | config SH_RTS7751R2D |
467 | bool "RTS7751R2D" | 460 | bool "RTS7751R2D" |
468 | depends on CPU_SUBTYPE_SH7751R | 461 | depends on CPU_SUBTYPE_SH7751R |
diff --git a/arch/sh/Makefile b/arch/sh/Makefile index 81381e5773c8..c510c225144f 100644 --- a/arch/sh/Makefile +++ b/arch/sh/Makefile | |||
@@ -118,7 +118,6 @@ machdir-$(CONFIG_SH_EDOSK7705) += renesas/edosk7705 | |||
118 | machdir-$(CONFIG_SH_HIGHLANDER) += renesas/r7780rp | 118 | machdir-$(CONFIG_SH_HIGHLANDER) += renesas/r7780rp |
119 | machdir-$(CONFIG_SH_MIGOR) += renesas/migor | 119 | machdir-$(CONFIG_SH_MIGOR) += renesas/migor |
120 | machdir-$(CONFIG_SH_SDK7780) += renesas/sdk7780 | 120 | machdir-$(CONFIG_SH_SDK7780) += renesas/sdk7780 |
121 | machdir-$(CONFIG_SH_7710VOIPGW) += renesas/sh7710voipgw | ||
122 | machdir-$(CONFIG_SH_X3PROTO) += renesas/x3proto | 121 | machdir-$(CONFIG_SH_X3PROTO) += renesas/x3proto |
123 | machdir-$(CONFIG_SH_SH4202_MICRODEV) += superh/microdev | 122 | machdir-$(CONFIG_SH_SH4202_MICRODEV) += superh/microdev |
124 | machdir-$(CONFIG_SH_LANDISK) += landisk | 123 | machdir-$(CONFIG_SH_LANDISK) += landisk |
diff --git a/arch/sh/boards/hp6xx/hp6xx_apm.c b/arch/sh/boards/hp6xx/hp6xx_apm.c index 640ca2a74f16..177f4f028e0d 100644 --- a/arch/sh/boards/hp6xx/hp6xx_apm.c +++ b/arch/sh/boards/hp6xx/hp6xx_apm.c | |||
@@ -2,6 +2,7 @@ | |||
2 | * bios-less APM driver for hp680 | 2 | * bios-less APM driver for hp680 |
3 | * | 3 | * |
4 | * Copyright 2005 (c) Andriy Skulysh <askulysh@gmail.com> | 4 | * Copyright 2005 (c) Andriy Skulysh <askulysh@gmail.com> |
5 | * Copyright 2008 (c) Kristoffer Ericson <kristoffer.ericson@gmail.com> | ||
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or | 7 | * This program is free software; you can redistribute it and/or |
7 | * modify it under the terms of the GNU General Public License. | 8 | * modify it under the terms of the GNU General Public License. |
@@ -15,17 +16,19 @@ | |||
15 | #include <asm/adc.h> | 16 | #include <asm/adc.h> |
16 | #include <asm/hp6xx.h> | 17 | #include <asm/hp6xx.h> |
17 | 18 | ||
18 | #define SH7709_PGDR 0xa400012c | 19 | /* percentage values */ |
19 | |||
20 | #define APM_CRITICAL 10 | 20 | #define APM_CRITICAL 10 |
21 | #define APM_LOW 30 | 21 | #define APM_LOW 30 |
22 | 22 | ||
23 | /* resonably sane values */ | ||
23 | #define HP680_BATTERY_MAX 898 | 24 | #define HP680_BATTERY_MAX 898 |
24 | #define HP680_BATTERY_MIN 486 | 25 | #define HP680_BATTERY_MIN 486 |
25 | #define HP680_BATTERY_AC_ON 1023 | 26 | #define HP680_BATTERY_AC_ON 1023 |
26 | 27 | ||
27 | #define MODNAME "hp6x0_apm" | 28 | #define MODNAME "hp6x0_apm" |
28 | 29 | ||
30 | #define PGDR 0xa400012c | ||
31 | |||
29 | static void hp6x0_apm_get_power_status(struct apm_power_info *info) | 32 | static void hp6x0_apm_get_power_status(struct apm_power_info *info) |
30 | { | 33 | { |
31 | int battery, backup, charging, percentage; | 34 | int battery, backup, charging, percentage; |
@@ -38,17 +41,26 @@ static void hp6x0_apm_get_power_status(struct apm_power_info *info) | |||
38 | percentage = 100 * (battery - HP680_BATTERY_MIN) / | 41 | percentage = 100 * (battery - HP680_BATTERY_MIN) / |
39 | (HP680_BATTERY_MAX - HP680_BATTERY_MIN); | 42 | (HP680_BATTERY_MAX - HP680_BATTERY_MIN); |
40 | 43 | ||
44 | /* % of full battery */ | ||
45 | info->battery_life = percentage; | ||
46 | |||
47 | /* We want our estimates in minutes */ | ||
48 | info->units = 0; | ||
49 | |||
50 | /* Extremely(!!) rough estimate, we will replace this with a datalist later on */ | ||
51 | info->time = (2 * battery); | ||
52 | |||
41 | info->ac_line_status = (battery > HP680_BATTERY_AC_ON) ? | 53 | info->ac_line_status = (battery > HP680_BATTERY_AC_ON) ? |
42 | APM_AC_ONLINE : APM_AC_OFFLINE; | 54 | APM_AC_ONLINE : APM_AC_OFFLINE; |
43 | 55 | ||
44 | pgdr = ctrl_inb(SH7709_PGDR); | 56 | pgdr = ctrl_inb(PGDR); |
45 | if (pgdr & PGDR_MAIN_BATTERY_OUT) { | 57 | if (pgdr & PGDR_MAIN_BATTERY_OUT) { |
46 | info->battery_status = APM_BATTERY_STATUS_NOT_PRESENT; | 58 | info->battery_status = APM_BATTERY_STATUS_NOT_PRESENT; |
47 | info->battery_flag = 0x80; | 59 | info->battery_flag = 0x80; |
48 | } else if (charging < 8) { | 60 | } else if (charging < 8) { |
49 | info->battery_status = APM_BATTERY_STATUS_CHARGING; | 61 | info->battery_status = APM_BATTERY_STATUS_CHARGING; |
50 | info->battery_flag = 0x08; | 62 | info->battery_flag = 0x08; |
51 | info->ac_line_status = 0xff; | 63 | info->ac_line_status = 0x01; |
52 | } else if (percentage <= APM_CRITICAL) { | 64 | } else if (percentage <= APM_CRITICAL) { |
53 | info->battery_status = APM_BATTERY_STATUS_CRITICAL; | 65 | info->battery_status = APM_BATTERY_STATUS_CRITICAL; |
54 | info->battery_flag = 0x04; | 66 | info->battery_flag = 0x04; |
@@ -59,8 +71,6 @@ static void hp6x0_apm_get_power_status(struct apm_power_info *info) | |||
59 | info->battery_status = APM_BATTERY_STATUS_HIGH; | 71 | info->battery_status = APM_BATTERY_STATUS_HIGH; |
60 | info->battery_flag = 0x01; | 72 | info->battery_flag = 0x01; |
61 | } | 73 | } |
62 | |||
63 | info->units = 0; | ||
64 | } | 74 | } |
65 | 75 | ||
66 | static irqreturn_t hp6x0_apm_interrupt(int irq, void *dev) | 76 | static irqreturn_t hp6x0_apm_interrupt(int irq, void *dev) |
diff --git a/arch/sh/boards/renesas/sh7710voipgw/Makefile b/arch/sh/boards/renesas/sh7710voipgw/Makefile deleted file mode 100644 index 77037567633b..000000000000 --- a/arch/sh/boards/renesas/sh7710voipgw/Makefile +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | obj-y := setup.o | ||
diff --git a/arch/sh/boards/renesas/sh7710voipgw/setup.c b/arch/sh/boards/renesas/sh7710voipgw/setup.c deleted file mode 100644 index 0d56fd83bcba..000000000000 --- a/arch/sh/boards/renesas/sh7710voipgw/setup.c +++ /dev/null | |||
@@ -1,94 +0,0 @@ | |||
1 | /* | ||
2 | * Renesas Technology SH7710 VoIP Gateway | ||
3 | * | ||
4 | * Copyright (C) 2006 Ranjit Deshpande | ||
5 | * Kenati Technologies Inc. | ||
6 | * | ||
7 | * May be copied or modified under the terms of the GNU General Public | ||
8 | * License. See linux/COPYING for more information. | ||
9 | */ | ||
10 | #include <linux/init.h> | ||
11 | #include <asm/machvec.h> | ||
12 | #include <asm/irq.h> | ||
13 | #include <asm/io.h> | ||
14 | |||
15 | static struct ipr_data sh7710voipgw_ipr_map[] = { | ||
16 | { TIMER2_IRQ, TIMER2_IPR_ADDR, TIMER2_IPR_POS, TIMER2_PRIORITY }, | ||
17 | { WDT_IRQ, WDT_IPR_ADDR, WDT_IPR_POS, WDT_PRIORITY }, | ||
18 | |||
19 | /* SCIF0 */ | ||
20 | { SCIF0_ERI_IRQ, SCIF0_IPR_ADDR, SCIF0_IPR_POS, SCIF0_PRIORITY }, | ||
21 | { SCIF0_RXI_IRQ, SCIF0_IPR_ADDR, SCIF0_IPR_POS, SCIF0_PRIORITY }, | ||
22 | { SCIF0_BRI_IRQ, SCIF0_IPR_ADDR, SCIF0_IPR_POS, SCIF0_PRIORITY }, | ||
23 | { SCIF0_TXI_IRQ, SCIF0_IPR_ADDR, SCIF0_IPR_POS, SCIF0_PRIORITY }, | ||
24 | |||
25 | /* DMAC-1 */ | ||
26 | { DMTE0_IRQ, DMA_IPR_ADDR, DMA_IPR_POS, DMA_PRIORITY }, | ||
27 | { DMTE1_IRQ, DMA_IPR_ADDR, DMA_IPR_POS, DMA_PRIORITY }, | ||
28 | { DMTE2_IRQ, DMA_IPR_ADDR, DMA_IPR_POS, DMA_PRIORITY }, | ||
29 | { DMTE3_IRQ, DMA_IPR_ADDR, DMA_IPR_POS, DMA_PRIORITY }, | ||
30 | |||
31 | /* DMAC-2 */ | ||
32 | { DMTE4_IRQ, DMA2_IPR_ADDR, DMA2_IPR_POS, DMA2_PRIORITY }, | ||
33 | { DMTE4_IRQ, DMA2_IPR_ADDR, DMA2_IPR_POS, DMA2_PRIORITY }, | ||
34 | |||
35 | /* IPSEC */ | ||
36 | { IPSEC_IRQ, IPSEC_IPR_ADDR, IPSEC_IPR_POS, IPSEC_PRIORITY }, | ||
37 | |||
38 | /* EDMAC */ | ||
39 | { EDMAC0_IRQ, EDMAC0_IPR_ADDR, EDMAC0_IPR_POS, EDMAC0_PRIORITY }, | ||
40 | { EDMAC1_IRQ, EDMAC1_IPR_ADDR, EDMAC1_IPR_POS, EDMAC1_PRIORITY }, | ||
41 | { EDMAC2_IRQ, EDMAC2_IPR_ADDR, EDMAC2_IPR_POS, EDMAC2_PRIORITY }, | ||
42 | |||
43 | /* SIOF0 */ | ||
44 | { SIOF0_ERI_IRQ, SIOF0_IPR_ADDR, SIOF0_IPR_POS, SIOF0_PRIORITY }, | ||
45 | { SIOF0_TXI_IRQ, SIOF0_IPR_ADDR, SIOF0_IPR_POS, SIOF0_PRIORITY }, | ||
46 | { SIOF0_RXI_IRQ, SIOF0_IPR_ADDR, SIOF0_IPR_POS, SIOF0_PRIORITY }, | ||
47 | { SIOF0_CCI_IRQ, SIOF0_IPR_ADDR, SIOF0_IPR_POS, SIOF0_PRIORITY }, | ||
48 | |||
49 | /* SIOF1 */ | ||
50 | { SIOF1_ERI_IRQ, SIOF1_IPR_ADDR, SIOF1_IPR_POS, SIOF1_PRIORITY }, | ||
51 | { SIOF1_TXI_IRQ, SIOF1_IPR_ADDR, SIOF1_IPR_POS, SIOF1_PRIORITY }, | ||
52 | { SIOF1_RXI_IRQ, SIOF1_IPR_ADDR, SIOF1_IPR_POS, SIOF1_PRIORITY }, | ||
53 | { SIOF1_CCI_IRQ, SIOF1_IPR_ADDR, SIOF1_IPR_POS, SIOF1_PRIORITY }, | ||
54 | |||
55 | /* SLIC IRQ's */ | ||
56 | { IRQ1_IRQ, IRQ1_IPR_ADDR, IRQ1_IPR_POS, IRQ1_PRIORITY }, | ||
57 | { IRQ2_IRQ, IRQ2_IPR_ADDR, IRQ2_IPR_POS, IRQ2_PRIORITY }, | ||
58 | }; | ||
59 | |||
60 | /* | ||
61 | * Initialize IRQ setting | ||
62 | */ | ||
63 | static void __init sh7710voipgw_init_irq(void) | ||
64 | { | ||
65 | /* Disable all interrupts in IPR registers */ | ||
66 | ctrl_outw(0x0, INTC_IPRA); | ||
67 | ctrl_outw(0x0, INTC_IPRB); | ||
68 | ctrl_outw(0x0, INTC_IPRC); | ||
69 | ctrl_outw(0x0, INTC_IPRD); | ||
70 | ctrl_outw(0x0, INTC_IPRE); | ||
71 | ctrl_outw(0x0, INTC_IPRF); | ||
72 | ctrl_outw(0x0, INTC_IPRG); | ||
73 | ctrl_outw(0x0, INTC_IPRH); | ||
74 | ctrl_outw(0x0, INTC_IPRI); | ||
75 | |||
76 | /* Ack all interrupt sources in the IRR0 register */ | ||
77 | ctrl_outb(0x3f, INTC_IRR0); | ||
78 | |||
79 | /* Use IRQ0 - IRQ3 as active low interrupt lines i.e. disable | ||
80 | * IRL mode. | ||
81 | */ | ||
82 | ctrl_outw(0x2aa, INTC_ICR1); | ||
83 | |||
84 | make_ipr_irq(sh7710voipgw_ipr_map, ARRAY_SIZE(sh7710voipgw_ipr_map)); | ||
85 | } | ||
86 | |||
87 | /* | ||
88 | * The Machine Vector | ||
89 | */ | ||
90 | static struct sh_machine_vector mv_sh7710voipgw __initmv = { | ||
91 | .mv_name = "SH7710 VoIP Gateway", | ||
92 | .mv_nr_irqs = 104, | ||
93 | .mv_init_irq = sh7710voipgw_init_irq, | ||
94 | }; | ||
diff --git a/arch/sh/boards/renesas/x3proto/ilsel.c b/arch/sh/boards/renesas/x3proto/ilsel.c index 6d4454fef97c..b5c673c39337 100644 --- a/arch/sh/boards/renesas/x3proto/ilsel.c +++ b/arch/sh/boards/renesas/x3proto/ilsel.c | |||
@@ -68,7 +68,7 @@ static void __ilsel_enable(ilsel_source_t set, unsigned int bit) | |||
68 | shift = mk_ilsel_shift(bit); | 68 | shift = mk_ilsel_shift(bit); |
69 | 69 | ||
70 | pr_debug("%s: bit#%d: addr - 0x%08lx (shift %d, set %d)\n", | 70 | pr_debug("%s: bit#%d: addr - 0x%08lx (shift %d, set %d)\n", |
71 | __FUNCTION__, bit, addr, shift, set); | 71 | __func__, bit, addr, shift, set); |
72 | 72 | ||
73 | tmp = ctrl_inw(addr); | 73 | tmp = ctrl_inw(addr); |
74 | tmp &= ~(0xf << shift); | 74 | tmp &= ~(0xf << shift); |
diff --git a/arch/sh/boards/superh/microdev/io.c b/arch/sh/boards/superh/microdev/io.c index b704e20d7e4d..9f8a540f7e14 100644 --- a/arch/sh/boards/superh/microdev/io.c +++ b/arch/sh/boards/superh/microdev/io.c | |||
@@ -127,7 +127,7 @@ static unsigned long microdev_isa_port2addr(unsigned long offset) | |||
127 | * safe default. | 127 | * safe default. |
128 | */ | 128 | */ |
129 | printk("Warning: unexpected port in %s( offset = 0x%lx )\n", | 129 | printk("Warning: unexpected port in %s( offset = 0x%lx )\n", |
130 | __FUNCTION__, offset); | 130 | __func__, offset); |
131 | result = PVR; | 131 | result = PVR; |
132 | } | 132 | } |
133 | 133 | ||
diff --git a/arch/sh/configs/r7780mp_defconfig b/arch/sh/configs/r7780mp_defconfig index 2ad804ec920a..1a072615ffd4 100644 --- a/arch/sh/configs/r7780mp_defconfig +++ b/arch/sh/configs/r7780mp_defconfig | |||
@@ -1,9 +1,10 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.24-rc2 | 3 | # Linux kernel version: 2.6.25-rc4 |
4 | # Tue Nov 13 20:32:39 2007 | 4 | # Thu Mar 6 15:39:59 2008 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | ||
7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
8 | CONFIG_GENERIC_BUG=y | 9 | CONFIG_GENERIC_BUG=y |
9 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 10 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
@@ -19,6 +20,8 @@ CONFIG_LOCKDEP_SUPPORT=y | |||
19 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | 20 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set |
20 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | 21 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set |
21 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 22 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
23 | CONFIG_ARCH_SUPPORTS_AOUT=y | ||
24 | CONFIG_IO_TRAPPED=y | ||
22 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 25 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
23 | 26 | ||
24 | # | 27 | # |
@@ -37,17 +40,20 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
37 | CONFIG_BSD_PROCESS_ACCT=y | 40 | CONFIG_BSD_PROCESS_ACCT=y |
38 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set | 41 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set |
39 | # CONFIG_TASKSTATS is not set | 42 | # CONFIG_TASKSTATS is not set |
40 | # CONFIG_USER_NS is not set | ||
41 | # CONFIG_AUDIT is not set | 43 | # CONFIG_AUDIT is not set |
42 | CONFIG_IKCONFIG=y | 44 | CONFIG_IKCONFIG=y |
43 | CONFIG_IKCONFIG_PROC=y | 45 | CONFIG_IKCONFIG_PROC=y |
44 | CONFIG_LOG_BUF_SHIFT=14 | 46 | CONFIG_LOG_BUF_SHIFT=14 |
45 | # CONFIG_CGROUPS is not set | 47 | # CONFIG_CGROUPS is not set |
48 | CONFIG_GROUP_SCHED=y | ||
46 | CONFIG_FAIR_GROUP_SCHED=y | 49 | CONFIG_FAIR_GROUP_SCHED=y |
47 | CONFIG_FAIR_USER_SCHED=y | 50 | # CONFIG_RT_GROUP_SCHED is not set |
48 | # CONFIG_FAIR_CGROUP_SCHED is not set | 51 | CONFIG_USER_SCHED=y |
49 | # CONFIG_SYSFS_DEPRECATED is not set | 52 | # CONFIG_CGROUP_SCHED is not set |
53 | CONFIG_SYSFS_DEPRECATED=y | ||
54 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
50 | # CONFIG_RELAY is not set | 55 | # CONFIG_RELAY is not set |
56 | # CONFIG_NAMESPACES is not set | ||
51 | # CONFIG_BLK_DEV_INITRD is not set | 57 | # CONFIG_BLK_DEV_INITRD is not set |
52 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 58 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
53 | CONFIG_SYSCTL=y | 59 | CONFIG_SYSCTL=y |
@@ -61,17 +67,27 @@ CONFIG_HOTPLUG=y | |||
61 | CONFIG_PRINTK=y | 67 | CONFIG_PRINTK=y |
62 | CONFIG_BUG=y | 68 | CONFIG_BUG=y |
63 | CONFIG_ELF_CORE=y | 69 | CONFIG_ELF_CORE=y |
70 | CONFIG_COMPAT_BRK=y | ||
64 | CONFIG_BASE_FULL=y | 71 | CONFIG_BASE_FULL=y |
65 | # CONFIG_FUTEX is not set | 72 | # CONFIG_FUTEX is not set |
66 | CONFIG_ANON_INODES=y | 73 | CONFIG_ANON_INODES=y |
67 | # CONFIG_EPOLL is not set | 74 | # CONFIG_EPOLL is not set |
68 | CONFIG_SIGNALFD=y | 75 | CONFIG_SIGNALFD=y |
76 | CONFIG_TIMERFD=y | ||
69 | CONFIG_EVENTFD=y | 77 | CONFIG_EVENTFD=y |
70 | CONFIG_SHMEM=y | 78 | CONFIG_SHMEM=y |
71 | CONFIG_VM_EVENT_COUNTERS=y | 79 | CONFIG_VM_EVENT_COUNTERS=y |
72 | CONFIG_SLAB=y | 80 | CONFIG_SLAB=y |
73 | # CONFIG_SLUB is not set | 81 | # CONFIG_SLUB is not set |
74 | # CONFIG_SLOB is not set | 82 | # CONFIG_SLOB is not set |
83 | CONFIG_PROFILING=y | ||
84 | # CONFIG_MARKERS is not set | ||
85 | CONFIG_OPROFILE=m | ||
86 | CONFIG_HAVE_OPROFILE=y | ||
87 | # CONFIG_HAVE_KPROBES is not set | ||
88 | # CONFIG_HAVE_KRETPROBES is not set | ||
89 | CONFIG_PROC_PAGE_MONITOR=y | ||
90 | CONFIG_SLABINFO=y | ||
75 | # CONFIG_TINY_SHMEM is not set | 91 | # CONFIG_TINY_SHMEM is not set |
76 | CONFIG_BASE_SMALL=0 | 92 | CONFIG_BASE_SMALL=0 |
77 | CONFIG_MODULES=y | 93 | CONFIG_MODULES=y |
@@ -98,6 +114,8 @@ CONFIG_IOSCHED_NOOP=y | |||
98 | # CONFIG_DEFAULT_CFQ is not set | 114 | # CONFIG_DEFAULT_CFQ is not set |
99 | CONFIG_DEFAULT_NOOP=y | 115 | CONFIG_DEFAULT_NOOP=y |
100 | CONFIG_DEFAULT_IOSCHED="noop" | 116 | CONFIG_DEFAULT_IOSCHED="noop" |
117 | CONFIG_CLASSIC_RCU=y | ||
118 | # CONFIG_PREEMPT_RCU is not set | ||
101 | 119 | ||
102 | # | 120 | # |
103 | # System type | 121 | # System type |
@@ -105,7 +123,9 @@ CONFIG_DEFAULT_IOSCHED="noop" | |||
105 | CONFIG_CPU_SH4=y | 123 | CONFIG_CPU_SH4=y |
106 | CONFIG_CPU_SH4A=y | 124 | CONFIG_CPU_SH4A=y |
107 | # CONFIG_CPU_SUBTYPE_SH7619 is not set | 125 | # CONFIG_CPU_SUBTYPE_SH7619 is not set |
126 | # CONFIG_CPU_SUBTYPE_SH7203 is not set | ||
108 | # CONFIG_CPU_SUBTYPE_SH7206 is not set | 127 | # CONFIG_CPU_SUBTYPE_SH7206 is not set |
128 | # CONFIG_CPU_SUBTYPE_SH7263 is not set | ||
109 | # CONFIG_CPU_SUBTYPE_SH7705 is not set | 129 | # CONFIG_CPU_SUBTYPE_SH7705 is not set |
110 | # CONFIG_CPU_SUBTYPE_SH7706 is not set | 130 | # CONFIG_CPU_SUBTYPE_SH7706 is not set |
111 | # CONFIG_CPU_SUBTYPE_SH7707 is not set | 131 | # CONFIG_CPU_SUBTYPE_SH7707 is not set |
@@ -114,6 +134,7 @@ CONFIG_CPU_SH4A=y | |||
114 | # CONFIG_CPU_SUBTYPE_SH7710 is not set | 134 | # CONFIG_CPU_SUBTYPE_SH7710 is not set |
115 | # CONFIG_CPU_SUBTYPE_SH7712 is not set | 135 | # CONFIG_CPU_SUBTYPE_SH7712 is not set |
116 | # CONFIG_CPU_SUBTYPE_SH7720 is not set | 136 | # CONFIG_CPU_SUBTYPE_SH7720 is not set |
137 | # CONFIG_CPU_SUBTYPE_SH7721 is not set | ||
117 | # CONFIG_CPU_SUBTYPE_SH7750 is not set | 138 | # CONFIG_CPU_SUBTYPE_SH7750 is not set |
118 | # CONFIG_CPU_SUBTYPE_SH7091 is not set | 139 | # CONFIG_CPU_SUBTYPE_SH7091 is not set |
119 | # CONFIG_CPU_SUBTYPE_SH7750R is not set | 140 | # CONFIG_CPU_SUBTYPE_SH7750R is not set |
@@ -122,12 +143,16 @@ CONFIG_CPU_SH4A=y | |||
122 | # CONFIG_CPU_SUBTYPE_SH7751R is not set | 143 | # CONFIG_CPU_SUBTYPE_SH7751R is not set |
123 | # CONFIG_CPU_SUBTYPE_SH7760 is not set | 144 | # CONFIG_CPU_SUBTYPE_SH7760 is not set |
124 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set | 145 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set |
146 | # CONFIG_CPU_SUBTYPE_SH7763 is not set | ||
125 | # CONFIG_CPU_SUBTYPE_SH7770 is not set | 147 | # CONFIG_CPU_SUBTYPE_SH7770 is not set |
126 | CONFIG_CPU_SUBTYPE_SH7780=y | 148 | CONFIG_CPU_SUBTYPE_SH7780=y |
127 | # CONFIG_CPU_SUBTYPE_SH7785 is not set | 149 | # CONFIG_CPU_SUBTYPE_SH7785 is not set |
128 | # CONFIG_CPU_SUBTYPE_SHX3 is not set | 150 | # CONFIG_CPU_SUBTYPE_SHX3 is not set |
129 | # CONFIG_CPU_SUBTYPE_SH7343 is not set | 151 | # CONFIG_CPU_SUBTYPE_SH7343 is not set |
130 | # CONFIG_CPU_SUBTYPE_SH7722 is not set | 152 | # CONFIG_CPU_SUBTYPE_SH7722 is not set |
153 | # CONFIG_CPU_SUBTYPE_SH7366 is not set | ||
154 | # CONFIG_CPU_SUBTYPE_SH5_101 is not set | ||
155 | # CONFIG_CPU_SUBTYPE_SH5_103 is not set | ||
131 | 156 | ||
132 | # | 157 | # |
133 | # Memory management options | 158 | # Memory management options |
@@ -137,7 +162,8 @@ CONFIG_MMU=y | |||
137 | CONFIG_PAGE_OFFSET=0x80000000 | 162 | CONFIG_PAGE_OFFSET=0x80000000 |
138 | CONFIG_MEMORY_START=0x08000000 | 163 | CONFIG_MEMORY_START=0x08000000 |
139 | CONFIG_MEMORY_SIZE=0x08000000 | 164 | CONFIG_MEMORY_SIZE=0x08000000 |
140 | # CONFIG_32BIT is not set | 165 | CONFIG_29BIT=y |
166 | # CONFIG_PMB is not set | ||
141 | CONFIG_VSYSCALL=y | 167 | CONFIG_VSYSCALL=y |
142 | CONFIG_ARCH_FLATMEM_ENABLE=y | 168 | CONFIG_ARCH_FLATMEM_ENABLE=y |
143 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | 169 | CONFIG_ARCH_SPARSEMEM_ENABLE=y |
@@ -153,6 +179,7 @@ CONFIG_HUGETLB_PAGE_SIZE_64K=y | |||
153 | # CONFIG_HUGETLB_PAGE_SIZE_1MB is not set | 179 | # CONFIG_HUGETLB_PAGE_SIZE_1MB is not set |
154 | # CONFIG_HUGETLB_PAGE_SIZE_4MB is not set | 180 | # CONFIG_HUGETLB_PAGE_SIZE_4MB is not set |
155 | # CONFIG_HUGETLB_PAGE_SIZE_64MB is not set | 181 | # CONFIG_HUGETLB_PAGE_SIZE_64MB is not set |
182 | # CONFIG_HUGETLB_PAGE_SIZE_512MB is not set | ||
156 | CONFIG_SELECT_MEMORY_MODEL=y | 183 | CONFIG_SELECT_MEMORY_MODEL=y |
157 | CONFIG_FLATMEM_MANUAL=y | 184 | CONFIG_FLATMEM_MANUAL=y |
158 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 185 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
@@ -190,6 +217,7 @@ CONFIG_CPU_HAS_FPU=y | |||
190 | # Board support | 217 | # Board support |
191 | # | 218 | # |
192 | # CONFIG_SH_7780_SOLUTION_ENGINE is not set | 219 | # CONFIG_SH_7780_SOLUTION_ENGINE is not set |
220 | # CONFIG_SH_SDK7780 is not set | ||
193 | CONFIG_SH_HIGHLANDER=y | 221 | CONFIG_SH_HIGHLANDER=y |
194 | # CONFIG_SH_R7780RP is not set | 222 | # CONFIG_SH_R7780RP is not set |
195 | CONFIG_SH_R7780MP=y | 223 | CONFIG_SH_R7780MP=y |
@@ -234,12 +262,13 @@ CONFIG_HZ_250=y | |||
234 | # CONFIG_HZ_300 is not set | 262 | # CONFIG_HZ_300 is not set |
235 | # CONFIG_HZ_1000 is not set | 263 | # CONFIG_HZ_1000 is not set |
236 | CONFIG_HZ=250 | 264 | CONFIG_HZ=250 |
265 | # CONFIG_SCHED_HRTICK is not set | ||
237 | CONFIG_KEXEC=y | 266 | CONFIG_KEXEC=y |
238 | # CONFIG_CRASH_DUMP is not set | 267 | # CONFIG_CRASH_DUMP is not set |
239 | # CONFIG_PREEMPT_NONE is not set | 268 | # CONFIG_PREEMPT_NONE is not set |
240 | # CONFIG_PREEMPT_VOLUNTARY is not set | 269 | # CONFIG_PREEMPT_VOLUNTARY is not set |
241 | CONFIG_PREEMPT=y | 270 | CONFIG_PREEMPT=y |
242 | CONFIG_PREEMPT_BKL=y | 271 | CONFIG_RCU_TRACE=y |
243 | CONFIG_GUSA=y | 272 | CONFIG_GUSA=y |
244 | 273 | ||
245 | # | 274 | # |
@@ -284,6 +313,7 @@ CONFIG_XFRM=y | |||
284 | # CONFIG_XFRM_USER is not set | 313 | # CONFIG_XFRM_USER is not set |
285 | # CONFIG_XFRM_SUB_POLICY is not set | 314 | # CONFIG_XFRM_SUB_POLICY is not set |
286 | # CONFIG_XFRM_MIGRATE is not set | 315 | # CONFIG_XFRM_MIGRATE is not set |
316 | # CONFIG_XFRM_STATISTICS is not set | ||
287 | # CONFIG_NET_KEY is not set | 317 | # CONFIG_NET_KEY is not set |
288 | CONFIG_INET=y | 318 | CONFIG_INET=y |
289 | # CONFIG_IP_MULTICAST is not set | 319 | # CONFIG_IP_MULTICAST is not set |
@@ -344,6 +374,7 @@ CONFIG_LLC=m | |||
344 | # | 374 | # |
345 | # CONFIG_NET_PKTGEN is not set | 375 | # CONFIG_NET_PKTGEN is not set |
346 | # CONFIG_HAMRADIO is not set | 376 | # CONFIG_HAMRADIO is not set |
377 | # CONFIG_CAN is not set | ||
347 | # CONFIG_IRDA is not set | 378 | # CONFIG_IRDA is not set |
348 | # CONFIG_BT is not set | 379 | # CONFIG_BT is not set |
349 | # CONFIG_AF_RXRPC is not set | 380 | # CONFIG_AF_RXRPC is not set |
@@ -386,7 +417,7 @@ CONFIG_BLK_DEV=y | |||
386 | CONFIG_BLK_DEV_RAM=y | 417 | CONFIG_BLK_DEV_RAM=y |
387 | CONFIG_BLK_DEV_RAM_COUNT=16 | 418 | CONFIG_BLK_DEV_RAM_COUNT=16 |
388 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 419 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
389 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | 420 | # CONFIG_BLK_DEV_XIP is not set |
390 | # CONFIG_CDROM_PKTCDVD is not set | 421 | # CONFIG_CDROM_PKTCDVD is not set |
391 | # CONFIG_ATA_OVER_ETH is not set | 422 | # CONFIG_ATA_OVER_ETH is not set |
392 | CONFIG_MISC_DEVICES=y | 423 | CONFIG_MISC_DEVICES=y |
@@ -394,6 +425,8 @@ CONFIG_MISC_DEVICES=y | |||
394 | CONFIG_EEPROM_93CX6=y | 425 | CONFIG_EEPROM_93CX6=y |
395 | # CONFIG_SGI_IOC4 is not set | 426 | # CONFIG_SGI_IOC4 is not set |
396 | # CONFIG_TIFM_CORE is not set | 427 | # CONFIG_TIFM_CORE is not set |
428 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
429 | CONFIG_HAVE_IDE=y | ||
397 | # CONFIG_IDE is not set | 430 | # CONFIG_IDE is not set |
398 | 431 | ||
399 | # | 432 | # |
@@ -453,6 +486,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
453 | # CONFIG_SCSI_IPS is not set | 486 | # CONFIG_SCSI_IPS is not set |
454 | # CONFIG_SCSI_INITIO is not set | 487 | # CONFIG_SCSI_INITIO is not set |
455 | # CONFIG_SCSI_INIA100 is not set | 488 | # CONFIG_SCSI_INIA100 is not set |
489 | # CONFIG_SCSI_MVSAS is not set | ||
456 | # CONFIG_SCSI_STEX is not set | 490 | # CONFIG_SCSI_STEX is not set |
457 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 491 | # CONFIG_SCSI_SYM53C8XX_2 is not set |
458 | # CONFIG_SCSI_IPR is not set | 492 | # CONFIG_SCSI_IPR is not set |
@@ -506,6 +540,7 @@ CONFIG_SATA_SIL=y | |||
506 | # CONFIG_PATA_MPIIX is not set | 540 | # CONFIG_PATA_MPIIX is not set |
507 | # CONFIG_PATA_OLDPIIX is not set | 541 | # CONFIG_PATA_OLDPIIX is not set |
508 | # CONFIG_PATA_NETCELL is not set | 542 | # CONFIG_PATA_NETCELL is not set |
543 | # CONFIG_PATA_NINJA32 is not set | ||
509 | # CONFIG_PATA_NS87410 is not set | 544 | # CONFIG_PATA_NS87410 is not set |
510 | # CONFIG_PATA_NS87415 is not set | 545 | # CONFIG_PATA_NS87415 is not set |
511 | # CONFIG_PATA_OPTI is not set | 546 | # CONFIG_PATA_OPTI is not set |
@@ -538,7 +573,6 @@ CONFIG_NETDEVICES=y | |||
538 | # CONFIG_EQUALIZER is not set | 573 | # CONFIG_EQUALIZER is not set |
539 | # CONFIG_TUN is not set | 574 | # CONFIG_TUN is not set |
540 | # CONFIG_VETH is not set | 575 | # CONFIG_VETH is not set |
541 | # CONFIG_IP1000 is not set | ||
542 | # CONFIG_ARCNET is not set | 576 | # CONFIG_ARCNET is not set |
543 | # CONFIG_PHYLIB is not set | 577 | # CONFIG_PHYLIB is not set |
544 | CONFIG_NET_ETHERNET=y | 578 | CONFIG_NET_ETHERNET=y |
@@ -551,7 +585,6 @@ CONFIG_AX88796_93CX6=y | |||
551 | # CONFIG_CASSINI is not set | 585 | # CONFIG_CASSINI is not set |
552 | # CONFIG_NET_VENDOR_3COM is not set | 586 | # CONFIG_NET_VENDOR_3COM is not set |
553 | # CONFIG_SMC91X is not set | 587 | # CONFIG_SMC91X is not set |
554 | # CONFIG_SMC911X is not set | ||
555 | # CONFIG_NET_TULIP is not set | 588 | # CONFIG_NET_TULIP is not set |
556 | # CONFIG_HP100 is not set | 589 | # CONFIG_HP100 is not set |
557 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 590 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
@@ -576,6 +609,7 @@ CONFIG_8139TOO=m | |||
576 | # CONFIG_8139TOO_TUNE_TWISTER is not set | 609 | # CONFIG_8139TOO_TUNE_TWISTER is not set |
577 | CONFIG_8139TOO_8129=y | 610 | CONFIG_8139TOO_8129=y |
578 | # CONFIG_8139_OLD_RX_RESET is not set | 611 | # CONFIG_8139_OLD_RX_RESET is not set |
612 | # CONFIG_R6040 is not set | ||
579 | # CONFIG_SIS900 is not set | 613 | # CONFIG_SIS900 is not set |
580 | # CONFIG_EPIC100 is not set | 614 | # CONFIG_EPIC100 is not set |
581 | # CONFIG_SUNDANCE is not set | 615 | # CONFIG_SUNDANCE is not set |
@@ -591,6 +625,9 @@ CONFIG_E1000=m | |||
591 | # CONFIG_E1000_NAPI is not set | 625 | # CONFIG_E1000_NAPI is not set |
592 | # CONFIG_E1000_DISABLE_PACKET_SPLIT is not set | 626 | # CONFIG_E1000_DISABLE_PACKET_SPLIT is not set |
593 | # CONFIG_E1000E is not set | 627 | # CONFIG_E1000E is not set |
628 | # CONFIG_E1000E_ENABLED is not set | ||
629 | # CONFIG_IP1000 is not set | ||
630 | # CONFIG_IGB is not set | ||
594 | # CONFIG_NS83820 is not set | 631 | # CONFIG_NS83820 is not set |
595 | # CONFIG_HAMACHI is not set | 632 | # CONFIG_HAMACHI is not set |
596 | # CONFIG_YELLOWFIN is not set | 633 | # CONFIG_YELLOWFIN is not set |
@@ -616,6 +653,7 @@ CONFIG_NETDEV_10000=y | |||
616 | # CONFIG_NIU is not set | 653 | # CONFIG_NIU is not set |
617 | # CONFIG_MLX4_CORE is not set | 654 | # CONFIG_MLX4_CORE is not set |
618 | # CONFIG_TEHUTI is not set | 655 | # CONFIG_TEHUTI is not set |
656 | # CONFIG_BNX2X is not set | ||
619 | # CONFIG_TR is not set | 657 | # CONFIG_TR is not set |
620 | 658 | ||
621 | # | 659 | # |
@@ -629,7 +667,6 @@ CONFIG_NETDEV_10000=y | |||
629 | # CONFIG_PPP is not set | 667 | # CONFIG_PPP is not set |
630 | # CONFIG_SLIP is not set | 668 | # CONFIG_SLIP is not set |
631 | # CONFIG_NET_FC is not set | 669 | # CONFIG_NET_FC is not set |
632 | # CONFIG_SHAPER is not set | ||
633 | # CONFIG_NETCONSOLE is not set | 670 | # CONFIG_NETCONSOLE is not set |
634 | # CONFIG_NETPOLL is not set | 671 | # CONFIG_NETPOLL is not set |
635 | # CONFIG_NET_POLL_CONTROLLER is not set | 672 | # CONFIG_NET_POLL_CONTROLLER is not set |
@@ -686,6 +723,7 @@ CONFIG_SERIO_LIBPS2=y | |||
686 | # | 723 | # |
687 | # CONFIG_VT is not set | 724 | # CONFIG_VT is not set |
688 | # CONFIG_SERIAL_NONSTANDARD is not set | 725 | # CONFIG_SERIAL_NONSTANDARD is not set |
726 | # CONFIG_NOZOMI is not set | ||
689 | 727 | ||
690 | # | 728 | # |
691 | # Serial drivers | 729 | # Serial drivers |
@@ -722,6 +760,7 @@ CONFIG_DEVPORT=y | |||
722 | # CONFIG_POWER_SUPPLY is not set | 760 | # CONFIG_POWER_SUPPLY is not set |
723 | CONFIG_HWMON=y | 761 | CONFIG_HWMON=y |
724 | # CONFIG_HWMON_VID is not set | 762 | # CONFIG_HWMON_VID is not set |
763 | # CONFIG_SENSORS_I5K_AMB is not set | ||
725 | # CONFIG_SENSORS_F71805F is not set | 764 | # CONFIG_SENSORS_F71805F is not set |
726 | # CONFIG_SENSORS_F71882FG is not set | 765 | # CONFIG_SENSORS_F71882FG is not set |
727 | # CONFIG_SENSORS_IT87 is not set | 766 | # CONFIG_SENSORS_IT87 is not set |
@@ -736,6 +775,7 @@ CONFIG_HWMON=y | |||
736 | # CONFIG_SENSORS_W83627HF is not set | 775 | # CONFIG_SENSORS_W83627HF is not set |
737 | # CONFIG_SENSORS_W83627EHF is not set | 776 | # CONFIG_SENSORS_W83627EHF is not set |
738 | # CONFIG_HWMON_DEBUG_CHIP is not set | 777 | # CONFIG_HWMON_DEBUG_CHIP is not set |
778 | CONFIG_THERMAL=y | ||
739 | # CONFIG_WATCHDOG is not set | 779 | # CONFIG_WATCHDOG is not set |
740 | 780 | ||
741 | # | 781 | # |
@@ -800,12 +840,9 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
800 | # | 840 | # |
801 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 841 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
802 | # | 842 | # |
803 | |||
804 | # | ||
805 | # USB Gadget Support | ||
806 | # | ||
807 | # CONFIG_USB_GADGET is not set | 843 | # CONFIG_USB_GADGET is not set |
808 | # CONFIG_MMC is not set | 844 | # CONFIG_MMC is not set |
845 | # CONFIG_MEMSTICK is not set | ||
809 | # CONFIG_NEW_LEDS is not set | 846 | # CONFIG_NEW_LEDS is not set |
810 | # CONFIG_INFINIBAND is not set | 847 | # CONFIG_INFINIBAND is not set |
811 | CONFIG_RTC_LIB=y | 848 | CONFIG_RTC_LIB=y |
@@ -830,9 +867,10 @@ CONFIG_RTC_INTF_DEV=y | |||
830 | # | 867 | # |
831 | # Platform RTC drivers | 868 | # Platform RTC drivers |
832 | # | 869 | # |
870 | # CONFIG_RTC_DRV_DS1511 is not set | ||
833 | # CONFIG_RTC_DRV_DS1553 is not set | 871 | # CONFIG_RTC_DRV_DS1553 is not set |
834 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
835 | # CONFIG_RTC_DRV_DS1742 is not set | 872 | # CONFIG_RTC_DRV_DS1742 is not set |
873 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
836 | # CONFIG_RTC_DRV_M48T86 is not set | 874 | # CONFIG_RTC_DRV_M48T86 is not set |
837 | # CONFIG_RTC_DRV_M48T59 is not set | 875 | # CONFIG_RTC_DRV_M48T59 is not set |
838 | # CONFIG_RTC_DRV_V3020 is not set | 876 | # CONFIG_RTC_DRV_V3020 is not set |
@@ -867,12 +905,10 @@ CONFIG_FS_POSIX_ACL=y | |||
867 | # CONFIG_XFS_FS is not set | 905 | # CONFIG_XFS_FS is not set |
868 | # CONFIG_GFS2_FS is not set | 906 | # CONFIG_GFS2_FS is not set |
869 | # CONFIG_OCFS2_FS is not set | 907 | # CONFIG_OCFS2_FS is not set |
870 | CONFIG_MINIX_FS=y | 908 | CONFIG_DNOTIFY=y |
871 | # CONFIG_ROMFS_FS is not set | ||
872 | CONFIG_INOTIFY=y | 909 | CONFIG_INOTIFY=y |
873 | CONFIG_INOTIFY_USER=y | 910 | CONFIG_INOTIFY_USER=y |
874 | # CONFIG_QUOTA is not set | 911 | # CONFIG_QUOTA is not set |
875 | CONFIG_DNOTIFY=y | ||
876 | # CONFIG_AUTOFS_FS is not set | 912 | # CONFIG_AUTOFS_FS is not set |
877 | # CONFIG_AUTOFS4_FS is not set | 913 | # CONFIG_AUTOFS4_FS is not set |
878 | CONFIG_FUSE_FS=m | 914 | CONFIG_FUSE_FS=m |
@@ -920,8 +956,10 @@ CONFIG_CONFIGFS_FS=m | |||
920 | # CONFIG_EFS_FS is not set | 956 | # CONFIG_EFS_FS is not set |
921 | # CONFIG_CRAMFS is not set | 957 | # CONFIG_CRAMFS is not set |
922 | # CONFIG_VXFS_FS is not set | 958 | # CONFIG_VXFS_FS is not set |
959 | CONFIG_MINIX_FS=y | ||
923 | # CONFIG_HPFS_FS is not set | 960 | # CONFIG_HPFS_FS is not set |
924 | # CONFIG_QNX4FS_FS is not set | 961 | # CONFIG_QNX4FS_FS is not set |
962 | # CONFIG_ROMFS_FS is not set | ||
925 | # CONFIG_SYSV_FS is not set | 963 | # CONFIG_SYSV_FS is not set |
926 | # CONFIG_UFS_FS is not set | 964 | # CONFIG_UFS_FS is not set |
927 | CONFIG_NETWORK_FILESYSTEMS=y | 965 | CONFIG_NETWORK_FILESYSTEMS=y |
@@ -997,10 +1035,6 @@ CONFIG_NLS_ISO8859_1=y | |||
997 | # CONFIG_NLS_KOI8_U is not set | 1035 | # CONFIG_NLS_KOI8_U is not set |
998 | # CONFIG_NLS_UTF8 is not set | 1036 | # CONFIG_NLS_UTF8 is not set |
999 | # CONFIG_DLM is not set | 1037 | # CONFIG_DLM is not set |
1000 | CONFIG_INSTRUMENTATION=y | ||
1001 | CONFIG_PROFILING=y | ||
1002 | CONFIG_OPROFILE=m | ||
1003 | # CONFIG_MARKERS is not set | ||
1004 | 1038 | ||
1005 | # | 1039 | # |
1006 | # Kernel hacking | 1040 | # Kernel hacking |
@@ -1035,9 +1069,9 @@ CONFIG_DEBUG_INFO=y | |||
1035 | # CONFIG_DEBUG_LIST is not set | 1069 | # CONFIG_DEBUG_LIST is not set |
1036 | # CONFIG_DEBUG_SG is not set | 1070 | # CONFIG_DEBUG_SG is not set |
1037 | # CONFIG_FRAME_POINTER is not set | 1071 | # CONFIG_FRAME_POINTER is not set |
1038 | CONFIG_FORCED_INLINING=y | ||
1039 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1072 | # CONFIG_BOOT_PRINTK_DELAY is not set |
1040 | # CONFIG_RCU_TORTURE_TEST is not set | 1073 | # CONFIG_RCU_TORTURE_TEST is not set |
1074 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
1041 | # CONFIG_FAULT_INJECTION is not set | 1075 | # CONFIG_FAULT_INJECTION is not set |
1042 | # CONFIG_SAMPLES is not set | 1076 | # CONFIG_SAMPLES is not set |
1043 | CONFIG_SH_STANDARD_BIOS=y | 1077 | CONFIG_SH_STANDARD_BIOS=y |
@@ -1059,6 +1093,7 @@ CONFIG_DEBUG_STACKOVERFLOW=y | |||
1059 | CONFIG_CRYPTO=y | 1093 | CONFIG_CRYPTO=y |
1060 | CONFIG_CRYPTO_ALGAPI=y | 1094 | CONFIG_CRYPTO_ALGAPI=y |
1061 | CONFIG_CRYPTO_BLKCIPHER=y | 1095 | CONFIG_CRYPTO_BLKCIPHER=y |
1096 | # CONFIG_CRYPTO_SEQIV is not set | ||
1062 | CONFIG_CRYPTO_HASH=y | 1097 | CONFIG_CRYPTO_HASH=y |
1063 | CONFIG_CRYPTO_MANAGER=y | 1098 | CONFIG_CRYPTO_MANAGER=y |
1064 | CONFIG_CRYPTO_HMAC=y | 1099 | CONFIG_CRYPTO_HMAC=y |
@@ -1077,6 +1112,9 @@ CONFIG_CRYPTO_CBC=y | |||
1077 | CONFIG_CRYPTO_PCBC=m | 1112 | CONFIG_CRYPTO_PCBC=m |
1078 | # CONFIG_CRYPTO_LRW is not set | 1113 | # CONFIG_CRYPTO_LRW is not set |
1079 | # CONFIG_CRYPTO_XTS is not set | 1114 | # CONFIG_CRYPTO_XTS is not set |
1115 | # CONFIG_CRYPTO_CTR is not set | ||
1116 | # CONFIG_CRYPTO_GCM is not set | ||
1117 | # CONFIG_CRYPTO_CCM is not set | ||
1080 | # CONFIG_CRYPTO_CRYPTD is not set | 1118 | # CONFIG_CRYPTO_CRYPTD is not set |
1081 | CONFIG_CRYPTO_DES=y | 1119 | CONFIG_CRYPTO_DES=y |
1082 | # CONFIG_CRYPTO_FCRYPT is not set | 1120 | # CONFIG_CRYPTO_FCRYPT is not set |
@@ -1091,13 +1129,16 @@ CONFIG_CRYPTO_DES=y | |||
1091 | # CONFIG_CRYPTO_KHAZAD is not set | 1129 | # CONFIG_CRYPTO_KHAZAD is not set |
1092 | # CONFIG_CRYPTO_ANUBIS is not set | 1130 | # CONFIG_CRYPTO_ANUBIS is not set |
1093 | # CONFIG_CRYPTO_SEED is not set | 1131 | # CONFIG_CRYPTO_SEED is not set |
1132 | # CONFIG_CRYPTO_SALSA20 is not set | ||
1094 | # CONFIG_CRYPTO_DEFLATE is not set | 1133 | # CONFIG_CRYPTO_DEFLATE is not set |
1095 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1134 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
1096 | # CONFIG_CRYPTO_CRC32C is not set | 1135 | # CONFIG_CRYPTO_CRC32C is not set |
1097 | # CONFIG_CRYPTO_CAMELLIA is not set | 1136 | # CONFIG_CRYPTO_CAMELLIA is not set |
1098 | # CONFIG_CRYPTO_TEST is not set | 1137 | # CONFIG_CRYPTO_TEST is not set |
1099 | # CONFIG_CRYPTO_AUTHENC is not set | 1138 | # CONFIG_CRYPTO_AUTHENC is not set |
1139 | # CONFIG_CRYPTO_LZO is not set | ||
1100 | CONFIG_CRYPTO_HW=y | 1140 | CONFIG_CRYPTO_HW=y |
1141 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | ||
1101 | 1142 | ||
1102 | # | 1143 | # |
1103 | # Library routines | 1144 | # Library routines |
diff --git a/arch/sh/configs/se7780_defconfig b/arch/sh/configs/se7780_defconfig index f68743dc3931..30f5ee40c312 100644 --- a/arch/sh/configs/se7780_defconfig +++ b/arch/sh/configs/se7780_defconfig | |||
@@ -1,9 +1,10 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.21-rc3 | 3 | # Linux kernel version: 2.6.25-rc3 |
4 | # Thu Mar 15 14:06:20 2007 | 4 | # Thu Feb 28 10:18:04 2008 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | ||
7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
8 | CONFIG_GENERIC_BUG=y | 9 | CONFIG_GENERIC_BUG=y |
9 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 10 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
@@ -11,38 +12,44 @@ CONFIG_GENERIC_HWEIGHT=y | |||
11 | CONFIG_GENERIC_HARDIRQS=y | 12 | CONFIG_GENERIC_HARDIRQS=y |
12 | CONFIG_GENERIC_IRQ_PROBE=y | 13 | CONFIG_GENERIC_IRQ_PROBE=y |
13 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 14 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
14 | # CONFIG_GENERIC_TIME is not set | 15 | CONFIG_GENERIC_TIME=y |
16 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
17 | CONFIG_SYS_SUPPORTS_PCI=y | ||
15 | CONFIG_STACKTRACE_SUPPORT=y | 18 | CONFIG_STACKTRACE_SUPPORT=y |
16 | CONFIG_LOCKDEP_SUPPORT=y | 19 | CONFIG_LOCKDEP_SUPPORT=y |
17 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | 20 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set |
18 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | 21 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set |
22 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | ||
23 | CONFIG_ARCH_SUPPORTS_AOUT=y | ||
19 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 24 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
20 | 25 | ||
21 | # | 26 | # |
22 | # Code maturity level options | 27 | # General setup |
23 | # | 28 | # |
24 | # CONFIG_EXPERIMENTAL is not set | 29 | # CONFIG_EXPERIMENTAL is not set |
25 | CONFIG_BROKEN_ON_SMP=y | 30 | CONFIG_BROKEN_ON_SMP=y |
26 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 31 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
27 | |||
28 | # | ||
29 | # General setup | ||
30 | # | ||
31 | CONFIG_LOCALVERSION="" | 32 | CONFIG_LOCALVERSION="" |
32 | CONFIG_LOCALVERSION_AUTO=y | 33 | CONFIG_LOCALVERSION_AUTO=y |
33 | # CONFIG_SWAP is not set | 34 | # CONFIG_SWAP is not set |
34 | CONFIG_SYSVIPC=y | 35 | CONFIG_SYSVIPC=y |
35 | # CONFIG_IPC_NS is not set | ||
36 | CONFIG_SYSVIPC_SYSCTL=y | 36 | CONFIG_SYSVIPC_SYSCTL=y |
37 | # CONFIG_BSD_PROCESS_ACCT is not set | 37 | # CONFIG_BSD_PROCESS_ACCT is not set |
38 | # CONFIG_TASKSTATS is not set | 38 | # CONFIG_TASKSTATS is not set |
39 | # CONFIG_UTS_NS is not set | ||
40 | # CONFIG_AUDIT is not set | 39 | # CONFIG_AUDIT is not set |
41 | CONFIG_IKCONFIG=y | 40 | CONFIG_IKCONFIG=y |
42 | CONFIG_IKCONFIG_PROC=y | 41 | CONFIG_IKCONFIG_PROC=y |
42 | CONFIG_LOG_BUF_SHIFT=14 | ||
43 | # CONFIG_CGROUPS is not set | ||
44 | CONFIG_GROUP_SCHED=y | ||
45 | CONFIG_FAIR_GROUP_SCHED=y | ||
46 | CONFIG_USER_SCHED=y | ||
47 | # CONFIG_CGROUP_SCHED is not set | ||
43 | CONFIG_SYSFS_DEPRECATED=y | 48 | CONFIG_SYSFS_DEPRECATED=y |
44 | # CONFIG_RELAY is not set | 49 | # CONFIG_RELAY is not set |
50 | # CONFIG_NAMESPACES is not set | ||
45 | # CONFIG_BLK_DEV_INITRD is not set | 51 | # CONFIG_BLK_DEV_INITRD is not set |
52 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
46 | CONFIG_SYSCTL=y | 53 | CONFIG_SYSCTL=y |
47 | CONFIG_EMBEDDED=y | 54 | CONFIG_EMBEDDED=y |
48 | CONFIG_UID16=y | 55 | CONFIG_UID16=y |
@@ -52,31 +59,36 @@ CONFIG_SYSCTL_SYSCALL=y | |||
52 | CONFIG_PRINTK=y | 59 | CONFIG_PRINTK=y |
53 | CONFIG_BUG=y | 60 | CONFIG_BUG=y |
54 | CONFIG_ELF_CORE=y | 61 | CONFIG_ELF_CORE=y |
62 | CONFIG_COMPAT_BRK=y | ||
55 | CONFIG_BASE_FULL=y | 63 | CONFIG_BASE_FULL=y |
56 | CONFIG_FUTEX=y | 64 | CONFIG_FUTEX=y |
65 | CONFIG_ANON_INODES=y | ||
57 | # CONFIG_EPOLL is not set | 66 | # CONFIG_EPOLL is not set |
67 | CONFIG_SIGNALFD=y | ||
68 | CONFIG_TIMERFD=y | ||
69 | CONFIG_EVENTFD=y | ||
58 | CONFIG_SHMEM=y | 70 | CONFIG_SHMEM=y |
59 | CONFIG_SLAB=y | ||
60 | CONFIG_VM_EVENT_COUNTERS=y | 71 | CONFIG_VM_EVENT_COUNTERS=y |
72 | CONFIG_SLAB=y | ||
73 | # CONFIG_SLUB is not set | ||
74 | # CONFIG_SLOB is not set | ||
75 | # CONFIG_PROFILING is not set | ||
76 | # CONFIG_MARKERS is not set | ||
77 | CONFIG_HAVE_OPROFILE=y | ||
78 | # CONFIG_HAVE_KPROBES is not set | ||
79 | CONFIG_PROC_PAGE_MONITOR=y | ||
80 | CONFIG_SLABINFO=y | ||
61 | CONFIG_RT_MUTEXES=y | 81 | CONFIG_RT_MUTEXES=y |
62 | # CONFIG_TINY_SHMEM is not set | 82 | # CONFIG_TINY_SHMEM is not set |
63 | CONFIG_BASE_SMALL=0 | 83 | CONFIG_BASE_SMALL=0 |
64 | # CONFIG_SLOB is not set | ||
65 | |||
66 | # | ||
67 | # Loadable module support | ||
68 | # | ||
69 | CONFIG_MODULES=y | 84 | CONFIG_MODULES=y |
70 | CONFIG_MODULE_UNLOAD=y | 85 | CONFIG_MODULE_UNLOAD=y |
71 | # CONFIG_MODVERSIONS is not set | 86 | # CONFIG_MODVERSIONS is not set |
72 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 87 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
73 | CONFIG_KMOD=y | 88 | CONFIG_KMOD=y |
74 | |||
75 | # | ||
76 | # Block layer | ||
77 | # | ||
78 | CONFIG_BLOCK=y | 89 | CONFIG_BLOCK=y |
79 | # CONFIG_LBD is not set | 90 | # CONFIG_LBD is not set |
91 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
80 | # CONFIG_LSF is not set | 92 | # CONFIG_LSF is not set |
81 | 93 | ||
82 | # | 94 | # |
@@ -91,68 +103,27 @@ CONFIG_DEFAULT_DEADLINE=y | |||
91 | # CONFIG_DEFAULT_CFQ is not set | 103 | # CONFIG_DEFAULT_CFQ is not set |
92 | # CONFIG_DEFAULT_NOOP is not set | 104 | # CONFIG_DEFAULT_NOOP is not set |
93 | CONFIG_DEFAULT_IOSCHED="deadline" | 105 | CONFIG_DEFAULT_IOSCHED="deadline" |
106 | CONFIG_CLASSIC_RCU=y | ||
107 | # CONFIG_PREEMPT_RCU is not set | ||
94 | 108 | ||
95 | # | 109 | # |
96 | # System type | 110 | # System type |
97 | # | 111 | # |
98 | CONFIG_SOLUTION_ENGINE=y | ||
99 | # CONFIG_SH_SOLUTION_ENGINE is not set | ||
100 | # CONFIG_SH_7751_SOLUTION_ENGINE is not set | ||
101 | CONFIG_SH_7780_SOLUTION_ENGINE=y | ||
102 | # CONFIG_SH_7300_SOLUTION_ENGINE is not set | ||
103 | # CONFIG_SH_7343_SOLUTION_ENGINE is not set | ||
104 | # CONFIG_SH_73180_SOLUTION_ENGINE is not set | ||
105 | # CONFIG_SH_7751_SYSTEMH is not set | ||
106 | # CONFIG_SH_HP6XX is not set | ||
107 | # CONFIG_SH_SATURN is not set | ||
108 | # CONFIG_SH_DREAMCAST is not set | ||
109 | # CONFIG_SH_MPC1211 is not set | ||
110 | # CONFIG_SH_SH03 is not set | ||
111 | # CONFIG_SH_SECUREEDGE5410 is not set | ||
112 | # CONFIG_SH_HS7751RVOIP is not set | ||
113 | # CONFIG_SH_7710VOIPGW is not set | ||
114 | # CONFIG_SH_RTS7751R2D is not set | ||
115 | # CONFIG_SH_HIGHLANDER is not set | ||
116 | # CONFIG_SH_EDOSK7705 is not set | ||
117 | # CONFIG_SH_SH4202_MICRODEV is not set | ||
118 | # CONFIG_SH_LANDISK is not set | ||
119 | # CONFIG_SH_TITAN is not set | ||
120 | # CONFIG_SH_SHMIN is not set | ||
121 | # CONFIG_SH_7206_SOLUTION_ENGINE is not set | ||
122 | # CONFIG_SH_7619_SOLUTION_ENGINE is not set | ||
123 | # CONFIG_SH_UNKNOWN is not set | ||
124 | |||
125 | # | ||
126 | # Processor selection | ||
127 | # | ||
128 | CONFIG_CPU_SH4=y | 112 | CONFIG_CPU_SH4=y |
129 | CONFIG_CPU_SH4A=y | 113 | CONFIG_CPU_SH4A=y |
130 | |||
131 | # | ||
132 | # SH-2 Processor Support | ||
133 | # | ||
134 | # CONFIG_CPU_SUBTYPE_SH7604 is not set | ||
135 | # CONFIG_CPU_SUBTYPE_SH7619 is not set | 114 | # CONFIG_CPU_SUBTYPE_SH7619 is not set |
136 | 115 | # CONFIG_CPU_SUBTYPE_SH7203 is not set | |
137 | # | ||
138 | # SH-2A Processor Support | ||
139 | # | ||
140 | # CONFIG_CPU_SUBTYPE_SH7206 is not set | 116 | # CONFIG_CPU_SUBTYPE_SH7206 is not set |
141 | 117 | # CONFIG_CPU_SUBTYPE_SH7263 is not set | |
142 | # | ||
143 | # SH-3 Processor Support | ||
144 | # | ||
145 | # CONFIG_CPU_SUBTYPE_SH7300 is not set | ||
146 | # CONFIG_CPU_SUBTYPE_SH7705 is not set | 118 | # CONFIG_CPU_SUBTYPE_SH7705 is not set |
147 | # CONFIG_CPU_SUBTYPE_SH7706 is not set | 119 | # CONFIG_CPU_SUBTYPE_SH7706 is not set |
148 | # CONFIG_CPU_SUBTYPE_SH7707 is not set | 120 | # CONFIG_CPU_SUBTYPE_SH7707 is not set |
149 | # CONFIG_CPU_SUBTYPE_SH7708 is not set | 121 | # CONFIG_CPU_SUBTYPE_SH7708 is not set |
150 | # CONFIG_CPU_SUBTYPE_SH7709 is not set | 122 | # CONFIG_CPU_SUBTYPE_SH7709 is not set |
151 | # CONFIG_CPU_SUBTYPE_SH7710 is not set | 123 | # CONFIG_CPU_SUBTYPE_SH7710 is not set |
152 | 124 | # CONFIG_CPU_SUBTYPE_SH7712 is not set | |
153 | # | 125 | # CONFIG_CPU_SUBTYPE_SH7720 is not set |
154 | # SH-4 Processor Support | 126 | # CONFIG_CPU_SUBTYPE_SH7721 is not set |
155 | # | ||
156 | # CONFIG_CPU_SUBTYPE_SH7750 is not set | 127 | # CONFIG_CPU_SUBTYPE_SH7750 is not set |
157 | # CONFIG_CPU_SUBTYPE_SH7091 is not set | 128 | # CONFIG_CPU_SUBTYPE_SH7091 is not set |
158 | # CONFIG_CPU_SUBTYPE_SH7750R is not set | 129 | # CONFIG_CPU_SUBTYPE_SH7750R is not set |
@@ -161,52 +132,58 @@ CONFIG_CPU_SH4A=y | |||
161 | # CONFIG_CPU_SUBTYPE_SH7751R is not set | 132 | # CONFIG_CPU_SUBTYPE_SH7751R is not set |
162 | # CONFIG_CPU_SUBTYPE_SH7760 is not set | 133 | # CONFIG_CPU_SUBTYPE_SH7760 is not set |
163 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set | 134 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set |
164 | 135 | # CONFIG_CPU_SUBTYPE_SH7763 is not set | |
165 | # | ||
166 | # ST40 Processor Support | ||
167 | # | ||
168 | # CONFIG_CPU_SUBTYPE_ST40STB1 is not set | ||
169 | # CONFIG_CPU_SUBTYPE_ST40GX1 is not set | ||
170 | |||
171 | # | ||
172 | # SH-4A Processor Support | ||
173 | # | ||
174 | # CONFIG_CPU_SUBTYPE_SH7770 is not set | 136 | # CONFIG_CPU_SUBTYPE_SH7770 is not set |
175 | CONFIG_CPU_SUBTYPE_SH7780=y | 137 | CONFIG_CPU_SUBTYPE_SH7780=y |
176 | # CONFIG_CPU_SUBTYPE_SH7785 is not set | 138 | # CONFIG_CPU_SUBTYPE_SH7785 is not set |
177 | 139 | # CONFIG_CPU_SUBTYPE_SHX3 is not set | |
178 | # | ||
179 | # SH4AL-DSP Processor Support | ||
180 | # | ||
181 | # CONFIG_CPU_SUBTYPE_SH73180 is not set | ||
182 | # CONFIG_CPU_SUBTYPE_SH7343 is not set | 140 | # CONFIG_CPU_SUBTYPE_SH7343 is not set |
183 | # CONFIG_CPU_SUBTYPE_SH7722 is not set | 141 | # CONFIG_CPU_SUBTYPE_SH7722 is not set |
142 | # CONFIG_CPU_SUBTYPE_SH7366 is not set | ||
143 | # CONFIG_CPU_SUBTYPE_SH5_101 is not set | ||
144 | # CONFIG_CPU_SUBTYPE_SH5_103 is not set | ||
184 | 145 | ||
185 | # | 146 | # |
186 | # Memory management options | 147 | # Memory management options |
187 | # | 148 | # |
149 | CONFIG_QUICKLIST=y | ||
188 | CONFIG_MMU=y | 150 | CONFIG_MMU=y |
189 | CONFIG_PAGE_OFFSET=0x80000000 | 151 | CONFIG_PAGE_OFFSET=0x80000000 |
190 | CONFIG_MEMORY_START=0x08000000 | 152 | CONFIG_MEMORY_START=0x08000000 |
191 | CONFIG_MEMORY_SIZE=0x08000000 | 153 | CONFIG_MEMORY_SIZE=0x08000000 |
192 | CONFIG_32BIT=y | 154 | CONFIG_29BIT=y |
155 | # CONFIG_PMB is not set | ||
193 | CONFIG_VSYSCALL=y | 156 | CONFIG_VSYSCALL=y |
157 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
158 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | ||
159 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y | ||
160 | CONFIG_MAX_ACTIVE_REGIONS=1 | ||
161 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
162 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||
163 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
194 | CONFIG_PAGE_SIZE_4KB=y | 164 | CONFIG_PAGE_SIZE_4KB=y |
195 | # CONFIG_PAGE_SIZE_8KB is not set | 165 | # CONFIG_PAGE_SIZE_8KB is not set |
196 | # CONFIG_PAGE_SIZE_64KB is not set | 166 | # CONFIG_PAGE_SIZE_64KB is not set |
197 | CONFIG_FLATMEM=y | 167 | CONFIG_SELECT_MEMORY_MODEL=y |
198 | CONFIG_FLAT_NODE_MEM_MAP=y | 168 | # CONFIG_FLATMEM_MANUAL is not set |
199 | # CONFIG_SPARSEMEM_STATIC is not set | 169 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
170 | CONFIG_SPARSEMEM_MANUAL=y | ||
171 | CONFIG_SPARSEMEM=y | ||
172 | CONFIG_HAVE_MEMORY_PRESENT=y | ||
173 | CONFIG_SPARSEMEM_STATIC=y | ||
174 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
200 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 175 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
201 | # CONFIG_RESOURCES_64BIT is not set | 176 | # CONFIG_RESOURCES_64BIT is not set |
202 | CONFIG_ZONE_DMA_FLAG=0 | 177 | CONFIG_ZONE_DMA_FLAG=0 |
178 | CONFIG_NR_QUICK=2 | ||
203 | 179 | ||
204 | # | 180 | # |
205 | # Cache configuration | 181 | # Cache configuration |
206 | # | 182 | # |
207 | # CONFIG_SH_DIRECT_MAPPED is not set | 183 | # CONFIG_SH_DIRECT_MAPPED is not set |
208 | # CONFIG_SH_WRITETHROUGH is not set | 184 | CONFIG_CACHE_WRITEBACK=y |
209 | # CONFIG_SH_OCRAM is not set | 185 | # CONFIG_CACHE_WRITETHROUGH is not set |
186 | # CONFIG_CACHE_OFF is not set | ||
210 | 187 | ||
211 | # | 188 | # |
212 | # Processor features | 189 | # Processor features |
@@ -214,20 +191,29 @@ CONFIG_ZONE_DMA_FLAG=0 | |||
214 | CONFIG_CPU_LITTLE_ENDIAN=y | 191 | CONFIG_CPU_LITTLE_ENDIAN=y |
215 | # CONFIG_CPU_BIG_ENDIAN is not set | 192 | # CONFIG_CPU_BIG_ENDIAN is not set |
216 | CONFIG_SH_FPU=y | 193 | CONFIG_SH_FPU=y |
217 | # CONFIG_SH_DSP is not set | ||
218 | # CONFIG_SH_STORE_QUEUES is not set | 194 | # CONFIG_SH_STORE_QUEUES is not set |
219 | CONFIG_CPU_HAS_INTEVT=y | 195 | CONFIG_CPU_HAS_INTEVT=y |
220 | CONFIG_CPU_HAS_INTC2_IRQ=y | ||
221 | CONFIG_CPU_HAS_INTC_IRQ=y | ||
222 | CONFIG_CPU_HAS_SR_RB=y | 196 | CONFIG_CPU_HAS_SR_RB=y |
197 | CONFIG_CPU_HAS_FPU=y | ||
198 | |||
199 | # | ||
200 | # Board support | ||
201 | # | ||
202 | CONFIG_SOLUTION_ENGINE=y | ||
203 | CONFIG_SH_7780_SOLUTION_ENGINE=y | ||
204 | # CONFIG_SH_SDK7780 is not set | ||
205 | # CONFIG_SH_HIGHLANDER is not set | ||
223 | 206 | ||
224 | # | 207 | # |
225 | # Timer and clock configuration | 208 | # Timer and clock configuration |
226 | # | 209 | # |
227 | CONFIG_SH_TMU=y | 210 | CONFIG_SH_TMU=y |
228 | CONFIG_SH_TIMER_IRQ=28 | 211 | CONFIG_SH_TIMER_IRQ=28 |
229 | # CONFIG_NO_IDLE_HZ is not set | ||
230 | CONFIG_SH_PCLK_FREQ=33333333 | 212 | CONFIG_SH_PCLK_FREQ=33333333 |
213 | # CONFIG_TICK_ONESHOT is not set | ||
214 | # CONFIG_NO_HZ is not set | ||
215 | # CONFIG_HIGH_RES_TIMERS is not set | ||
216 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
231 | 217 | ||
232 | # | 218 | # |
233 | # CPU Frequency scaling | 219 | # CPU Frequency scaling |
@@ -242,7 +228,6 @@ CONFIG_SH_PCLK_FREQ=33333333 | |||
242 | # | 228 | # |
243 | # Companion Chips | 229 | # Companion Chips |
244 | # | 230 | # |
245 | # CONFIG_HD6446X_SERIES is not set | ||
246 | 231 | ||
247 | # | 232 | # |
248 | # Additional SuperH Device Drivers | 233 | # Additional SuperH Device Drivers |
@@ -258,40 +243,36 @@ CONFIG_HZ_250=y | |||
258 | # CONFIG_HZ_300 is not set | 243 | # CONFIG_HZ_300 is not set |
259 | # CONFIG_HZ_1000 is not set | 244 | # CONFIG_HZ_1000 is not set |
260 | CONFIG_HZ=250 | 245 | CONFIG_HZ=250 |
261 | # CONFIG_SMP is not set | 246 | # CONFIG_SCHED_HRTICK is not set |
262 | CONFIG_PREEMPT_NONE=y | 247 | CONFIG_PREEMPT_NONE=y |
263 | # CONFIG_PREEMPT_VOLUNTARY is not set | 248 | # CONFIG_PREEMPT_VOLUNTARY is not set |
264 | # CONFIG_PREEMPT is not set | 249 | # CONFIG_PREEMPT is not set |
250 | CONFIG_RCU_TRACE=y | ||
251 | CONFIG_GUSA=y | ||
265 | 252 | ||
266 | # | 253 | # |
267 | # Boot options | 254 | # Boot options |
268 | # | 255 | # |
269 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 | 256 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 |
270 | CONFIG_BOOT_LINK_OFFSET=0x00810000 | 257 | CONFIG_BOOT_LINK_OFFSET=0x00810000 |
271 | # CONFIG_UBC_WAKEUP is not set | 258 | CONFIG_CMDLINE_BOOL=y |
272 | # CONFIG_CMDLINE_BOOL is not set | 259 | CONFIG_CMDLINE="console=ttySC0.115200 root=/dev/sda1" |
273 | 260 | ||
274 | # | 261 | # |
275 | # Bus options | 262 | # Bus options |
276 | # | 263 | # |
264 | # CONFIG_CF_ENABLER is not set | ||
277 | CONFIG_PCI=y | 265 | CONFIG_PCI=y |
278 | CONFIG_SH_PCIDMA_NONCOHERENT=y | 266 | CONFIG_SH_PCIDMA_NONCOHERENT=y |
279 | CONFIG_PCI_AUTO=y | 267 | CONFIG_PCI_AUTO=y |
280 | CONFIG_PCI_AUTO_UPDATE_RESOURCES=y | 268 | CONFIG_PCI_AUTO_UPDATE_RESOURCES=y |
281 | 269 | # CONFIG_ARCH_SUPPORTS_MSI is not set | |
282 | # | 270 | CONFIG_PCI_LEGACY=y |
283 | # PCCARD (PCMCIA/CardBus) support | ||
284 | # | ||
285 | |||
286 | # | ||
287 | # PCI Hotplug Support | ||
288 | # | ||
289 | 271 | ||
290 | # | 272 | # |
291 | # Executable file formats | 273 | # Executable file formats |
292 | # | 274 | # |
293 | CONFIG_BINFMT_ELF=y | 275 | CONFIG_BINFMT_ELF=y |
294 | # CONFIG_BINFMT_FLAT is not set | ||
295 | # CONFIG_BINFMT_MISC is not set | 276 | # CONFIG_BINFMT_MISC is not set |
296 | 277 | ||
297 | # | 278 | # |
@@ -302,7 +283,6 @@ CONFIG_NET=y | |||
302 | # | 283 | # |
303 | # Networking options | 284 | # Networking options |
304 | # | 285 | # |
305 | # CONFIG_NETDEBUG is not set | ||
306 | CONFIG_PACKET=y | 286 | CONFIG_PACKET=y |
307 | # CONFIG_PACKET_MMAP is not set | 287 | # CONFIG_PACKET_MMAP is not set |
308 | CONFIG_UNIX=y | 288 | CONFIG_UNIX=y |
@@ -329,6 +309,7 @@ CONFIG_IP_PNP=y | |||
329 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | 309 | CONFIG_INET_XFRM_MODE_TRANSPORT=y |
330 | CONFIG_INET_XFRM_MODE_TUNNEL=y | 310 | CONFIG_INET_XFRM_MODE_TUNNEL=y |
331 | CONFIG_INET_XFRM_MODE_BEET=y | 311 | CONFIG_INET_XFRM_MODE_BEET=y |
312 | # CONFIG_INET_LRO is not set | ||
332 | CONFIG_INET_DIAG=y | 313 | CONFIG_INET_DIAG=y |
333 | CONFIG_INET_TCP_DIAG=y | 314 | CONFIG_INET_TCP_DIAG=y |
334 | # CONFIG_TCP_CONG_ADVANCED is not set | 315 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -349,16 +330,13 @@ CONFIG_IPV6=y | |||
349 | # CONFIG_IPV6_TUNNEL is not set | 330 | # CONFIG_IPV6_TUNNEL is not set |
350 | # CONFIG_NETWORK_SECMARK is not set | 331 | # CONFIG_NETWORK_SECMARK is not set |
351 | # CONFIG_NETFILTER is not set | 332 | # CONFIG_NETFILTER is not set |
333 | # CONFIG_ATM is not set | ||
352 | # CONFIG_BRIDGE is not set | 334 | # CONFIG_BRIDGE is not set |
353 | # CONFIG_VLAN_8021Q is not set | 335 | # CONFIG_VLAN_8021Q is not set |
354 | # CONFIG_DECNET is not set | 336 | # CONFIG_DECNET is not set |
355 | # CONFIG_LLC2 is not set | 337 | # CONFIG_LLC2 is not set |
356 | # CONFIG_IPX is not set | 338 | # CONFIG_IPX is not set |
357 | # CONFIG_ATALK is not set | 339 | # CONFIG_ATALK is not set |
358 | |||
359 | # | ||
360 | # QoS and/or fair queueing | ||
361 | # | ||
362 | # CONFIG_NET_SCHED is not set | 340 | # CONFIG_NET_SCHED is not set |
363 | 341 | ||
364 | # | 342 | # |
@@ -366,9 +344,18 @@ CONFIG_IPV6=y | |||
366 | # | 344 | # |
367 | # CONFIG_NET_PKTGEN is not set | 345 | # CONFIG_NET_PKTGEN is not set |
368 | # CONFIG_HAMRADIO is not set | 346 | # CONFIG_HAMRADIO is not set |
347 | # CONFIG_CAN is not set | ||
369 | # CONFIG_IRDA is not set | 348 | # CONFIG_IRDA is not set |
370 | # CONFIG_BT is not set | 349 | # CONFIG_BT is not set |
350 | |||
351 | # | ||
352 | # Wireless | ||
353 | # | ||
354 | # CONFIG_CFG80211 is not set | ||
355 | # CONFIG_WIRELESS_EXT is not set | ||
356 | # CONFIG_MAC80211 is not set | ||
371 | # CONFIG_IEEE80211 is not set | 357 | # CONFIG_IEEE80211 is not set |
358 | # CONFIG_RFKILL is not set | ||
372 | 359 | ||
373 | # | 360 | # |
374 | # Device Drivers | 361 | # Device Drivers |
@@ -380,15 +367,7 @@ CONFIG_IPV6=y | |||
380 | CONFIG_STANDALONE=y | 367 | CONFIG_STANDALONE=y |
381 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set | 368 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set |
382 | # CONFIG_SYS_HYPERVISOR is not set | 369 | # CONFIG_SYS_HYPERVISOR is not set |
383 | |||
384 | # | ||
385 | # Connector - unified userspace <-> kernelspace linker | ||
386 | # | ||
387 | # CONFIG_CONNECTOR is not set | 370 | # CONFIG_CONNECTOR is not set |
388 | |||
389 | # | ||
390 | # Memory Technology Devices (MTD) | ||
391 | # | ||
392 | CONFIG_MTD=y | 371 | CONFIG_MTD=y |
393 | # CONFIG_MTD_DEBUG is not set | 372 | # CONFIG_MTD_DEBUG is not set |
394 | # CONFIG_MTD_CONCAT is not set | 373 | # CONFIG_MTD_CONCAT is not set |
@@ -407,6 +386,7 @@ CONFIG_MTD_BLOCK=y | |||
407 | # CONFIG_INFTL is not set | 386 | # CONFIG_INFTL is not set |
408 | # CONFIG_RFD_FTL is not set | 387 | # CONFIG_RFD_FTL is not set |
409 | # CONFIG_SSFDC is not set | 388 | # CONFIG_SSFDC is not set |
389 | # CONFIG_MTD_OOPS is not set | ||
410 | 390 | ||
411 | # | 391 | # |
412 | # RAM/ROM/Flash chip drivers | 392 | # RAM/ROM/Flash chip drivers |
@@ -437,13 +417,13 @@ CONFIG_MTD_CFI_UTIL=y | |||
437 | # CONFIG_MTD_RAM is not set | 417 | # CONFIG_MTD_RAM is not set |
438 | CONFIG_MTD_ROM=y | 418 | CONFIG_MTD_ROM=y |
439 | # CONFIG_MTD_ABSENT is not set | 419 | # CONFIG_MTD_ABSENT is not set |
440 | # CONFIG_MTD_OBSOLETE_CHIPS is not set | ||
441 | 420 | ||
442 | # | 421 | # |
443 | # Mapping drivers for chip access | 422 | # Mapping drivers for chip access |
444 | # | 423 | # |
445 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | 424 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set |
446 | # CONFIG_MTD_PHYSMAP is not set | 425 | # CONFIG_MTD_PHYSMAP is not set |
426 | # CONFIG_MTD_INTEL_VR_NOR is not set | ||
447 | # CONFIG_MTD_PLATRAM is not set | 427 | # CONFIG_MTD_PLATRAM is not set |
448 | 428 | ||
449 | # | 429 | # |
@@ -461,31 +441,15 @@ CONFIG_MTD_ROM=y | |||
461 | # CONFIG_MTD_DOC2000 is not set | 441 | # CONFIG_MTD_DOC2000 is not set |
462 | # CONFIG_MTD_DOC2001 is not set | 442 | # CONFIG_MTD_DOC2001 is not set |
463 | # CONFIG_MTD_DOC2001PLUS is not set | 443 | # CONFIG_MTD_DOC2001PLUS is not set |
464 | |||
465 | # | ||
466 | # NAND Flash Device Drivers | ||
467 | # | ||
468 | # CONFIG_MTD_NAND is not set | 444 | # CONFIG_MTD_NAND is not set |
469 | |||
470 | # | ||
471 | # OneNAND Flash Device Drivers | ||
472 | # | ||
473 | # CONFIG_MTD_ONENAND is not set | 445 | # CONFIG_MTD_ONENAND is not set |
474 | 446 | ||
475 | # | 447 | # |
476 | # Parallel port support | 448 | # UBI - Unsorted block images |
477 | # | 449 | # |
450 | # CONFIG_MTD_UBI is not set | ||
478 | # CONFIG_PARPORT is not set | 451 | # CONFIG_PARPORT is not set |
479 | 452 | CONFIG_BLK_DEV=y | |
480 | # | ||
481 | # Plug and Play support | ||
482 | # | ||
483 | # CONFIG_PNPACPI is not set | ||
484 | |||
485 | # | ||
486 | # Block devices | ||
487 | # | ||
488 | # CONFIG_BLK_CPQ_DA is not set | ||
489 | # CONFIG_BLK_CPQ_CISS_DA is not set | 453 | # CONFIG_BLK_CPQ_CISS_DA is not set |
490 | # CONFIG_BLK_DEV_DAC960 is not set | 454 | # CONFIG_BLK_DEV_DAC960 is not set |
491 | # CONFIG_BLK_DEV_COW_COMMON is not set | 455 | # CONFIG_BLK_DEV_COW_COMMON is not set |
@@ -497,15 +461,12 @@ CONFIG_BLK_DEV_LOOP=y | |||
497 | # CONFIG_BLK_DEV_RAM is not set | 461 | # CONFIG_BLK_DEV_RAM is not set |
498 | # CONFIG_CDROM_PKTCDVD is not set | 462 | # CONFIG_CDROM_PKTCDVD is not set |
499 | # CONFIG_ATA_OVER_ETH is not set | 463 | # CONFIG_ATA_OVER_ETH is not set |
500 | 464 | CONFIG_MISC_DEVICES=y | |
501 | # | 465 | # CONFIG_PHANTOM is not set |
502 | # Misc devices | 466 | # CONFIG_EEPROM_93CX6 is not set |
503 | # | ||
504 | # CONFIG_SGI_IOC4 is not set | 467 | # CONFIG_SGI_IOC4 is not set |
505 | 468 | # CONFIG_ENCLOSURE_SERVICES is not set | |
506 | # | 469 | CONFIG_HAVE_IDE=y |
507 | # ATA/ATAPI/MFM/RLL support | ||
508 | # | ||
509 | # CONFIG_IDE is not set | 470 | # CONFIG_IDE is not set |
510 | 471 | ||
511 | # | 472 | # |
@@ -513,6 +474,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
513 | # | 474 | # |
514 | # CONFIG_RAID_ATTRS is not set | 475 | # CONFIG_RAID_ATTRS is not set |
515 | CONFIG_SCSI=y | 476 | CONFIG_SCSI=y |
477 | CONFIG_SCSI_DMA=y | ||
516 | # CONFIG_SCSI_NETLINK is not set | 478 | # CONFIG_SCSI_NETLINK is not set |
517 | CONFIG_SCSI_PROC_FS=y | 479 | CONFIG_SCSI_PROC_FS=y |
518 | 480 | ||
@@ -533,6 +495,7 @@ CONFIG_CHR_DEV_SG=y | |||
533 | # CONFIG_SCSI_CONSTANTS is not set | 495 | # CONFIG_SCSI_CONSTANTS is not set |
534 | # CONFIG_SCSI_LOGGING is not set | 496 | # CONFIG_SCSI_LOGGING is not set |
535 | # CONFIG_SCSI_SCAN_ASYNC is not set | 497 | # CONFIG_SCSI_SCAN_ASYNC is not set |
498 | CONFIG_SCSI_WAIT_SCAN=m | ||
536 | 499 | ||
537 | # | 500 | # |
538 | # SCSI Transports | 501 | # SCSI Transports |
@@ -540,12 +503,9 @@ CONFIG_CHR_DEV_SG=y | |||
540 | # CONFIG_SCSI_SPI_ATTRS is not set | 503 | # CONFIG_SCSI_SPI_ATTRS is not set |
541 | # CONFIG_SCSI_FC_ATTRS is not set | 504 | # CONFIG_SCSI_FC_ATTRS is not set |
542 | # CONFIG_SCSI_ISCSI_ATTRS is not set | 505 | # CONFIG_SCSI_ISCSI_ATTRS is not set |
543 | # CONFIG_SCSI_SAS_ATTRS is not set | ||
544 | # CONFIG_SCSI_SAS_LIBSAS is not set | 506 | # CONFIG_SCSI_SAS_LIBSAS is not set |
545 | 507 | # CONFIG_SCSI_SRP_ATTRS is not set | |
546 | # | 508 | CONFIG_SCSI_LOWLEVEL=y |
547 | # SCSI low-level drivers | ||
548 | # | ||
549 | # CONFIG_ISCSI_TCP is not set | 509 | # CONFIG_ISCSI_TCP is not set |
550 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 510 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
551 | # CONFIG_SCSI_3W_9XXX is not set | 511 | # CONFIG_SCSI_3W_9XXX is not set |
@@ -555,7 +515,6 @@ CONFIG_CHR_DEV_SG=y | |||
555 | # CONFIG_SCSI_AIC7XXX_OLD is not set | 515 | # CONFIG_SCSI_AIC7XXX_OLD is not set |
556 | # CONFIG_SCSI_AIC79XX is not set | 516 | # CONFIG_SCSI_AIC79XX is not set |
557 | # CONFIG_SCSI_AIC94XX is not set | 517 | # CONFIG_SCSI_AIC94XX is not set |
558 | # CONFIG_SCSI_DPT_I2O is not set | ||
559 | # CONFIG_SCSI_ARCMSR is not set | 518 | # CONFIG_SCSI_ARCMSR is not set |
560 | # CONFIG_MEGARAID_NEWGEN is not set | 519 | # CONFIG_MEGARAID_NEWGEN is not set |
561 | # CONFIG_MEGARAID_LEGACY is not set | 520 | # CONFIG_MEGARAID_LEGACY is not set |
@@ -566,6 +525,7 @@ CONFIG_CHR_DEV_SG=y | |||
566 | # CONFIG_SCSI_IPS is not set | 525 | # CONFIG_SCSI_IPS is not set |
567 | # CONFIG_SCSI_INITIO is not set | 526 | # CONFIG_SCSI_INITIO is not set |
568 | # CONFIG_SCSI_INIA100 is not set | 527 | # CONFIG_SCSI_INIA100 is not set |
528 | # CONFIG_SCSI_MVSAS is not set | ||
569 | # CONFIG_SCSI_STEX is not set | 529 | # CONFIG_SCSI_STEX is not set |
570 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 530 | # CONFIG_SCSI_SYM53C8XX_2 is not set |
571 | # CONFIG_SCSI_IPR is not set | 531 | # CONFIG_SCSI_IPR is not set |
@@ -577,10 +537,6 @@ CONFIG_CHR_DEV_SG=y | |||
577 | # CONFIG_SCSI_NSP32 is not set | 537 | # CONFIG_SCSI_NSP32 is not set |
578 | # CONFIG_SCSI_DEBUG is not set | 538 | # CONFIG_SCSI_DEBUG is not set |
579 | # CONFIG_SCSI_SRP is not set | 539 | # CONFIG_SCSI_SRP is not set |
580 | |||
581 | # | ||
582 | # Serial ATA (prod) and Parallel ATA (experimental) drivers | ||
583 | # | ||
584 | CONFIG_ATA=y | 540 | CONFIG_ATA=y |
585 | # CONFIG_ATA_NONSTANDARD is not set | 541 | # CONFIG_ATA_NONSTANDARD is not set |
586 | # CONFIG_SATA_AHCI is not set | 542 | # CONFIG_SATA_AHCI is not set |
@@ -597,62 +553,48 @@ CONFIG_SATA_SIL=y | |||
597 | # CONFIG_SATA_VIA is not set | 553 | # CONFIG_SATA_VIA is not set |
598 | # CONFIG_SATA_VITESSE is not set | 554 | # CONFIG_SATA_VITESSE is not set |
599 | # CONFIG_PATA_AMD is not set | 555 | # CONFIG_PATA_AMD is not set |
556 | # CONFIG_PATA_ARTOP is not set | ||
557 | # CONFIG_PATA_ATIIXP is not set | ||
558 | # CONFIG_PATA_CMD64X is not set | ||
600 | # CONFIG_PATA_CS5520 is not set | 559 | # CONFIG_PATA_CS5520 is not set |
601 | # CONFIG_PATA_EFAR is not set | 560 | # CONFIG_PATA_EFAR is not set |
602 | # CONFIG_ATA_GENERIC is not set | 561 | # CONFIG_ATA_GENERIC is not set |
562 | # CONFIG_PATA_HPT366 is not set | ||
603 | # CONFIG_PATA_HPT3X3 is not set | 563 | # CONFIG_PATA_HPT3X3 is not set |
564 | # CONFIG_PATA_IT821X is not set | ||
604 | # CONFIG_PATA_JMICRON is not set | 565 | # CONFIG_PATA_JMICRON is not set |
605 | # CONFIG_PATA_TRIFLEX is not set | 566 | # CONFIG_PATA_TRIFLEX is not set |
606 | # CONFIG_PATA_MARVELL is not set | 567 | # CONFIG_PATA_MARVELL is not set |
607 | # CONFIG_PATA_MPIIX is not set | 568 | # CONFIG_PATA_MPIIX is not set |
569 | # CONFIG_PATA_OLDPIIX is not set | ||
608 | # CONFIG_PATA_NETCELL is not set | 570 | # CONFIG_PATA_NETCELL is not set |
609 | # CONFIG_PATA_RZ1000 is not set | 571 | # CONFIG_PATA_RZ1000 is not set |
572 | # CONFIG_PATA_SERVERWORKS is not set | ||
610 | # CONFIG_PATA_PDC2027X is not set | 573 | # CONFIG_PATA_PDC2027X is not set |
611 | # CONFIG_PATA_SIL680 is not set | 574 | # CONFIG_PATA_SIL680 is not set |
612 | # CONFIG_PATA_VIA is not set | 575 | # CONFIG_PATA_VIA is not set |
613 | # CONFIG_PATA_WINBOND is not set | 576 | # CONFIG_PATA_WINBOND is not set |
614 | # CONFIG_PATA_PLATFORM is not set | 577 | # CONFIG_PATA_PLATFORM is not set |
615 | |||
616 | # | ||
617 | # Multi-device support (RAID and LVM) | ||
618 | # | ||
619 | # CONFIG_MD is not set | 578 | # CONFIG_MD is not set |
620 | |||
621 | # | ||
622 | # Fusion MPT device support | ||
623 | # | ||
624 | # CONFIG_FUSION is not set | 579 | # CONFIG_FUSION is not set |
625 | # CONFIG_FUSION_SPI is not set | ||
626 | # CONFIG_FUSION_FC is not set | ||
627 | # CONFIG_FUSION_SAS is not set | ||
628 | 580 | ||
629 | # | 581 | # |
630 | # IEEE 1394 (FireWire) support | 582 | # IEEE 1394 (FireWire) support |
631 | # | 583 | # |
632 | # CONFIG_IEEE1394 is not set | ||
633 | 584 | ||
634 | # | 585 | # |
635 | # I2O device support | 586 | # An alternative FireWire stack is available with EXPERIMENTAL=y |
636 | # | 587 | # |
588 | # CONFIG_IEEE1394 is not set | ||
637 | # CONFIG_I2O is not set | 589 | # CONFIG_I2O is not set |
638 | |||
639 | # | ||
640 | # Network device support | ||
641 | # | ||
642 | CONFIG_NETDEVICES=y | 590 | CONFIG_NETDEVICES=y |
591 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
643 | # CONFIG_DUMMY is not set | 592 | # CONFIG_DUMMY is not set |
644 | # CONFIG_BONDING is not set | 593 | # CONFIG_BONDING is not set |
645 | # CONFIG_EQUALIZER is not set | 594 | # CONFIG_EQUALIZER is not set |
646 | # CONFIG_TUN is not set | 595 | # CONFIG_TUN is not set |
647 | 596 | # CONFIG_VETH is not set | |
648 | # | ||
649 | # ARCnet devices | ||
650 | # | ||
651 | # CONFIG_ARCNET is not set | 597 | # CONFIG_ARCNET is not set |
652 | |||
653 | # | ||
654 | # PHY device support | ||
655 | # | ||
656 | CONFIG_PHYLIB=y | 598 | CONFIG_PHYLIB=y |
657 | 599 | ||
658 | # | 600 | # |
@@ -666,85 +608,59 @@ CONFIG_PHYLIB=y | |||
666 | # CONFIG_VITESSE_PHY is not set | 608 | # CONFIG_VITESSE_PHY is not set |
667 | CONFIG_SMSC_PHY=y | 609 | CONFIG_SMSC_PHY=y |
668 | # CONFIG_BROADCOM_PHY is not set | 610 | # CONFIG_BROADCOM_PHY is not set |
611 | # CONFIG_ICPLUS_PHY is not set | ||
612 | # CONFIG_REALTEK_PHY is not set | ||
669 | # CONFIG_FIXED_PHY is not set | 613 | # CONFIG_FIXED_PHY is not set |
670 | 614 | # CONFIG_MDIO_BITBANG is not set | |
671 | # | ||
672 | # Ethernet (10 or 100Mbit) | ||
673 | # | ||
674 | CONFIG_NET_ETHERNET=y | 615 | CONFIG_NET_ETHERNET=y |
675 | CONFIG_MII=y | 616 | CONFIG_MII=y |
617 | # CONFIG_AX88796 is not set | ||
676 | # CONFIG_STNIC is not set | 618 | # CONFIG_STNIC is not set |
677 | # CONFIG_HAPPYMEAL is not set | 619 | # CONFIG_HAPPYMEAL is not set |
678 | # CONFIG_SUNGEM is not set | 620 | # CONFIG_SUNGEM is not set |
679 | # CONFIG_CASSINI is not set | 621 | # CONFIG_CASSINI is not set |
680 | # CONFIG_NET_VENDOR_3COM is not set | 622 | # CONFIG_NET_VENDOR_3COM is not set |
681 | CONFIG_SMC91X=y | 623 | CONFIG_SMC91X=y |
682 | |||
683 | # | ||
684 | # Tulip family network device support | ||
685 | # | ||
686 | # CONFIG_NET_TULIP is not set | 624 | # CONFIG_NET_TULIP is not set |
687 | # CONFIG_HP100 is not set | 625 | # CONFIG_HP100 is not set |
626 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
627 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
628 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
629 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
688 | CONFIG_NET_PCI=y | 630 | CONFIG_NET_PCI=y |
689 | # CONFIG_PCNET32 is not set | 631 | # CONFIG_PCNET32 is not set |
690 | # CONFIG_AMD8111_ETH is not set | 632 | # CONFIG_AMD8111_ETH is not set |
691 | # CONFIG_ADAPTEC_STARFIRE is not set | 633 | # CONFIG_ADAPTEC_STARFIRE is not set |
692 | # CONFIG_B44 is not set | 634 | # CONFIG_B44 is not set |
693 | # CONFIG_FORCEDETH is not set | 635 | # CONFIG_FORCEDETH is not set |
694 | # CONFIG_DGRS is not set | ||
695 | # CONFIG_EEPRO100 is not set | 636 | # CONFIG_EEPRO100 is not set |
696 | # CONFIG_E100 is not set | 637 | # CONFIG_E100 is not set |
697 | # CONFIG_FEALNX is not set | 638 | # CONFIG_FEALNX is not set |
698 | # CONFIG_NATSEMI is not set | 639 | # CONFIG_NATSEMI is not set |
699 | # CONFIG_NE2K_PCI is not set | 640 | # CONFIG_NE2K_PCI is not set |
700 | # CONFIG_8139TOO is not set | 641 | # CONFIG_8139TOO is not set |
642 | # CONFIG_R6040 is not set | ||
701 | # CONFIG_SIS900 is not set | 643 | # CONFIG_SIS900 is not set |
702 | # CONFIG_EPIC100 is not set | 644 | # CONFIG_EPIC100 is not set |
703 | # CONFIG_SUNDANCE is not set | 645 | # CONFIG_SUNDANCE is not set |
704 | # CONFIG_TLAN is not set | 646 | # CONFIG_TLAN is not set |
705 | # CONFIG_VIA_RHINE is not set | 647 | # CONFIG_VIA_RHINE is not set |
706 | 648 | # CONFIG_NETDEV_1000 is not set | |
707 | # | 649 | # CONFIG_NETDEV_10000 is not set |
708 | # Ethernet (1000 Mbit) | ||
709 | # | ||
710 | # CONFIG_ACENIC is not set | ||
711 | # CONFIG_DL2K is not set | ||
712 | # CONFIG_E1000 is not set | ||
713 | # CONFIG_NS83820 is not set | ||
714 | # CONFIG_HAMACHI is not set | ||
715 | # CONFIG_R8169 is not set | ||
716 | # CONFIG_SIS190 is not set | ||
717 | # CONFIG_SKGE is not set | ||
718 | # CONFIG_SKY2 is not set | ||
719 | # CONFIG_SK98LIN is not set | ||
720 | # CONFIG_VIA_VELOCITY is not set | ||
721 | # CONFIG_TIGON3 is not set | ||
722 | # CONFIG_BNX2 is not set | ||
723 | # CONFIG_QLA3XXX is not set | ||
724 | |||
725 | # | ||
726 | # Ethernet (10000 Mbit) | ||
727 | # | ||
728 | # CONFIG_CHELSIO_T1 is not set | ||
729 | # CONFIG_CHELSIO_T3 is not set | ||
730 | # CONFIG_IXGB is not set | ||
731 | # CONFIG_S2IO is not set | ||
732 | # CONFIG_MYRI10GE is not set | ||
733 | # CONFIG_NETXEN_NIC is not set | ||
734 | |||
735 | # | ||
736 | # Token Ring devices | ||
737 | # | ||
738 | # CONFIG_TR is not set | 650 | # CONFIG_TR is not set |
739 | 651 | ||
740 | # | 652 | # |
741 | # Wireless LAN (non-hamradio) | 653 | # Wireless LAN |
742 | # | 654 | # |
743 | # CONFIG_NET_RADIO is not set | 655 | # CONFIG_WLAN_PRE80211 is not set |
656 | # CONFIG_WLAN_80211 is not set | ||
744 | 657 | ||
745 | # | 658 | # |
746 | # Wan interfaces | 659 | # USB Network Adapters |
747 | # | 660 | # |
661 | # CONFIG_USB_KAWETH is not set | ||
662 | # CONFIG_USB_PEGASUS is not set | ||
663 | # CONFIG_USB_USBNET is not set | ||
748 | # CONFIG_WAN is not set | 664 | # CONFIG_WAN is not set |
749 | # CONFIG_FDDI is not set | 665 | # CONFIG_FDDI is not set |
750 | # CONFIG_PPP is not set | 666 | # CONFIG_PPP is not set |
@@ -752,15 +668,7 @@ CONFIG_NET_PCI=y | |||
752 | # CONFIG_NET_FC is not set | 668 | # CONFIG_NET_FC is not set |
753 | # CONFIG_NETPOLL is not set | 669 | # CONFIG_NETPOLL is not set |
754 | # CONFIG_NET_POLL_CONTROLLER is not set | 670 | # CONFIG_NET_POLL_CONTROLLER is not set |
755 | |||
756 | # | ||
757 | # ISDN subsystem | ||
758 | # | ||
759 | # CONFIG_ISDN is not set | 671 | # CONFIG_ISDN is not set |
760 | |||
761 | # | ||
762 | # Telephony Support | ||
763 | # | ||
764 | # CONFIG_PHONE is not set | 672 | # CONFIG_PHONE is not set |
765 | 673 | ||
766 | # | 674 | # |
@@ -768,6 +676,7 @@ CONFIG_NET_PCI=y | |||
768 | # | 676 | # |
769 | CONFIG_INPUT=y | 677 | CONFIG_INPUT=y |
770 | # CONFIG_INPUT_FF_MEMLESS is not set | 678 | # CONFIG_INPUT_FF_MEMLESS is not set |
679 | # CONFIG_INPUT_POLLDEV is not set | ||
771 | 680 | ||
772 | # | 681 | # |
773 | # Userland interfaces | 682 | # Userland interfaces |
@@ -777,7 +686,6 @@ CONFIG_INPUT_MOUSEDEV=y | |||
777 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | 686 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 |
778 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | 687 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 |
779 | # CONFIG_INPUT_JOYDEV is not set | 688 | # CONFIG_INPUT_JOYDEV is not set |
780 | # CONFIG_INPUT_TSDEV is not set | ||
781 | # CONFIG_INPUT_EVDEV is not set | 689 | # CONFIG_INPUT_EVDEV is not set |
782 | # CONFIG_INPUT_EVBUG is not set | 690 | # CONFIG_INPUT_EVBUG is not set |
783 | 691 | ||
@@ -787,6 +695,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | |||
787 | # CONFIG_INPUT_KEYBOARD is not set | 695 | # CONFIG_INPUT_KEYBOARD is not set |
788 | # CONFIG_INPUT_MOUSE is not set | 696 | # CONFIG_INPUT_MOUSE is not set |
789 | # CONFIG_INPUT_JOYSTICK is not set | 697 | # CONFIG_INPUT_JOYSTICK is not set |
698 | # CONFIG_INPUT_TABLET is not set | ||
790 | # CONFIG_INPUT_TOUCHSCREEN is not set | 699 | # CONFIG_INPUT_TOUCHSCREEN is not set |
791 | # CONFIG_INPUT_MISC is not set | 700 | # CONFIG_INPUT_MISC is not set |
792 | 701 | ||
@@ -821,31 +730,12 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
821 | # CONFIG_SERIAL_JSM is not set | 730 | # CONFIG_SERIAL_JSM is not set |
822 | CONFIG_UNIX98_PTYS=y | 731 | CONFIG_UNIX98_PTYS=y |
823 | # CONFIG_LEGACY_PTYS is not set | 732 | # CONFIG_LEGACY_PTYS is not set |
824 | |||
825 | # | ||
826 | # IPMI | ||
827 | # | ||
828 | # CONFIG_IPMI_HANDLER is not set | 733 | # CONFIG_IPMI_HANDLER is not set |
829 | |||
830 | # | ||
831 | # Watchdog Cards | ||
832 | # | ||
833 | # CONFIG_WATCHDOG is not set | ||
834 | # CONFIG_HW_RANDOM is not set | 734 | # CONFIG_HW_RANDOM is not set |
835 | # CONFIG_GEN_RTC is not set | ||
836 | # CONFIG_DTLK is not set | ||
837 | # CONFIG_R3964 is not set | 735 | # CONFIG_R3964 is not set |
838 | # CONFIG_APPLICOM is not set | 736 | # CONFIG_APPLICOM is not set |
839 | # CONFIG_DRM is not set | ||
840 | # CONFIG_RAW_DRIVER is not set | 737 | # CONFIG_RAW_DRIVER is not set |
841 | 738 | CONFIG_DEVPORT=y | |
842 | # | ||
843 | # TPM devices | ||
844 | # | ||
845 | |||
846 | # | ||
847 | # I2C support | ||
848 | # | ||
849 | # CONFIG_I2C is not set | 739 | # CONFIG_I2C is not set |
850 | 740 | ||
851 | # | 741 | # |
@@ -853,18 +743,27 @@ CONFIG_UNIX98_PTYS=y | |||
853 | # | 743 | # |
854 | # CONFIG_SPI is not set | 744 | # CONFIG_SPI is not set |
855 | # CONFIG_SPI_MASTER is not set | 745 | # CONFIG_SPI_MASTER is not set |
856 | |||
857 | # | ||
858 | # Dallas's 1-wire bus | ||
859 | # | ||
860 | # CONFIG_W1 is not set | 746 | # CONFIG_W1 is not set |
861 | 747 | # CONFIG_POWER_SUPPLY is not set | |
862 | # | ||
863 | # Hardware Monitoring support | ||
864 | # | ||
865 | CONFIG_HWMON=y | 748 | CONFIG_HWMON=y |
866 | # CONFIG_HWMON_VID is not set | 749 | # CONFIG_HWMON_VID is not set |
750 | # CONFIG_SENSORS_IT87 is not set | ||
751 | # CONFIG_SENSORS_PC87360 is not set | ||
752 | # CONFIG_SENSORS_SIS5595 is not set | ||
753 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
754 | # CONFIG_SENSORS_VIA686A is not set | ||
755 | # CONFIG_SENSORS_VT8231 is not set | ||
756 | # CONFIG_SENSORS_W83627HF is not set | ||
757 | # CONFIG_SENSORS_W83627EHF is not set | ||
867 | # CONFIG_HWMON_DEBUG_CHIP is not set | 758 | # CONFIG_HWMON_DEBUG_CHIP is not set |
759 | CONFIG_THERMAL=y | ||
760 | # CONFIG_WATCHDOG is not set | ||
761 | |||
762 | # | ||
763 | # Sonics Silicon Backplane | ||
764 | # | ||
765 | CONFIG_SSB_POSSIBLE=y | ||
766 | # CONFIG_SSB is not set | ||
868 | 767 | ||
869 | # | 768 | # |
870 | # Multifunction device drivers | 769 | # Multifunction device drivers |
@@ -875,23 +774,27 @@ CONFIG_HWMON=y | |||
875 | # Multimedia devices | 774 | # Multimedia devices |
876 | # | 775 | # |
877 | # CONFIG_VIDEO_DEV is not set | 776 | # CONFIG_VIDEO_DEV is not set |
878 | 777 | # CONFIG_DVB_CORE is not set | |
879 | # | 778 | # CONFIG_DAB is not set |
880 | # Digital Video Broadcasting Devices | ||
881 | # | ||
882 | # CONFIG_DVB is not set | ||
883 | # CONFIG_USB_DABUSB is not set | ||
884 | 779 | ||
885 | # | 780 | # |
886 | # Graphics support | 781 | # Graphics support |
887 | # | 782 | # |
888 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 783 | # CONFIG_DRM is not set |
784 | # CONFIG_VGASTATE is not set | ||
785 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
889 | CONFIG_FB=y | 786 | CONFIG_FB=y |
890 | CONFIG_FIRMWARE_EDID=y | 787 | CONFIG_FIRMWARE_EDID=y |
891 | # CONFIG_FB_DDC is not set | 788 | # CONFIG_FB_DDC is not set |
892 | # CONFIG_FB_CFB_FILLRECT is not set | 789 | # CONFIG_FB_CFB_FILLRECT is not set |
893 | # CONFIG_FB_CFB_COPYAREA is not set | 790 | # CONFIG_FB_CFB_COPYAREA is not set |
894 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 791 | # CONFIG_FB_CFB_IMAGEBLIT is not set |
792 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
793 | # CONFIG_FB_SYS_FILLRECT is not set | ||
794 | # CONFIG_FB_SYS_COPYAREA is not set | ||
795 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
796 | # CONFIG_FB_SYS_FOPS is not set | ||
797 | CONFIG_FB_DEFERRED_IO=y | ||
895 | # CONFIG_FB_SVGALIB is not set | 798 | # CONFIG_FB_SVGALIB is not set |
896 | # CONFIG_FB_MACMODES is not set | 799 | # CONFIG_FB_MACMODES is not set |
897 | # CONFIG_FB_BACKLIGHT is not set | 800 | # CONFIG_FB_BACKLIGHT is not set |
@@ -899,14 +802,13 @@ CONFIG_FIRMWARE_EDID=y | |||
899 | # CONFIG_FB_TILEBLITTING is not set | 802 | # CONFIG_FB_TILEBLITTING is not set |
900 | 803 | ||
901 | # | 804 | # |
902 | # Frambuffer hardware drivers | 805 | # Frame buffer hardware drivers |
903 | # | 806 | # |
904 | # CONFIG_FB_CIRRUS is not set | 807 | # CONFIG_FB_CIRRUS is not set |
905 | # CONFIG_FB_PM2 is not set | 808 | # CONFIG_FB_PM2 is not set |
906 | # CONFIG_FB_CYBER2000 is not set | 809 | # CONFIG_FB_CYBER2000 is not set |
907 | # CONFIG_FB_ASILIANT is not set | 810 | # CONFIG_FB_ASILIANT is not set |
908 | # CONFIG_FB_IMSTT is not set | 811 | # CONFIG_FB_IMSTT is not set |
909 | # CONFIG_FB_EPSON1355 is not set | ||
910 | # CONFIG_FB_S1D13XXX is not set | 812 | # CONFIG_FB_S1D13XXX is not set |
911 | # CONFIG_FB_NVIDIA is not set | 813 | # CONFIG_FB_NVIDIA is not set |
912 | # CONFIG_FB_RIVA is not set | 814 | # CONFIG_FB_RIVA is not set |
@@ -920,22 +822,27 @@ CONFIG_FIRMWARE_EDID=y | |||
920 | # CONFIG_FB_KYRO is not set | 822 | # CONFIG_FB_KYRO is not set |
921 | # CONFIG_FB_3DFX is not set | 823 | # CONFIG_FB_3DFX is not set |
922 | # CONFIG_FB_VOODOO1 is not set | 824 | # CONFIG_FB_VOODOO1 is not set |
825 | # CONFIG_FB_VT8623 is not set | ||
923 | # CONFIG_FB_TRIDENT is not set | 826 | # CONFIG_FB_TRIDENT is not set |
827 | # CONFIG_FB_ARK is not set | ||
924 | # CONFIG_FB_VIRTUAL is not set | 828 | # CONFIG_FB_VIRTUAL is not set |
829 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
830 | |||
831 | # | ||
832 | # Display device support | ||
833 | # | ||
834 | # CONFIG_DISPLAY_SUPPORT is not set | ||
925 | 835 | ||
926 | # | 836 | # |
927 | # Console display driver support | 837 | # Console display driver support |
928 | # | 838 | # |
929 | CONFIG_DUMMY_CONSOLE=y | 839 | CONFIG_DUMMY_CONSOLE=y |
930 | CONFIG_FRAMEBUFFER_CONSOLE=y | 840 | CONFIG_FRAMEBUFFER_CONSOLE=y |
841 | # CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set | ||
931 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | 842 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set |
932 | # CONFIG_FONTS is not set | 843 | # CONFIG_FONTS is not set |
933 | CONFIG_FONT_8x8=y | 844 | CONFIG_FONT_8x8=y |
934 | CONFIG_FONT_8x16=y | 845 | CONFIG_FONT_8x16=y |
935 | |||
936 | # | ||
937 | # Logo configuration | ||
938 | # | ||
939 | CONFIG_LOGO=y | 846 | CONFIG_LOGO=y |
940 | # CONFIG_LOGO_LINUX_MONO is not set | 847 | # CONFIG_LOGO_LINUX_MONO is not set |
941 | # CONFIG_LOGO_LINUX_VGA16 is not set | 848 | # CONFIG_LOGO_LINUX_VGA16 is not set |
@@ -958,39 +865,38 @@ CONFIG_SOUND=y | |||
958 | # Open Sound System | 865 | # Open Sound System |
959 | # | 866 | # |
960 | CONFIG_SOUND_PRIME=y | 867 | CONFIG_SOUND_PRIME=y |
961 | # CONFIG_OBSOLETE_OSS is not set | ||
962 | # CONFIG_SOUND_BT878 is not set | ||
963 | # CONFIG_SOUND_ICH is not set | ||
964 | # CONFIG_SOUND_TRIDENT is not set | 868 | # CONFIG_SOUND_TRIDENT is not set |
965 | # CONFIG_SOUND_MSNDCLAS is not set | 869 | # CONFIG_SOUND_MSNDCLAS is not set |
966 | # CONFIG_SOUND_MSNDPIN is not set | 870 | # CONFIG_SOUND_MSNDPIN is not set |
967 | # CONFIG_SOUND_VIA82CXXX is not set | 871 | CONFIG_HID_SUPPORT=y |
968 | |||
969 | # | ||
970 | # HID Devices | ||
971 | # | ||
972 | CONFIG_HID=y | 872 | CONFIG_HID=y |
973 | # CONFIG_HID_DEBUG is not set | 873 | # CONFIG_HID_DEBUG is not set |
874 | # CONFIG_HIDRAW is not set | ||
974 | 875 | ||
975 | # | 876 | # |
976 | # USB support | 877 | # USB Input Devices |
977 | # | 878 | # |
879 | CONFIG_USB_HID=y | ||
880 | # CONFIG_USB_HIDINPUT_POWERBOOK is not set | ||
881 | # CONFIG_USB_HIDDEV is not set | ||
882 | CONFIG_USB_SUPPORT=y | ||
978 | CONFIG_USB_ARCH_HAS_HCD=y | 883 | CONFIG_USB_ARCH_HAS_HCD=y |
979 | CONFIG_USB_ARCH_HAS_OHCI=y | 884 | CONFIG_USB_ARCH_HAS_OHCI=y |
980 | CONFIG_USB_ARCH_HAS_EHCI=y | 885 | CONFIG_USB_ARCH_HAS_EHCI=y |
981 | CONFIG_USB=y | 886 | CONFIG_USB=y |
982 | CONFIG_USB_DEBUG=y | 887 | # CONFIG_USB_DEBUG is not set |
888 | # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set | ||
983 | 889 | ||
984 | # | 890 | # |
985 | # Miscellaneous USB options | 891 | # Miscellaneous USB options |
986 | # | 892 | # |
987 | CONFIG_USB_DEVICEFS=y | 893 | CONFIG_USB_DEVICEFS=y |
894 | # CONFIG_USB_DEVICE_CLASS is not set | ||
988 | 895 | ||
989 | # | 896 | # |
990 | # USB Host Controller Drivers | 897 | # USB Host Controller Drivers |
991 | # | 898 | # |
992 | CONFIG_USB_EHCI_HCD=y | 899 | CONFIG_USB_EHCI_HCD=y |
993 | # CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set | ||
994 | # CONFIG_USB_ISP116X_HCD is not set | 900 | # CONFIG_USB_ISP116X_HCD is not set |
995 | CONFIG_USB_OHCI_HCD=y | 901 | CONFIG_USB_OHCI_HCD=y |
996 | # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set | 902 | # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set |
@@ -998,6 +904,7 @@ CONFIG_USB_OHCI_HCD=y | |||
998 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | 904 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y |
999 | # CONFIG_USB_UHCI_HCD is not set | 905 | # CONFIG_USB_UHCI_HCD is not set |
1000 | # CONFIG_USB_SL811_HCD is not set | 906 | # CONFIG_USB_SL811_HCD is not set |
907 | # CONFIG_USB_R8A66597_HCD is not set | ||
1001 | 908 | ||
1002 | # | 909 | # |
1003 | # USB Device Class drivers | 910 | # USB Device Class drivers |
@@ -1015,49 +922,20 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
1015 | CONFIG_USB_STORAGE=y | 922 | CONFIG_USB_STORAGE=y |
1016 | # CONFIG_USB_STORAGE_DEBUG is not set | 923 | # CONFIG_USB_STORAGE_DEBUG is not set |
1017 | # CONFIG_USB_STORAGE_FREECOM is not set | 924 | # CONFIG_USB_STORAGE_FREECOM is not set |
925 | # CONFIG_USB_STORAGE_ISD200 is not set | ||
1018 | # CONFIG_USB_STORAGE_DPCM is not set | 926 | # CONFIG_USB_STORAGE_DPCM is not set |
1019 | # CONFIG_USB_STORAGE_KARMA is not set | 927 | # CONFIG_USB_STORAGE_KARMA is not set |
1020 | # CONFIG_USB_LIBUSUAL is not set | 928 | # CONFIG_USB_LIBUSUAL is not set |
1021 | 929 | ||
1022 | # | 930 | # |
1023 | # USB Input Devices | ||
1024 | # | ||
1025 | CONFIG_USB_HID=y | ||
1026 | # CONFIG_USB_HIDINPUT_POWERBOOK is not set | ||
1027 | # CONFIG_USB_HIDDEV is not set | ||
1028 | # CONFIG_USB_AIPTEK is not set | ||
1029 | # CONFIG_USB_WACOM is not set | ||
1030 | # CONFIG_USB_ACECAD is not set | ||
1031 | # CONFIG_USB_KBTAB is not set | ||
1032 | # CONFIG_USB_POWERMATE is not set | ||
1033 | # CONFIG_USB_TOUCHSCREEN is not set | ||
1034 | # CONFIG_USB_XPAD is not set | ||
1035 | # CONFIG_USB_ATI_REMOTE is not set | ||
1036 | # CONFIG_USB_ATI_REMOTE2 is not set | ||
1037 | # CONFIG_USB_APPLETOUCH is not set | ||
1038 | # CONFIG_USB_GTCO is not set | ||
1039 | |||
1040 | # | ||
1041 | # USB Imaging devices | 931 | # USB Imaging devices |
1042 | # | 932 | # |
1043 | # CONFIG_USB_MICROTEK is not set | 933 | # CONFIG_USB_MICROTEK is not set |
1044 | |||
1045 | # | ||
1046 | # USB Network Adapters | ||
1047 | # | ||
1048 | # CONFIG_USB_KAWETH is not set | ||
1049 | # CONFIG_USB_PEGASUS is not set | ||
1050 | # CONFIG_USB_USBNET_MII is not set | ||
1051 | # CONFIG_USB_USBNET is not set | ||
1052 | CONFIG_USB_MON=y | 934 | CONFIG_USB_MON=y |
1053 | 935 | ||
1054 | # | 936 | # |
1055 | # USB port drivers | 937 | # USB port drivers |
1056 | # | 938 | # |
1057 | |||
1058 | # | ||
1059 | # USB Serial Converter support | ||
1060 | # | ||
1061 | # CONFIG_USB_SERIAL is not set | 939 | # CONFIG_USB_SERIAL is not set |
1062 | 940 | ||
1063 | # | 941 | # |
@@ -1078,67 +956,17 @@ CONFIG_USB_MON=y | |||
1078 | # CONFIG_USB_LD is not set | 956 | # CONFIG_USB_LD is not set |
1079 | # CONFIG_USB_TRANCEVIBRATOR is not set | 957 | # CONFIG_USB_TRANCEVIBRATOR is not set |
1080 | # CONFIG_USB_IOWARRIOR is not set | 958 | # CONFIG_USB_IOWARRIOR is not set |
1081 | |||
1082 | # | ||
1083 | # USB DSL modem support | ||
1084 | # | ||
1085 | |||
1086 | # | ||
1087 | # USB Gadget Support | ||
1088 | # | ||
1089 | # CONFIG_USB_GADGET is not set | 959 | # CONFIG_USB_GADGET is not set |
1090 | |||
1091 | # | ||
1092 | # MMC/SD Card support | ||
1093 | # | ||
1094 | # CONFIG_MMC is not set | 960 | # CONFIG_MMC is not set |
1095 | 961 | # CONFIG_MEMSTICK is not set | |
1096 | # | ||
1097 | # LED devices | ||
1098 | # | ||
1099 | # CONFIG_NEW_LEDS is not set | 962 | # CONFIG_NEW_LEDS is not set |
1100 | |||
1101 | # | ||
1102 | # LED drivers | ||
1103 | # | ||
1104 | |||
1105 | # | ||
1106 | # LED Triggers | ||
1107 | # | ||
1108 | |||
1109 | # | ||
1110 | # InfiniBand support | ||
1111 | # | ||
1112 | # CONFIG_INFINIBAND is not set | 963 | # CONFIG_INFINIBAND is not set |
964 | # CONFIG_RTC_CLASS is not set | ||
1113 | 965 | ||
1114 | # | 966 | # |
1115 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 967 | # Userspace I/O |
1116 | # | ||
1117 | |||
1118 | # | ||
1119 | # Real Time Clock | ||
1120 | # | ||
1121 | |||
1122 | # | ||
1123 | # DMA Engine support | ||
1124 | # | ||
1125 | # CONFIG_DMA_ENGINE is not set | ||
1126 | |||
1127 | # | ||
1128 | # DMA Clients | ||
1129 | # | ||
1130 | |||
1131 | # | ||
1132 | # DMA Devices | ||
1133 | # | ||
1134 | |||
1135 | # | ||
1136 | # Auxiliary Display support | ||
1137 | # | ||
1138 | |||
1139 | # | ||
1140 | # Virtualization | ||
1141 | # | 968 | # |
969 | # CONFIG_UIO is not set | ||
1142 | 970 | ||
1143 | # | 971 | # |
1144 | # File systems | 972 | # File systems |
@@ -1151,12 +979,11 @@ CONFIG_EXT2_FS=y | |||
1151 | # CONFIG_JFS_FS is not set | 979 | # CONFIG_JFS_FS is not set |
1152 | # CONFIG_FS_POSIX_ACL is not set | 980 | # CONFIG_FS_POSIX_ACL is not set |
1153 | # CONFIG_XFS_FS is not set | 981 | # CONFIG_XFS_FS is not set |
1154 | # CONFIG_MINIX_FS is not set | 982 | # CONFIG_OCFS2_FS is not set |
1155 | # CONFIG_ROMFS_FS is not set | 983 | # CONFIG_DNOTIFY is not set |
1156 | CONFIG_INOTIFY=y | 984 | CONFIG_INOTIFY=y |
1157 | CONFIG_INOTIFY_USER=y | 985 | CONFIG_INOTIFY_USER=y |
1158 | # CONFIG_QUOTA is not set | 986 | # CONFIG_QUOTA is not set |
1159 | # CONFIG_DNOTIFY is not set | ||
1160 | # CONFIG_AUTOFS_FS is not set | 987 | # CONFIG_AUTOFS_FS is not set |
1161 | # CONFIG_AUTOFS4_FS is not set | 988 | # CONFIG_AUTOFS4_FS is not set |
1162 | # CONFIG_FUSE_FS is not set | 989 | # CONFIG_FUSE_FS is not set |
@@ -1181,14 +1008,14 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | |||
1181 | # Pseudo filesystems | 1008 | # Pseudo filesystems |
1182 | # | 1009 | # |
1183 | CONFIG_PROC_FS=y | 1010 | CONFIG_PROC_FS=y |
1184 | # CONFIG_PROC_KCORE is not set | 1011 | CONFIG_PROC_KCORE=y |
1185 | CONFIG_PROC_SYSCTL=y | 1012 | CONFIG_PROC_SYSCTL=y |
1186 | # CONFIG_SYSFS is not set | 1013 | CONFIG_SYSFS=y |
1187 | CONFIG_TMPFS=y | 1014 | CONFIG_TMPFS=y |
1188 | # CONFIG_TMPFS_POSIX_ACL is not set | 1015 | # CONFIG_TMPFS_POSIX_ACL is not set |
1189 | # CONFIG_HUGETLBFS is not set | 1016 | # CONFIG_HUGETLBFS is not set |
1190 | # CONFIG_HUGETLB_PAGE is not set | 1017 | # CONFIG_HUGETLB_PAGE is not set |
1191 | CONFIG_RAMFS=y | 1018 | # CONFIG_CONFIGFS_FS is not set |
1192 | 1019 | ||
1193 | # | 1020 | # |
1194 | # Miscellaneous filesystems | 1021 | # Miscellaneous filesystems |
@@ -1197,14 +1024,13 @@ CONFIG_RAMFS=y | |||
1197 | # CONFIG_JFFS2_FS is not set | 1024 | # CONFIG_JFFS2_FS is not set |
1198 | CONFIG_CRAMFS=y | 1025 | CONFIG_CRAMFS=y |
1199 | # CONFIG_VXFS_FS is not set | 1026 | # CONFIG_VXFS_FS is not set |
1027 | # CONFIG_MINIX_FS is not set | ||
1200 | # CONFIG_HPFS_FS is not set | 1028 | # CONFIG_HPFS_FS is not set |
1201 | # CONFIG_QNX4FS_FS is not set | 1029 | # CONFIG_QNX4FS_FS is not set |
1030 | # CONFIG_ROMFS_FS is not set | ||
1202 | # CONFIG_SYSV_FS is not set | 1031 | # CONFIG_SYSV_FS is not set |
1203 | # CONFIG_UFS_FS is not set | 1032 | # CONFIG_UFS_FS is not set |
1204 | 1033 | CONFIG_NETWORK_FILESYSTEMS=y | |
1205 | # | ||
1206 | # Network File Systems | ||
1207 | # | ||
1208 | CONFIG_NFS_FS=y | 1034 | CONFIG_NFS_FS=y |
1209 | CONFIG_NFS_V3=y | 1035 | CONFIG_NFS_V3=y |
1210 | # CONFIG_NFS_V3_ACL is not set | 1036 | # CONFIG_NFS_V3_ACL is not set |
@@ -1225,10 +1051,6 @@ CONFIG_SUNRPC=y | |||
1225 | # | 1051 | # |
1226 | # CONFIG_PARTITION_ADVANCED is not set | 1052 | # CONFIG_PARTITION_ADVANCED is not set |
1227 | CONFIG_MSDOS_PARTITION=y | 1053 | CONFIG_MSDOS_PARTITION=y |
1228 | |||
1229 | # | ||
1230 | # Native Language Support | ||
1231 | # | ||
1232 | CONFIG_NLS=y | 1054 | CONFIG_NLS=y |
1233 | CONFIG_NLS_DEFAULT="iso8859-1" | 1055 | CONFIG_NLS_DEFAULT="iso8859-1" |
1234 | # CONFIG_NLS_CODEPAGE_437 is not set | 1056 | # CONFIG_NLS_CODEPAGE_437 is not set |
@@ -1275,13 +1097,15 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1275 | # | 1097 | # |
1276 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | 1098 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y |
1277 | # CONFIG_PRINTK_TIME is not set | 1099 | # CONFIG_PRINTK_TIME is not set |
1100 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
1278 | CONFIG_ENABLE_MUST_CHECK=y | 1101 | CONFIG_ENABLE_MUST_CHECK=y |
1279 | # CONFIG_MAGIC_SYSRQ is not set | 1102 | # CONFIG_MAGIC_SYSRQ is not set |
1280 | # CONFIG_UNUSED_SYMBOLS is not set | 1103 | # CONFIG_UNUSED_SYMBOLS is not set |
1104 | CONFIG_DEBUG_FS=y | ||
1281 | # CONFIG_HEADERS_CHECK is not set | 1105 | # CONFIG_HEADERS_CHECK is not set |
1282 | # CONFIG_DEBUG_KERNEL is not set | 1106 | # CONFIG_DEBUG_KERNEL is not set |
1283 | CONFIG_LOG_BUF_SHIFT=14 | ||
1284 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1107 | # CONFIG_DEBUG_BUGVERBOSE is not set |
1108 | # CONFIG_SAMPLES is not set | ||
1285 | # CONFIG_SH_STANDARD_BIOS is not set | 1109 | # CONFIG_SH_STANDARD_BIOS is not set |
1286 | # CONFIG_EARLY_SCIF_CONSOLE is not set | 1110 | # CONFIG_EARLY_SCIF_CONSOLE is not set |
1287 | # CONFIG_SH_KGDB is not set | 1111 | # CONFIG_SH_KGDB is not set |
@@ -1290,11 +1114,48 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
1290 | # Security options | 1114 | # Security options |
1291 | # | 1115 | # |
1292 | # CONFIG_KEYS is not set | 1116 | # CONFIG_KEYS is not set |
1293 | 1117 | # CONFIG_SECURITY is not set | |
1294 | # | 1118 | CONFIG_CRYPTO=y |
1295 | # Cryptographic options | 1119 | # CONFIG_CRYPTO_SEQIV is not set |
1296 | # | 1120 | # CONFIG_CRYPTO_MANAGER is not set |
1297 | # CONFIG_CRYPTO is not set | 1121 | # CONFIG_CRYPTO_HMAC is not set |
1122 | # CONFIG_CRYPTO_NULL is not set | ||
1123 | # CONFIG_CRYPTO_MD4 is not set | ||
1124 | # CONFIG_CRYPTO_MD5 is not set | ||
1125 | # CONFIG_CRYPTO_SHA1 is not set | ||
1126 | # CONFIG_CRYPTO_SHA256 is not set | ||
1127 | # CONFIG_CRYPTO_SHA512 is not set | ||
1128 | # CONFIG_CRYPTO_WP512 is not set | ||
1129 | # CONFIG_CRYPTO_TGR192 is not set | ||
1130 | # CONFIG_CRYPTO_ECB is not set | ||
1131 | # CONFIG_CRYPTO_CBC is not set | ||
1132 | # CONFIG_CRYPTO_PCBC is not set | ||
1133 | # CONFIG_CRYPTO_CTR is not set | ||
1134 | # CONFIG_CRYPTO_GCM is not set | ||
1135 | # CONFIG_CRYPTO_CCM is not set | ||
1136 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1137 | # CONFIG_CRYPTO_DES is not set | ||
1138 | # CONFIG_CRYPTO_FCRYPT is not set | ||
1139 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1140 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1141 | # CONFIG_CRYPTO_SERPENT is not set | ||
1142 | # CONFIG_CRYPTO_AES is not set | ||
1143 | # CONFIG_CRYPTO_CAST5 is not set | ||
1144 | # CONFIG_CRYPTO_CAST6 is not set | ||
1145 | # CONFIG_CRYPTO_TEA is not set | ||
1146 | # CONFIG_CRYPTO_ARC4 is not set | ||
1147 | # CONFIG_CRYPTO_KHAZAD is not set | ||
1148 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1149 | # CONFIG_CRYPTO_SEED is not set | ||
1150 | # CONFIG_CRYPTO_DEFLATE is not set | ||
1151 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
1152 | # CONFIG_CRYPTO_CRC32C is not set | ||
1153 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
1154 | # CONFIG_CRYPTO_TEST is not set | ||
1155 | # CONFIG_CRYPTO_AUTHENC is not set | ||
1156 | # CONFIG_CRYPTO_LZO is not set | ||
1157 | CONFIG_CRYPTO_HW=y | ||
1158 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | ||
1298 | 1159 | ||
1299 | # | 1160 | # |
1300 | # Library routines | 1161 | # Library routines |
@@ -1302,9 +1163,12 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
1302 | CONFIG_BITREVERSE=y | 1163 | CONFIG_BITREVERSE=y |
1303 | # CONFIG_CRC_CCITT is not set | 1164 | # CONFIG_CRC_CCITT is not set |
1304 | # CONFIG_CRC16 is not set | 1165 | # CONFIG_CRC16 is not set |
1166 | # CONFIG_CRC_ITU_T is not set | ||
1305 | CONFIG_CRC32=y | 1167 | CONFIG_CRC32=y |
1168 | # CONFIG_CRC7 is not set | ||
1306 | # CONFIG_LIBCRC32C is not set | 1169 | # CONFIG_LIBCRC32C is not set |
1307 | CONFIG_ZLIB_INFLATE=y | 1170 | CONFIG_ZLIB_INFLATE=y |
1308 | CONFIG_PLIST=y | 1171 | CONFIG_PLIST=y |
1309 | CONFIG_HAS_IOMEM=y | 1172 | CONFIG_HAS_IOMEM=y |
1310 | CONFIG_HAS_IOPORT=y | 1173 | CONFIG_HAS_IOPORT=y |
1174 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/sh/configs/sh7710voipgw_defconfig b/arch/sh/configs/sh7710voipgw_defconfig index 9380c321169a..37e49a589207 100644 --- a/arch/sh/configs/sh7710voipgw_defconfig +++ b/arch/sh/configs/sh7710voipgw_defconfig | |||
@@ -1,40 +1,55 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.18 | 3 | # Linux kernel version: 2.6.25-rc4 |
4 | # Tue Oct 3 12:48:56 2006 | 4 | # Thu Mar 6 16:02:29 2008 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | ||
7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
9 | CONFIG_GENERIC_BUG=y | ||
8 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 10 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
9 | CONFIG_GENERIC_HWEIGHT=y | 11 | CONFIG_GENERIC_HWEIGHT=y |
10 | CONFIG_GENERIC_HARDIRQS=y | 12 | CONFIG_GENERIC_HARDIRQS=y |
11 | CONFIG_GENERIC_IRQ_PROBE=y | 13 | CONFIG_GENERIC_IRQ_PROBE=y |
12 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 14 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
15 | CONFIG_GENERIC_TIME=y | ||
16 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
17 | CONFIG_STACKTRACE_SUPPORT=y | ||
18 | CONFIG_LOCKDEP_SUPPORT=y | ||
19 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
20 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
21 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | ||
22 | CONFIG_ARCH_SUPPORTS_AOUT=y | ||
13 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
14 | 24 | ||
15 | # | 25 | # |
16 | # Code maturity level options | 26 | # General setup |
17 | # | 27 | # |
18 | CONFIG_EXPERIMENTAL=y | 28 | CONFIG_EXPERIMENTAL=y |
19 | CONFIG_BROKEN_ON_SMP=y | 29 | CONFIG_BROKEN_ON_SMP=y |
20 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 30 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
21 | |||
22 | # | ||
23 | # General setup | ||
24 | # | ||
25 | CONFIG_LOCALVERSION="" | 31 | CONFIG_LOCALVERSION="" |
26 | CONFIG_LOCALVERSION_AUTO=y | 32 | CONFIG_LOCALVERSION_AUTO=y |
27 | # CONFIG_SWAP is not set | 33 | # CONFIG_SWAP is not set |
28 | CONFIG_SYSVIPC=y | 34 | CONFIG_SYSVIPC=y |
29 | # CONFIG_IPC_NS is not set | 35 | CONFIG_SYSVIPC_SYSCTL=y |
30 | CONFIG_POSIX_MQUEUE=y | 36 | CONFIG_POSIX_MQUEUE=y |
31 | # CONFIG_BSD_PROCESS_ACCT is not set | 37 | # CONFIG_BSD_PROCESS_ACCT is not set |
32 | # CONFIG_TASKSTATS is not set | 38 | # CONFIG_TASKSTATS is not set |
33 | # CONFIG_UTS_NS is not set | ||
34 | # CONFIG_AUDIT is not set | 39 | # CONFIG_AUDIT is not set |
35 | # CONFIG_IKCONFIG is not set | 40 | # CONFIG_IKCONFIG is not set |
41 | CONFIG_LOG_BUF_SHIFT=14 | ||
42 | # CONFIG_CGROUPS is not set | ||
43 | CONFIG_GROUP_SCHED=y | ||
44 | CONFIG_FAIR_GROUP_SCHED=y | ||
45 | # CONFIG_RT_GROUP_SCHED is not set | ||
46 | CONFIG_USER_SCHED=y | ||
47 | # CONFIG_CGROUP_SCHED is not set | ||
48 | CONFIG_SYSFS_DEPRECATED=y | ||
49 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
36 | # CONFIG_RELAY is not set | 50 | # CONFIG_RELAY is not set |
37 | CONFIG_INITRAMFS_SOURCE="" | 51 | # CONFIG_NAMESPACES is not set |
52 | # CONFIG_BLK_DEV_INITRD is not set | ||
38 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 53 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
39 | CONFIG_SYSCTL=y | 54 | CONFIG_SYSCTL=y |
40 | CONFIG_EMBEDDED=y | 55 | CONFIG_EMBEDDED=y |
@@ -46,33 +61,39 @@ CONFIG_HOTPLUG=y | |||
46 | CONFIG_PRINTK=y | 61 | CONFIG_PRINTK=y |
47 | CONFIG_BUG=y | 62 | CONFIG_BUG=y |
48 | CONFIG_ELF_CORE=y | 63 | CONFIG_ELF_CORE=y |
64 | CONFIG_COMPAT_BRK=y | ||
49 | CONFIG_BASE_FULL=y | 65 | CONFIG_BASE_FULL=y |
50 | # CONFIG_FUTEX is not set | 66 | # CONFIG_FUTEX is not set |
67 | CONFIG_ANON_INODES=y | ||
51 | # CONFIG_EPOLL is not set | 68 | # CONFIG_EPOLL is not set |
69 | CONFIG_SIGNALFD=y | ||
70 | CONFIG_TIMERFD=y | ||
71 | CONFIG_EVENTFD=y | ||
52 | # CONFIG_SHMEM is not set | 72 | # CONFIG_SHMEM is not set |
53 | CONFIG_SLAB=y | ||
54 | CONFIG_VM_EVENT_COUNTERS=y | 73 | CONFIG_VM_EVENT_COUNTERS=y |
74 | CONFIG_SLAB=y | ||
75 | # CONFIG_SLUB is not set | ||
76 | # CONFIG_SLOB is not set | ||
77 | # CONFIG_PROFILING is not set | ||
78 | # CONFIG_MARKERS is not set | ||
79 | CONFIG_HAVE_OPROFILE=y | ||
80 | # CONFIG_HAVE_KPROBES is not set | ||
81 | # CONFIG_HAVE_KRETPROBES is not set | ||
82 | CONFIG_PROC_PAGE_MONITOR=y | ||
83 | CONFIG_SLABINFO=y | ||
55 | CONFIG_TINY_SHMEM=y | 84 | CONFIG_TINY_SHMEM=y |
56 | CONFIG_BASE_SMALL=0 | 85 | CONFIG_BASE_SMALL=0 |
57 | # CONFIG_SLOB is not set | ||
58 | |||
59 | # | ||
60 | # Loadable module support | ||
61 | # | ||
62 | CONFIG_MODULES=y | 86 | CONFIG_MODULES=y |
63 | CONFIG_MODULE_UNLOAD=y | 87 | CONFIG_MODULE_UNLOAD=y |
64 | CONFIG_MODULE_FORCE_UNLOAD=y | 88 | CONFIG_MODULE_FORCE_UNLOAD=y |
65 | # CONFIG_MODVERSIONS is not set | 89 | # CONFIG_MODVERSIONS is not set |
66 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 90 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
67 | # CONFIG_KMOD is not set | 91 | # CONFIG_KMOD is not set |
68 | |||
69 | # | ||
70 | # Block layer | ||
71 | # | ||
72 | CONFIG_BLOCK=y | 92 | CONFIG_BLOCK=y |
73 | # CONFIG_LBD is not set | 93 | # CONFIG_LBD is not set |
74 | # CONFIG_BLK_DEV_IO_TRACE is not set | 94 | # CONFIG_BLK_DEV_IO_TRACE is not set |
75 | # CONFIG_LSF is not set | 95 | # CONFIG_LSF is not set |
96 | # CONFIG_BLK_DEV_BSG is not set | ||
76 | 97 | ||
77 | # | 98 | # |
78 | # IO Schedulers | 99 | # IO Schedulers |
@@ -86,59 +107,26 @@ CONFIG_DEFAULT_DEADLINE=y | |||
86 | # CONFIG_DEFAULT_CFQ is not set | 107 | # CONFIG_DEFAULT_CFQ is not set |
87 | # CONFIG_DEFAULT_NOOP is not set | 108 | # CONFIG_DEFAULT_NOOP is not set |
88 | CONFIG_DEFAULT_IOSCHED="deadline" | 109 | CONFIG_DEFAULT_IOSCHED="deadline" |
110 | CONFIG_CLASSIC_RCU=y | ||
111 | # CONFIG_PREEMPT_RCU is not set | ||
89 | 112 | ||
90 | # | 113 | # |
91 | # System type | 114 | # System type |
92 | # | 115 | # |
93 | # CONFIG_SH_SOLUTION_ENGINE is not set | ||
94 | # CONFIG_SH_7751_SOLUTION_ENGINE is not set | ||
95 | # CONFIG_SH_7300_SOLUTION_ENGINE is not set | ||
96 | # CONFIG_SH_7343_SOLUTION_ENGINE is not set | ||
97 | # CONFIG_SH_73180_SOLUTION_ENGINE is not set | ||
98 | # CONFIG_SH_7751_SYSTEMH is not set | ||
99 | # CONFIG_SH_HP6XX is not set | ||
100 | # CONFIG_SH_EC3104 is not set | ||
101 | # CONFIG_SH_SATURN is not set | ||
102 | # CONFIG_SH_DREAMCAST is not set | ||
103 | # CONFIG_SH_BIGSUR is not set | ||
104 | # CONFIG_SH_MPC1211 is not set | ||
105 | # CONFIG_SH_SH03 is not set | ||
106 | # CONFIG_SH_SECUREEDGE5410 is not set | ||
107 | # CONFIG_SH_HS7751RVOIP is not set | ||
108 | CONFIG_SH_7710VOIPGW=y | ||
109 | # CONFIG_SH_RTS7751R2D is not set | ||
110 | # CONFIG_SH_R7780RP is not set | ||
111 | # CONFIG_SH_EDOSK7705 is not set | ||
112 | # CONFIG_SH_SH4202_MICRODEV is not set | ||
113 | # CONFIG_SH_LANDISK is not set | ||
114 | # CONFIG_SH_TITAN is not set | ||
115 | # CONFIG_SH_SHMIN is not set | ||
116 | # CONFIG_SH_UNKNOWN is not set | ||
117 | |||
118 | # | ||
119 | # Processor selection | ||
120 | # | ||
121 | CONFIG_CPU_SH3=y | 116 | CONFIG_CPU_SH3=y |
122 | 117 | # CONFIG_CPU_SUBTYPE_SH7619 is not set | |
123 | # | 118 | # CONFIG_CPU_SUBTYPE_SH7203 is not set |
124 | # SH-2 Processor Support | 119 | # CONFIG_CPU_SUBTYPE_SH7206 is not set |
125 | # | 120 | # CONFIG_CPU_SUBTYPE_SH7263 is not set |
126 | # CONFIG_CPU_SUBTYPE_SH7604 is not set | ||
127 | |||
128 | # | ||
129 | # SH-3 Processor Support | ||
130 | # | ||
131 | # CONFIG_CPU_SUBTYPE_SH7300 is not set | ||
132 | # CONFIG_CPU_SUBTYPE_SH7705 is not set | 121 | # CONFIG_CPU_SUBTYPE_SH7705 is not set |
133 | # CONFIG_CPU_SUBTYPE_SH7706 is not set | 122 | # CONFIG_CPU_SUBTYPE_SH7706 is not set |
134 | # CONFIG_CPU_SUBTYPE_SH7707 is not set | 123 | # CONFIG_CPU_SUBTYPE_SH7707 is not set |
135 | # CONFIG_CPU_SUBTYPE_SH7708 is not set | 124 | # CONFIG_CPU_SUBTYPE_SH7708 is not set |
136 | # CONFIG_CPU_SUBTYPE_SH7709 is not set | 125 | # CONFIG_CPU_SUBTYPE_SH7709 is not set |
137 | CONFIG_CPU_SUBTYPE_SH7710=y | 126 | CONFIG_CPU_SUBTYPE_SH7710=y |
138 | 127 | # CONFIG_CPU_SUBTYPE_SH7712 is not set | |
139 | # | 128 | # CONFIG_CPU_SUBTYPE_SH7720 is not set |
140 | # SH-4 Processor Support | 129 | # CONFIG_CPU_SUBTYPE_SH7721 is not set |
141 | # | ||
142 | # CONFIG_CPU_SUBTYPE_SH7750 is not set | 130 | # CONFIG_CPU_SUBTYPE_SH7750 is not set |
143 | # CONFIG_CPU_SUBTYPE_SH7091 is not set | 131 | # CONFIG_CPU_SUBTYPE_SH7091 is not set |
144 | # CONFIG_CPU_SUBTYPE_SH7750R is not set | 132 | # CONFIG_CPU_SUBTYPE_SH7750R is not set |
@@ -147,65 +135,84 @@ CONFIG_CPU_SUBTYPE_SH7710=y | |||
147 | # CONFIG_CPU_SUBTYPE_SH7751R is not set | 135 | # CONFIG_CPU_SUBTYPE_SH7751R is not set |
148 | # CONFIG_CPU_SUBTYPE_SH7760 is not set | 136 | # CONFIG_CPU_SUBTYPE_SH7760 is not set |
149 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set | 137 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set |
150 | 138 | # CONFIG_CPU_SUBTYPE_SH7763 is not set | |
151 | # | ||
152 | # ST40 Processor Support | ||
153 | # | ||
154 | # CONFIG_CPU_SUBTYPE_ST40STB1 is not set | ||
155 | # CONFIG_CPU_SUBTYPE_ST40GX1 is not set | ||
156 | |||
157 | # | ||
158 | # SH-4A Processor Support | ||
159 | # | ||
160 | # CONFIG_CPU_SUBTYPE_SH7770 is not set | 139 | # CONFIG_CPU_SUBTYPE_SH7770 is not set |
161 | # CONFIG_CPU_SUBTYPE_SH7780 is not set | 140 | # CONFIG_CPU_SUBTYPE_SH7780 is not set |
162 | 141 | # CONFIG_CPU_SUBTYPE_SH7785 is not set | |
163 | # | 142 | # CONFIG_CPU_SUBTYPE_SHX3 is not set |
164 | # SH4AL-DSP Processor Support | ||
165 | # | ||
166 | # CONFIG_CPU_SUBTYPE_SH73180 is not set | ||
167 | # CONFIG_CPU_SUBTYPE_SH7343 is not set | 143 | # CONFIG_CPU_SUBTYPE_SH7343 is not set |
144 | # CONFIG_CPU_SUBTYPE_SH7722 is not set | ||
145 | # CONFIG_CPU_SUBTYPE_SH7366 is not set | ||
146 | # CONFIG_CPU_SUBTYPE_SH5_101 is not set | ||
147 | # CONFIG_CPU_SUBTYPE_SH5_103 is not set | ||
168 | 148 | ||
169 | # | 149 | # |
170 | # Memory management options | 150 | # Memory management options |
171 | # | 151 | # |
152 | CONFIG_QUICKLIST=y | ||
172 | CONFIG_MMU=y | 153 | CONFIG_MMU=y |
173 | CONFIG_PAGE_OFFSET=0x80000000 | 154 | CONFIG_PAGE_OFFSET=0x80000000 |
174 | CONFIG_MEMORY_START=0x0c000000 | 155 | CONFIG_MEMORY_START=0x0c000000 |
175 | CONFIG_MEMORY_SIZE=0x00800000 | 156 | CONFIG_MEMORY_SIZE=0x00800000 |
157 | CONFIG_29BIT=y | ||
176 | CONFIG_VSYSCALL=y | 158 | CONFIG_VSYSCALL=y |
159 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
160 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | ||
161 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y | ||
162 | CONFIG_MAX_ACTIVE_REGIONS=1 | ||
163 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
164 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||
165 | CONFIG_PAGE_SIZE_4KB=y | ||
166 | # CONFIG_PAGE_SIZE_8KB is not set | ||
167 | # CONFIG_PAGE_SIZE_64KB is not set | ||
177 | CONFIG_SELECT_MEMORY_MODEL=y | 168 | CONFIG_SELECT_MEMORY_MODEL=y |
178 | CONFIG_FLATMEM_MANUAL=y | 169 | CONFIG_FLATMEM_MANUAL=y |
179 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 170 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
180 | # CONFIG_SPARSEMEM_MANUAL is not set | 171 | # CONFIG_SPARSEMEM_MANUAL is not set |
181 | CONFIG_FLATMEM=y | 172 | CONFIG_FLATMEM=y |
182 | CONFIG_FLAT_NODE_MEM_MAP=y | 173 | CONFIG_FLAT_NODE_MEM_MAP=y |
183 | # CONFIG_SPARSEMEM_STATIC is not set | 174 | CONFIG_SPARSEMEM_STATIC=y |
175 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
184 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 176 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
185 | # CONFIG_RESOURCES_64BIT is not set | 177 | # CONFIG_RESOURCES_64BIT is not set |
178 | CONFIG_ZONE_DMA_FLAG=0 | ||
179 | CONFIG_NR_QUICK=2 | ||
186 | 180 | ||
187 | # | 181 | # |
188 | # Cache configuration | 182 | # Cache configuration |
189 | # | 183 | # |
190 | # CONFIG_SH_DIRECT_MAPPED is not set | 184 | # CONFIG_SH_DIRECT_MAPPED is not set |
191 | # CONFIG_SH_WRITETHROUGH is not set | 185 | CONFIG_CACHE_WRITEBACK=y |
192 | # CONFIG_SH_OCRAM is not set | 186 | # CONFIG_CACHE_WRITETHROUGH is not set |
187 | # CONFIG_CACHE_OFF is not set | ||
193 | 188 | ||
194 | # | 189 | # |
195 | # Processor features | 190 | # Processor features |
196 | # | 191 | # |
197 | CONFIG_CPU_LITTLE_ENDIAN=y | 192 | CONFIG_CPU_LITTLE_ENDIAN=y |
193 | # CONFIG_CPU_BIG_ENDIAN is not set | ||
198 | # CONFIG_SH_FPU_EMU is not set | 194 | # CONFIG_SH_FPU_EMU is not set |
199 | CONFIG_SH_DSP=y | 195 | CONFIG_SH_DSP=y |
200 | # CONFIG_SH_ADC is not set | 196 | # CONFIG_SH_ADC is not set |
201 | CONFIG_CPU_HAS_INTEVT=y | 197 | CONFIG_CPU_HAS_INTEVT=y |
202 | CONFIG_CPU_HAS_SR_RB=y | 198 | CONFIG_CPU_HAS_SR_RB=y |
199 | CONFIG_CPU_HAS_DSP=y | ||
203 | 200 | ||
204 | # | 201 | # |
205 | # Timer support | 202 | # Board support |
203 | # | ||
204 | # CONFIG_SH_SOLUTION_ENGINE is not set | ||
205 | |||
206 | # | ||
207 | # Timer and clock configuration | ||
206 | # | 208 | # |
207 | CONFIG_SH_TMU=y | 209 | CONFIG_SH_TMU=y |
210 | CONFIG_SH_TIMER_IRQ=16 | ||
208 | CONFIG_SH_PCLK_FREQ=32768000 | 211 | CONFIG_SH_PCLK_FREQ=32768000 |
212 | # CONFIG_TICK_ONESHOT is not set | ||
213 | # CONFIG_NO_HZ is not set | ||
214 | # CONFIG_HIGH_RES_TIMERS is not set | ||
215 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
209 | 216 | ||
210 | # | 217 | # |
211 | # CPU Frequency scaling | 218 | # CPU Frequency scaling |
@@ -220,56 +227,51 @@ CONFIG_SH_PCLK_FREQ=32768000 | |||
220 | # | 227 | # |
221 | # Companion Chips | 228 | # Companion Chips |
222 | # | 229 | # |
223 | # CONFIG_HD6446X_SERIES is not set | 230 | |
231 | # | ||
232 | # Additional SuperH Device Drivers | ||
233 | # | ||
234 | # CONFIG_HEARTBEAT is not set | ||
235 | # CONFIG_PUSH_SWITCH is not set | ||
224 | 236 | ||
225 | # | 237 | # |
226 | # Kernel features | 238 | # Kernel features |
227 | # | 239 | # |
228 | # CONFIG_HZ_100 is not set | 240 | # CONFIG_HZ_100 is not set |
229 | CONFIG_HZ_250=y | 241 | CONFIG_HZ_250=y |
242 | # CONFIG_HZ_300 is not set | ||
230 | # CONFIG_HZ_1000 is not set | 243 | # CONFIG_HZ_1000 is not set |
231 | CONFIG_HZ=250 | 244 | CONFIG_HZ=250 |
245 | # CONFIG_SCHED_HRTICK is not set | ||
232 | # CONFIG_KEXEC is not set | 246 | # CONFIG_KEXEC is not set |
233 | # CONFIG_SMP is not set | 247 | # CONFIG_CRASH_DUMP is not set |
234 | CONFIG_PREEMPT_NONE=y | 248 | CONFIG_PREEMPT_NONE=y |
235 | # CONFIG_PREEMPT_VOLUNTARY is not set | 249 | # CONFIG_PREEMPT_VOLUNTARY is not set |
236 | # CONFIG_PREEMPT is not set | 250 | # CONFIG_PREEMPT is not set |
251 | CONFIG_RCU_TRACE=y | ||
252 | CONFIG_GUSA=y | ||
253 | # CONFIG_GUSA_RB is not set | ||
237 | 254 | ||
238 | # | 255 | # |
239 | # Boot options | 256 | # Boot options |
240 | # | 257 | # |
241 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 | 258 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 |
242 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | 259 | CONFIG_BOOT_LINK_OFFSET=0x00800000 |
243 | # CONFIG_UBC_WAKEUP is not set | ||
244 | # CONFIG_CMDLINE_BOOL is not set | 260 | # CONFIG_CMDLINE_BOOL is not set |
245 | 261 | ||
246 | # | 262 | # |
247 | # Bus options | 263 | # Bus options |
248 | # | 264 | # |
249 | # CONFIG_PCI is not set | 265 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
250 | |||
251 | # | ||
252 | # PCCARD (PCMCIA/CardBus) support | ||
253 | # | ||
254 | # CONFIG_PCCARD is not set | 266 | # CONFIG_PCCARD is not set |
255 | 267 | ||
256 | # | 268 | # |
257 | # PCI Hotplug Support | ||
258 | # | ||
259 | |||
260 | # | ||
261 | # Executable file formats | 269 | # Executable file formats |
262 | # | 270 | # |
263 | CONFIG_BINFMT_ELF=y | 271 | CONFIG_BINFMT_ELF=y |
264 | # CONFIG_BINFMT_FLAT is not set | ||
265 | # CONFIG_BINFMT_MISC is not set | 272 | # CONFIG_BINFMT_MISC is not set |
266 | 273 | ||
267 | # | 274 | # |
268 | # Power management options (EXPERIMENTAL) | ||
269 | # | ||
270 | # CONFIG_PM is not set | ||
271 | |||
272 | # | ||
273 | # Networking | 275 | # Networking |
274 | # | 276 | # |
275 | CONFIG_NET=y | 277 | CONFIG_NET=y |
@@ -277,13 +279,14 @@ CONFIG_NET=y | |||
277 | # | 279 | # |
278 | # Networking options | 280 | # Networking options |
279 | # | 281 | # |
280 | # CONFIG_NETDEBUG is not set | ||
281 | CONFIG_PACKET=y | 282 | CONFIG_PACKET=y |
282 | # CONFIG_PACKET_MMAP is not set | 283 | # CONFIG_PACKET_MMAP is not set |
283 | CONFIG_UNIX=y | 284 | CONFIG_UNIX=y |
284 | CONFIG_XFRM=y | 285 | CONFIG_XFRM=y |
285 | # CONFIG_XFRM_USER is not set | 286 | # CONFIG_XFRM_USER is not set |
286 | # CONFIG_XFRM_SUB_POLICY is not set | 287 | # CONFIG_XFRM_SUB_POLICY is not set |
288 | # CONFIG_XFRM_MIGRATE is not set | ||
289 | # CONFIG_XFRM_STATISTICS is not set | ||
287 | # CONFIG_NET_KEY is not set | 290 | # CONFIG_NET_KEY is not set |
288 | CONFIG_INET=y | 291 | CONFIG_INET=y |
289 | # CONFIG_IP_MULTICAST is not set | 292 | # CONFIG_IP_MULTICAST is not set |
@@ -301,14 +304,13 @@ CONFIG_SYN_COOKIES=y | |||
301 | # CONFIG_INET_TUNNEL is not set | 304 | # CONFIG_INET_TUNNEL is not set |
302 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | 305 | CONFIG_INET_XFRM_MODE_TRANSPORT=y |
303 | CONFIG_INET_XFRM_MODE_TUNNEL=y | 306 | CONFIG_INET_XFRM_MODE_TUNNEL=y |
307 | CONFIG_INET_XFRM_MODE_BEET=y | ||
308 | # CONFIG_INET_LRO is not set | ||
304 | # CONFIG_INET_DIAG is not set | 309 | # CONFIG_INET_DIAG is not set |
305 | # CONFIG_TCP_CONG_ADVANCED is not set | 310 | # CONFIG_TCP_CONG_ADVANCED is not set |
306 | CONFIG_TCP_CONG_CUBIC=y | 311 | CONFIG_TCP_CONG_CUBIC=y |
307 | CONFIG_DEFAULT_TCP_CONG="cubic" | 312 | CONFIG_DEFAULT_TCP_CONG="cubic" |
308 | 313 | # CONFIG_TCP_MD5SIG is not set | |
309 | # | ||
310 | # IP: Virtual Server Configuration | ||
311 | # | ||
312 | # CONFIG_IP_VS is not set | 314 | # CONFIG_IP_VS is not set |
313 | # CONFIG_IPV6 is not set | 315 | # CONFIG_IPV6 is not set |
314 | # CONFIG_INET6_XFRM_TUNNEL is not set | 316 | # CONFIG_INET6_XFRM_TUNNEL is not set |
@@ -316,44 +318,24 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
316 | # CONFIG_NETWORK_SECMARK is not set | 318 | # CONFIG_NETWORK_SECMARK is not set |
317 | CONFIG_NETFILTER=y | 319 | CONFIG_NETFILTER=y |
318 | # CONFIG_NETFILTER_DEBUG is not set | 320 | # CONFIG_NETFILTER_DEBUG is not set |
321 | CONFIG_NETFILTER_ADVANCED=y | ||
319 | 322 | ||
320 | # | 323 | # |
321 | # Core Netfilter Configuration | 324 | # Core Netfilter Configuration |
322 | # | 325 | # |
323 | # CONFIG_NETFILTER_NETLINK is not set | 326 | # CONFIG_NETFILTER_NETLINK_QUEUE is not set |
327 | # CONFIG_NETFILTER_NETLINK_LOG is not set | ||
328 | # CONFIG_NF_CONNTRACK is not set | ||
324 | # CONFIG_NETFILTER_XTABLES is not set | 329 | # CONFIG_NETFILTER_XTABLES is not set |
325 | 330 | ||
326 | # | 331 | # |
327 | # IP: Netfilter Configuration | 332 | # IP: Netfilter Configuration |
328 | # | 333 | # |
329 | CONFIG_IP_NF_CONNTRACK=y | ||
330 | # CONFIG_IP_NF_CT_ACCT is not set | ||
331 | # CONFIG_IP_NF_CONNTRACK_MARK is not set | ||
332 | # CONFIG_IP_NF_CONNTRACK_EVENTS is not set | ||
333 | # CONFIG_IP_NF_CT_PROTO_SCTP is not set | ||
334 | CONFIG_IP_NF_FTP=m | ||
335 | # CONFIG_IP_NF_IRC is not set | ||
336 | # CONFIG_IP_NF_NETBIOS_NS is not set | ||
337 | # CONFIG_IP_NF_TFTP is not set | ||
338 | # CONFIG_IP_NF_AMANDA is not set | ||
339 | CONFIG_IP_NF_PPTP=m | ||
340 | # CONFIG_IP_NF_H323 is not set | ||
341 | # CONFIG_IP_NF_SIP is not set | ||
342 | # CONFIG_IP_NF_QUEUE is not set | 334 | # CONFIG_IP_NF_QUEUE is not set |
343 | 335 | # CONFIG_IP_NF_IPTABLES is not set | |
344 | # | 336 | # CONFIG_IP_NF_ARPTABLES is not set |
345 | # DCCP Configuration (EXPERIMENTAL) | ||
346 | # | ||
347 | # CONFIG_IP_DCCP is not set | 337 | # CONFIG_IP_DCCP is not set |
348 | |||
349 | # | ||
350 | # SCTP Configuration (EXPERIMENTAL) | ||
351 | # | ||
352 | # CONFIG_IP_SCTP is not set | 338 | # CONFIG_IP_SCTP is not set |
353 | |||
354 | # | ||
355 | # TIPC Configuration (EXPERIMENTAL) | ||
356 | # | ||
357 | # CONFIG_TIPC is not set | 339 | # CONFIG_TIPC is not set |
358 | # CONFIG_ATM is not set | 340 | # CONFIG_ATM is not set |
359 | # CONFIG_BRIDGE is not set | 341 | # CONFIG_BRIDGE is not set |
@@ -366,14 +348,7 @@ CONFIG_IP_NF_PPTP=m | |||
366 | # CONFIG_LAPB is not set | 348 | # CONFIG_LAPB is not set |
367 | # CONFIG_ECONET is not set | 349 | # CONFIG_ECONET is not set |
368 | # CONFIG_WAN_ROUTER is not set | 350 | # CONFIG_WAN_ROUTER is not set |
369 | |||
370 | # | ||
371 | # QoS and/or fair queueing | ||
372 | # | ||
373 | CONFIG_NET_SCHED=y | 351 | CONFIG_NET_SCHED=y |
374 | CONFIG_NET_SCH_CLK_JIFFIES=y | ||
375 | # CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set | ||
376 | # CONFIG_NET_SCH_CLK_CPU is not set | ||
377 | 352 | ||
378 | # | 353 | # |
379 | # Queueing/Scheduling | 354 | # Queueing/Scheduling |
@@ -382,6 +357,7 @@ CONFIG_NET_SCH_CBQ=y | |||
382 | # CONFIG_NET_SCH_HTB is not set | 357 | # CONFIG_NET_SCH_HTB is not set |
383 | # CONFIG_NET_SCH_HFSC is not set | 358 | # CONFIG_NET_SCH_HFSC is not set |
384 | # CONFIG_NET_SCH_PRIO is not set | 359 | # CONFIG_NET_SCH_PRIO is not set |
360 | # CONFIG_NET_SCH_RR is not set | ||
385 | # CONFIG_NET_SCH_RED is not set | 361 | # CONFIG_NET_SCH_RED is not set |
386 | # CONFIG_NET_SCH_SFQ is not set | 362 | # CONFIG_NET_SCH_SFQ is not set |
387 | # CONFIG_NET_SCH_TEQL is not set | 363 | # CONFIG_NET_SCH_TEQL is not set |
@@ -389,7 +365,6 @@ CONFIG_NET_SCH_CBQ=y | |||
389 | # CONFIG_NET_SCH_GRED is not set | 365 | # CONFIG_NET_SCH_GRED is not set |
390 | # CONFIG_NET_SCH_DSMARK is not set | 366 | # CONFIG_NET_SCH_DSMARK is not set |
391 | # CONFIG_NET_SCH_NETEM is not set | 367 | # CONFIG_NET_SCH_NETEM is not set |
392 | CONFIG_NET_SCH_INGRESS=y | ||
393 | 368 | ||
394 | # | 369 | # |
395 | # Classification | 370 | # Classification |
@@ -405,20 +380,31 @@ CONFIG_NET_CLS_U32=y | |||
405 | # CONFIG_CLS_U32_MARK is not set | 380 | # CONFIG_CLS_U32_MARK is not set |
406 | # CONFIG_NET_CLS_RSVP is not set | 381 | # CONFIG_NET_CLS_RSVP is not set |
407 | # CONFIG_NET_CLS_RSVP6 is not set | 382 | # CONFIG_NET_CLS_RSVP6 is not set |
383 | # CONFIG_NET_CLS_FLOW is not set | ||
408 | # CONFIG_NET_EMATCH is not set | 384 | # CONFIG_NET_EMATCH is not set |
409 | # CONFIG_NET_CLS_ACT is not set | 385 | # CONFIG_NET_CLS_ACT is not set |
410 | CONFIG_NET_CLS_POLICE=y | ||
411 | # CONFIG_NET_CLS_IND is not set | 386 | # CONFIG_NET_CLS_IND is not set |
412 | CONFIG_NET_ESTIMATOR=y | 387 | CONFIG_NET_SCH_FIFO=y |
413 | 388 | ||
414 | # | 389 | # |
415 | # Network testing | 390 | # Network testing |
416 | # | 391 | # |
417 | # CONFIG_NET_PKTGEN is not set | 392 | # CONFIG_NET_PKTGEN is not set |
418 | # CONFIG_HAMRADIO is not set | 393 | # CONFIG_HAMRADIO is not set |
394 | # CONFIG_CAN is not set | ||
419 | # CONFIG_IRDA is not set | 395 | # CONFIG_IRDA is not set |
420 | # CONFIG_BT is not set | 396 | # CONFIG_BT is not set |
397 | # CONFIG_AF_RXRPC is not set | ||
398 | |||
399 | # | ||
400 | # Wireless | ||
401 | # | ||
402 | # CONFIG_CFG80211 is not set | ||
403 | # CONFIG_WIRELESS_EXT is not set | ||
404 | # CONFIG_MAC80211 is not set | ||
421 | # CONFIG_IEEE80211 is not set | 405 | # CONFIG_IEEE80211 is not set |
406 | # CONFIG_RFKILL is not set | ||
407 | # CONFIG_NET_9P is not set | ||
422 | 408 | ||
423 | # | 409 | # |
424 | # Device Drivers | 410 | # Device Drivers |
@@ -427,19 +413,12 @@ CONFIG_NET_ESTIMATOR=y | |||
427 | # | 413 | # |
428 | # Generic Driver Options | 414 | # Generic Driver Options |
429 | # | 415 | # |
416 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
430 | CONFIG_STANDALONE=y | 417 | CONFIG_STANDALONE=y |
431 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 418 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
432 | CONFIG_FW_LOADER=y | 419 | CONFIG_FW_LOADER=y |
433 | # CONFIG_SYS_HYPERVISOR is not set | 420 | # CONFIG_SYS_HYPERVISOR is not set |
434 | |||
435 | # | ||
436 | # Connector - unified userspace <-> kernelspace linker | ||
437 | # | ||
438 | # CONFIG_CONNECTOR is not set | 421 | # CONFIG_CONNECTOR is not set |
439 | |||
440 | # | ||
441 | # Memory Technology Devices (MTD) | ||
442 | # | ||
443 | CONFIG_MTD=y | 422 | CONFIG_MTD=y |
444 | # CONFIG_MTD_DEBUG is not set | 423 | # CONFIG_MTD_DEBUG is not set |
445 | # CONFIG_MTD_CONCAT is not set | 424 | # CONFIG_MTD_CONCAT is not set |
@@ -451,12 +430,14 @@ CONFIG_MTD_PARTITIONS=y | |||
451 | # User Modules And Translation Layers | 430 | # User Modules And Translation Layers |
452 | # | 431 | # |
453 | CONFIG_MTD_CHAR=y | 432 | CONFIG_MTD_CHAR=y |
433 | CONFIG_MTD_BLKDEVS=y | ||
454 | CONFIG_MTD_BLOCK=y | 434 | CONFIG_MTD_BLOCK=y |
455 | # CONFIG_FTL is not set | 435 | # CONFIG_FTL is not set |
456 | # CONFIG_NFTL is not set | 436 | # CONFIG_NFTL is not set |
457 | # CONFIG_INFTL is not set | 437 | # CONFIG_INFTL is not set |
458 | # CONFIG_RFD_FTL is not set | 438 | # CONFIG_RFD_FTL is not set |
459 | # CONFIG_SSFDC is not set | 439 | # CONFIG_SSFDC is not set |
440 | # CONFIG_MTD_OOPS is not set | ||
460 | 441 | ||
461 | # | 442 | # |
462 | # RAM/ROM/Flash chip drivers | 443 | # RAM/ROM/Flash chip drivers |
@@ -482,7 +463,6 @@ CONFIG_MTD_CFI_UTIL=y | |||
482 | CONFIG_MTD_RAM=y | 463 | CONFIG_MTD_RAM=y |
483 | # CONFIG_MTD_ROM is not set | 464 | # CONFIG_MTD_ROM is not set |
484 | # CONFIG_MTD_ABSENT is not set | 465 | # CONFIG_MTD_ABSENT is not set |
485 | # CONFIG_MTD_OBSOLETE_CHIPS is not set | ||
486 | 466 | ||
487 | # | 467 | # |
488 | # Mapping drivers for chip access | 468 | # Mapping drivers for chip access |
@@ -505,40 +485,25 @@ CONFIG_MTD_RAM=y | |||
505 | # CONFIG_MTD_DOC2000 is not set | 485 | # CONFIG_MTD_DOC2000 is not set |
506 | # CONFIG_MTD_DOC2001 is not set | 486 | # CONFIG_MTD_DOC2001 is not set |
507 | # CONFIG_MTD_DOC2001PLUS is not set | 487 | # CONFIG_MTD_DOC2001PLUS is not set |
508 | |||
509 | # | ||
510 | # NAND Flash Device Drivers | ||
511 | # | ||
512 | # CONFIG_MTD_NAND is not set | 488 | # CONFIG_MTD_NAND is not set |
513 | |||
514 | # | ||
515 | # OneNAND Flash Device Drivers | ||
516 | # | ||
517 | # CONFIG_MTD_ONENAND is not set | 489 | # CONFIG_MTD_ONENAND is not set |
518 | 490 | ||
519 | # | 491 | # |
520 | # Parallel port support | 492 | # UBI - Unsorted block images |
521 | # | 493 | # |
494 | # CONFIG_MTD_UBI is not set | ||
522 | # CONFIG_PARPORT is not set | 495 | # CONFIG_PARPORT is not set |
523 | 496 | CONFIG_BLK_DEV=y | |
524 | # | ||
525 | # Plug and Play support | ||
526 | # | ||
527 | |||
528 | # | ||
529 | # Block devices | ||
530 | # | ||
531 | # CONFIG_BLK_DEV_COW_COMMON is not set | 497 | # CONFIG_BLK_DEV_COW_COMMON is not set |
532 | # CONFIG_BLK_DEV_LOOP is not set | 498 | # CONFIG_BLK_DEV_LOOP is not set |
533 | # CONFIG_BLK_DEV_NBD is not set | 499 | # CONFIG_BLK_DEV_NBD is not set |
534 | # CONFIG_BLK_DEV_RAM is not set | 500 | # CONFIG_BLK_DEV_RAM is not set |
535 | # CONFIG_BLK_DEV_INITRD is not set | ||
536 | # CONFIG_CDROM_PKTCDVD is not set | 501 | # CONFIG_CDROM_PKTCDVD is not set |
537 | # CONFIG_ATA_OVER_ETH is not set | 502 | # CONFIG_ATA_OVER_ETH is not set |
538 | 503 | CONFIG_MISC_DEVICES=y | |
539 | # | 504 | # CONFIG_EEPROM_93CX6 is not set |
540 | # ATA/ATAPI/MFM/RLL support | 505 | # CONFIG_ENCLOSURE_SERVICES is not set |
541 | # | 506 | CONFIG_HAVE_IDE=y |
542 | # CONFIG_IDE is not set | 507 | # CONFIG_IDE is not set |
543 | 508 | ||
544 | # | 509 | # |
@@ -546,104 +511,59 @@ CONFIG_MTD_RAM=y | |||
546 | # | 511 | # |
547 | # CONFIG_RAID_ATTRS is not set | 512 | # CONFIG_RAID_ATTRS is not set |
548 | # CONFIG_SCSI is not set | 513 | # CONFIG_SCSI is not set |
514 | # CONFIG_SCSI_DMA is not set | ||
549 | # CONFIG_SCSI_NETLINK is not set | 515 | # CONFIG_SCSI_NETLINK is not set |
550 | |||
551 | # | ||
552 | # Serial ATA (prod) and Parallel ATA (experimental) drivers | ||
553 | # | ||
554 | # CONFIG_ATA is not set | 516 | # CONFIG_ATA is not set |
555 | |||
556 | # | ||
557 | # Multi-device support (RAID and LVM) | ||
558 | # | ||
559 | # CONFIG_MD is not set | 517 | # CONFIG_MD is not set |
560 | |||
561 | # | ||
562 | # Fusion MPT device support | ||
563 | # | ||
564 | # CONFIG_FUSION is not set | ||
565 | |||
566 | # | ||
567 | # IEEE 1394 (FireWire) support | ||
568 | # | ||
569 | |||
570 | # | ||
571 | # I2O device support | ||
572 | # | ||
573 | |||
574 | # | ||
575 | # Network device support | ||
576 | # | ||
577 | CONFIG_NETDEVICES=y | 518 | CONFIG_NETDEVICES=y |
519 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
578 | # CONFIG_DUMMY is not set | 520 | # CONFIG_DUMMY is not set |
579 | # CONFIG_BONDING is not set | 521 | # CONFIG_BONDING is not set |
522 | # CONFIG_MACVLAN is not set | ||
580 | # CONFIG_EQUALIZER is not set | 523 | # CONFIG_EQUALIZER is not set |
581 | # CONFIG_TUN is not set | 524 | # CONFIG_TUN is not set |
582 | 525 | # CONFIG_VETH is not set | |
583 | # | ||
584 | # PHY device support | ||
585 | # | ||
586 | # CONFIG_PHYLIB is not set | 526 | # CONFIG_PHYLIB is not set |
587 | |||
588 | # | ||
589 | # Ethernet (10 or 100Mbit) | ||
590 | # | ||
591 | CONFIG_NET_ETHERNET=y | 527 | CONFIG_NET_ETHERNET=y |
592 | # CONFIG_MII is not set | 528 | # CONFIG_MII is not set |
529 | # CONFIG_AX88796 is not set | ||
593 | # CONFIG_STNIC is not set | 530 | # CONFIG_STNIC is not set |
594 | # CONFIG_SMC91X is not set | 531 | # CONFIG_SMC91X is not set |
532 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
533 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
534 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
535 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
536 | # CONFIG_B44 is not set | ||
537 | CONFIG_NETDEV_1000=y | ||
538 | # CONFIG_E1000E_ENABLED is not set | ||
539 | CONFIG_NETDEV_10000=y | ||
595 | 540 | ||
596 | # | 541 | # |
597 | # Ethernet (1000 Mbit) | 542 | # Wireless LAN |
598 | # | ||
599 | |||
600 | # | ||
601 | # Ethernet (10000 Mbit) | ||
602 | # | ||
603 | |||
604 | # | ||
605 | # Token Ring devices | ||
606 | # | ||
607 | |||
608 | # | ||
609 | # Wireless LAN (non-hamradio) | ||
610 | # | ||
611 | # CONFIG_NET_RADIO is not set | ||
612 | |||
613 | # | ||
614 | # Wan interfaces | ||
615 | # | 543 | # |
544 | # CONFIG_WLAN_PRE80211 is not set | ||
545 | # CONFIG_WLAN_80211 is not set | ||
616 | # CONFIG_WAN is not set | 546 | # CONFIG_WAN is not set |
617 | # CONFIG_PPP is not set | 547 | # CONFIG_PPP is not set |
618 | # CONFIG_SLIP is not set | 548 | # CONFIG_SLIP is not set |
619 | # CONFIG_SHAPER is not set | ||
620 | # CONFIG_NETCONSOLE is not set | 549 | # CONFIG_NETCONSOLE is not set |
621 | # CONFIG_NETPOLL is not set | 550 | # CONFIG_NETPOLL is not set |
622 | # CONFIG_NET_POLL_CONTROLLER is not set | 551 | # CONFIG_NET_POLL_CONTROLLER is not set |
623 | |||
624 | # | ||
625 | # ISDN subsystem | ||
626 | # | ||
627 | # CONFIG_ISDN is not set | 552 | # CONFIG_ISDN is not set |
628 | |||
629 | # | ||
630 | # Telephony Support | ||
631 | # | ||
632 | CONFIG_PHONE=y | 553 | CONFIG_PHONE=y |
633 | # CONFIG_PHONE_IXJ is not set | ||
634 | 554 | ||
635 | # | 555 | # |
636 | # Input device support | 556 | # Input device support |
637 | # | 557 | # |
638 | CONFIG_INPUT=y | 558 | CONFIG_INPUT=y |
639 | # CONFIG_INPUT_FF_MEMLESS is not set | 559 | # CONFIG_INPUT_FF_MEMLESS is not set |
560 | # CONFIG_INPUT_POLLDEV is not set | ||
640 | 561 | ||
641 | # | 562 | # |
642 | # Userland interfaces | 563 | # Userland interfaces |
643 | # | 564 | # |
644 | # CONFIG_INPUT_MOUSEDEV is not set | 565 | # CONFIG_INPUT_MOUSEDEV is not set |
645 | # CONFIG_INPUT_JOYDEV is not set | 566 | # CONFIG_INPUT_JOYDEV is not set |
646 | # CONFIG_INPUT_TSDEV is not set | ||
647 | # CONFIG_INPUT_EVDEV is not set | 567 | # CONFIG_INPUT_EVDEV is not set |
648 | # CONFIG_INPUT_EVBUG is not set | 568 | # CONFIG_INPUT_EVBUG is not set |
649 | 569 | ||
@@ -653,6 +573,7 @@ CONFIG_INPUT=y | |||
653 | # CONFIG_INPUT_KEYBOARD is not set | 573 | # CONFIG_INPUT_KEYBOARD is not set |
654 | # CONFIG_INPUT_MOUSE is not set | 574 | # CONFIG_INPUT_MOUSE is not set |
655 | # CONFIG_INPUT_JOYSTICK is not set | 575 | # CONFIG_INPUT_JOYSTICK is not set |
576 | # CONFIG_INPUT_TABLET is not set | ||
656 | # CONFIG_INPUT_TOUCHSCREEN is not set | 577 | # CONFIG_INPUT_TOUCHSCREEN is not set |
657 | # CONFIG_INPUT_MISC is not set | 578 | # CONFIG_INPUT_MISC is not set |
658 | 579 | ||
@@ -684,35 +605,11 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
684 | # CONFIG_UNIX98_PTYS is not set | 605 | # CONFIG_UNIX98_PTYS is not set |
685 | CONFIG_LEGACY_PTYS=y | 606 | CONFIG_LEGACY_PTYS=y |
686 | CONFIG_LEGACY_PTY_COUNT=256 | 607 | CONFIG_LEGACY_PTY_COUNT=256 |
687 | |||
688 | # | ||
689 | # IPMI | ||
690 | # | ||
691 | # CONFIG_IPMI_HANDLER is not set | 608 | # CONFIG_IPMI_HANDLER is not set |
692 | |||
693 | # | ||
694 | # Watchdog Cards | ||
695 | # | ||
696 | # CONFIG_WATCHDOG is not set | ||
697 | CONFIG_HW_RANDOM=y | 609 | CONFIG_HW_RANDOM=y |
698 | # CONFIG_GEN_RTC is not set | ||
699 | # CONFIG_DTLK is not set | ||
700 | # CONFIG_R3964 is not set | 610 | # CONFIG_R3964 is not set |
701 | |||
702 | # | ||
703 | # Ftape, the floppy tape device driver | ||
704 | # | ||
705 | # CONFIG_RAW_DRIVER is not set | 611 | # CONFIG_RAW_DRIVER is not set |
706 | |||
707 | # | ||
708 | # TPM devices | ||
709 | # | ||
710 | # CONFIG_TCG_TPM is not set | 612 | # CONFIG_TCG_TPM is not set |
711 | # CONFIG_TELCLOCK is not set | ||
712 | |||
713 | # | ||
714 | # I2C support | ||
715 | # | ||
716 | # CONFIG_I2C is not set | 613 | # CONFIG_I2C is not set |
717 | 614 | ||
718 | # | 615 | # |
@@ -720,119 +617,86 @@ CONFIG_HW_RANDOM=y | |||
720 | # | 617 | # |
721 | # CONFIG_SPI is not set | 618 | # CONFIG_SPI is not set |
722 | # CONFIG_SPI_MASTER is not set | 619 | # CONFIG_SPI_MASTER is not set |
620 | # CONFIG_W1 is not set | ||
621 | # CONFIG_POWER_SUPPLY is not set | ||
622 | # CONFIG_HWMON is not set | ||
623 | CONFIG_THERMAL=y | ||
624 | # CONFIG_WATCHDOG is not set | ||
723 | 625 | ||
724 | # | 626 | # |
725 | # Dallas's 1-wire bus | 627 | # Sonics Silicon Backplane |
726 | # | ||
727 | |||
728 | # | ||
729 | # Hardware Monitoring support | ||
730 | # | 628 | # |
731 | # CONFIG_HWMON is not set | 629 | CONFIG_SSB_POSSIBLE=y |
732 | # CONFIG_HWMON_VID is not set | 630 | # CONFIG_SSB is not set |
733 | 631 | ||
734 | # | 632 | # |
735 | # Misc devices | 633 | # Multifunction device drivers |
736 | # | 634 | # |
635 | # CONFIG_MFD_SM501 is not set | ||
737 | 636 | ||
738 | # | 637 | # |
739 | # Multimedia devices | 638 | # Multimedia devices |
740 | # | 639 | # |
741 | # CONFIG_VIDEO_DEV is not set | 640 | # CONFIG_VIDEO_DEV is not set |
742 | CONFIG_VIDEO_V4L2=y | 641 | # CONFIG_DVB_CORE is not set |
743 | 642 | # CONFIG_DAB is not set | |
744 | # | ||
745 | # Digital Video Broadcasting Devices | ||
746 | # | ||
747 | # CONFIG_DVB is not set | ||
748 | 643 | ||
749 | # | 644 | # |
750 | # Graphics support | 645 | # Graphics support |
751 | # | 646 | # |
752 | CONFIG_FIRMWARE_EDID=y | 647 | # CONFIG_VGASTATE is not set |
648 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
753 | # CONFIG_FB is not set | 649 | # CONFIG_FB is not set |
754 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 650 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
755 | 651 | ||
756 | # | 652 | # |
757 | # Sound | 653 | # Display device support |
758 | # | 654 | # |
759 | # CONFIG_SOUND is not set | 655 | # CONFIG_DISPLAY_SUPPORT is not set |
760 | 656 | ||
761 | # | 657 | # |
762 | # USB support | 658 | # Sound |
763 | # | 659 | # |
764 | # CONFIG_USB_ARCH_HAS_HCD is not set | 660 | # CONFIG_SOUND is not set |
661 | CONFIG_HID_SUPPORT=y | ||
662 | CONFIG_HID=y | ||
663 | # CONFIG_HID_DEBUG is not set | ||
664 | # CONFIG_HIDRAW is not set | ||
665 | CONFIG_USB_SUPPORT=y | ||
666 | CONFIG_USB_ARCH_HAS_HCD=y | ||
765 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 667 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
766 | # CONFIG_USB_ARCH_HAS_EHCI is not set | 668 | # CONFIG_USB_ARCH_HAS_EHCI is not set |
669 | # CONFIG_USB is not set | ||
767 | 670 | ||
768 | # | 671 | # |
769 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 672 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
770 | # | 673 | # |
771 | |||
772 | # | ||
773 | # USB Gadget Support | ||
774 | # | ||
775 | # CONFIG_USB_GADGET is not set | 674 | # CONFIG_USB_GADGET is not set |
776 | |||
777 | # | ||
778 | # MMC/SD Card support | ||
779 | # | ||
780 | # CONFIG_MMC is not set | 675 | # CONFIG_MMC is not set |
781 | 676 | # CONFIG_MEMSTICK is not set | |
782 | # | ||
783 | # LED devices | ||
784 | # | ||
785 | # CONFIG_NEW_LEDS is not set | 677 | # CONFIG_NEW_LEDS is not set |
786 | |||
787 | # | ||
788 | # LED drivers | ||
789 | # | ||
790 | |||
791 | # | ||
792 | # LED Triggers | ||
793 | # | ||
794 | |||
795 | # | ||
796 | # InfiniBand support | ||
797 | # | ||
798 | |||
799 | # | ||
800 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | ||
801 | # | ||
802 | |||
803 | # | ||
804 | # Real Time Clock | ||
805 | # | ||
806 | # CONFIG_RTC_CLASS is not set | 678 | # CONFIG_RTC_CLASS is not set |
807 | 679 | ||
808 | # | 680 | # |
809 | # DMA Engine support | 681 | # Userspace I/O |
810 | # | ||
811 | # CONFIG_DMA_ENGINE is not set | ||
812 | |||
813 | # | ||
814 | # DMA Clients | ||
815 | # | ||
816 | |||
817 | # | ||
818 | # DMA Devices | ||
819 | # | 682 | # |
683 | # CONFIG_UIO is not set | ||
820 | 684 | ||
821 | # | 685 | # |
822 | # File systems | 686 | # File systems |
823 | # | 687 | # |
824 | # CONFIG_EXT2_FS is not set | 688 | # CONFIG_EXT2_FS is not set |
825 | # CONFIG_EXT3_FS is not set | 689 | # CONFIG_EXT3_FS is not set |
690 | # CONFIG_EXT4DEV_FS is not set | ||
826 | # CONFIG_REISERFS_FS is not set | 691 | # CONFIG_REISERFS_FS is not set |
827 | # CONFIG_JFS_FS is not set | 692 | # CONFIG_JFS_FS is not set |
828 | # CONFIG_FS_POSIX_ACL is not set | 693 | # CONFIG_FS_POSIX_ACL is not set |
829 | # CONFIG_XFS_FS is not set | 694 | # CONFIG_XFS_FS is not set |
695 | # CONFIG_GFS2_FS is not set | ||
830 | # CONFIG_OCFS2_FS is not set | 696 | # CONFIG_OCFS2_FS is not set |
831 | # CONFIG_MINIX_FS is not set | 697 | # CONFIG_DNOTIFY is not set |
832 | # CONFIG_ROMFS_FS is not set | ||
833 | # CONFIG_INOTIFY is not set | 698 | # CONFIG_INOTIFY is not set |
834 | # CONFIG_QUOTA is not set | 699 | # CONFIG_QUOTA is not set |
835 | # CONFIG_DNOTIFY is not set | ||
836 | # CONFIG_AUTOFS_FS is not set | 700 | # CONFIG_AUTOFS_FS is not set |
837 | # CONFIG_AUTOFS4_FS is not set | 701 | # CONFIG_AUTOFS4_FS is not set |
838 | # CONFIG_FUSE_FS is not set | 702 | # CONFIG_FUSE_FS is not set |
@@ -861,7 +725,6 @@ CONFIG_TMPFS=y | |||
861 | # CONFIG_TMPFS_POSIX_ACL is not set | 725 | # CONFIG_TMPFS_POSIX_ACL is not set |
862 | # CONFIG_HUGETLBFS is not set | 726 | # CONFIG_HUGETLBFS is not set |
863 | # CONFIG_HUGETLB_PAGE is not set | 727 | # CONFIG_HUGETLB_PAGE is not set |
864 | CONFIG_RAMFS=y | ||
865 | # CONFIG_CONFIGFS_FS is not set | 728 | # CONFIG_CONFIGFS_FS is not set |
866 | 729 | ||
867 | # | 730 | # |
@@ -874,26 +737,26 @@ CONFIG_RAMFS=y | |||
874 | # CONFIG_BEFS_FS is not set | 737 | # CONFIG_BEFS_FS is not set |
875 | # CONFIG_BFS_FS is not set | 738 | # CONFIG_BFS_FS is not set |
876 | # CONFIG_EFS_FS is not set | 739 | # CONFIG_EFS_FS is not set |
877 | # CONFIG_JFFS_FS is not set | ||
878 | CONFIG_JFFS2_FS=y | 740 | CONFIG_JFFS2_FS=y |
879 | CONFIG_JFFS2_FS_DEBUG=0 | 741 | CONFIG_JFFS2_FS_DEBUG=0 |
880 | CONFIG_JFFS2_FS_WRITEBUFFER=y | 742 | CONFIG_JFFS2_FS_WRITEBUFFER=y |
743 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
881 | # CONFIG_JFFS2_SUMMARY is not set | 744 | # CONFIG_JFFS2_SUMMARY is not set |
882 | # CONFIG_JFFS2_FS_XATTR is not set | 745 | # CONFIG_JFFS2_FS_XATTR is not set |
883 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | 746 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set |
884 | CONFIG_JFFS2_ZLIB=y | 747 | CONFIG_JFFS2_ZLIB=y |
748 | # CONFIG_JFFS2_LZO is not set | ||
885 | CONFIG_JFFS2_RTIME=y | 749 | CONFIG_JFFS2_RTIME=y |
886 | # CONFIG_JFFS2_RUBIN is not set | 750 | # CONFIG_JFFS2_RUBIN is not set |
887 | # CONFIG_CRAMFS is not set | 751 | # CONFIG_CRAMFS is not set |
888 | # CONFIG_VXFS_FS is not set | 752 | # CONFIG_VXFS_FS is not set |
753 | # CONFIG_MINIX_FS is not set | ||
889 | # CONFIG_HPFS_FS is not set | 754 | # CONFIG_HPFS_FS is not set |
890 | # CONFIG_QNX4FS_FS is not set | 755 | # CONFIG_QNX4FS_FS is not set |
756 | # CONFIG_ROMFS_FS is not set | ||
891 | # CONFIG_SYSV_FS is not set | 757 | # CONFIG_SYSV_FS is not set |
892 | # CONFIG_UFS_FS is not set | 758 | # CONFIG_UFS_FS is not set |
893 | 759 | CONFIG_NETWORK_FILESYSTEMS=y | |
894 | # | ||
895 | # Network File Systems | ||
896 | # | ||
897 | # CONFIG_NFS_FS is not set | 760 | # CONFIG_NFS_FS is not set |
898 | # CONFIG_NFSD is not set | 761 | # CONFIG_NFSD is not set |
899 | # CONFIG_SMB_FS is not set | 762 | # CONFIG_SMB_FS is not set |
@@ -901,55 +764,97 @@ CONFIG_JFFS2_RTIME=y | |||
901 | # CONFIG_NCP_FS is not set | 764 | # CONFIG_NCP_FS is not set |
902 | # CONFIG_CODA_FS is not set | 765 | # CONFIG_CODA_FS is not set |
903 | # CONFIG_AFS_FS is not set | 766 | # CONFIG_AFS_FS is not set |
904 | # CONFIG_9P_FS is not set | ||
905 | 767 | ||
906 | # | 768 | # |
907 | # Partition Types | 769 | # Partition Types |
908 | # | 770 | # |
909 | # CONFIG_PARTITION_ADVANCED is not set | 771 | # CONFIG_PARTITION_ADVANCED is not set |
910 | CONFIG_MSDOS_PARTITION=y | 772 | CONFIG_MSDOS_PARTITION=y |
911 | |||
912 | # | ||
913 | # Native Language Support | ||
914 | # | ||
915 | # CONFIG_NLS is not set | 773 | # CONFIG_NLS is not set |
916 | 774 | # CONFIG_DLM is not set | |
917 | # | ||
918 | # Profiling support | ||
919 | # | ||
920 | # CONFIG_PROFILING is not set | ||
921 | 775 | ||
922 | # | 776 | # |
923 | # Kernel hacking | 777 | # Kernel hacking |
924 | # | 778 | # |
779 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
925 | # CONFIG_PRINTK_TIME is not set | 780 | # CONFIG_PRINTK_TIME is not set |
781 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
926 | CONFIG_ENABLE_MUST_CHECK=y | 782 | CONFIG_ENABLE_MUST_CHECK=y |
927 | # CONFIG_MAGIC_SYSRQ is not set | 783 | # CONFIG_MAGIC_SYSRQ is not set |
928 | # CONFIG_UNUSED_SYMBOLS is not set | 784 | # CONFIG_UNUSED_SYMBOLS is not set |
785 | CONFIG_DEBUG_FS=y | ||
786 | # CONFIG_HEADERS_CHECK is not set | ||
929 | # CONFIG_DEBUG_KERNEL is not set | 787 | # CONFIG_DEBUG_KERNEL is not set |
930 | CONFIG_LOG_BUF_SHIFT=14 | ||
931 | # CONFIG_DEBUG_BUGVERBOSE is not set | 788 | # CONFIG_DEBUG_BUGVERBOSE is not set |
932 | # CONFIG_DEBUG_FS is not set | 789 | # CONFIG_SAMPLES is not set |
933 | # CONFIG_SH_STANDARD_BIOS is not set | 790 | # CONFIG_SH_STANDARD_BIOS is not set |
934 | # CONFIG_KGDB is not set | 791 | # CONFIG_EARLY_SCIF_CONSOLE is not set |
792 | # CONFIG_SH_KGDB is not set | ||
935 | 793 | ||
936 | # | 794 | # |
937 | # Security options | 795 | # Security options |
938 | # | 796 | # |
939 | # CONFIG_KEYS is not set | 797 | # CONFIG_KEYS is not set |
940 | # CONFIG_SECURITY is not set | 798 | # CONFIG_SECURITY is not set |
941 | 799 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | |
942 | # | 800 | CONFIG_CRYPTO=y |
943 | # Cryptographic options | 801 | # CONFIG_CRYPTO_SEQIV is not set |
944 | # | 802 | # CONFIG_CRYPTO_MANAGER is not set |
945 | # CONFIG_CRYPTO is not set | 803 | # CONFIG_CRYPTO_HMAC is not set |
804 | # CONFIG_CRYPTO_XCBC is not set | ||
805 | # CONFIG_CRYPTO_NULL is not set | ||
806 | # CONFIG_CRYPTO_MD4 is not set | ||
807 | # CONFIG_CRYPTO_MD5 is not set | ||
808 | # CONFIG_CRYPTO_SHA1 is not set | ||
809 | # CONFIG_CRYPTO_SHA256 is not set | ||
810 | # CONFIG_CRYPTO_SHA512 is not set | ||
811 | # CONFIG_CRYPTO_WP512 is not set | ||
812 | # CONFIG_CRYPTO_TGR192 is not set | ||
813 | # CONFIG_CRYPTO_GF128MUL is not set | ||
814 | # CONFIG_CRYPTO_ECB is not set | ||
815 | # CONFIG_CRYPTO_CBC is not set | ||
816 | # CONFIG_CRYPTO_PCBC is not set | ||
817 | # CONFIG_CRYPTO_LRW is not set | ||
818 | # CONFIG_CRYPTO_XTS is not set | ||
819 | # CONFIG_CRYPTO_CTR is not set | ||
820 | # CONFIG_CRYPTO_GCM is not set | ||
821 | # CONFIG_CRYPTO_CCM is not set | ||
822 | # CONFIG_CRYPTO_CRYPTD is not set | ||
823 | # CONFIG_CRYPTO_DES is not set | ||
824 | # CONFIG_CRYPTO_FCRYPT is not set | ||
825 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
826 | # CONFIG_CRYPTO_TWOFISH is not set | ||
827 | # CONFIG_CRYPTO_SERPENT is not set | ||
828 | # CONFIG_CRYPTO_AES is not set | ||
829 | # CONFIG_CRYPTO_CAST5 is not set | ||
830 | # CONFIG_CRYPTO_CAST6 is not set | ||
831 | # CONFIG_CRYPTO_TEA is not set | ||
832 | # CONFIG_CRYPTO_ARC4 is not set | ||
833 | # CONFIG_CRYPTO_KHAZAD is not set | ||
834 | # CONFIG_CRYPTO_ANUBIS is not set | ||
835 | # CONFIG_CRYPTO_SEED is not set | ||
836 | # CONFIG_CRYPTO_SALSA20 is not set | ||
837 | # CONFIG_CRYPTO_DEFLATE is not set | ||
838 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
839 | # CONFIG_CRYPTO_CRC32C is not set | ||
840 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
841 | # CONFIG_CRYPTO_TEST is not set | ||
842 | # CONFIG_CRYPTO_AUTHENC is not set | ||
843 | # CONFIG_CRYPTO_LZO is not set | ||
844 | CONFIG_CRYPTO_HW=y | ||
946 | 845 | ||
947 | # | 846 | # |
948 | # Library routines | 847 | # Library routines |
949 | # | 848 | # |
849 | CONFIG_BITREVERSE=y | ||
950 | # CONFIG_CRC_CCITT is not set | 850 | # CONFIG_CRC_CCITT is not set |
951 | # CONFIG_CRC16 is not set | 851 | # CONFIG_CRC16 is not set |
852 | # CONFIG_CRC_ITU_T is not set | ||
952 | CONFIG_CRC32=y | 853 | CONFIG_CRC32=y |
854 | # CONFIG_CRC7 is not set | ||
953 | # CONFIG_LIBCRC32C is not set | 855 | # CONFIG_LIBCRC32C is not set |
954 | CONFIG_ZLIB_INFLATE=y | 856 | CONFIG_ZLIB_INFLATE=y |
955 | CONFIG_ZLIB_DEFLATE=y | 857 | CONFIG_ZLIB_DEFLATE=y |
858 | CONFIG_HAS_IOMEM=y | ||
859 | CONFIG_HAS_IOPORT=y | ||
860 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/sh/kernel/cpu/init.c b/arch/sh/kernel/cpu/init.c index 80a31329ead9..75fb03d35670 100644 --- a/arch/sh/kernel/cpu/init.c +++ b/arch/sh/kernel/cpu/init.c | |||
@@ -233,7 +233,7 @@ static void __init dsp_init(void) | |||
233 | * and cache configuration in detect_cpu_and_cache_system(). | 233 | * and cache configuration in detect_cpu_and_cache_system(). |
234 | */ | 234 | */ |
235 | 235 | ||
236 | asmlinkage void __cpuinit sh_cpu_init(void) | 236 | asmlinkage void __init sh_cpu_init(void) |
237 | { | 237 | { |
238 | current_thread_info()->cpu = hard_smp_processor_id(); | 238 | current_thread_info()->cpu = hard_smp_processor_id(); |
239 | 239 | ||
diff --git a/arch/sh/kernel/cpu/sh4/sq.c b/arch/sh/kernel/cpu/sh4/sq.c index 8250e017bd4e..9561b02ade0e 100644 --- a/arch/sh/kernel/cpu/sh4/sq.c +++ b/arch/sh/kernel/cpu/sh4/sq.c | |||
@@ -216,7 +216,7 @@ void sq_unmap(unsigned long vaddr) | |||
216 | 216 | ||
217 | if (unlikely(!map)) { | 217 | if (unlikely(!map)) { |
218 | printk("%s: bad store queue address 0x%08lx\n", | 218 | printk("%s: bad store queue address 0x%08lx\n", |
219 | __FUNCTION__, vaddr); | 219 | __func__, vaddr); |
220 | return; | 220 | return; |
221 | } | 221 | } |
222 | 222 | ||
@@ -233,7 +233,7 @@ void sq_unmap(unsigned long vaddr) | |||
233 | vma = remove_vm_area((void *)(map->sq_addr & PAGE_MASK)); | 233 | vma = remove_vm_area((void *)(map->sq_addr & PAGE_MASK)); |
234 | if (!vma) { | 234 | if (!vma) { |
235 | printk(KERN_ERR "%s: bad address 0x%08lx\n", | 235 | printk(KERN_ERR "%s: bad address 0x%08lx\n", |
236 | __FUNCTION__, map->sq_addr); | 236 | __func__, map->sq_addr); |
237 | return; | 237 | return; |
238 | } | 238 | } |
239 | } | 239 | } |
diff --git a/arch/sh/kernel/cpu/sh5/unwind.c b/arch/sh/kernel/cpu/sh5/unwind.c index 119c20afd4e5..b205b25eaf45 100644 --- a/arch/sh/kernel/cpu/sh5/unwind.c +++ b/arch/sh/kernel/cpu/sh5/unwind.c | |||
@@ -149,7 +149,7 @@ static int lookup_prev_stack_frame(unsigned long fp, unsigned long pc, | |||
149 | if (dest >= 63) { | 149 | if (dest >= 63) { |
150 | printk(KERN_NOTICE "%s: Invalid dest reg %d " | 150 | printk(KERN_NOTICE "%s: Invalid dest reg %d " |
151 | "specified in movi handler. Failed " | 151 | "specified in movi handler. Failed " |
152 | "opcode was 0x%lx: ", __FUNCTION__, | 152 | "opcode was 0x%lx: ", __func__, |
153 | dest, op); | 153 | dest, op); |
154 | 154 | ||
155 | continue; | 155 | continue; |
diff --git a/arch/sh/kernel/io_trapped.c b/arch/sh/kernel/io_trapped.c index 86a665d92201..39cd7f3aec7b 100644 --- a/arch/sh/kernel/io_trapped.c +++ b/arch/sh/kernel/io_trapped.c | |||
@@ -32,7 +32,7 @@ EXPORT_SYMBOL_GPL(trapped_mem); | |||
32 | #endif | 32 | #endif |
33 | static DEFINE_SPINLOCK(trapped_lock); | 33 | static DEFINE_SPINLOCK(trapped_lock); |
34 | 34 | ||
35 | int __init register_trapped_io(struct trapped_io *tiop) | 35 | int register_trapped_io(struct trapped_io *tiop) |
36 | { | 36 | { |
37 | struct resource *res; | 37 | struct resource *res; |
38 | unsigned long len = 0, flags = 0; | 38 | unsigned long len = 0, flags = 0; |
diff --git a/arch/sh/kernel/sh_ksyms_32.c b/arch/sh/kernel/sh_ksyms_32.c index e1a6de9088b5..d80de3903271 100644 --- a/arch/sh/kernel/sh_ksyms_32.c +++ b/arch/sh/kernel/sh_ksyms_32.c | |||
@@ -111,9 +111,9 @@ DECLARE_EXPORT(__movmem_i4_even); | |||
111 | DECLARE_EXPORT(__movmem_i4_odd); | 111 | DECLARE_EXPORT(__movmem_i4_odd); |
112 | DECLARE_EXPORT(__movmemSI12_i4); | 112 | DECLARE_EXPORT(__movmemSI12_i4); |
113 | 113 | ||
114 | #if (__GNUC_MINOR__ == 2 || defined(__GNUC_STM_RELEASE__)) | 114 | #if (__GNUC_MINOR__ >= 2 || defined(__GNUC_STM_RELEASE__)) |
115 | /* | 115 | /* |
116 | * GCC 4.2 emits these for division, as do GCC 4.1.x versions of the ST | 116 | * GCC >= 4.2 emits these for division, as do GCC 4.1.x versions of the ST |
117 | * compiler which include backported patches. | 117 | * compiler which include backported patches. |
118 | */ | 118 | */ |
119 | DECLARE_EXPORT(__sdivsi3_i4i); | 119 | DECLARE_EXPORT(__sdivsi3_i4i); |
@@ -146,5 +146,6 @@ EXPORT_SYMBOL(csum_partial_copy_generic); | |||
146 | EXPORT_SYMBOL(csum_ipv6_magic); | 146 | EXPORT_SYMBOL(csum_ipv6_magic); |
147 | #endif | 147 | #endif |
148 | EXPORT_SYMBOL(clear_page); | 148 | EXPORT_SYMBOL(clear_page); |
149 | EXPORT_SYMBOL(copy_page); | ||
149 | EXPORT_SYMBOL(__clear_user); | 150 | EXPORT_SYMBOL(__clear_user); |
150 | EXPORT_SYMBOL(_ebss); | 151 | EXPORT_SYMBOL(_ebss); |
diff --git a/arch/sh/kernel/sh_ksyms_64.c b/arch/sh/kernel/sh_ksyms_64.c index 8004c38d3d37..dd38a683de65 100644 --- a/arch/sh/kernel/sh_ksyms_64.c +++ b/arch/sh/kernel/sh_ksyms_64.c | |||
@@ -42,6 +42,7 @@ EXPORT_SYMBOL(__down_trylock); | |||
42 | EXPORT_SYMBOL(__up); | 42 | EXPORT_SYMBOL(__up); |
43 | EXPORT_SYMBOL(__put_user_asm_l); | 43 | EXPORT_SYMBOL(__put_user_asm_l); |
44 | EXPORT_SYMBOL(__get_user_asm_l); | 44 | EXPORT_SYMBOL(__get_user_asm_l); |
45 | EXPORT_SYMBOL(copy_page); | ||
45 | EXPORT_SYMBOL(__copy_user); | 46 | EXPORT_SYMBOL(__copy_user); |
46 | EXPORT_SYMBOL(memcpy); | 47 | EXPORT_SYMBOL(memcpy); |
47 | EXPORT_SYMBOL(__udelay); | 48 | EXPORT_SYMBOL(__udelay); |
diff --git a/arch/sh/kernel/timers/timer-cmt.c b/arch/sh/kernel/timers/timer-cmt.c index 71312324b5de..d20c8c375881 100644 --- a/arch/sh/kernel/timers/timer-cmt.c +++ b/arch/sh/kernel/timers/timer-cmt.c | |||
@@ -77,7 +77,7 @@ static unsigned long cmt_timer_get_offset(void) | |||
77 | count -= LATCH; | 77 | count -= LATCH; |
78 | } else { | 78 | } else { |
79 | printk("%s (): hardware timer problem?\n", | 79 | printk("%s (): hardware timer problem?\n", |
80 | __FUNCTION__); | 80 | __func__); |
81 | } | 81 | } |
82 | } | 82 | } |
83 | } else | 83 | } else |
diff --git a/arch/sh/kernel/timers/timer-mtu2.c b/arch/sh/kernel/timers/timer-mtu2.c index ade9d6eb29f9..fe453c01f9c9 100644 --- a/arch/sh/kernel/timers/timer-mtu2.c +++ b/arch/sh/kernel/timers/timer-mtu2.c | |||
@@ -76,7 +76,7 @@ static unsigned long mtu2_timer_get_offset(void) | |||
76 | count -= LATCH; | 76 | count -= LATCH; |
77 | } else { | 77 | } else { |
78 | printk("%s (): hardware timer problem?\n", | 78 | printk("%s (): hardware timer problem?\n", |
79 | __FUNCTION__); | 79 | __func__); |
80 | } | 80 | } |
81 | } | 81 | } |
82 | } else | 82 | } else |
diff --git a/arch/sh/kernel/topology.c b/arch/sh/kernel/topology.c index 9b5844a1bdaa..0838942b7083 100644 --- a/arch/sh/kernel/topology.c +++ b/arch/sh/kernel/topology.c | |||
@@ -29,7 +29,7 @@ static int __init topology_init(void) | |||
29 | ret = register_cpu(&per_cpu(cpu_devices, i), i); | 29 | ret = register_cpu(&per_cpu(cpu_devices, i), i); |
30 | if (unlikely(ret)) | 30 | if (unlikely(ret)) |
31 | printk(KERN_WARNING "%s: register_cpu %d failed (%d)\n", | 31 | printk(KERN_WARNING "%s: register_cpu %d failed (%d)\n", |
32 | __FUNCTION__, i, ret); | 32 | __func__, i, ret); |
33 | } | 33 | } |
34 | 34 | ||
35 | #if defined(CONFIG_NUMA) && !defined(CONFIG_SMP) | 35 | #if defined(CONFIG_NUMA) && !defined(CONFIG_SMP) |
diff --git a/arch/sh/kernel/traps_64.c b/arch/sh/kernel/traps_64.c index a55ac81d795b..1b58a7499087 100644 --- a/arch/sh/kernel/traps_64.c +++ b/arch/sh/kernel/traps_64.c | |||
@@ -238,7 +238,7 @@ DO_ERROR(12, SIGILL, "reserved instruction", reserved_inst, current) | |||
238 | /* Called with interrupts disabled */ | 238 | /* Called with interrupts disabled */ |
239 | asmlinkage void do_exception_error(unsigned long ex, struct pt_regs *regs) | 239 | asmlinkage void do_exception_error(unsigned long ex, struct pt_regs *regs) |
240 | { | 240 | { |
241 | show_excp_regs(__FUNCTION__, -1, -1, regs); | 241 | show_excp_regs(__func__, -1, -1, regs); |
242 | die_if_kernel("exception", regs, ex); | 242 | die_if_kernel("exception", regs, ex); |
243 | } | 243 | } |
244 | 244 | ||
diff --git a/arch/sh/lib64/c-checksum.c b/arch/sh/lib64/c-checksum.c index 5dfbd8b5e558..5c284e0cff9c 100644 --- a/arch/sh/lib64/c-checksum.c +++ b/arch/sh/lib64/c-checksum.c | |||
@@ -207,7 +207,7 @@ __wsum csum_tcpudp_nofold(__be32 saddr, __be32 daddr, | |||
207 | result = (result & 0xffffffff) + (result >> 32); | 207 | result = (result & 0xffffffff) + (result >> 32); |
208 | 208 | ||
209 | pr_debug("%s saddr %x daddr %x len %x proto %x sum %x result %08Lx\n", | 209 | pr_debug("%s saddr %x daddr %x len %x proto %x sum %x result %08Lx\n", |
210 | __FUNCTION__, saddr, daddr, len, proto, sum, result); | 210 | __func__, saddr, daddr, len, proto, sum, result); |
211 | 211 | ||
212 | return (__wsum)result; | 212 | return (__wsum)result; |
213 | } | 213 | } |
diff --git a/arch/sh/lib64/udelay.c b/arch/sh/lib64/udelay.c index 23c7d17fb9f7..d76bd801194f 100644 --- a/arch/sh/lib64/udelay.c +++ b/arch/sh/lib64/udelay.c | |||
@@ -21,7 +21,7 @@ | |||
21 | * a 1GHz box, that's about 2 seconds. | 21 | * a 1GHz box, that's about 2 seconds. |
22 | */ | 22 | */ |
23 | 23 | ||
24 | void __delay(int loops) | 24 | void __delay(unsigned long loops) |
25 | { | 25 | { |
26 | long long dummy; | 26 | long long dummy; |
27 | __asm__ __volatile__("gettr tr0, %1\n\t" | 27 | __asm__ __volatile__("gettr tr0, %1\n\t" |
@@ -33,24 +33,17 @@ void __delay(int loops) | |||
33 | :"0"(loops)); | 33 | :"0"(loops)); |
34 | } | 34 | } |
35 | 35 | ||
36 | void __udelay(unsigned long long usecs, unsigned long lpj) | 36 | inline void __const_udelay(unsigned long xloops) |
37 | { | 37 | { |
38 | usecs *= (((unsigned long long) HZ << 32) / 1000000) * lpj; | 38 | __delay(xloops * (HZ * cpu_data[raw_smp_processor_id()].loops_per_jiffy)); |
39 | __delay((long long) usecs >> 32); | ||
40 | } | 39 | } |
41 | 40 | ||
42 | void __ndelay(unsigned long long nsecs, unsigned long lpj) | 41 | void __udelay(unsigned long usecs) |
43 | { | 42 | { |
44 | nsecs *= (((unsigned long long) HZ << 32) / 1000000000) * lpj; | 43 | __const_udelay(usecs * 0x000010c6); /* 2**32 / 1000000 */ |
45 | __delay((long long) nsecs >> 32); | ||
46 | } | 44 | } |
47 | 45 | ||
48 | void udelay(unsigned long usecs) | 46 | void __ndelay(unsigned long nsecs) |
49 | { | 47 | { |
50 | __udelay(usecs, cpu_data[raw_smp_processor_id()].loops_per_jiffy); | 48 | __const_udelay(nsecs * 0x00000005); |
51 | } | ||
52 | |||
53 | void ndelay(unsigned long nsecs) | ||
54 | { | ||
55 | __ndelay(nsecs, cpu_data[raw_smp_processor_id()].loops_per_jiffy); | ||
56 | } | 49 | } |
diff --git a/arch/sh/mm/Kconfig b/arch/sh/mm/Kconfig index f549b8cd2501..5fd218430b19 100644 --- a/arch/sh/mm/Kconfig +++ b/arch/sh/mm/Kconfig | |||
@@ -59,7 +59,7 @@ config 32BIT | |||
59 | 59 | ||
60 | config PMB | 60 | config PMB |
61 | bool "Support 32-bit physical addressing through PMB" | 61 | bool "Support 32-bit physical addressing through PMB" |
62 | depends on MMU && (CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785) | 62 | depends on MMU && EXPERIMENTAL && (CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785) |
63 | select 32BIT | 63 | select 32BIT |
64 | default y | 64 | default y |
65 | help | 65 | help |
diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c index e2ed6dd252b9..53dde0607362 100644 --- a/arch/sh/mm/init.c +++ b/arch/sh/mm/init.c | |||
@@ -328,7 +328,7 @@ int arch_add_memory(int nid, u64 start, u64 size) | |||
328 | /* We only have ZONE_NORMAL, so this is easy.. */ | 328 | /* We only have ZONE_NORMAL, so this is easy.. */ |
329 | ret = __add_pages(pgdat->node_zones + ZONE_NORMAL, start_pfn, nr_pages); | 329 | ret = __add_pages(pgdat->node_zones + ZONE_NORMAL, start_pfn, nr_pages); |
330 | if (unlikely(ret)) | 330 | if (unlikely(ret)) |
331 | printk("%s: Failed, __add_pages() == %d\n", __FUNCTION__, ret); | 331 | printk("%s: Failed, __add_pages() == %d\n", __func__, ret); |
332 | 332 | ||
333 | return ret; | 333 | return ret; |
334 | } | 334 | } |
diff --git a/arch/sh/mm/ioremap_32.c b/arch/sh/mm/ioremap_32.c index 0c7b7e33abdc..882a32ebc6b7 100644 --- a/arch/sh/mm/ioremap_32.c +++ b/arch/sh/mm/ioremap_32.c | |||
@@ -141,7 +141,7 @@ void __iounmap(void __iomem *addr) | |||
141 | 141 | ||
142 | p = remove_vm_area((void *)(vaddr & PAGE_MASK)); | 142 | p = remove_vm_area((void *)(vaddr & PAGE_MASK)); |
143 | if (!p) { | 143 | if (!p) { |
144 | printk(KERN_ERR "%s: bad address %p\n", __FUNCTION__, addr); | 144 | printk(KERN_ERR "%s: bad address %p\n", __func__, addr); |
145 | return; | 145 | return; |
146 | } | 146 | } |
147 | 147 | ||
diff --git a/arch/sh/mm/ioremap_64.c b/arch/sh/mm/ioremap_64.c index e27d16519235..cea224c3e49b 100644 --- a/arch/sh/mm/ioremap_64.c +++ b/arch/sh/mm/ioremap_64.c | |||
@@ -178,7 +178,7 @@ static unsigned long shmedia_alloc_io(unsigned long phys, unsigned long size, | |||
178 | } else { | 178 | } else { |
179 | if (!printed_full) { | 179 | if (!printed_full) { |
180 | printk("%s: done with statics, switching to kmalloc\n", | 180 | printk("%s: done with statics, switching to kmalloc\n", |
181 | __FUNCTION__); | 181 | __func__); |
182 | printed_full = 1; | 182 | printed_full = 1; |
183 | } | 183 | } |
184 | tlen = strlen(name); | 184 | tlen = strlen(name); |
@@ -352,7 +352,7 @@ void onchip_unmap(unsigned long vaddr) | |||
352 | res = shmedia_find_resource(&shmedia_iomap, vaddr); | 352 | res = shmedia_find_resource(&shmedia_iomap, vaddr); |
353 | if (!res) { | 353 | if (!res) { |
354 | printk(KERN_ERR "%s: Failed to free 0x%08lx\n", | 354 | printk(KERN_ERR "%s: Failed to free 0x%08lx\n", |
355 | __FUNCTION__, vaddr); | 355 | __func__, vaddr); |
356 | return; | 356 | return; |
357 | } | 357 | } |
358 | 358 | ||
diff --git a/arch/sh/mm/pg-sh7705.c b/arch/sh/mm/pg-sh7705.c index a4b015f95a3a..7f885b7f8aff 100644 --- a/arch/sh/mm/pg-sh7705.c +++ b/arch/sh/mm/pg-sh7705.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <linux/mman.h> | 14 | #include <linux/mman.h> |
15 | #include <linux/mm.h> | 15 | #include <linux/mm.h> |
16 | #include <linux/threads.h> | 16 | #include <linux/threads.h> |
17 | #include <linux/fs.h> | ||
17 | #include <asm/addrspace.h> | 18 | #include <asm/addrspace.h> |
18 | #include <asm/page.h> | 19 | #include <asm/page.h> |
19 | #include <asm/pgtable.h> | 20 | #include <asm/pgtable.h> |
diff --git a/arch/sh/mm/tlbflush_64.c b/arch/sh/mm/tlbflush_64.c index 2a98c9ec88ff..7876997ba19a 100644 --- a/arch/sh/mm/tlbflush_64.c +++ b/arch/sh/mm/tlbflush_64.c | |||
@@ -131,7 +131,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long writeaccess, | |||
131 | #ifdef DEBUG_FAULT | 131 | #ifdef DEBUG_FAULT |
132 | print_task(tsk); | 132 | print_task(tsk); |
133 | printk("%s:%d fault, address is 0x%08x PC %016Lx textaccess %d writeaccess %d\n", | 133 | printk("%s:%d fault, address is 0x%08x PC %016Lx textaccess %d writeaccess %d\n", |
134 | __FUNCTION__,__LINE__, | 134 | __func__, __LINE__, |
135 | address,regs->pc,textaccess,writeaccess); | 135 | address,regs->pc,textaccess,writeaccess); |
136 | show_regs(regs); | 136 | show_regs(regs); |
137 | #endif | 137 | #endif |
@@ -145,7 +145,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long writeaccess, | |||
145 | #ifdef DEBUG_FAULT | 145 | #ifdef DEBUG_FAULT |
146 | print_task(tsk); | 146 | print_task(tsk); |
147 | printk("%s:%d fault, address is 0x%08x PC %016Lx textaccess %d writeaccess %d\n", | 147 | printk("%s:%d fault, address is 0x%08x PC %016Lx textaccess %d writeaccess %d\n", |
148 | __FUNCTION__,__LINE__, | 148 | __func__, __LINE__, |
149 | address,regs->pc,textaccess,writeaccess); | 149 | address,regs->pc,textaccess,writeaccess); |
150 | show_regs(regs); | 150 | show_regs(regs); |
151 | 151 | ||
@@ -157,7 +157,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long writeaccess, | |||
157 | #ifdef DEBUG_FAULT | 157 | #ifdef DEBUG_FAULT |
158 | print_task(tsk); | 158 | print_task(tsk); |
159 | printk("%s:%d fault, address is 0x%08x PC %016Lx textaccess %d writeaccess %d\n", | 159 | printk("%s:%d fault, address is 0x%08x PC %016Lx textaccess %d writeaccess %d\n", |
160 | __FUNCTION__,__LINE__, | 160 | __func__, __LINE__, |
161 | address,regs->pc,textaccess,writeaccess); | 161 | address,regs->pc,textaccess,writeaccess); |
162 | show_regs(regs); | 162 | show_regs(regs); |
163 | #endif | 163 | #endif |
diff --git a/arch/sh/tools/mach-types b/arch/sh/tools/mach-types index 67997af25c0c..d63b93da952d 100644 --- a/arch/sh/tools/mach-types +++ b/arch/sh/tools/mach-types | |||
@@ -38,7 +38,6 @@ R7780MP SH_R7780MP | |||
38 | R7785RP SH_R7785RP | 38 | R7785RP SH_R7785RP |
39 | TITAN SH_TITAN | 39 | TITAN SH_TITAN |
40 | SHMIN SH_SHMIN | 40 | SHMIN SH_SHMIN |
41 | 7710VOIPGW SH_7710VOIPGW | ||
42 | LBOXRE2 SH_LBOX_RE2 | 41 | LBOXRE2 SH_LBOX_RE2 |
43 | X3PROTO SH_X3PROTO | 42 | X3PROTO SH_X3PROTO |
44 | MAGICPANELR2 SH_MAGIC_PANEL_R2 | 43 | MAGICPANELR2 SH_MAGIC_PANEL_R2 |
diff --git a/arch/sparc/kernel/Makefile b/arch/sparc/kernel/Makefile index e795f282dece..bf1b15d3f6f5 100644 --- a/arch/sparc/kernel/Makefile +++ b/arch/sparc/kernel/Makefile | |||
@@ -1,4 +1,4 @@ | |||
1 | # $Id: Makefile,v 1.62 2000/12/15 00:41:17 davem Exp $ | 1 | # |
2 | # Makefile for the linux kernel. | 2 | # Makefile for the linux kernel. |
3 | # | 3 | # |
4 | 4 | ||
@@ -12,7 +12,8 @@ obj-y := entry.o wof.o wuf.o etrap.o rtrap.o traps.o $(IRQ_OBJS) \ | |||
12 | sys_sparc.o sunos_asm.o systbls.o \ | 12 | sys_sparc.o sunos_asm.o systbls.o \ |
13 | time.o windows.o cpu.o devices.o sclow.o \ | 13 | time.o windows.o cpu.o devices.o sclow.o \ |
14 | tadpole.o tick14.o ptrace.o sys_solaris.o \ | 14 | tadpole.o tick14.o ptrace.o sys_solaris.o \ |
15 | unaligned.o muldiv.o semaphore.o prom.o of_device.o devres.o | 15 | unaligned.o una_asm.o muldiv.o semaphore.o \ |
16 | prom.o of_device.o devres.o | ||
16 | 17 | ||
17 | devres-y = ../../../kernel/irq/devres.o | 18 | devres-y = ../../../kernel/irq/devres.o |
18 | 19 | ||
diff --git a/arch/sparc/kernel/cpu.c b/arch/sparc/kernel/cpu.c index 259a559d4cea..e7a0edfc1a32 100644 --- a/arch/sparc/kernel/cpu.c +++ b/arch/sparc/kernel/cpu.c | |||
@@ -32,7 +32,7 @@ struct cpu_fp_info { | |||
32 | /* In order to get the fpu type correct, you need to take the IDPROM's | 32 | /* In order to get the fpu type correct, you need to take the IDPROM's |
33 | * machine type value into consideration too. I will fix this. | 33 | * machine type value into consideration too. I will fix this. |
34 | */ | 34 | */ |
35 | struct cpu_fp_info linux_sparc_fpu[] = { | 35 | static struct cpu_fp_info linux_sparc_fpu[] = { |
36 | { 0, 0, "Fujitsu MB86910 or Weitek WTL1164/5"}, | 36 | { 0, 0, "Fujitsu MB86910 or Weitek WTL1164/5"}, |
37 | { 0, 1, "Fujitsu MB86911 or Weitek WTL1164/5 or LSI L64831"}, | 37 | { 0, 1, "Fujitsu MB86911 or Weitek WTL1164/5 or LSI L64831"}, |
38 | { 0, 2, "LSI Logic L64802 or Texas Instruments ACT8847"}, | 38 | { 0, 2, "LSI Logic L64802 or Texas Instruments ACT8847"}, |
@@ -76,7 +76,7 @@ struct cpu_fp_info linux_sparc_fpu[] = { | |||
76 | 76 | ||
77 | #define NSPARCFPU ARRAY_SIZE(linux_sparc_fpu) | 77 | #define NSPARCFPU ARRAY_SIZE(linux_sparc_fpu) |
78 | 78 | ||
79 | struct cpu_iu_info linux_sparc_chips[] = { | 79 | static struct cpu_iu_info linux_sparc_chips[] = { |
80 | /* Sun4/100, 4/200, SLC */ | 80 | /* Sun4/100, 4/200, SLC */ |
81 | { 0, 0, "Fujitsu MB86900/1A or LSI L64831 SparcKIT-40"}, | 81 | { 0, 0, "Fujitsu MB86900/1A or LSI L64831 SparcKIT-40"}, |
82 | /* borned STP1012PGA */ | 82 | /* borned STP1012PGA */ |
diff --git a/arch/sparc/kernel/ebus.c b/arch/sparc/kernel/ebus.c index d850785b2080..96344ff2bbe1 100644 --- a/arch/sparc/kernel/ebus.c +++ b/arch/sparc/kernel/ebus.c | |||
@@ -101,7 +101,7 @@ void __init fill_ebus_child(struct device_node *dp, | |||
101 | prom_printf("UGH: property for %s was %d, need < %d\n", | 101 | prom_printf("UGH: property for %s was %d, need < %d\n", |
102 | dev->prom_node->name, len, | 102 | dev->prom_node->name, len, |
103 | dev->parent->num_addrs); | 103 | dev->parent->num_addrs); |
104 | panic(__FUNCTION__); | 104 | panic(__func__); |
105 | } | 105 | } |
106 | 106 | ||
107 | /* XXX resource */ | 107 | /* XXX resource */ |
@@ -162,7 +162,7 @@ void __init fill_ebus_device(struct device_node *dp, struct linux_ebus_device *d | |||
162 | prom_printf("UGH: proplen for %s was %d, need multiple of %d\n", | 162 | prom_printf("UGH: proplen for %s was %d, need multiple of %d\n", |
163 | dev->prom_node->name, len, | 163 | dev->prom_node->name, len, |
164 | (int)sizeof(struct linux_prom_registers)); | 164 | (int)sizeof(struct linux_prom_registers)); |
165 | panic(__FUNCTION__); | 165 | panic(__func__); |
166 | } | 166 | } |
167 | dev->num_addrs = len / sizeof(struct linux_prom_registers); | 167 | dev->num_addrs = len / sizeof(struct linux_prom_registers); |
168 | 168 | ||
@@ -324,7 +324,7 @@ void __init ebus_init(void) | |||
324 | regs = of_get_property(dp, "reg", &len); | 324 | regs = of_get_property(dp, "reg", &len); |
325 | if (!regs) { | 325 | if (!regs) { |
326 | prom_printf("%s: can't find reg property\n", | 326 | prom_printf("%s: can't find reg property\n", |
327 | __FUNCTION__); | 327 | __func__); |
328 | prom_halt(); | 328 | prom_halt(); |
329 | } | 329 | } |
330 | nreg = len / sizeof(struct linux_prom_pci_registers); | 330 | nreg = len / sizeof(struct linux_prom_pci_registers); |
diff --git a/arch/sparc/kernel/process.c b/arch/sparc/kernel/process.c index 0bd69d0b5cd7..70c0dd22491d 100644 --- a/arch/sparc/kernel/process.c +++ b/arch/sparc/kernel/process.c | |||
@@ -139,8 +139,6 @@ void cpu_idle(void) | |||
139 | 139 | ||
140 | #endif | 140 | #endif |
141 | 141 | ||
142 | extern char reboot_command []; | ||
143 | |||
144 | /* XXX cli/sti -> local_irq_xxx here, check this works once SMP is fixed. */ | 142 | /* XXX cli/sti -> local_irq_xxx here, check this works once SMP is fixed. */ |
145 | void machine_halt(void) | 143 | void machine_halt(void) |
146 | { | 144 | { |
diff --git a/arch/sparc/kernel/una_asm.S b/arch/sparc/kernel/una_asm.S new file mode 100644 index 000000000000..8cc03458eb7e --- /dev/null +++ b/arch/sparc/kernel/una_asm.S | |||
@@ -0,0 +1,153 @@ | |||
1 | /* una_asm.S: Kernel unaligned trap assembler helpers. | ||
2 | * | ||
3 | * Copyright (C) 1996,2005,2008 David S. Miller (davem@davemloft.net) | ||
4 | * Copyright (C) 1996,1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz) | ||
5 | */ | ||
6 | |||
7 | #include <linux/errno.h> | ||
8 | |||
9 | .text | ||
10 | |||
11 | retl_efault: | ||
12 | retl | ||
13 | mov -EFAULT, %o0 | ||
14 | |||
15 | /* int __do_int_store(unsigned long *dst_addr, int size, | ||
16 | * unsigned long *src_val) | ||
17 | * | ||
18 | * %o0 = dest_addr | ||
19 | * %o1 = size | ||
20 | * %o2 = src_val | ||
21 | * | ||
22 | * Return '0' on success, -EFAULT on failure. | ||
23 | */ | ||
24 | .globl __do_int_store | ||
25 | __do_int_store: | ||
26 | ld [%o2], %g1 | ||
27 | cmp %1, 2 | ||
28 | be 2f | ||
29 | cmp %1, 4 | ||
30 | be 1f | ||
31 | srl %g1, 24, %g2 | ||
32 | srl %g1, 16, %g7 | ||
33 | 4: stb %g2, [%o0] | ||
34 | srl %g1, 8, %g2 | ||
35 | 5: stb %g7, [%o0 + 1] | ||
36 | ld [%o2 + 4], %g7 | ||
37 | 6: stb %g2, [%o0 + 2] | ||
38 | srl %g7, 24, %g2 | ||
39 | 7: stb %g1, [%o0 + 3] | ||
40 | srl %g7, 16, %g1 | ||
41 | 8: stb %g2, [%o0 + 4] | ||
42 | srl %g7, 8, %g2 | ||
43 | 9: stb %g1, [%o0 + 5] | ||
44 | 10: stb %g2, [%o0 + 6] | ||
45 | b 0f | ||
46 | 11: stb %g7, [%o0 + 7] | ||
47 | 1: srl %g1, 16, %g7 | ||
48 | 12: stb %g2, [%o0] | ||
49 | srl %g1, 8, %g2 | ||
50 | 13: stb %g7, [%o0 + 1] | ||
51 | 14: stb %g2, [%o0 + 2] | ||
52 | b 0f | ||
53 | 15: stb %g1, [%o0 + 3] | ||
54 | 2: srl %g1, 8, %g2 | ||
55 | 16: stb %g2, [%o0] | ||
56 | 17: stb %g1, [%o0 + 1] | ||
57 | 0: retl | ||
58 | mov 0, %o0 | ||
59 | |||
60 | .section __ex_table,#alloc | ||
61 | .word 4b, retl_efault | ||
62 | .word 5b, retl_efault | ||
63 | .word 6b, retl_efault | ||
64 | .word 7b, retl_efault | ||
65 | .word 8b, retl_efault | ||
66 | .word 9b, retl_efault | ||
67 | .word 10b, retl_efault | ||
68 | .word 11b, retl_efault | ||
69 | .word 12b, retl_efault | ||
70 | .word 13b, retl_efault | ||
71 | .word 14b, retl_efault | ||
72 | .word 15b, retl_efault | ||
73 | .word 16b, retl_efault | ||
74 | .word 17b, retl_efault | ||
75 | .previous | ||
76 | |||
77 | /* int do_int_load(unsigned long *dest_reg, int size, | ||
78 | * unsigned long *saddr, int is_signed) | ||
79 | * | ||
80 | * %o0 = dest_reg | ||
81 | * %o1 = size | ||
82 | * %o2 = saddr | ||
83 | * %o3 = is_signed | ||
84 | * | ||
85 | * Return '0' on success, -EFAULT on failure. | ||
86 | */ | ||
87 | .globl do_int_load | ||
88 | do_int_load: | ||
89 | cmp %o1, 8 | ||
90 | be 9f | ||
91 | cmp %o1, 4 | ||
92 | be 6f | ||
93 | 4: ldub [%o2], %g1 | ||
94 | 5: ldub [%o2 + 1], %g2 | ||
95 | sll %g1, 8, %g1 | ||
96 | tst %o3 | ||
97 | be 3f | ||
98 | or %g1, %g2, %g1 | ||
99 | sll %g1, 16, %g1 | ||
100 | sra %g1, 16, %g1 | ||
101 | 3: b 0f | ||
102 | st %g1, [%o0] | ||
103 | 6: ldub [%o2 + 1], %g2 | ||
104 | sll %g1, 24, %g1 | ||
105 | 7: ldub [%o2 + 2], %g7 | ||
106 | sll %g2, 16, %g2 | ||
107 | 8: ldub [%o2 + 3], %g3 | ||
108 | sll %g7, 8, %g7 | ||
109 | or %g3, %g2, %g3 | ||
110 | or %g7, %g3, %g7 | ||
111 | or %g1, %g7, %g1 | ||
112 | b 0f | ||
113 | st %g1, [%o0] | ||
114 | 9: ldub [%o2], %g1 | ||
115 | 10: ldub [%o2 + 1], %g2 | ||
116 | sll %g1, 24, %g1 | ||
117 | 11: ldub [%o2 + 2], %g7 | ||
118 | sll %g2, 16, %g2 | ||
119 | 12: ldub [%o2 + 3], %g3 | ||
120 | sll %g7, 8, %g7 | ||
121 | or %g1, %g2, %g1 | ||
122 | or %g7, %g3, %g7 | ||
123 | or %g1, %g7, %g7 | ||
124 | 13: ldub [%o2 + 4], %g1 | ||
125 | st %g7, [%o0] | ||
126 | 14: ldub [%o2 + 5], %g2 | ||
127 | sll %g1, 24, %g1 | ||
128 | 15: ldub [%o2 + 6], %g7 | ||
129 | sll %g2, 16, %g2 | ||
130 | 16: ldub [%o2 + 7], %g3 | ||
131 | sll %g7, 8, %g7 | ||
132 | or %g1, %g2, %g1 | ||
133 | or %g7, %g3, %g7 | ||
134 | or %g1, %g7, %g7 | ||
135 | st %g7, [%o0 + 4] | ||
136 | 0: retl | ||
137 | mov 0, %o0 | ||
138 | |||
139 | .section __ex_table,#alloc | ||
140 | .word 4b, retl_efault | ||
141 | .word 5b, retl_efault | ||
142 | .word 6b, retl_efault | ||
143 | .word 7b, retl_efault | ||
144 | .word 8b, retl_efault | ||
145 | .word 9b, retl_efault | ||
146 | .word 10b, retl_efault | ||
147 | .word 11b, retl_efault | ||
148 | .word 12b, retl_efault | ||
149 | .word 13b, retl_efault | ||
150 | .word 14b, retl_efault | ||
151 | .word 15b, retl_efault | ||
152 | .word 16b, retl_efault | ||
153 | .previous | ||
diff --git a/arch/sparc/kernel/unaligned.c b/arch/sparc/kernel/unaligned.c index a6330fbc9dd9..33857be16661 100644 --- a/arch/sparc/kernel/unaligned.c +++ b/arch/sparc/kernel/unaligned.c | |||
@@ -175,157 +175,31 @@ static void unaligned_panic(char *str) | |||
175 | panic(str); | 175 | panic(str); |
176 | } | 176 | } |
177 | 177 | ||
178 | #define do_integer_load(dest_reg, size, saddr, is_signed, errh) ({ \ | 178 | /* una_asm.S */ |
179 | __asm__ __volatile__ ( \ | 179 | extern int do_int_load(unsigned long *dest_reg, int size, |
180 | "cmp %1, 8\n\t" \ | 180 | unsigned long *saddr, int is_signed); |
181 | "be 9f\n\t" \ | 181 | extern int __do_int_store(unsigned long *dst_addr, int size, |
182 | " cmp %1, 4\n\t" \ | 182 | unsigned long *src_val); |
183 | "be 6f\n" \ | 183 | |
184 | "4:\t" " ldub [%2], %%l1\n" \ | 184 | static int do_int_store(int reg_num, int size, unsigned long *dst_addr, |
185 | "5:\t" "ldub [%2 + 1], %%l2\n\t" \ | 185 | struct pt_regs *regs) |
186 | "sll %%l1, 8, %%l1\n\t" \ | 186 | { |
187 | "tst %3\n\t" \ | 187 | unsigned long zero[2] = { 0, 0 }; |
188 | "be 3f\n\t" \ | 188 | unsigned long *src_val; |
189 | " add %%l1, %%l2, %%l1\n\t" \ | 189 | |
190 | "sll %%l1, 16, %%l1\n\t" \ | 190 | if (reg_num) |
191 | "sra %%l1, 16, %%l1\n" \ | 191 | src_val = fetch_reg_addr(reg_num, regs); |
192 | "3:\t" "b 0f\n\t" \ | 192 | else { |
193 | " st %%l1, [%0]\n" \ | 193 | src_val = &zero[0]; |
194 | "6:\t" "ldub [%2 + 1], %%l2\n\t" \ | 194 | if (size == 8) |
195 | "sll %%l1, 24, %%l1\n" \ | 195 | zero[1] = fetch_reg(1, regs); |
196 | "7:\t" "ldub [%2 + 2], %%g7\n\t" \ | 196 | } |
197 | "sll %%l2, 16, %%l2\n" \ | 197 | return __do_int_store(dst_addr, size, src_val); |
198 | "8:\t" "ldub [%2 + 3], %%g1\n\t" \ | 198 | } |
199 | "sll %%g7, 8, %%g7\n\t" \ | ||
200 | "or %%l1, %%l2, %%l1\n\t" \ | ||
201 | "or %%g7, %%g1, %%g7\n\t" \ | ||
202 | "or %%l1, %%g7, %%l1\n\t" \ | ||
203 | "b 0f\n\t" \ | ||
204 | " st %%l1, [%0]\n" \ | ||
205 | "9:\t" "ldub [%2], %%l1\n" \ | ||
206 | "10:\t" "ldub [%2 + 1], %%l2\n\t" \ | ||
207 | "sll %%l1, 24, %%l1\n" \ | ||
208 | "11:\t" "ldub [%2 + 2], %%g7\n\t" \ | ||
209 | "sll %%l2, 16, %%l2\n" \ | ||
210 | "12:\t" "ldub [%2 + 3], %%g1\n\t" \ | ||
211 | "sll %%g7, 8, %%g7\n\t" \ | ||
212 | "or %%l1, %%l2, %%l1\n\t" \ | ||
213 | "or %%g7, %%g1, %%g7\n\t" \ | ||
214 | "or %%l1, %%g7, %%g7\n" \ | ||
215 | "13:\t" "ldub [%2 + 4], %%l1\n\t" \ | ||
216 | "st %%g7, [%0]\n" \ | ||
217 | "14:\t" "ldub [%2 + 5], %%l2\n\t" \ | ||
218 | "sll %%l1, 24, %%l1\n" \ | ||
219 | "15:\t" "ldub [%2 + 6], %%g7\n\t" \ | ||
220 | "sll %%l2, 16, %%l2\n" \ | ||
221 | "16:\t" "ldub [%2 + 7], %%g1\n\t" \ | ||
222 | "sll %%g7, 8, %%g7\n\t" \ | ||
223 | "or %%l1, %%l2, %%l1\n\t" \ | ||
224 | "or %%g7, %%g1, %%g7\n\t" \ | ||
225 | "or %%l1, %%g7, %%g7\n\t" \ | ||
226 | "st %%g7, [%0 + 4]\n" \ | ||
227 | "0:\n\n\t" \ | ||
228 | ".section __ex_table,#alloc\n\t" \ | ||
229 | ".word 4b, " #errh "\n\t" \ | ||
230 | ".word 5b, " #errh "\n\t" \ | ||
231 | ".word 6b, " #errh "\n\t" \ | ||
232 | ".word 7b, " #errh "\n\t" \ | ||
233 | ".word 8b, " #errh "\n\t" \ | ||
234 | ".word 9b, " #errh "\n\t" \ | ||
235 | ".word 10b, " #errh "\n\t" \ | ||
236 | ".word 11b, " #errh "\n\t" \ | ||
237 | ".word 12b, " #errh "\n\t" \ | ||
238 | ".word 13b, " #errh "\n\t" \ | ||
239 | ".word 14b, " #errh "\n\t" \ | ||
240 | ".word 15b, " #errh "\n\t" \ | ||
241 | ".word 16b, " #errh "\n\n\t" \ | ||
242 | ".previous\n\t" \ | ||
243 | : : "r" (dest_reg), "r" (size), "r" (saddr), "r" (is_signed) \ | ||
244 | : "l1", "l2", "g7", "g1", "cc"); \ | ||
245 | }) | ||
246 | |||
247 | #define store_common(dst_addr, size, src_val, errh) ({ \ | ||
248 | __asm__ __volatile__ ( \ | ||
249 | "ld [%2], %%l1\n" \ | ||
250 | "cmp %1, 2\n\t" \ | ||
251 | "be 2f\n\t" \ | ||
252 | " cmp %1, 4\n\t" \ | ||
253 | "be 1f\n\t" \ | ||
254 | " srl %%l1, 24, %%l2\n\t" \ | ||
255 | "srl %%l1, 16, %%g7\n" \ | ||
256 | "4:\t" "stb %%l2, [%0]\n\t" \ | ||
257 | "srl %%l1, 8, %%l2\n" \ | ||
258 | "5:\t" "stb %%g7, [%0 + 1]\n\t" \ | ||
259 | "ld [%2 + 4], %%g7\n" \ | ||
260 | "6:\t" "stb %%l2, [%0 + 2]\n\t" \ | ||
261 | "srl %%g7, 24, %%l2\n" \ | ||
262 | "7:\t" "stb %%l1, [%0 + 3]\n\t" \ | ||
263 | "srl %%g7, 16, %%l1\n" \ | ||
264 | "8:\t" "stb %%l2, [%0 + 4]\n\t" \ | ||
265 | "srl %%g7, 8, %%l2\n" \ | ||
266 | "9:\t" "stb %%l1, [%0 + 5]\n" \ | ||
267 | "10:\t" "stb %%l2, [%0 + 6]\n\t" \ | ||
268 | "b 0f\n" \ | ||
269 | "11:\t" " stb %%g7, [%0 + 7]\n" \ | ||
270 | "1:\t" "srl %%l1, 16, %%g7\n" \ | ||
271 | "12:\t" "stb %%l2, [%0]\n\t" \ | ||
272 | "srl %%l1, 8, %%l2\n" \ | ||
273 | "13:\t" "stb %%g7, [%0 + 1]\n" \ | ||
274 | "14:\t" "stb %%l2, [%0 + 2]\n\t" \ | ||
275 | "b 0f\n" \ | ||
276 | "15:\t" " stb %%l1, [%0 + 3]\n" \ | ||
277 | "2:\t" "srl %%l1, 8, %%l2\n" \ | ||
278 | "16:\t" "stb %%l2, [%0]\n" \ | ||
279 | "17:\t" "stb %%l1, [%0 + 1]\n" \ | ||
280 | "0:\n\n\t" \ | ||
281 | ".section __ex_table,#alloc\n\t" \ | ||
282 | ".word 4b, " #errh "\n\t" \ | ||
283 | ".word 5b, " #errh "\n\t" \ | ||
284 | ".word 6b, " #errh "\n\t" \ | ||
285 | ".word 7b, " #errh "\n\t" \ | ||
286 | ".word 8b, " #errh "\n\t" \ | ||
287 | ".word 9b, " #errh "\n\t" \ | ||
288 | ".word 10b, " #errh "\n\t" \ | ||
289 | ".word 11b, " #errh "\n\t" \ | ||
290 | ".word 12b, " #errh "\n\t" \ | ||
291 | ".word 13b, " #errh "\n\t" \ | ||
292 | ".word 14b, " #errh "\n\t" \ | ||
293 | ".word 15b, " #errh "\n\t" \ | ||
294 | ".word 16b, " #errh "\n\t" \ | ||
295 | ".word 17b, " #errh "\n\n\t" \ | ||
296 | ".previous\n\t" \ | ||
297 | : : "r" (dst_addr), "r" (size), "r" (src_val) \ | ||
298 | : "l1", "l2", "g7", "g1", "cc"); \ | ||
299 | }) | ||
300 | |||
301 | #define do_integer_store(reg_num, size, dst_addr, regs, errh) ({ \ | ||
302 | unsigned long *src_val; \ | ||
303 | static unsigned long zero[2] = { 0, }; \ | ||
304 | \ | ||
305 | if (reg_num) src_val = fetch_reg_addr(reg_num, regs); \ | ||
306 | else { \ | ||
307 | src_val = &zero[0]; \ | ||
308 | if (size == 8) \ | ||
309 | zero[1] = fetch_reg(1, regs); \ | ||
310 | } \ | ||
311 | store_common(dst_addr, size, src_val, errh); \ | ||
312 | }) | ||
313 | 199 | ||
314 | extern void smp_capture(void); | 200 | extern void smp_capture(void); |
315 | extern void smp_release(void); | 201 | extern void smp_release(void); |
316 | 202 | ||
317 | #define do_atomic(srcdest_reg, mem, errh) ({ \ | ||
318 | unsigned long flags, tmp; \ | ||
319 | \ | ||
320 | smp_capture(); \ | ||
321 | local_irq_save(flags); \ | ||
322 | tmp = *srcdest_reg; \ | ||
323 | do_integer_load(srcdest_reg, 4, mem, 0, errh); \ | ||
324 | store_common(mem, 4, &tmp, errh); \ | ||
325 | local_irq_restore(flags); \ | ||
326 | smp_release(); \ | ||
327 | }) | ||
328 | |||
329 | static inline void advance(struct pt_regs *regs) | 203 | static inline void advance(struct pt_regs *regs) |
330 | { | 204 | { |
331 | regs->pc = regs->npc; | 205 | regs->pc = regs->npc; |
@@ -342,9 +216,7 @@ static inline int ok_for_kernel(unsigned int insn) | |||
342 | return !floating_point_load_or_store_p(insn); | 216 | return !floating_point_load_or_store_p(insn); |
343 | } | 217 | } |
344 | 218 | ||
345 | void kernel_mna_trap_fault(struct pt_regs *regs, unsigned int insn) __asm__ ("kernel_mna_trap_fault"); | 219 | static void kernel_mna_trap_fault(struct pt_regs *regs, unsigned int insn) |
346 | |||
347 | void kernel_mna_trap_fault(struct pt_regs *regs, unsigned int insn) | ||
348 | { | 220 | { |
349 | unsigned long g2 = regs->u_regs [UREG_G2]; | 221 | unsigned long g2 = regs->u_regs [UREG_G2]; |
350 | unsigned long fixup = search_extables_range(regs->pc, &g2); | 222 | unsigned long fixup = search_extables_range(regs->pc, &g2); |
@@ -379,48 +251,34 @@ asmlinkage void kernel_unaligned_trap(struct pt_regs *regs, unsigned int insn) | |||
379 | printk("Unsupported unaligned load/store trap for kernel at <%08lx>.\n", | 251 | printk("Unsupported unaligned load/store trap for kernel at <%08lx>.\n", |
380 | regs->pc); | 252 | regs->pc); |
381 | unaligned_panic("Wheee. Kernel does fpu/atomic unaligned load/store."); | 253 | unaligned_panic("Wheee. Kernel does fpu/atomic unaligned load/store."); |
382 | |||
383 | __asm__ __volatile__ ("\n" | ||
384 | "kernel_unaligned_trap_fault:\n\t" | ||
385 | "mov %0, %%o0\n\t" | ||
386 | "call kernel_mna_trap_fault\n\t" | ||
387 | " mov %1, %%o1\n\t" | ||
388 | : | ||
389 | : "r" (regs), "r" (insn) | ||
390 | : "o0", "o1", "o2", "o3", "o4", "o5", "o7", | ||
391 | "g1", "g2", "g3", "g4", "g5", "g7", "cc"); | ||
392 | } else { | 254 | } else { |
393 | unsigned long addr = compute_effective_address(regs, insn); | 255 | unsigned long addr = compute_effective_address(regs, insn); |
256 | int err; | ||
394 | 257 | ||
395 | #ifdef DEBUG_MNA | 258 | #ifdef DEBUG_MNA |
396 | printk("KMNA: pc=%08lx [dir=%s addr=%08lx size=%d] retpc[%08lx]\n", | 259 | printk("KMNA: pc=%08lx [dir=%s addr=%08lx size=%d] retpc[%08lx]\n", |
397 | regs->pc, dirstrings[dir], addr, size, regs->u_regs[UREG_RETPC]); | 260 | regs->pc, dirstrings[dir], addr, size, regs->u_regs[UREG_RETPC]); |
398 | #endif | 261 | #endif |
399 | switch(dir) { | 262 | switch (dir) { |
400 | case load: | 263 | case load: |
401 | do_integer_load(fetch_reg_addr(((insn>>25)&0x1f), regs), | 264 | err = do_int_load(fetch_reg_addr(((insn>>25)&0x1f), |
402 | size, (unsigned long *) addr, | 265 | regs), |
403 | decode_signedness(insn), | 266 | size, (unsigned long *) addr, |
404 | kernel_unaligned_trap_fault); | 267 | decode_signedness(insn)); |
405 | break; | 268 | break; |
406 | 269 | ||
407 | case store: | 270 | case store: |
408 | do_integer_store(((insn>>25)&0x1f), size, | 271 | err = do_int_store(((insn>>25)&0x1f), size, |
409 | (unsigned long *) addr, regs, | 272 | (unsigned long *) addr, regs); |
410 | kernel_unaligned_trap_fault); | ||
411 | break; | 273 | break; |
412 | #if 0 /* unsupported */ | ||
413 | case both: | ||
414 | do_atomic(fetch_reg_addr(((insn>>25)&0x1f), regs), | ||
415 | (unsigned long *) addr, | ||
416 | kernel_unaligned_trap_fault); | ||
417 | break; | ||
418 | #endif | ||
419 | default: | 274 | default: |
420 | panic("Impossible kernel unaligned trap."); | 275 | panic("Impossible kernel unaligned trap."); |
421 | /* Not reached... */ | 276 | /* Not reached... */ |
422 | } | 277 | } |
423 | advance(regs); | 278 | if (err) |
279 | kernel_mna_trap_fault(regs, insn); | ||
280 | else | ||
281 | advance(regs); | ||
424 | } | 282 | } |
425 | } | 283 | } |
426 | 284 | ||
@@ -459,9 +317,7 @@ static inline int ok_for_user(struct pt_regs *regs, unsigned int insn, | |||
459 | return 0; | 317 | return 0; |
460 | } | 318 | } |
461 | 319 | ||
462 | void user_mna_trap_fault(struct pt_regs *regs, unsigned int insn) __asm__ ("user_mna_trap_fault"); | 320 | static void user_mna_trap_fault(struct pt_regs *regs, unsigned int insn) |
463 | |||
464 | void user_mna_trap_fault(struct pt_regs *regs, unsigned int insn) | ||
465 | { | 321 | { |
466 | siginfo_t info; | 322 | siginfo_t info; |
467 | 323 | ||
@@ -485,7 +341,7 @@ asmlinkage void user_unaligned_trap(struct pt_regs *regs, unsigned int insn) | |||
485 | if(!ok_for_user(regs, insn, dir)) { | 341 | if(!ok_for_user(regs, insn, dir)) { |
486 | goto kill_user; | 342 | goto kill_user; |
487 | } else { | 343 | } else { |
488 | int size = decode_access_size(insn); | 344 | int err, size = decode_access_size(insn); |
489 | unsigned long addr; | 345 | unsigned long addr; |
490 | 346 | ||
491 | if(floating_point_load_or_store_p(insn)) { | 347 | if(floating_point_load_or_store_p(insn)) { |
@@ -496,48 +352,34 @@ asmlinkage void user_unaligned_trap(struct pt_regs *regs, unsigned int insn) | |||
496 | addr = compute_effective_address(regs, insn); | 352 | addr = compute_effective_address(regs, insn); |
497 | switch(dir) { | 353 | switch(dir) { |
498 | case load: | 354 | case load: |
499 | do_integer_load(fetch_reg_addr(((insn>>25)&0x1f), regs), | 355 | err = do_int_load(fetch_reg_addr(((insn>>25)&0x1f), |
500 | size, (unsigned long *) addr, | 356 | regs), |
501 | decode_signedness(insn), | 357 | size, (unsigned long *) addr, |
502 | user_unaligned_trap_fault); | 358 | decode_signedness(insn)); |
503 | break; | 359 | break; |
504 | 360 | ||
505 | case store: | 361 | case store: |
506 | do_integer_store(((insn>>25)&0x1f), size, | 362 | err = do_int_store(((insn>>25)&0x1f), size, |
507 | (unsigned long *) addr, regs, | 363 | (unsigned long *) addr, regs); |
508 | user_unaligned_trap_fault); | ||
509 | break; | 364 | break; |
510 | 365 | ||
511 | case both: | 366 | case both: |
512 | #if 0 /* unsupported */ | ||
513 | do_atomic(fetch_reg_addr(((insn>>25)&0x1f), regs), | ||
514 | (unsigned long *) addr, | ||
515 | user_unaligned_trap_fault); | ||
516 | #else | ||
517 | /* | 367 | /* |
518 | * This was supported in 2.4. However, we question | 368 | * This was supported in 2.4. However, we question |
519 | * the value of SWAP instruction across word boundaries. | 369 | * the value of SWAP instruction across word boundaries. |
520 | */ | 370 | */ |
521 | printk("Unaligned SWAP unsupported.\n"); | 371 | printk("Unaligned SWAP unsupported.\n"); |
522 | goto kill_user; | 372 | err = -EFAULT; |
523 | #endif | ||
524 | break; | 373 | break; |
525 | 374 | ||
526 | default: | 375 | default: |
527 | unaligned_panic("Impossible user unaligned trap."); | 376 | unaligned_panic("Impossible user unaligned trap."); |
528 | |||
529 | __asm__ __volatile__ ("\n" | ||
530 | "user_unaligned_trap_fault:\n\t" | ||
531 | "mov %0, %%o0\n\t" | ||
532 | "call user_mna_trap_fault\n\t" | ||
533 | " mov %1, %%o1\n\t" | ||
534 | : | ||
535 | : "r" (regs), "r" (insn) | ||
536 | : "o0", "o1", "o2", "o3", "o4", "o5", "o7", | ||
537 | "g1", "g2", "g3", "g4", "g5", "g7", "cc"); | ||
538 | goto out; | 377 | goto out; |
539 | } | 378 | } |
540 | advance(regs); | 379 | if (err) |
380 | goto kill_user; | ||
381 | else | ||
382 | advance(regs); | ||
541 | goto out; | 383 | goto out; |
542 | } | 384 | } |
543 | 385 | ||
diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig index 3af378ddb6ae..463d1be32c98 100644 --- a/arch/sparc64/Kconfig +++ b/arch/sparc64/Kconfig | |||
@@ -10,6 +10,7 @@ config SPARC | |||
10 | default y | 10 | default y |
11 | select HAVE_OPROFILE | 11 | select HAVE_OPROFILE |
12 | select HAVE_KPROBES | 12 | select HAVE_KPROBES |
13 | select HAVE_KRETPROBES | ||
13 | 14 | ||
14 | config SPARC64 | 15 | config SPARC64 |
15 | bool | 16 | bool |
diff --git a/arch/sparc64/kernel/cpu.c b/arch/sparc64/kernel/cpu.c index e43db73f2b91..dd5d28e3d798 100644 --- a/arch/sparc64/kernel/cpu.c +++ b/arch/sparc64/kernel/cpu.c | |||
@@ -30,7 +30,7 @@ struct cpu_fp_info { | |||
30 | char* fp_name; | 30 | char* fp_name; |
31 | }; | 31 | }; |
32 | 32 | ||
33 | struct cpu_fp_info linux_sparc_fpu[] = { | 33 | static struct cpu_fp_info linux_sparc_fpu[] = { |
34 | { 0x17, 0x10, 0, "UltraSparc I integrated FPU"}, | 34 | { 0x17, 0x10, 0, "UltraSparc I integrated FPU"}, |
35 | { 0x22, 0x10, 0, "UltraSparc I integrated FPU"}, | 35 | { 0x22, 0x10, 0, "UltraSparc I integrated FPU"}, |
36 | { 0x17, 0x11, 0, "UltraSparc II integrated FPU"}, | 36 | { 0x17, 0x11, 0, "UltraSparc II integrated FPU"}, |
@@ -46,7 +46,7 @@ struct cpu_fp_info linux_sparc_fpu[] = { | |||
46 | 46 | ||
47 | #define NSPARCFPU ARRAY_SIZE(linux_sparc_fpu) | 47 | #define NSPARCFPU ARRAY_SIZE(linux_sparc_fpu) |
48 | 48 | ||
49 | struct cpu_iu_info linux_sparc_chips[] = { | 49 | static struct cpu_iu_info linux_sparc_chips[] = { |
50 | { 0x17, 0x10, "TI UltraSparc I (SpitFire)"}, | 50 | { 0x17, 0x10, "TI UltraSparc I (SpitFire)"}, |
51 | { 0x22, 0x10, "TI UltraSparc I (SpitFire)"}, | 51 | { 0x22, 0x10, "TI UltraSparc I (SpitFire)"}, |
52 | { 0x17, 0x11, "TI UltraSparc II (BlackBird)"}, | 52 | { 0x17, 0x11, "TI UltraSparc II (BlackBird)"}, |
diff --git a/arch/sparc64/kernel/process.c b/arch/sparc64/kernel/process.c index 2aafce7dfc0e..e116e38b160e 100644 --- a/arch/sparc64/kernel/process.c +++ b/arch/sparc64/kernel/process.c | |||
@@ -114,8 +114,6 @@ void cpu_idle(void) | |||
114 | } | 114 | } |
115 | } | 115 | } |
116 | 116 | ||
117 | extern char reboot_command []; | ||
118 | |||
119 | void machine_halt(void) | 117 | void machine_halt(void) |
120 | { | 118 | { |
121 | sstate_halt(); | 119 | sstate_halt(); |
diff --git a/arch/sparc64/solaris/conv.h b/arch/sparc64/solaris/conv.h index 5faf59a9de39..50e58232cf2b 100644 --- a/arch/sparc64/solaris/conv.h +++ b/arch/sparc64/solaris/conv.h | |||
@@ -28,7 +28,7 @@ extern unsigned sunos_sys_table[]; | |||
28 | #define SUNOS(x) ((long)sunos_sys_table[x]) | 28 | #define SUNOS(x) ((long)sunos_sys_table[x]) |
29 | 29 | ||
30 | #ifdef DEBUG_SOLARIS | 30 | #ifdef DEBUG_SOLARIS |
31 | #define SOLD(s) printk("%s,%d,%s(): %s\n",__FILE__,__LINE__,__FUNCTION__,(s)) | 31 | #define SOLD(s) printk("%s,%d,%s(): %s\n",__FILE__,__LINE__,__func__,(s)) |
32 | #define SOLDD(s) printk("solaris: "); printk s | 32 | #define SOLDD(s) printk("solaris: "); printk s |
33 | #else | 33 | #else |
34 | #define SOLD(s) | 34 | #define SOLD(s) |
diff --git a/arch/sparc64/solaris/timod.c b/arch/sparc64/solaris/timod.c index f53123c02c2b..15234fcd191a 100644 --- a/arch/sparc64/solaris/timod.c +++ b/arch/sparc64/solaris/timod.c | |||
@@ -81,7 +81,7 @@ void mykfree(void *p) | |||
81 | #define MKCTL_MAGIC 0xDEADBABEBADC0DEDL | 81 | #define MKCTL_MAGIC 0xDEADBABEBADC0DEDL |
82 | #define PUT_MAGIC(a,m) do{(*(u64*)(a))=(m);}while(0) | 82 | #define PUT_MAGIC(a,m) do{(*(u64*)(a))=(m);}while(0) |
83 | #define SCHECK_MAGIC(a,m) do{if((*(u64*)(a))!=(m))printk("%s,%u,%s(): magic %08x at %p corrupted!\n",\ | 83 | #define SCHECK_MAGIC(a,m) do{if((*(u64*)(a))!=(m))printk("%s,%u,%s(): magic %08x at %p corrupted!\n",\ |
84 | __FILE__,__LINE__,__FUNCTION__,(m),(a));}while(0) | 84 | __FILE__,__LINE__,__func__,(m),(a));}while(0) |
85 | #define BUF_OFFSET sizeof(u64) | 85 | #define BUF_OFFSET sizeof(u64) |
86 | #define MKCTL_TRAILER sizeof(u64) | 86 | #define MKCTL_TRAILER sizeof(u64) |
87 | 87 | ||
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 4a88cf7695b4..f41c9538ca30 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -21,7 +21,8 @@ config X86 | |||
21 | select HAVE_IDE | 21 | select HAVE_IDE |
22 | select HAVE_OPROFILE | 22 | select HAVE_OPROFILE |
23 | select HAVE_KPROBES | 23 | select HAVE_KPROBES |
24 | select HAVE_KVM | 24 | select HAVE_KRETPROBES |
25 | select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64) | ||
25 | 26 | ||
26 | 27 | ||
27 | config GENERIC_LOCKBREAK | 28 | config GENERIC_LOCKBREAK |
diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu index 6d50064db182..9304bfba7d45 100644 --- a/arch/x86/Kconfig.cpu +++ b/arch/x86/Kconfig.cpu | |||
@@ -388,7 +388,7 @@ config X86_OOSTORE | |||
388 | # | 388 | # |
389 | config X86_P6_NOP | 389 | config X86_P6_NOP |
390 | def_bool y | 390 | def_bool y |
391 | depends on (X86_64 || !X86_GENERIC) && (M686 || MPENTIUMII || MPENTIUMIII || MPENTIUMM || MCORE2 || PENTIUM4) | 391 | depends on (X86_64 || !X86_GENERIC) && (M686 || MPENTIUMII || MPENTIUMIII || MPENTIUMM || MCORE2 || MPENTIUM4) |
392 | 392 | ||
393 | config X86_TSC | 393 | config X86_TSC |
394 | def_bool y | 394 | def_bool y |
diff --git a/arch/x86/kernel/cpu/cpufreq/e_powersaver.c b/arch/x86/kernel/cpu/cpufreq/e_powersaver.c index 39f8cb18296c..c2f930d86640 100644 --- a/arch/x86/kernel/cpu/cpufreq/e_powersaver.c +++ b/arch/x86/kernel/cpu/cpufreq/e_powersaver.c | |||
@@ -55,7 +55,6 @@ static int eps_set_state(struct eps_cpu_data *centaur, | |||
55 | { | 55 | { |
56 | struct cpufreq_freqs freqs; | 56 | struct cpufreq_freqs freqs; |
57 | u32 lo, hi; | 57 | u32 lo, hi; |
58 | u8 current_multiplier, current_voltage; | ||
59 | int err = 0; | 58 | int err = 0; |
60 | int i; | 59 | int i; |
61 | 60 | ||
@@ -95,6 +94,10 @@ postchange: | |||
95 | rdmsr(MSR_IA32_PERF_STATUS, lo, hi); | 94 | rdmsr(MSR_IA32_PERF_STATUS, lo, hi); |
96 | freqs.new = centaur->fsb * ((lo >> 8) & 0xff); | 95 | freqs.new = centaur->fsb * ((lo >> 8) & 0xff); |
97 | 96 | ||
97 | #ifdef DEBUG | ||
98 | { | ||
99 | u8 current_multiplier, current_voltage; | ||
100 | |||
98 | /* Print voltage and multiplier */ | 101 | /* Print voltage and multiplier */ |
99 | rdmsr(MSR_IA32_PERF_STATUS, lo, hi); | 102 | rdmsr(MSR_IA32_PERF_STATUS, lo, hi); |
100 | current_voltage = lo & 0xff; | 103 | current_voltage = lo & 0xff; |
@@ -103,7 +106,8 @@ postchange: | |||
103 | current_multiplier = (lo >> 8) & 0xff; | 106 | current_multiplier = (lo >> 8) & 0xff; |
104 | printk(KERN_INFO "eps: Current multiplier = %d\n", | 107 | printk(KERN_INFO "eps: Current multiplier = %d\n", |
105 | current_multiplier); | 108 | current_multiplier); |
106 | 109 | } | |
110 | #endif | ||
107 | cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); | 111 | cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); |
108 | return err; | 112 | return err; |
109 | } | 113 | } |
diff --git a/arch/x86/kernel/i387.c b/arch/x86/kernel/i387.c index 763dfc407232..60fe80157569 100644 --- a/arch/x86/kernel/i387.c +++ b/arch/x86/kernel/i387.c | |||
@@ -132,7 +132,7 @@ int xfpregs_get(struct task_struct *target, const struct user_regset *regset, | |||
132 | if (!cpu_has_fxsr) | 132 | if (!cpu_has_fxsr) |
133 | return -ENODEV; | 133 | return -ENODEV; |
134 | 134 | ||
135 | unlazy_fpu(target); | 135 | init_fpu(target); |
136 | 136 | ||
137 | return user_regset_copyout(&pos, &count, &kbuf, &ubuf, | 137 | return user_regset_copyout(&pos, &count, &kbuf, &ubuf, |
138 | &target->thread.i387.fxsave, 0, -1); | 138 | &target->thread.i387.fxsave, 0, -1); |
@@ -147,7 +147,7 @@ int xfpregs_set(struct task_struct *target, const struct user_regset *regset, | |||
147 | if (!cpu_has_fxsr) | 147 | if (!cpu_has_fxsr) |
148 | return -ENODEV; | 148 | return -ENODEV; |
149 | 149 | ||
150 | unlazy_fpu(target); | 150 | init_fpu(target); |
151 | set_stopped_child_used_math(target); | 151 | set_stopped_child_used_math(target); |
152 | 152 | ||
153 | ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, | 153 | ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, |
@@ -307,7 +307,7 @@ int fpregs_get(struct task_struct *target, const struct user_regset *regset, | |||
307 | if (!HAVE_HWFP) | 307 | if (!HAVE_HWFP) |
308 | return fpregs_soft_get(target, regset, pos, count, kbuf, ubuf); | 308 | return fpregs_soft_get(target, regset, pos, count, kbuf, ubuf); |
309 | 309 | ||
310 | unlazy_fpu(target); | 310 | init_fpu(target); |
311 | 311 | ||
312 | if (!cpu_has_fxsr) | 312 | if (!cpu_has_fxsr) |
313 | return user_regset_copyout(&pos, &count, &kbuf, &ubuf, | 313 | return user_regset_copyout(&pos, &count, &kbuf, &ubuf, |
@@ -332,7 +332,7 @@ int fpregs_set(struct task_struct *target, const struct user_regset *regset, | |||
332 | if (!HAVE_HWFP) | 332 | if (!HAVE_HWFP) |
333 | return fpregs_soft_set(target, regset, pos, count, kbuf, ubuf); | 333 | return fpregs_soft_set(target, regset, pos, count, kbuf, ubuf); |
334 | 334 | ||
335 | unlazy_fpu(target); | 335 | init_fpu(target); |
336 | set_stopped_child_used_math(target); | 336 | set_stopped_child_used_math(target); |
337 | 337 | ||
338 | if (!cpu_has_fxsr) | 338 | if (!cpu_has_fxsr) |
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c index 2cbee9479ce4..68a6b1511934 100644 --- a/arch/x86/kvm/lapic.c +++ b/arch/x86/kvm/lapic.c | |||
@@ -647,6 +647,10 @@ static void start_apic_timer(struct kvm_lapic *apic) | |||
647 | apic->timer.period = apic_get_reg(apic, APIC_TMICT) * | 647 | apic->timer.period = apic_get_reg(apic, APIC_TMICT) * |
648 | APIC_BUS_CYCLE_NS * apic->timer.divide_count; | 648 | APIC_BUS_CYCLE_NS * apic->timer.divide_count; |
649 | atomic_set(&apic->timer.pending, 0); | 649 | atomic_set(&apic->timer.pending, 0); |
650 | |||
651 | if (!apic->timer.period) | ||
652 | return; | ||
653 | |||
650 | hrtimer_start(&apic->timer.dev, | 654 | hrtimer_start(&apic->timer.dev, |
651 | ktime_add_ns(now, apic->timer.period), | 655 | ktime_add_ns(now, apic->timer.period), |
652 | HRTIMER_MODE_ABS); | 656 | HRTIMER_MODE_ABS); |
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c index 8efdcdbebb03..d8172aabc660 100644 --- a/arch/x86/kvm/mmu.c +++ b/arch/x86/kvm/mmu.c | |||
@@ -681,8 +681,7 @@ static struct kvm_mmu_page *kvm_mmu_get_page(struct kvm_vcpu *vcpu, | |||
681 | unsigned level, | 681 | unsigned level, |
682 | int metaphysical, | 682 | int metaphysical, |
683 | unsigned access, | 683 | unsigned access, |
684 | u64 *parent_pte, | 684 | u64 *parent_pte) |
685 | bool *new_page) | ||
686 | { | 685 | { |
687 | union kvm_mmu_page_role role; | 686 | union kvm_mmu_page_role role; |
688 | unsigned index; | 687 | unsigned index; |
@@ -722,8 +721,6 @@ static struct kvm_mmu_page *kvm_mmu_get_page(struct kvm_vcpu *vcpu, | |||
722 | vcpu->arch.mmu.prefetch_page(vcpu, sp); | 721 | vcpu->arch.mmu.prefetch_page(vcpu, sp); |
723 | if (!metaphysical) | 722 | if (!metaphysical) |
724 | rmap_write_protect(vcpu->kvm, gfn); | 723 | rmap_write_protect(vcpu->kvm, gfn); |
725 | if (new_page) | ||
726 | *new_page = 1; | ||
727 | return sp; | 724 | return sp; |
728 | } | 725 | } |
729 | 726 | ||
@@ -876,11 +873,18 @@ static void page_header_update_slot(struct kvm *kvm, void *pte, gfn_t gfn) | |||
876 | 873 | ||
877 | struct page *gva_to_page(struct kvm_vcpu *vcpu, gva_t gva) | 874 | struct page *gva_to_page(struct kvm_vcpu *vcpu, gva_t gva) |
878 | { | 875 | { |
876 | struct page *page; | ||
877 | |||
879 | gpa_t gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, gva); | 878 | gpa_t gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, gva); |
880 | 879 | ||
881 | if (gpa == UNMAPPED_GVA) | 880 | if (gpa == UNMAPPED_GVA) |
882 | return NULL; | 881 | return NULL; |
883 | return gfn_to_page(vcpu->kvm, gpa >> PAGE_SHIFT); | 882 | |
883 | down_read(¤t->mm->mmap_sem); | ||
884 | page = gfn_to_page(vcpu->kvm, gpa >> PAGE_SHIFT); | ||
885 | up_read(¤t->mm->mmap_sem); | ||
886 | |||
887 | return page; | ||
884 | } | 888 | } |
885 | 889 | ||
886 | static void mmu_set_spte(struct kvm_vcpu *vcpu, u64 *shadow_pte, | 890 | static void mmu_set_spte(struct kvm_vcpu *vcpu, u64 *shadow_pte, |
@@ -999,8 +1003,7 @@ static int __nonpaging_map(struct kvm_vcpu *vcpu, gva_t v, int write, | |||
999 | >> PAGE_SHIFT; | 1003 | >> PAGE_SHIFT; |
1000 | new_table = kvm_mmu_get_page(vcpu, pseudo_gfn, | 1004 | new_table = kvm_mmu_get_page(vcpu, pseudo_gfn, |
1001 | v, level - 1, | 1005 | v, level - 1, |
1002 | 1, ACC_ALL, &table[index], | 1006 | 1, ACC_ALL, &table[index]); |
1003 | NULL); | ||
1004 | if (!new_table) { | 1007 | if (!new_table) { |
1005 | pgprintk("nonpaging_map: ENOMEM\n"); | 1008 | pgprintk("nonpaging_map: ENOMEM\n"); |
1006 | kvm_release_page_clean(page); | 1009 | kvm_release_page_clean(page); |
@@ -1020,15 +1023,18 @@ static int nonpaging_map(struct kvm_vcpu *vcpu, gva_t v, int write, gfn_t gfn) | |||
1020 | 1023 | ||
1021 | struct page *page; | 1024 | struct page *page; |
1022 | 1025 | ||
1026 | down_read(&vcpu->kvm->slots_lock); | ||
1027 | |||
1023 | down_read(¤t->mm->mmap_sem); | 1028 | down_read(¤t->mm->mmap_sem); |
1024 | page = gfn_to_page(vcpu->kvm, gfn); | 1029 | page = gfn_to_page(vcpu->kvm, gfn); |
1030 | up_read(¤t->mm->mmap_sem); | ||
1025 | 1031 | ||
1026 | spin_lock(&vcpu->kvm->mmu_lock); | 1032 | spin_lock(&vcpu->kvm->mmu_lock); |
1027 | kvm_mmu_free_some_pages(vcpu); | 1033 | kvm_mmu_free_some_pages(vcpu); |
1028 | r = __nonpaging_map(vcpu, v, write, gfn, page); | 1034 | r = __nonpaging_map(vcpu, v, write, gfn, page); |
1029 | spin_unlock(&vcpu->kvm->mmu_lock); | 1035 | spin_unlock(&vcpu->kvm->mmu_lock); |
1030 | 1036 | ||
1031 | up_read(¤t->mm->mmap_sem); | 1037 | up_read(&vcpu->kvm->slots_lock); |
1032 | 1038 | ||
1033 | return r; | 1039 | return r; |
1034 | } | 1040 | } |
@@ -1090,7 +1096,7 @@ static void mmu_alloc_roots(struct kvm_vcpu *vcpu) | |||
1090 | 1096 | ||
1091 | ASSERT(!VALID_PAGE(root)); | 1097 | ASSERT(!VALID_PAGE(root)); |
1092 | sp = kvm_mmu_get_page(vcpu, root_gfn, 0, | 1098 | sp = kvm_mmu_get_page(vcpu, root_gfn, 0, |
1093 | PT64_ROOT_LEVEL, 0, ACC_ALL, NULL, NULL); | 1099 | PT64_ROOT_LEVEL, 0, ACC_ALL, NULL); |
1094 | root = __pa(sp->spt); | 1100 | root = __pa(sp->spt); |
1095 | ++sp->root_count; | 1101 | ++sp->root_count; |
1096 | vcpu->arch.mmu.root_hpa = root; | 1102 | vcpu->arch.mmu.root_hpa = root; |
@@ -1111,7 +1117,7 @@ static void mmu_alloc_roots(struct kvm_vcpu *vcpu) | |||
1111 | root_gfn = 0; | 1117 | root_gfn = 0; |
1112 | sp = kvm_mmu_get_page(vcpu, root_gfn, i << 30, | 1118 | sp = kvm_mmu_get_page(vcpu, root_gfn, i << 30, |
1113 | PT32_ROOT_LEVEL, !is_paging(vcpu), | 1119 | PT32_ROOT_LEVEL, !is_paging(vcpu), |
1114 | ACC_ALL, NULL, NULL); | 1120 | ACC_ALL, NULL); |
1115 | root = __pa(sp->spt); | 1121 | root = __pa(sp->spt); |
1116 | ++sp->root_count; | 1122 | ++sp->root_count; |
1117 | vcpu->arch.mmu.pae_root[i] = root | PT_PRESENT_MASK; | 1123 | vcpu->arch.mmu.pae_root[i] = root | PT_PRESENT_MASK; |
@@ -1172,7 +1178,7 @@ void kvm_mmu_flush_tlb(struct kvm_vcpu *vcpu) | |||
1172 | 1178 | ||
1173 | static void paging_new_cr3(struct kvm_vcpu *vcpu) | 1179 | static void paging_new_cr3(struct kvm_vcpu *vcpu) |
1174 | { | 1180 | { |
1175 | pgprintk("%s: cr3 %lx\n", __FUNCTION__, vcpu->cr3); | 1181 | pgprintk("%s: cr3 %lx\n", __FUNCTION__, vcpu->arch.cr3); |
1176 | mmu_free_roots(vcpu); | 1182 | mmu_free_roots(vcpu); |
1177 | } | 1183 | } |
1178 | 1184 | ||
@@ -1362,6 +1368,7 @@ static void mmu_guess_page_from_pte_write(struct kvm_vcpu *vcpu, gpa_t gpa, | |||
1362 | gfn_t gfn; | 1368 | gfn_t gfn; |
1363 | int r; | 1369 | int r; |
1364 | u64 gpte = 0; | 1370 | u64 gpte = 0; |
1371 | struct page *page; | ||
1365 | 1372 | ||
1366 | if (bytes != 4 && bytes != 8) | 1373 | if (bytes != 4 && bytes != 8) |
1367 | return; | 1374 | return; |
@@ -1389,6 +1396,11 @@ static void mmu_guess_page_from_pte_write(struct kvm_vcpu *vcpu, gpa_t gpa, | |||
1389 | if (!is_present_pte(gpte)) | 1396 | if (!is_present_pte(gpte)) |
1390 | return; | 1397 | return; |
1391 | gfn = (gpte & PT64_BASE_ADDR_MASK) >> PAGE_SHIFT; | 1398 | gfn = (gpte & PT64_BASE_ADDR_MASK) >> PAGE_SHIFT; |
1399 | |||
1400 | down_read(¤t->mm->mmap_sem); | ||
1401 | page = gfn_to_page(vcpu->kvm, gfn); | ||
1402 | up_read(¤t->mm->mmap_sem); | ||
1403 | |||
1392 | vcpu->arch.update_pte.gfn = gfn; | 1404 | vcpu->arch.update_pte.gfn = gfn; |
1393 | vcpu->arch.update_pte.page = gfn_to_page(vcpu->kvm, gfn); | 1405 | vcpu->arch.update_pte.page = gfn_to_page(vcpu->kvm, gfn); |
1394 | } | 1406 | } |
@@ -1496,9 +1508,9 @@ int kvm_mmu_unprotect_page_virt(struct kvm_vcpu *vcpu, gva_t gva) | |||
1496 | gpa_t gpa; | 1508 | gpa_t gpa; |
1497 | int r; | 1509 | int r; |
1498 | 1510 | ||
1499 | down_read(¤t->mm->mmap_sem); | 1511 | down_read(&vcpu->kvm->slots_lock); |
1500 | gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, gva); | 1512 | gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, gva); |
1501 | up_read(¤t->mm->mmap_sem); | 1513 | up_read(&vcpu->kvm->slots_lock); |
1502 | 1514 | ||
1503 | spin_lock(&vcpu->kvm->mmu_lock); | 1515 | spin_lock(&vcpu->kvm->mmu_lock); |
1504 | r = kvm_mmu_unprotect_page(vcpu->kvm, gpa >> PAGE_SHIFT); | 1516 | r = kvm_mmu_unprotect_page(vcpu->kvm, gpa >> PAGE_SHIFT); |
diff --git a/arch/x86/kvm/paging_tmpl.h b/arch/x86/kvm/paging_tmpl.h index 03ba8608fe0f..ecc0856268c4 100644 --- a/arch/x86/kvm/paging_tmpl.h +++ b/arch/x86/kvm/paging_tmpl.h | |||
@@ -91,7 +91,10 @@ static bool FNAME(cmpxchg_gpte)(struct kvm *kvm, | |||
91 | pt_element_t *table; | 91 | pt_element_t *table; |
92 | struct page *page; | 92 | struct page *page; |
93 | 93 | ||
94 | down_read(¤t->mm->mmap_sem); | ||
94 | page = gfn_to_page(kvm, table_gfn); | 95 | page = gfn_to_page(kvm, table_gfn); |
96 | up_read(¤t->mm->mmap_sem); | ||
97 | |||
95 | table = kmap_atomic(page, KM_USER0); | 98 | table = kmap_atomic(page, KM_USER0); |
96 | 99 | ||
97 | ret = CMPXCHG(&table[index], orig_pte, new_pte); | 100 | ret = CMPXCHG(&table[index], orig_pte, new_pte); |
@@ -140,7 +143,7 @@ walk: | |||
140 | } | 143 | } |
141 | #endif | 144 | #endif |
142 | ASSERT((!is_long_mode(vcpu) && is_pae(vcpu)) || | 145 | ASSERT((!is_long_mode(vcpu) && is_pae(vcpu)) || |
143 | (vcpu->cr3 & CR3_NONPAE_RESERVED_BITS) == 0); | 146 | (vcpu->arch.cr3 & CR3_NONPAE_RESERVED_BITS) == 0); |
144 | 147 | ||
145 | pt_access = ACC_ALL; | 148 | pt_access = ACC_ALL; |
146 | 149 | ||
@@ -297,7 +300,6 @@ static u64 *FNAME(fetch)(struct kvm_vcpu *vcpu, gva_t addr, | |||
297 | u64 shadow_pte; | 300 | u64 shadow_pte; |
298 | int metaphysical; | 301 | int metaphysical; |
299 | gfn_t table_gfn; | 302 | gfn_t table_gfn; |
300 | bool new_page = 0; | ||
301 | 303 | ||
302 | shadow_ent = ((u64 *)__va(shadow_addr)) + index; | 304 | shadow_ent = ((u64 *)__va(shadow_addr)) + index; |
303 | if (level == PT_PAGE_TABLE_LEVEL) | 305 | if (level == PT_PAGE_TABLE_LEVEL) |
@@ -319,8 +321,8 @@ static u64 *FNAME(fetch)(struct kvm_vcpu *vcpu, gva_t addr, | |||
319 | } | 321 | } |
320 | shadow_page = kvm_mmu_get_page(vcpu, table_gfn, addr, level-1, | 322 | shadow_page = kvm_mmu_get_page(vcpu, table_gfn, addr, level-1, |
321 | metaphysical, access, | 323 | metaphysical, access, |
322 | shadow_ent, &new_page); | 324 | shadow_ent); |
323 | if (new_page && !metaphysical) { | 325 | if (!metaphysical) { |
324 | int r; | 326 | int r; |
325 | pt_element_t curr_pte; | 327 | pt_element_t curr_pte; |
326 | r = kvm_read_guest_atomic(vcpu->kvm, | 328 | r = kvm_read_guest_atomic(vcpu->kvm, |
@@ -378,7 +380,7 @@ static int FNAME(page_fault)(struct kvm_vcpu *vcpu, gva_t addr, | |||
378 | if (r) | 380 | if (r) |
379 | return r; | 381 | return r; |
380 | 382 | ||
381 | down_read(¤t->mm->mmap_sem); | 383 | down_read(&vcpu->kvm->slots_lock); |
382 | /* | 384 | /* |
383 | * Look up the shadow pte for the faulting address. | 385 | * Look up the shadow pte for the faulting address. |
384 | */ | 386 | */ |
@@ -392,11 +394,13 @@ static int FNAME(page_fault)(struct kvm_vcpu *vcpu, gva_t addr, | |||
392 | pgprintk("%s: guest page fault\n", __FUNCTION__); | 394 | pgprintk("%s: guest page fault\n", __FUNCTION__); |
393 | inject_page_fault(vcpu, addr, walker.error_code); | 395 | inject_page_fault(vcpu, addr, walker.error_code); |
394 | vcpu->arch.last_pt_write_count = 0; /* reset fork detector */ | 396 | vcpu->arch.last_pt_write_count = 0; /* reset fork detector */ |
395 | up_read(¤t->mm->mmap_sem); | 397 | up_read(&vcpu->kvm->slots_lock); |
396 | return 0; | 398 | return 0; |
397 | } | 399 | } |
398 | 400 | ||
401 | down_read(¤t->mm->mmap_sem); | ||
399 | page = gfn_to_page(vcpu->kvm, walker.gfn); | 402 | page = gfn_to_page(vcpu->kvm, walker.gfn); |
403 | up_read(¤t->mm->mmap_sem); | ||
400 | 404 | ||
401 | spin_lock(&vcpu->kvm->mmu_lock); | 405 | spin_lock(&vcpu->kvm->mmu_lock); |
402 | kvm_mmu_free_some_pages(vcpu); | 406 | kvm_mmu_free_some_pages(vcpu); |
@@ -413,14 +417,14 @@ static int FNAME(page_fault)(struct kvm_vcpu *vcpu, gva_t addr, | |||
413 | */ | 417 | */ |
414 | if (shadow_pte && is_io_pte(*shadow_pte)) { | 418 | if (shadow_pte && is_io_pte(*shadow_pte)) { |
415 | spin_unlock(&vcpu->kvm->mmu_lock); | 419 | spin_unlock(&vcpu->kvm->mmu_lock); |
416 | up_read(¤t->mm->mmap_sem); | 420 | up_read(&vcpu->kvm->slots_lock); |
417 | return 1; | 421 | return 1; |
418 | } | 422 | } |
419 | 423 | ||
420 | ++vcpu->stat.pf_fixed; | 424 | ++vcpu->stat.pf_fixed; |
421 | kvm_mmu_audit(vcpu, "post page fault (fixed)"); | 425 | kvm_mmu_audit(vcpu, "post page fault (fixed)"); |
422 | spin_unlock(&vcpu->kvm->mmu_lock); | 426 | spin_unlock(&vcpu->kvm->mmu_lock); |
423 | up_read(¤t->mm->mmap_sem); | 427 | up_read(&vcpu->kvm->slots_lock); |
424 | 428 | ||
425 | return write_pt; | 429 | return write_pt; |
426 | } | 430 | } |
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index de755cb1431d..1a582f1090e8 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c | |||
@@ -792,6 +792,10 @@ static void svm_set_cr0(struct kvm_vcpu *vcpu, unsigned long cr0) | |||
792 | vcpu->arch.cr0 = cr0; | 792 | vcpu->arch.cr0 = cr0; |
793 | cr0 |= X86_CR0_PG | X86_CR0_WP; | 793 | cr0 |= X86_CR0_PG | X86_CR0_WP; |
794 | cr0 &= ~(X86_CR0_CD | X86_CR0_NW); | 794 | cr0 &= ~(X86_CR0_CD | X86_CR0_NW); |
795 | if (!vcpu->fpu_active) { | ||
796 | svm->vmcb->control.intercept_exceptions |= (1 << NM_VECTOR); | ||
797 | cr0 |= X86_CR0_TS; | ||
798 | } | ||
795 | svm->vmcb->save.cr0 = cr0; | 799 | svm->vmcb->save.cr0 = cr0; |
796 | } | 800 | } |
797 | 801 | ||
@@ -1096,6 +1100,24 @@ static int svm_get_msr(struct kvm_vcpu *vcpu, unsigned ecx, u64 *data) | |||
1096 | case MSR_IA32_SYSENTER_ESP: | 1100 | case MSR_IA32_SYSENTER_ESP: |
1097 | *data = svm->vmcb->save.sysenter_esp; | 1101 | *data = svm->vmcb->save.sysenter_esp; |
1098 | break; | 1102 | break; |
1103 | /* Nobody will change the following 5 values in the VMCB so | ||
1104 | we can safely return them on rdmsr. They will always be 0 | ||
1105 | until LBRV is implemented. */ | ||
1106 | case MSR_IA32_DEBUGCTLMSR: | ||
1107 | *data = svm->vmcb->save.dbgctl; | ||
1108 | break; | ||
1109 | case MSR_IA32_LASTBRANCHFROMIP: | ||
1110 | *data = svm->vmcb->save.br_from; | ||
1111 | break; | ||
1112 | case MSR_IA32_LASTBRANCHTOIP: | ||
1113 | *data = svm->vmcb->save.br_to; | ||
1114 | break; | ||
1115 | case MSR_IA32_LASTINTFROMIP: | ||
1116 | *data = svm->vmcb->save.last_excp_from; | ||
1117 | break; | ||
1118 | case MSR_IA32_LASTINTTOIP: | ||
1119 | *data = svm->vmcb->save.last_excp_to; | ||
1120 | break; | ||
1099 | default: | 1121 | default: |
1100 | return kvm_get_msr_common(vcpu, ecx, data); | 1122 | return kvm_get_msr_common(vcpu, ecx, data); |
1101 | } | 1123 | } |
@@ -1156,6 +1178,10 @@ static int svm_set_msr(struct kvm_vcpu *vcpu, unsigned ecx, u64 data) | |||
1156 | case MSR_IA32_SYSENTER_ESP: | 1178 | case MSR_IA32_SYSENTER_ESP: |
1157 | svm->vmcb->save.sysenter_esp = data; | 1179 | svm->vmcb->save.sysenter_esp = data; |
1158 | break; | 1180 | break; |
1181 | case MSR_IA32_DEBUGCTLMSR: | ||
1182 | pr_unimpl(vcpu, "%s: MSR_IA32_DEBUGCTLMSR 0x%llx, nop\n", | ||
1183 | __FUNCTION__, data); | ||
1184 | break; | ||
1159 | case MSR_K7_EVNTSEL0: | 1185 | case MSR_K7_EVNTSEL0: |
1160 | case MSR_K7_EVNTSEL1: | 1186 | case MSR_K7_EVNTSEL1: |
1161 | case MSR_K7_EVNTSEL2: | 1187 | case MSR_K7_EVNTSEL2: |
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index ad36447e696e..94ea724638fd 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c | |||
@@ -638,6 +638,7 @@ static void setup_msrs(struct vcpu_vmx *vmx) | |||
638 | { | 638 | { |
639 | int save_nmsrs; | 639 | int save_nmsrs; |
640 | 640 | ||
641 | vmx_load_host_state(vmx); | ||
641 | save_nmsrs = 0; | 642 | save_nmsrs = 0; |
642 | #ifdef CONFIG_X86_64 | 643 | #ifdef CONFIG_X86_64 |
643 | if (is_long_mode(&vmx->vcpu)) { | 644 | if (is_long_mode(&vmx->vcpu)) { |
@@ -1477,7 +1478,7 @@ static int alloc_apic_access_page(struct kvm *kvm) | |||
1477 | struct kvm_userspace_memory_region kvm_userspace_mem; | 1478 | struct kvm_userspace_memory_region kvm_userspace_mem; |
1478 | int r = 0; | 1479 | int r = 0; |
1479 | 1480 | ||
1480 | down_write(¤t->mm->mmap_sem); | 1481 | down_write(&kvm->slots_lock); |
1481 | if (kvm->arch.apic_access_page) | 1482 | if (kvm->arch.apic_access_page) |
1482 | goto out; | 1483 | goto out; |
1483 | kvm_userspace_mem.slot = APIC_ACCESS_PAGE_PRIVATE_MEMSLOT; | 1484 | kvm_userspace_mem.slot = APIC_ACCESS_PAGE_PRIVATE_MEMSLOT; |
@@ -1487,9 +1488,12 @@ static int alloc_apic_access_page(struct kvm *kvm) | |||
1487 | r = __kvm_set_memory_region(kvm, &kvm_userspace_mem, 0); | 1488 | r = __kvm_set_memory_region(kvm, &kvm_userspace_mem, 0); |
1488 | if (r) | 1489 | if (r) |
1489 | goto out; | 1490 | goto out; |
1491 | |||
1492 | down_read(¤t->mm->mmap_sem); | ||
1490 | kvm->arch.apic_access_page = gfn_to_page(kvm, 0xfee00); | 1493 | kvm->arch.apic_access_page = gfn_to_page(kvm, 0xfee00); |
1494 | up_read(¤t->mm->mmap_sem); | ||
1491 | out: | 1495 | out: |
1492 | up_write(¤t->mm->mmap_sem); | 1496 | up_write(&kvm->slots_lock); |
1493 | return r; | 1497 | return r; |
1494 | } | 1498 | } |
1495 | 1499 | ||
@@ -1602,9 +1606,6 @@ static int vmx_vcpu_setup(struct vcpu_vmx *vmx) | |||
1602 | vmcs_writel(CR0_GUEST_HOST_MASK, ~0UL); | 1606 | vmcs_writel(CR0_GUEST_HOST_MASK, ~0UL); |
1603 | vmcs_writel(CR4_GUEST_HOST_MASK, KVM_GUEST_CR4_MASK); | 1607 | vmcs_writel(CR4_GUEST_HOST_MASK, KVM_GUEST_CR4_MASK); |
1604 | 1608 | ||
1605 | if (vm_need_virtualize_apic_accesses(vmx->vcpu.kvm)) | ||
1606 | if (alloc_apic_access_page(vmx->vcpu.kvm) != 0) | ||
1607 | return -ENOMEM; | ||
1608 | 1609 | ||
1609 | return 0; | 1610 | return 0; |
1610 | } | 1611 | } |
@@ -2534,6 +2535,9 @@ static struct kvm_vcpu *vmx_create_vcpu(struct kvm *kvm, unsigned int id) | |||
2534 | put_cpu(); | 2535 | put_cpu(); |
2535 | if (err) | 2536 | if (err) |
2536 | goto free_vmcs; | 2537 | goto free_vmcs; |
2538 | if (vm_need_virtualize_apic_accesses(kvm)) | ||
2539 | if (alloc_apic_access_page(kvm) != 0) | ||
2540 | goto free_vmcs; | ||
2537 | 2541 | ||
2538 | return &vmx->vcpu; | 2542 | return &vmx->vcpu; |
2539 | 2543 | ||
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index cf5308148689..6b01552bd1f1 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c | |||
@@ -46,6 +46,9 @@ | |||
46 | #define VM_STAT(x) offsetof(struct kvm, stat.x), KVM_STAT_VM | 46 | #define VM_STAT(x) offsetof(struct kvm, stat.x), KVM_STAT_VM |
47 | #define VCPU_STAT(x) offsetof(struct kvm_vcpu, stat.x), KVM_STAT_VCPU | 47 | #define VCPU_STAT(x) offsetof(struct kvm_vcpu, stat.x), KVM_STAT_VCPU |
48 | 48 | ||
49 | static int kvm_dev_ioctl_get_supported_cpuid(struct kvm_cpuid2 *cpuid, | ||
50 | struct kvm_cpuid_entry2 __user *entries); | ||
51 | |||
49 | struct kvm_x86_ops *kvm_x86_ops; | 52 | struct kvm_x86_ops *kvm_x86_ops; |
50 | 53 | ||
51 | struct kvm_stats_debugfs_item debugfs_entries[] = { | 54 | struct kvm_stats_debugfs_item debugfs_entries[] = { |
@@ -181,7 +184,7 @@ int load_pdptrs(struct kvm_vcpu *vcpu, unsigned long cr3) | |||
181 | int ret; | 184 | int ret; |
182 | u64 pdpte[ARRAY_SIZE(vcpu->arch.pdptrs)]; | 185 | u64 pdpte[ARRAY_SIZE(vcpu->arch.pdptrs)]; |
183 | 186 | ||
184 | down_read(¤t->mm->mmap_sem); | 187 | down_read(&vcpu->kvm->slots_lock); |
185 | ret = kvm_read_guest_page(vcpu->kvm, pdpt_gfn, pdpte, | 188 | ret = kvm_read_guest_page(vcpu->kvm, pdpt_gfn, pdpte, |
186 | offset * sizeof(u64), sizeof(pdpte)); | 189 | offset * sizeof(u64), sizeof(pdpte)); |
187 | if (ret < 0) { | 190 | if (ret < 0) { |
@@ -198,7 +201,7 @@ int load_pdptrs(struct kvm_vcpu *vcpu, unsigned long cr3) | |||
198 | 201 | ||
199 | memcpy(vcpu->arch.pdptrs, pdpte, sizeof(vcpu->arch.pdptrs)); | 202 | memcpy(vcpu->arch.pdptrs, pdpte, sizeof(vcpu->arch.pdptrs)); |
200 | out: | 203 | out: |
201 | up_read(¤t->mm->mmap_sem); | 204 | up_read(&vcpu->kvm->slots_lock); |
202 | 205 | ||
203 | return ret; | 206 | return ret; |
204 | } | 207 | } |
@@ -212,13 +215,13 @@ static bool pdptrs_changed(struct kvm_vcpu *vcpu) | |||
212 | if (is_long_mode(vcpu) || !is_pae(vcpu)) | 215 | if (is_long_mode(vcpu) || !is_pae(vcpu)) |
213 | return false; | 216 | return false; |
214 | 217 | ||
215 | down_read(¤t->mm->mmap_sem); | 218 | down_read(&vcpu->kvm->slots_lock); |
216 | r = kvm_read_guest(vcpu->kvm, vcpu->arch.cr3 & ~31u, pdpte, sizeof(pdpte)); | 219 | r = kvm_read_guest(vcpu->kvm, vcpu->arch.cr3 & ~31u, pdpte, sizeof(pdpte)); |
217 | if (r < 0) | 220 | if (r < 0) |
218 | goto out; | 221 | goto out; |
219 | changed = memcmp(pdpte, vcpu->arch.pdptrs, sizeof(pdpte)) != 0; | 222 | changed = memcmp(pdpte, vcpu->arch.pdptrs, sizeof(pdpte)) != 0; |
220 | out: | 223 | out: |
221 | up_read(¤t->mm->mmap_sem); | 224 | up_read(&vcpu->kvm->slots_lock); |
222 | 225 | ||
223 | return changed; | 226 | return changed; |
224 | } | 227 | } |
@@ -356,7 +359,7 @@ void set_cr3(struct kvm_vcpu *vcpu, unsigned long cr3) | |||
356 | */ | 359 | */ |
357 | } | 360 | } |
358 | 361 | ||
359 | down_read(¤t->mm->mmap_sem); | 362 | down_read(&vcpu->kvm->slots_lock); |
360 | /* | 363 | /* |
361 | * Does the new cr3 value map to physical memory? (Note, we | 364 | * Does the new cr3 value map to physical memory? (Note, we |
362 | * catch an invalid cr3 even in real-mode, because it would | 365 | * catch an invalid cr3 even in real-mode, because it would |
@@ -372,7 +375,7 @@ void set_cr3(struct kvm_vcpu *vcpu, unsigned long cr3) | |||
372 | vcpu->arch.cr3 = cr3; | 375 | vcpu->arch.cr3 = cr3; |
373 | vcpu->arch.mmu.new_cr3(vcpu); | 376 | vcpu->arch.mmu.new_cr3(vcpu); |
374 | } | 377 | } |
375 | up_read(¤t->mm->mmap_sem); | 378 | up_read(&vcpu->kvm->slots_lock); |
376 | } | 379 | } |
377 | EXPORT_SYMBOL_GPL(set_cr3); | 380 | EXPORT_SYMBOL_GPL(set_cr3); |
378 | 381 | ||
@@ -484,6 +487,10 @@ int kvm_set_msr_common(struct kvm_vcpu *vcpu, u32 msr, u64 data) | |||
484 | pr_unimpl(vcpu, "%s: MSR_IA32_MCG_STATUS 0x%llx, nop\n", | 487 | pr_unimpl(vcpu, "%s: MSR_IA32_MCG_STATUS 0x%llx, nop\n", |
485 | __FUNCTION__, data); | 488 | __FUNCTION__, data); |
486 | break; | 489 | break; |
490 | case MSR_IA32_MCG_CTL: | ||
491 | pr_unimpl(vcpu, "%s: MSR_IA32_MCG_CTL 0x%llx, nop\n", | ||
492 | __FUNCTION__, data); | ||
493 | break; | ||
487 | case MSR_IA32_UCODE_REV: | 494 | case MSR_IA32_UCODE_REV: |
488 | case MSR_IA32_UCODE_WRITE: | 495 | case MSR_IA32_UCODE_WRITE: |
489 | case 0x200 ... 0x2ff: /* MTRRs */ | 496 | case 0x200 ... 0x2ff: /* MTRRs */ |
@@ -526,6 +533,7 @@ int kvm_get_msr_common(struct kvm_vcpu *vcpu, u32 msr, u64 *pdata) | |||
526 | case MSR_IA32_MC0_CTL: | 533 | case MSR_IA32_MC0_CTL: |
527 | case MSR_IA32_MCG_STATUS: | 534 | case MSR_IA32_MCG_STATUS: |
528 | case MSR_IA32_MCG_CAP: | 535 | case MSR_IA32_MCG_CAP: |
536 | case MSR_IA32_MCG_CTL: | ||
529 | case MSR_IA32_MC0_MISC: | 537 | case MSR_IA32_MC0_MISC: |
530 | case MSR_IA32_MC0_MISC+4: | 538 | case MSR_IA32_MC0_MISC+4: |
531 | case MSR_IA32_MC0_MISC+8: | 539 | case MSR_IA32_MC0_MISC+8: |
@@ -727,6 +735,24 @@ long kvm_arch_dev_ioctl(struct file *filp, | |||
727 | r = 0; | 735 | r = 0; |
728 | break; | 736 | break; |
729 | } | 737 | } |
738 | case KVM_GET_SUPPORTED_CPUID: { | ||
739 | struct kvm_cpuid2 __user *cpuid_arg = argp; | ||
740 | struct kvm_cpuid2 cpuid; | ||
741 | |||
742 | r = -EFAULT; | ||
743 | if (copy_from_user(&cpuid, cpuid_arg, sizeof cpuid)) | ||
744 | goto out; | ||
745 | r = kvm_dev_ioctl_get_supported_cpuid(&cpuid, | ||
746 | cpuid_arg->entries); | ||
747 | if (r) | ||
748 | goto out; | ||
749 | |||
750 | r = -EFAULT; | ||
751 | if (copy_to_user(cpuid_arg, &cpuid, sizeof cpuid)) | ||
752 | goto out; | ||
753 | r = 0; | ||
754 | break; | ||
755 | } | ||
730 | default: | 756 | default: |
731 | r = -EINVAL; | 757 | r = -EINVAL; |
732 | } | 758 | } |
@@ -974,8 +1000,7 @@ static void do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 function, | |||
974 | put_cpu(); | 1000 | put_cpu(); |
975 | } | 1001 | } |
976 | 1002 | ||
977 | static int kvm_vm_ioctl_get_supported_cpuid(struct kvm *kvm, | 1003 | static int kvm_dev_ioctl_get_supported_cpuid(struct kvm_cpuid2 *cpuid, |
978 | struct kvm_cpuid2 *cpuid, | ||
979 | struct kvm_cpuid_entry2 __user *entries) | 1004 | struct kvm_cpuid_entry2 __user *entries) |
980 | { | 1005 | { |
981 | struct kvm_cpuid_entry2 *cpuid_entries; | 1006 | struct kvm_cpuid_entry2 *cpuid_entries; |
@@ -1207,12 +1232,12 @@ static int kvm_vm_ioctl_set_nr_mmu_pages(struct kvm *kvm, | |||
1207 | if (kvm_nr_mmu_pages < KVM_MIN_ALLOC_MMU_PAGES) | 1232 | if (kvm_nr_mmu_pages < KVM_MIN_ALLOC_MMU_PAGES) |
1208 | return -EINVAL; | 1233 | return -EINVAL; |
1209 | 1234 | ||
1210 | down_write(¤t->mm->mmap_sem); | 1235 | down_write(&kvm->slots_lock); |
1211 | 1236 | ||
1212 | kvm_mmu_change_mmu_pages(kvm, kvm_nr_mmu_pages); | 1237 | kvm_mmu_change_mmu_pages(kvm, kvm_nr_mmu_pages); |
1213 | kvm->arch.n_requested_mmu_pages = kvm_nr_mmu_pages; | 1238 | kvm->arch.n_requested_mmu_pages = kvm_nr_mmu_pages; |
1214 | 1239 | ||
1215 | up_write(¤t->mm->mmap_sem); | 1240 | up_write(&kvm->slots_lock); |
1216 | return 0; | 1241 | return 0; |
1217 | } | 1242 | } |
1218 | 1243 | ||
@@ -1261,7 +1286,7 @@ static int kvm_vm_ioctl_set_memory_alias(struct kvm *kvm, | |||
1261 | < alias->target_phys_addr) | 1286 | < alias->target_phys_addr) |
1262 | goto out; | 1287 | goto out; |
1263 | 1288 | ||
1264 | down_write(¤t->mm->mmap_sem); | 1289 | down_write(&kvm->slots_lock); |
1265 | 1290 | ||
1266 | p = &kvm->arch.aliases[alias->slot]; | 1291 | p = &kvm->arch.aliases[alias->slot]; |
1267 | p->base_gfn = alias->guest_phys_addr >> PAGE_SHIFT; | 1292 | p->base_gfn = alias->guest_phys_addr >> PAGE_SHIFT; |
@@ -1275,7 +1300,7 @@ static int kvm_vm_ioctl_set_memory_alias(struct kvm *kvm, | |||
1275 | 1300 | ||
1276 | kvm_mmu_zap_all(kvm); | 1301 | kvm_mmu_zap_all(kvm); |
1277 | 1302 | ||
1278 | up_write(¤t->mm->mmap_sem); | 1303 | up_write(&kvm->slots_lock); |
1279 | 1304 | ||
1280 | return 0; | 1305 | return 0; |
1281 | 1306 | ||
@@ -1351,7 +1376,7 @@ int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, | |||
1351 | struct kvm_memory_slot *memslot; | 1376 | struct kvm_memory_slot *memslot; |
1352 | int is_dirty = 0; | 1377 | int is_dirty = 0; |
1353 | 1378 | ||
1354 | down_write(¤t->mm->mmap_sem); | 1379 | down_write(&kvm->slots_lock); |
1355 | 1380 | ||
1356 | r = kvm_get_dirty_log(kvm, log, &is_dirty); | 1381 | r = kvm_get_dirty_log(kvm, log, &is_dirty); |
1357 | if (r) | 1382 | if (r) |
@@ -1367,7 +1392,7 @@ int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, | |||
1367 | } | 1392 | } |
1368 | r = 0; | 1393 | r = 0; |
1369 | out: | 1394 | out: |
1370 | up_write(¤t->mm->mmap_sem); | 1395 | up_write(&kvm->slots_lock); |
1371 | return r; | 1396 | return r; |
1372 | } | 1397 | } |
1373 | 1398 | ||
@@ -1487,24 +1512,6 @@ long kvm_arch_vm_ioctl(struct file *filp, | |||
1487 | r = 0; | 1512 | r = 0; |
1488 | break; | 1513 | break; |
1489 | } | 1514 | } |
1490 | case KVM_GET_SUPPORTED_CPUID: { | ||
1491 | struct kvm_cpuid2 __user *cpuid_arg = argp; | ||
1492 | struct kvm_cpuid2 cpuid; | ||
1493 | |||
1494 | r = -EFAULT; | ||
1495 | if (copy_from_user(&cpuid, cpuid_arg, sizeof cpuid)) | ||
1496 | goto out; | ||
1497 | r = kvm_vm_ioctl_get_supported_cpuid(kvm, &cpuid, | ||
1498 | cpuid_arg->entries); | ||
1499 | if (r) | ||
1500 | goto out; | ||
1501 | |||
1502 | r = -EFAULT; | ||
1503 | if (copy_to_user(cpuid_arg, &cpuid, sizeof cpuid)) | ||
1504 | goto out; | ||
1505 | r = 0; | ||
1506 | break; | ||
1507 | } | ||
1508 | default: | 1515 | default: |
1509 | ; | 1516 | ; |
1510 | } | 1517 | } |
@@ -1563,7 +1570,7 @@ int emulator_read_std(unsigned long addr, | |||
1563 | void *data = val; | 1570 | void *data = val; |
1564 | int r = X86EMUL_CONTINUE; | 1571 | int r = X86EMUL_CONTINUE; |
1565 | 1572 | ||
1566 | down_read(¤t->mm->mmap_sem); | 1573 | down_read(&vcpu->kvm->slots_lock); |
1567 | while (bytes) { | 1574 | while (bytes) { |
1568 | gpa_t gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, addr); | 1575 | gpa_t gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, addr); |
1569 | unsigned offset = addr & (PAGE_SIZE-1); | 1576 | unsigned offset = addr & (PAGE_SIZE-1); |
@@ -1585,7 +1592,7 @@ int emulator_read_std(unsigned long addr, | |||
1585 | addr += tocopy; | 1592 | addr += tocopy; |
1586 | } | 1593 | } |
1587 | out: | 1594 | out: |
1588 | up_read(¤t->mm->mmap_sem); | 1595 | up_read(&vcpu->kvm->slots_lock); |
1589 | return r; | 1596 | return r; |
1590 | } | 1597 | } |
1591 | EXPORT_SYMBOL_GPL(emulator_read_std); | 1598 | EXPORT_SYMBOL_GPL(emulator_read_std); |
@@ -1604,9 +1611,9 @@ static int emulator_read_emulated(unsigned long addr, | |||
1604 | return X86EMUL_CONTINUE; | 1611 | return X86EMUL_CONTINUE; |
1605 | } | 1612 | } |
1606 | 1613 | ||
1607 | down_read(¤t->mm->mmap_sem); | 1614 | down_read(&vcpu->kvm->slots_lock); |
1608 | gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, addr); | 1615 | gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, addr); |
1609 | up_read(¤t->mm->mmap_sem); | 1616 | up_read(&vcpu->kvm->slots_lock); |
1610 | 1617 | ||
1611 | /* For APIC access vmexit */ | 1618 | /* For APIC access vmexit */ |
1612 | if ((gpa & PAGE_MASK) == APIC_DEFAULT_PHYS_BASE) | 1619 | if ((gpa & PAGE_MASK) == APIC_DEFAULT_PHYS_BASE) |
@@ -1644,14 +1651,14 @@ static int emulator_write_phys(struct kvm_vcpu *vcpu, gpa_t gpa, | |||
1644 | { | 1651 | { |
1645 | int ret; | 1652 | int ret; |
1646 | 1653 | ||
1647 | down_read(¤t->mm->mmap_sem); | 1654 | down_read(&vcpu->kvm->slots_lock); |
1648 | ret = kvm_write_guest(vcpu->kvm, gpa, val, bytes); | 1655 | ret = kvm_write_guest(vcpu->kvm, gpa, val, bytes); |
1649 | if (ret < 0) { | 1656 | if (ret < 0) { |
1650 | up_read(¤t->mm->mmap_sem); | 1657 | up_read(&vcpu->kvm->slots_lock); |
1651 | return 0; | 1658 | return 0; |
1652 | } | 1659 | } |
1653 | kvm_mmu_pte_write(vcpu, gpa, val, bytes); | 1660 | kvm_mmu_pte_write(vcpu, gpa, val, bytes); |
1654 | up_read(¤t->mm->mmap_sem); | 1661 | up_read(&vcpu->kvm->slots_lock); |
1655 | return 1; | 1662 | return 1; |
1656 | } | 1663 | } |
1657 | 1664 | ||
@@ -1663,9 +1670,9 @@ static int emulator_write_emulated_onepage(unsigned long addr, | |||
1663 | struct kvm_io_device *mmio_dev; | 1670 | struct kvm_io_device *mmio_dev; |
1664 | gpa_t gpa; | 1671 | gpa_t gpa; |
1665 | 1672 | ||
1666 | down_read(¤t->mm->mmap_sem); | 1673 | down_read(&vcpu->kvm->slots_lock); |
1667 | gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, addr); | 1674 | gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, addr); |
1668 | up_read(¤t->mm->mmap_sem); | 1675 | up_read(&vcpu->kvm->slots_lock); |
1669 | 1676 | ||
1670 | if (gpa == UNMAPPED_GVA) { | 1677 | if (gpa == UNMAPPED_GVA) { |
1671 | kvm_inject_page_fault(vcpu, addr, 2); | 1678 | kvm_inject_page_fault(vcpu, addr, 2); |
@@ -1742,7 +1749,7 @@ static int emulator_cmpxchg_emulated(unsigned long addr, | |||
1742 | char *kaddr; | 1749 | char *kaddr; |
1743 | u64 val; | 1750 | u64 val; |
1744 | 1751 | ||
1745 | down_read(¤t->mm->mmap_sem); | 1752 | down_read(&vcpu->kvm->slots_lock); |
1746 | gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, addr); | 1753 | gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, addr); |
1747 | 1754 | ||
1748 | if (gpa == UNMAPPED_GVA || | 1755 | if (gpa == UNMAPPED_GVA || |
@@ -1753,13 +1760,17 @@ static int emulator_cmpxchg_emulated(unsigned long addr, | |||
1753 | goto emul_write; | 1760 | goto emul_write; |
1754 | 1761 | ||
1755 | val = *(u64 *)new; | 1762 | val = *(u64 *)new; |
1763 | |||
1764 | down_read(¤t->mm->mmap_sem); | ||
1756 | page = gfn_to_page(vcpu->kvm, gpa >> PAGE_SHIFT); | 1765 | page = gfn_to_page(vcpu->kvm, gpa >> PAGE_SHIFT); |
1766 | up_read(¤t->mm->mmap_sem); | ||
1767 | |||
1757 | kaddr = kmap_atomic(page, KM_USER0); | 1768 | kaddr = kmap_atomic(page, KM_USER0); |
1758 | set_64bit((u64 *)(kaddr + offset_in_page(gpa)), val); | 1769 | set_64bit((u64 *)(kaddr + offset_in_page(gpa)), val); |
1759 | kunmap_atomic(kaddr, KM_USER0); | 1770 | kunmap_atomic(kaddr, KM_USER0); |
1760 | kvm_release_page_dirty(page); | 1771 | kvm_release_page_dirty(page); |
1761 | emul_write: | 1772 | emul_write: |
1762 | up_read(¤t->mm->mmap_sem); | 1773 | up_read(&vcpu->kvm->slots_lock); |
1763 | } | 1774 | } |
1764 | #endif | 1775 | #endif |
1765 | 1776 | ||
@@ -2152,10 +2163,10 @@ int kvm_emulate_pio_string(struct kvm_vcpu *vcpu, struct kvm_run *run, int in, | |||
2152 | kvm_x86_ops->skip_emulated_instruction(vcpu); | 2163 | kvm_x86_ops->skip_emulated_instruction(vcpu); |
2153 | 2164 | ||
2154 | for (i = 0; i < nr_pages; ++i) { | 2165 | for (i = 0; i < nr_pages; ++i) { |
2155 | down_read(¤t->mm->mmap_sem); | 2166 | down_read(&vcpu->kvm->slots_lock); |
2156 | page = gva_to_page(vcpu, address + i * PAGE_SIZE); | 2167 | page = gva_to_page(vcpu, address + i * PAGE_SIZE); |
2157 | vcpu->arch.pio.guest_pages[i] = page; | 2168 | vcpu->arch.pio.guest_pages[i] = page; |
2158 | up_read(¤t->mm->mmap_sem); | 2169 | up_read(&vcpu->kvm->slots_lock); |
2159 | if (!page) { | 2170 | if (!page) { |
2160 | kvm_inject_gp(vcpu, 0); | 2171 | kvm_inject_gp(vcpu, 0); |
2161 | free_pio_guest_pages(vcpu); | 2172 | free_pio_guest_pages(vcpu); |
@@ -2478,8 +2489,9 @@ static void vapic_enter(struct kvm_vcpu *vcpu) | |||
2478 | 2489 | ||
2479 | down_read(¤t->mm->mmap_sem); | 2490 | down_read(¤t->mm->mmap_sem); |
2480 | page = gfn_to_page(vcpu->kvm, apic->vapic_addr >> PAGE_SHIFT); | 2491 | page = gfn_to_page(vcpu->kvm, apic->vapic_addr >> PAGE_SHIFT); |
2481 | vcpu->arch.apic->vapic_page = page; | ||
2482 | up_read(¤t->mm->mmap_sem); | 2492 | up_read(¤t->mm->mmap_sem); |
2493 | |||
2494 | vcpu->arch.apic->vapic_page = page; | ||
2483 | } | 2495 | } |
2484 | 2496 | ||
2485 | static void vapic_exit(struct kvm_vcpu *vcpu) | 2497 | static void vapic_exit(struct kvm_vcpu *vcpu) |
@@ -2861,8 +2873,8 @@ int kvm_arch_vcpu_ioctl_set_sregs(struct kvm_vcpu *vcpu, | |||
2861 | kvm_x86_ops->decache_cr4_guest_bits(vcpu); | 2873 | kvm_x86_ops->decache_cr4_guest_bits(vcpu); |
2862 | 2874 | ||
2863 | mmu_reset_needed |= vcpu->arch.cr0 != sregs->cr0; | 2875 | mmu_reset_needed |= vcpu->arch.cr0 != sregs->cr0; |
2864 | vcpu->arch.cr0 = sregs->cr0; | ||
2865 | kvm_x86_ops->set_cr0(vcpu, sregs->cr0); | 2876 | kvm_x86_ops->set_cr0(vcpu, sregs->cr0); |
2877 | vcpu->arch.cr0 = sregs->cr0; | ||
2866 | 2878 | ||
2867 | mmu_reset_needed |= vcpu->arch.cr4 != sregs->cr4; | 2879 | mmu_reset_needed |= vcpu->arch.cr4 != sregs->cr4; |
2868 | kvm_x86_ops->set_cr4(vcpu, sregs->cr4); | 2880 | kvm_x86_ops->set_cr4(vcpu, sregs->cr4); |
@@ -2952,9 +2964,9 @@ int kvm_arch_vcpu_ioctl_translate(struct kvm_vcpu *vcpu, | |||
2952 | gpa_t gpa; | 2964 | gpa_t gpa; |
2953 | 2965 | ||
2954 | vcpu_load(vcpu); | 2966 | vcpu_load(vcpu); |
2955 | down_read(¤t->mm->mmap_sem); | 2967 | down_read(&vcpu->kvm->slots_lock); |
2956 | gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, vaddr); | 2968 | gpa = vcpu->arch.mmu.gva_to_gpa(vcpu, vaddr); |
2957 | up_read(¤t->mm->mmap_sem); | 2969 | up_read(&vcpu->kvm->slots_lock); |
2958 | tr->physical_address = gpa; | 2970 | tr->physical_address = gpa; |
2959 | tr->valid = gpa != UNMAPPED_GVA; | 2971 | tr->valid = gpa != UNMAPPED_GVA; |
2960 | tr->writeable = 1; | 2972 | tr->writeable = 1; |
@@ -3227,11 +3239,13 @@ int kvm_arch_set_memory_region(struct kvm *kvm, | |||
3227 | */ | 3239 | */ |
3228 | if (!user_alloc) { | 3240 | if (!user_alloc) { |
3229 | if (npages && !old.rmap) { | 3241 | if (npages && !old.rmap) { |
3242 | down_write(¤t->mm->mmap_sem); | ||
3230 | memslot->userspace_addr = do_mmap(NULL, 0, | 3243 | memslot->userspace_addr = do_mmap(NULL, 0, |
3231 | npages * PAGE_SIZE, | 3244 | npages * PAGE_SIZE, |
3232 | PROT_READ | PROT_WRITE, | 3245 | PROT_READ | PROT_WRITE, |
3233 | MAP_SHARED | MAP_ANONYMOUS, | 3246 | MAP_SHARED | MAP_ANONYMOUS, |
3234 | 0); | 3247 | 0); |
3248 | up_write(¤t->mm->mmap_sem); | ||
3235 | 3249 | ||
3236 | if (IS_ERR((void *)memslot->userspace_addr)) | 3250 | if (IS_ERR((void *)memslot->userspace_addr)) |
3237 | return PTR_ERR((void *)memslot->userspace_addr); | 3251 | return PTR_ERR((void *)memslot->userspace_addr); |
@@ -3239,8 +3253,10 @@ int kvm_arch_set_memory_region(struct kvm *kvm, | |||
3239 | if (!old.user_alloc && old.rmap) { | 3253 | if (!old.user_alloc && old.rmap) { |
3240 | int ret; | 3254 | int ret; |
3241 | 3255 | ||
3256 | down_write(¤t->mm->mmap_sem); | ||
3242 | ret = do_munmap(current->mm, old.userspace_addr, | 3257 | ret = do_munmap(current->mm, old.userspace_addr, |
3243 | old.npages * PAGE_SIZE); | 3258 | old.npages * PAGE_SIZE); |
3259 | up_write(¤t->mm->mmap_sem); | ||
3244 | if (ret < 0) | 3260 | if (ret < 0) |
3245 | printk(KERN_WARNING | 3261 | printk(KERN_WARNING |
3246 | "kvm_vm_ioctl_set_memory_region: " | 3262 | "kvm_vm_ioctl_set_memory_region: " |
diff --git a/arch/x86/mm/numa_64.c b/arch/x86/mm/numa_64.c index 59898fb0a4aa..8ccfee10f5b5 100644 --- a/arch/x86/mm/numa_64.c +++ b/arch/x86/mm/numa_64.c | |||
@@ -622,13 +622,17 @@ void __init init_cpu_to_node(void) | |||
622 | int i; | 622 | int i; |
623 | 623 | ||
624 | for (i = 0; i < NR_CPUS; i++) { | 624 | for (i = 0; i < NR_CPUS; i++) { |
625 | int node; | ||
625 | u16 apicid = x86_cpu_to_apicid_init[i]; | 626 | u16 apicid = x86_cpu_to_apicid_init[i]; |
626 | 627 | ||
627 | if (apicid == BAD_APICID) | 628 | if (apicid == BAD_APICID) |
628 | continue; | 629 | continue; |
629 | if (apicid_to_node[apicid] == NUMA_NO_NODE) | 630 | node = apicid_to_node[apicid]; |
631 | if (node == NUMA_NO_NODE) | ||
630 | continue; | 632 | continue; |
631 | numa_set_node(i, apicid_to_node[apicid]); | 633 | if (!node_online(node)) |
634 | continue; | ||
635 | numa_set_node(i, node); | ||
632 | } | 636 | } |
633 | } | 637 | } |
634 | 638 | ||
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c index 7049294fb469..14e48b5a94ba 100644 --- a/arch/x86/mm/pageattr.c +++ b/arch/x86/mm/pageattr.c | |||
@@ -26,7 +26,6 @@ struct cpa_data { | |||
26 | pgprot_t mask_set; | 26 | pgprot_t mask_set; |
27 | pgprot_t mask_clr; | 27 | pgprot_t mask_clr; |
28 | int numpages; | 28 | int numpages; |
29 | int processed; | ||
30 | int flushtlb; | 29 | int flushtlb; |
31 | unsigned long pfn; | 30 | unsigned long pfn; |
32 | }; | 31 | }; |
@@ -291,8 +290,8 @@ try_preserve_large_page(pte_t *kpte, unsigned long address, | |||
291 | */ | 290 | */ |
292 | nextpage_addr = (address + psize) & pmask; | 291 | nextpage_addr = (address + psize) & pmask; |
293 | numpages = (nextpage_addr - address) >> PAGE_SHIFT; | 292 | numpages = (nextpage_addr - address) >> PAGE_SHIFT; |
294 | if (numpages < cpa->processed) | 293 | if (numpages < cpa->numpages) |
295 | cpa->processed = numpages; | 294 | cpa->numpages = numpages; |
296 | 295 | ||
297 | /* | 296 | /* |
298 | * We are safe now. Check whether the new pgprot is the same: | 297 | * We are safe now. Check whether the new pgprot is the same: |
@@ -319,7 +318,7 @@ try_preserve_large_page(pte_t *kpte, unsigned long address, | |||
319 | */ | 318 | */ |
320 | addr = address + PAGE_SIZE; | 319 | addr = address + PAGE_SIZE; |
321 | pfn++; | 320 | pfn++; |
322 | for (i = 1; i < cpa->processed; i++, addr += PAGE_SIZE, pfn++) { | 321 | for (i = 1; i < cpa->numpages; i++, addr += PAGE_SIZE, pfn++) { |
323 | pgprot_t chk_prot = static_protections(new_prot, addr, pfn); | 322 | pgprot_t chk_prot = static_protections(new_prot, addr, pfn); |
324 | 323 | ||
325 | if (pgprot_val(chk_prot) != pgprot_val(new_prot)) | 324 | if (pgprot_val(chk_prot) != pgprot_val(new_prot)) |
@@ -343,7 +342,7 @@ try_preserve_large_page(pte_t *kpte, unsigned long address, | |||
343 | * that we limited the number of possible pages already to | 342 | * that we limited the number of possible pages already to |
344 | * the number of pages in the large page. | 343 | * the number of pages in the large page. |
345 | */ | 344 | */ |
346 | if (address == (nextpage_addr - psize) && cpa->processed == numpages) { | 345 | if (address == (nextpage_addr - psize) && cpa->numpages == numpages) { |
347 | /* | 346 | /* |
348 | * The address is aligned and the number of pages | 347 | * The address is aligned and the number of pages |
349 | * covers the full page. | 348 | * covers the full page. |
@@ -573,7 +572,7 @@ repeat: | |||
573 | set_pte_atomic(kpte, new_pte); | 572 | set_pte_atomic(kpte, new_pte); |
574 | cpa->flushtlb = 1; | 573 | cpa->flushtlb = 1; |
575 | } | 574 | } |
576 | cpa->processed = 1; | 575 | cpa->numpages = 1; |
577 | return 0; | 576 | return 0; |
578 | } | 577 | } |
579 | 578 | ||
@@ -584,7 +583,7 @@ repeat: | |||
584 | do_split = try_preserve_large_page(kpte, address, cpa); | 583 | do_split = try_preserve_large_page(kpte, address, cpa); |
585 | /* | 584 | /* |
586 | * When the range fits into the existing large page, | 585 | * When the range fits into the existing large page, |
587 | * return. cp->processed and cpa->tlbflush have been updated in | 586 | * return. cp->numpages and cpa->tlbflush have been updated in |
588 | * try_large_page: | 587 | * try_large_page: |
589 | */ | 588 | */ |
590 | if (do_split <= 0) | 589 | if (do_split <= 0) |
@@ -663,7 +662,7 @@ static int __change_page_attr_set_clr(struct cpa_data *cpa, int checkalias) | |||
663 | * Store the remaining nr of pages for the large page | 662 | * Store the remaining nr of pages for the large page |
664 | * preservation check. | 663 | * preservation check. |
665 | */ | 664 | */ |
666 | cpa->numpages = cpa->processed = numpages; | 665 | cpa->numpages = numpages; |
667 | 666 | ||
668 | ret = __change_page_attr(cpa, checkalias); | 667 | ret = __change_page_attr(cpa, checkalias); |
669 | if (ret) | 668 | if (ret) |
@@ -680,9 +679,9 @@ static int __change_page_attr_set_clr(struct cpa_data *cpa, int checkalias) | |||
680 | * CPA operation. Either a large page has been | 679 | * CPA operation. Either a large page has been |
681 | * preserved or a single page update happened. | 680 | * preserved or a single page update happened. |
682 | */ | 681 | */ |
683 | BUG_ON(cpa->processed > numpages); | 682 | BUG_ON(cpa->numpages > numpages); |
684 | numpages -= cpa->processed; | 683 | numpages -= cpa->numpages; |
685 | cpa->vaddr += cpa->processed * PAGE_SIZE; | 684 | cpa->vaddr += cpa->numpages * PAGE_SIZE; |
686 | } | 685 | } |
687 | return 0; | 686 | return 0; |
688 | } | 687 | } |
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c index 3bad4773a2f3..2341492bf7a0 100644 --- a/arch/x86/xen/setup.c +++ b/arch/x86/xen/setup.c | |||
@@ -38,7 +38,8 @@ char * __init xen_memory_setup(void) | |||
38 | unsigned long max_pfn = xen_start_info->nr_pages; | 38 | unsigned long max_pfn = xen_start_info->nr_pages; |
39 | 39 | ||
40 | e820.nr_map = 0; | 40 | e820.nr_map = 0; |
41 | add_memory_region(0, PFN_PHYS(max_pfn), E820_RAM); | 41 | add_memory_region(0, LOWMEMSIZE(), E820_RAM); |
42 | add_memory_region(HIGH_MEMORY, PFN_PHYS(max_pfn)-HIGH_MEMORY, E820_RAM); | ||
42 | 43 | ||
43 | return "Xen"; | 44 | return "Xen"; |
44 | } | 45 | } |