diff options
Diffstat (limited to 'arch')
34 files changed, 459 insertions, 172 deletions
diff --git a/arch/arm/kernel/ptrace.c b/arch/arm/kernel/ptrace.c index 9a340e790da5..2b84f78d7b0f 100644 --- a/arch/arm/kernel/ptrace.c +++ b/arch/arm/kernel/ptrace.c | |||
@@ -242,6 +242,15 @@ get_branch_address(struct task_struct *child, unsigned long pc, unsigned long in | |||
242 | */ | 242 | */ |
243 | long aluop1, aluop2, ccbit; | 243 | long aluop1, aluop2, ccbit; |
244 | 244 | ||
245 | if ((insn & 0x0fffffd0) == 0x012fff10) { | ||
246 | /* | ||
247 | * bx or blx | ||
248 | */ | ||
249 | alt = get_user_reg(child, insn & 15); | ||
250 | break; | ||
251 | } | ||
252 | |||
253 | |||
245 | if ((insn & 0xf000) != 0xf000) | 254 | if ((insn & 0xf000) != 0xf000) |
246 | break; | 255 | break; |
247 | 256 | ||
diff --git a/arch/i386/kernel/kprobes.c b/arch/i386/kernel/kprobes.c index 32b0c24ab9a6..19edcd526ba4 100644 --- a/arch/i386/kernel/kprobes.c +++ b/arch/i386/kernel/kprobes.c | |||
@@ -191,7 +191,7 @@ static int __kprobes kprobe_handler(struct pt_regs *regs) | |||
191 | */ | 191 | */ |
192 | save_previous_kprobe(kcb); | 192 | save_previous_kprobe(kcb); |
193 | set_current_kprobe(p, regs, kcb); | 193 | set_current_kprobe(p, regs, kcb); |
194 | p->nmissed++; | 194 | kprobes_inc_nmissed_count(p); |
195 | prepare_singlestep(p, regs); | 195 | prepare_singlestep(p, regs); |
196 | kcb->kprobe_status = KPROBE_REENTER; | 196 | kcb->kprobe_status = KPROBE_REENTER; |
197 | return 1; | 197 | return 1; |
diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c index c34d1bfc5161..f0dffa03fbba 100644 --- a/arch/i386/kernel/traps.c +++ b/arch/i386/kernel/traps.c | |||
@@ -650,13 +650,6 @@ fastcall void do_nmi(struct pt_regs * regs, long error_code) | |||
650 | 650 | ||
651 | cpu = smp_processor_id(); | 651 | cpu = smp_processor_id(); |
652 | 652 | ||
653 | #ifdef CONFIG_HOTPLUG_CPU | ||
654 | if (!cpu_online(cpu)) { | ||
655 | nmi_exit(); | ||
656 | return; | ||
657 | } | ||
658 | #endif | ||
659 | |||
660 | ++nmi_count(cpu); | 653 | ++nmi_count(cpu); |
661 | 654 | ||
662 | if (!rcu_dereference(nmi_callback)(regs, cpu)) | 655 | if (!rcu_dereference(nmi_callback)(regs, cpu)) |
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index b76ce1fe2e7f..199eeaf0f4e3 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
@@ -58,7 +58,7 @@ config IA64_UNCACHED_ALLOCATOR | |||
58 | bool | 58 | bool |
59 | select GENERIC_ALLOCATOR | 59 | select GENERIC_ALLOCATOR |
60 | 60 | ||
61 | config ZONE_DMA_IS_DMA32 | 61 | config DMA_IS_DMA32 |
62 | bool | 62 | bool |
63 | default y | 63 | default y |
64 | 64 | ||
diff --git a/arch/ia64/configs/sn2_defconfig b/arch/ia64/configs/sn2_defconfig index 87cfd31a4a39..e1924cc9687b 100644 --- a/arch/ia64/configs/sn2_defconfig +++ b/arch/ia64/configs/sn2_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.13-rc6 | 3 | # Linux kernel version: 2.6.15-rc4 |
4 | # Tue Aug 16 14:40:41 2005 | 4 | # Fri Dec 2 10:33:48 2005 |
5 | # | 5 | # |
6 | 6 | ||
7 | # | 7 | # |
@@ -16,6 +16,7 @@ CONFIG_INIT_ENV_ARG_LIMIT=32 | |||
16 | # General setup | 16 | # General setup |
17 | # | 17 | # |
18 | CONFIG_LOCALVERSION="" | 18 | CONFIG_LOCALVERSION="" |
19 | # CONFIG_LOCALVERSION_AUTO is not set | ||
19 | CONFIG_SWAP=y | 20 | CONFIG_SWAP=y |
20 | CONFIG_SYSVIPC=y | 21 | CONFIG_SYSVIPC=y |
21 | CONFIG_POSIX_MQUEUE=y | 22 | CONFIG_POSIX_MQUEUE=y |
@@ -26,6 +27,7 @@ CONFIG_HOTPLUG=y | |||
26 | CONFIG_KOBJECT_UEVENT=y | 27 | CONFIG_KOBJECT_UEVENT=y |
27 | # CONFIG_IKCONFIG is not set | 28 | # CONFIG_IKCONFIG is not set |
28 | CONFIG_CPUSETS=y | 29 | CONFIG_CPUSETS=y |
30 | CONFIG_INITRAMFS_SOURCE="" | ||
29 | # CONFIG_EMBEDDED is not set | 31 | # CONFIG_EMBEDDED is not set |
30 | CONFIG_KALLSYMS=y | 32 | CONFIG_KALLSYMS=y |
31 | CONFIG_KALLSYMS_ALL=y | 33 | CONFIG_KALLSYMS_ALL=y |
@@ -56,11 +58,29 @@ CONFIG_KMOD=y | |||
56 | CONFIG_STOP_MACHINE=y | 58 | CONFIG_STOP_MACHINE=y |
57 | 59 | ||
58 | # | 60 | # |
61 | # Block layer | ||
62 | # | ||
63 | |||
64 | # | ||
65 | # IO Schedulers | ||
66 | # | ||
67 | CONFIG_IOSCHED_NOOP=y | ||
68 | CONFIG_IOSCHED_AS=y | ||
69 | CONFIG_IOSCHED_DEADLINE=y | ||
70 | CONFIG_IOSCHED_CFQ=y | ||
71 | CONFIG_DEFAULT_AS=y | ||
72 | # CONFIG_DEFAULT_DEADLINE is not set | ||
73 | # CONFIG_DEFAULT_CFQ is not set | ||
74 | # CONFIG_DEFAULT_NOOP is not set | ||
75 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
76 | |||
77 | # | ||
59 | # Processor type and features | 78 | # Processor type and features |
60 | # | 79 | # |
61 | CONFIG_IA64=y | 80 | CONFIG_IA64=y |
62 | CONFIG_64BIT=y | 81 | CONFIG_64BIT=y |
63 | CONFIG_MMU=y | 82 | CONFIG_MMU=y |
83 | CONFIG_SWIOTLB=y | ||
64 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 84 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
65 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 85 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
66 | CONFIG_TIME_INTERPOLATION=y | 86 | CONFIG_TIME_INTERPOLATION=y |
@@ -68,6 +88,7 @@ CONFIG_EFI=y | |||
68 | CONFIG_GENERIC_IOMAP=y | 88 | CONFIG_GENERIC_IOMAP=y |
69 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | 89 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y |
70 | CONFIG_IA64_UNCACHED_ALLOCATOR=y | 90 | CONFIG_IA64_UNCACHED_ALLOCATOR=y |
91 | CONFIG_ZONE_DMA_IS_DMA32=y | ||
71 | # CONFIG_IA64_GENERIC is not set | 92 | # CONFIG_IA64_GENERIC is not set |
72 | # CONFIG_IA64_DIG is not set | 93 | # CONFIG_IA64_DIG is not set |
73 | # CONFIG_IA64_HP_ZX1 is not set | 94 | # CONFIG_IA64_HP_ZX1 is not set |
@@ -87,14 +108,10 @@ CONFIG_HZ_250=y | |||
87 | # CONFIG_HZ_1000 is not set | 108 | # CONFIG_HZ_1000 is not set |
88 | CONFIG_HZ=250 | 109 | CONFIG_HZ=250 |
89 | CONFIG_IA64_L1_CACHE_SHIFT=7 | 110 | CONFIG_IA64_L1_CACHE_SHIFT=7 |
90 | CONFIG_NUMA=y | ||
91 | CONFIG_VIRTUAL_MEM_MAP=y | ||
92 | CONFIG_HOLES_IN_ZONE=y | ||
93 | CONFIG_ARCH_DISCONTIGMEM_ENABLE=y | ||
94 | # CONFIG_IA64_CYCLONE is not set | 111 | # CONFIG_IA64_CYCLONE is not set |
95 | CONFIG_IOSAPIC=y | 112 | CONFIG_IOSAPIC=y |
96 | CONFIG_IA64_SGI_SN_XP=m | 113 | CONFIG_IA64_SGI_SN_XP=m |
97 | CONFIG_FORCE_MAX_ZONEORDER=18 | 114 | CONFIG_FORCE_MAX_ZONEORDER=17 |
98 | CONFIG_SMP=y | 115 | CONFIG_SMP=y |
99 | CONFIG_NR_CPUS=512 | 116 | CONFIG_NR_CPUS=512 |
100 | # CONFIG_HOTPLUG_CPU is not set | 117 | # CONFIG_HOTPLUG_CPU is not set |
@@ -107,7 +124,17 @@ CONFIG_DISCONTIGMEM_MANUAL=y | |||
107 | CONFIG_DISCONTIGMEM=y | 124 | CONFIG_DISCONTIGMEM=y |
108 | CONFIG_FLAT_NODE_MEM_MAP=y | 125 | CONFIG_FLAT_NODE_MEM_MAP=y |
109 | CONFIG_NEED_MULTIPLE_NODES=y | 126 | CONFIG_NEED_MULTIPLE_NODES=y |
110 | CONFIG_HAVE_DEC_LOCK=y | 127 | # CONFIG_SPARSEMEM_STATIC is not set |
128 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
129 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||
130 | CONFIG_ARCH_DISCONTIGMEM_ENABLE=y | ||
131 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
132 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | ||
133 | CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y | ||
134 | CONFIG_NUMA=y | ||
135 | CONFIG_VIRTUAL_MEM_MAP=y | ||
136 | CONFIG_HOLES_IN_ZONE=y | ||
137 | CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y | ||
111 | CONFIG_IA32_SUPPORT=y | 138 | CONFIG_IA32_SUPPORT=y |
112 | CONFIG_COMPAT=y | 139 | CONFIG_COMPAT=y |
113 | CONFIG_IA64_MCA_RECOVERY=y | 140 | CONFIG_IA64_MCA_RECOVERY=y |
@@ -126,28 +153,35 @@ CONFIG_BINFMT_ELF=y | |||
126 | # Power management and ACPI | 153 | # Power management and ACPI |
127 | # | 154 | # |
128 | CONFIG_PM=y | 155 | CONFIG_PM=y |
129 | CONFIG_ACPI=y | 156 | # CONFIG_PM_LEGACY is not set |
157 | # CONFIG_PM_DEBUG is not set | ||
130 | 158 | ||
131 | # | 159 | # |
132 | # ACPI (Advanced Configuration and Power Interface) Support | 160 | # ACPI (Advanced Configuration and Power Interface) Support |
133 | # | 161 | # |
162 | CONFIG_ACPI=y | ||
134 | # CONFIG_ACPI_BUTTON is not set | 163 | # CONFIG_ACPI_BUTTON is not set |
135 | # CONFIG_ACPI_FAN is not set | 164 | # CONFIG_ACPI_FAN is not set |
136 | # CONFIG_ACPI_PROCESSOR is not set | 165 | # CONFIG_ACPI_PROCESSOR is not set |
137 | CONFIG_ACPI_NUMA=y | 166 | CONFIG_ACPI_NUMA=y |
167 | CONFIG_ACPI_BLACKLIST_YEAR=0 | ||
138 | # CONFIG_ACPI_DEBUG is not set | 168 | # CONFIG_ACPI_DEBUG is not set |
139 | CONFIG_ACPI_POWER=y | 169 | CONFIG_ACPI_POWER=y |
140 | CONFIG_ACPI_SYSTEM=y | 170 | CONFIG_ACPI_SYSTEM=y |
141 | # CONFIG_ACPI_CONTAINER is not set | 171 | # CONFIG_ACPI_CONTAINER is not set |
142 | 172 | ||
143 | # | 173 | # |
174 | # CPU Frequency scaling | ||
175 | # | ||
176 | # CONFIG_CPU_FREQ is not set | ||
177 | |||
178 | # | ||
144 | # Bus options (PCI, PCMCIA) | 179 | # Bus options (PCI, PCMCIA) |
145 | # | 180 | # |
146 | CONFIG_PCI=y | 181 | CONFIG_PCI=y |
147 | CONFIG_PCI_DOMAINS=y | 182 | CONFIG_PCI_DOMAINS=y |
148 | # CONFIG_PCI_MSI is not set | 183 | # CONFIG_PCI_MSI is not set |
149 | CONFIG_PCI_LEGACY_PROC=y | 184 | CONFIG_PCI_LEGACY_PROC=y |
150 | CONFIG_PCI_NAMES=y | ||
151 | # CONFIG_PCI_DEBUG is not set | 185 | # CONFIG_PCI_DEBUG is not set |
152 | 186 | ||
153 | # | 187 | # |
@@ -191,8 +225,8 @@ CONFIG_SYN_COOKIES=y | |||
191 | # CONFIG_INET_ESP is not set | 225 | # CONFIG_INET_ESP is not set |
192 | # CONFIG_INET_IPCOMP is not set | 226 | # CONFIG_INET_IPCOMP is not set |
193 | # CONFIG_INET_TUNNEL is not set | 227 | # CONFIG_INET_TUNNEL is not set |
194 | CONFIG_IP_TCPDIAG=y | 228 | CONFIG_INET_DIAG=m |
195 | # CONFIG_IP_TCPDIAG_IPV6 is not set | 229 | CONFIG_INET_TCP_DIAG=m |
196 | # CONFIG_TCP_CONG_ADVANCED is not set | 230 | # CONFIG_TCP_CONG_ADVANCED is not set |
197 | CONFIG_TCP_CONG_BIC=y | 231 | CONFIG_TCP_CONG_BIC=y |
198 | CONFIG_IPV6=m | 232 | CONFIG_IPV6=m |
@@ -205,6 +239,11 @@ CONFIG_IPV6=m | |||
205 | # CONFIG_NETFILTER is not set | 239 | # CONFIG_NETFILTER is not set |
206 | 240 | ||
207 | # | 241 | # |
242 | # DCCP Configuration (EXPERIMENTAL) | ||
243 | # | ||
244 | # CONFIG_IP_DCCP is not set | ||
245 | |||
246 | # | ||
208 | # SCTP Configuration (EXPERIMENTAL) | 247 | # SCTP Configuration (EXPERIMENTAL) |
209 | # | 248 | # |
210 | # CONFIG_IP_SCTP is not set | 249 | # CONFIG_IP_SCTP is not set |
@@ -220,8 +259,11 @@ CONFIG_IPV6=m | |||
220 | # CONFIG_NET_DIVERT is not set | 259 | # CONFIG_NET_DIVERT is not set |
221 | # CONFIG_ECONET is not set | 260 | # CONFIG_ECONET is not set |
222 | # CONFIG_WAN_ROUTER is not set | 261 | # CONFIG_WAN_ROUTER is not set |
262 | |||
263 | # | ||
264 | # QoS and/or fair queueing | ||
265 | # | ||
223 | # CONFIG_NET_SCHED is not set | 266 | # CONFIG_NET_SCHED is not set |
224 | # CONFIG_NET_CLS_ROUTE is not set | ||
225 | 267 | ||
226 | # | 268 | # |
227 | # Network testing | 269 | # Network testing |
@@ -230,6 +272,7 @@ CONFIG_IPV6=m | |||
230 | # CONFIG_HAMRADIO is not set | 272 | # CONFIG_HAMRADIO is not set |
231 | # CONFIG_IRDA is not set | 273 | # CONFIG_IRDA is not set |
232 | # CONFIG_BT is not set | 274 | # CONFIG_BT is not set |
275 | # CONFIG_IEEE80211 is not set | ||
233 | 276 | ||
234 | # | 277 | # |
235 | # Device Drivers | 278 | # Device Drivers |
@@ -244,6 +287,11 @@ CONFIG_FW_LOADER=y | |||
244 | # CONFIG_DEBUG_DRIVER is not set | 287 | # CONFIG_DEBUG_DRIVER is not set |
245 | 288 | ||
246 | # | 289 | # |
290 | # Connector - unified userspace <-> kernelspace linker | ||
291 | # | ||
292 | # CONFIG_CONNECTOR is not set | ||
293 | |||
294 | # | ||
247 | # Memory Technology Devices (MTD) | 295 | # Memory Technology Devices (MTD) |
248 | # | 296 | # |
249 | # CONFIG_MTD is not set | 297 | # CONFIG_MTD is not set |
@@ -275,16 +323,7 @@ CONFIG_BLK_DEV_RAM=y | |||
275 | CONFIG_BLK_DEV_RAM_COUNT=16 | 323 | CONFIG_BLK_DEV_RAM_COUNT=16 |
276 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 324 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
277 | CONFIG_BLK_DEV_INITRD=y | 325 | CONFIG_BLK_DEV_INITRD=y |
278 | CONFIG_INITRAMFS_SOURCE="" | ||
279 | # CONFIG_CDROM_PKTCDVD is not set | 326 | # CONFIG_CDROM_PKTCDVD is not set |
280 | |||
281 | # | ||
282 | # IO Schedulers | ||
283 | # | ||
284 | CONFIG_IOSCHED_NOOP=y | ||
285 | CONFIG_IOSCHED_AS=y | ||
286 | CONFIG_IOSCHED_DEADLINE=y | ||
287 | CONFIG_IOSCHED_CFQ=y | ||
288 | CONFIG_ATA_OVER_ETH=m | 327 | CONFIG_ATA_OVER_ETH=m |
289 | 328 | ||
290 | # | 329 | # |
@@ -349,6 +388,7 @@ CONFIG_IDEDMA_AUTO=y | |||
349 | # | 388 | # |
350 | # SCSI device support | 389 | # SCSI device support |
351 | # | 390 | # |
391 | # CONFIG_RAID_ATTRS is not set | ||
352 | CONFIG_SCSI=y | 392 | CONFIG_SCSI=y |
353 | CONFIG_SCSI_PROC_FS=y | 393 | CONFIG_SCSI_PROC_FS=y |
354 | 394 | ||
@@ -375,11 +415,13 @@ CONFIG_SCSI_CONSTANTS=y | |||
375 | # | 415 | # |
376 | CONFIG_SCSI_SPI_ATTRS=y | 416 | CONFIG_SCSI_SPI_ATTRS=y |
377 | CONFIG_SCSI_FC_ATTRS=y | 417 | CONFIG_SCSI_FC_ATTRS=y |
378 | # CONFIG_SCSI_ISCSI_ATTRS is not set | 418 | CONFIG_SCSI_ISCSI_ATTRS=m |
419 | CONFIG_SCSI_SAS_ATTRS=y | ||
379 | 420 | ||
380 | # | 421 | # |
381 | # SCSI low-level drivers | 422 | # SCSI low-level drivers |
382 | # | 423 | # |
424 | CONFIG_ISCSI_TCP=m | ||
383 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 425 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
384 | # CONFIG_SCSI_3W_9XXX is not set | 426 | # CONFIG_SCSI_3W_9XXX is not set |
385 | # CONFIG_SCSI_ACARD is not set | 427 | # CONFIG_SCSI_ACARD is not set |
@@ -389,15 +431,19 @@ CONFIG_SCSI_FC_ATTRS=y | |||
389 | # CONFIG_SCSI_AIC79XX is not set | 431 | # CONFIG_SCSI_AIC79XX is not set |
390 | # CONFIG_MEGARAID_NEWGEN is not set | 432 | # CONFIG_MEGARAID_NEWGEN is not set |
391 | # CONFIG_MEGARAID_LEGACY is not set | 433 | # CONFIG_MEGARAID_LEGACY is not set |
434 | # CONFIG_MEGARAID_SAS is not set | ||
392 | CONFIG_SCSI_SATA=y | 435 | CONFIG_SCSI_SATA=y |
393 | # CONFIG_SCSI_SATA_AHCI is not set | 436 | # CONFIG_SCSI_SATA_AHCI is not set |
394 | # CONFIG_SCSI_SATA_SVW is not set | 437 | # CONFIG_SCSI_SATA_SVW is not set |
395 | # CONFIG_SCSI_ATA_PIIX is not set | 438 | # CONFIG_SCSI_ATA_PIIX is not set |
439 | # CONFIG_SCSI_SATA_MV is not set | ||
396 | # CONFIG_SCSI_SATA_NV is not set | 440 | # CONFIG_SCSI_SATA_NV is not set |
397 | # CONFIG_SCSI_SATA_PROMISE is not set | 441 | # CONFIG_SCSI_PDC_ADMA is not set |
398 | # CONFIG_SCSI_SATA_QSTOR is not set | 442 | # CONFIG_SCSI_SATA_QSTOR is not set |
443 | # CONFIG_SCSI_SATA_PROMISE is not set | ||
399 | # CONFIG_SCSI_SATA_SX4 is not set | 444 | # CONFIG_SCSI_SATA_SX4 is not set |
400 | # CONFIG_SCSI_SATA_SIL is not set | 445 | # CONFIG_SCSI_SATA_SIL is not set |
446 | # CONFIG_SCSI_SATA_SIL24 is not set | ||
401 | # CONFIG_SCSI_SATA_SIS is not set | 447 | # CONFIG_SCSI_SATA_SIS is not set |
402 | # CONFIG_SCSI_SATA_ULI is not set | 448 | # CONFIG_SCSI_SATA_ULI is not set |
403 | # CONFIG_SCSI_SATA_VIA is not set | 449 | # CONFIG_SCSI_SATA_VIA is not set |
@@ -411,7 +457,6 @@ CONFIG_SCSI_SATA_VITESSE=y | |||
411 | # CONFIG_SCSI_IPR is not set | 457 | # CONFIG_SCSI_IPR is not set |
412 | # CONFIG_SCSI_QLOGIC_FC is not set | 458 | # CONFIG_SCSI_QLOGIC_FC is not set |
413 | CONFIG_SCSI_QLOGIC_1280=y | 459 | CONFIG_SCSI_QLOGIC_1280=y |
414 | # CONFIG_SCSI_QLOGIC_1280_1040 is not set | ||
415 | CONFIG_SCSI_QLA2XXX=y | 460 | CONFIG_SCSI_QLA2XXX=y |
416 | # CONFIG_SCSI_QLA21XX is not set | 461 | # CONFIG_SCSI_QLA21XX is not set |
417 | CONFIG_SCSI_QLA22XX=y | 462 | CONFIG_SCSI_QLA22XX=y |
@@ -451,6 +496,7 @@ CONFIG_DM_MULTIPATH_EMC=m | |||
451 | CONFIG_FUSION=y | 496 | CONFIG_FUSION=y |
452 | CONFIG_FUSION_SPI=y | 497 | CONFIG_FUSION_SPI=y |
453 | CONFIG_FUSION_FC=y | 498 | CONFIG_FUSION_FC=y |
499 | CONFIG_FUSION_SAS=y | ||
454 | CONFIG_FUSION_MAX_SGE=128 | 500 | CONFIG_FUSION_MAX_SGE=128 |
455 | CONFIG_FUSION_CTL=m | 501 | CONFIG_FUSION_CTL=m |
456 | 502 | ||
@@ -479,6 +525,10 @@ CONFIG_NETDEVICES=y | |||
479 | # CONFIG_ARCNET is not set | 525 | # CONFIG_ARCNET is not set |
480 | 526 | ||
481 | # | 527 | # |
528 | # PHY device support | ||
529 | # | ||
530 | |||
531 | # | ||
482 | # Ethernet (10 or 100Mbit) | 532 | # Ethernet (10 or 100Mbit) |
483 | # | 533 | # |
484 | # CONFIG_NET_ETHERNET is not set | 534 | # CONFIG_NET_ETHERNET is not set |
@@ -493,6 +543,7 @@ CONFIG_NETDEVICES=y | |||
493 | # CONFIG_HAMACHI is not set | 543 | # CONFIG_HAMACHI is not set |
494 | # CONFIG_YELLOWFIN is not set | 544 | # CONFIG_YELLOWFIN is not set |
495 | # CONFIG_R8169 is not set | 545 | # CONFIG_R8169 is not set |
546 | # CONFIG_SIS190 is not set | ||
496 | # CONFIG_SKGE is not set | 547 | # CONFIG_SKGE is not set |
497 | # CONFIG_SK98LIN is not set | 548 | # CONFIG_SK98LIN is not set |
498 | CONFIG_TIGON3=y | 549 | CONFIG_TIGON3=y |
@@ -501,10 +552,10 @@ CONFIG_TIGON3=y | |||
501 | # | 552 | # |
502 | # Ethernet (10000 Mbit) | 553 | # Ethernet (10000 Mbit) |
503 | # | 554 | # |
555 | CONFIG_CHELSIO_T1=m | ||
504 | # CONFIG_IXGB is not set | 556 | # CONFIG_IXGB is not set |
505 | CONFIG_S2IO=m | 557 | CONFIG_S2IO=m |
506 | # CONFIG_S2IO_NAPI is not set | 558 | # CONFIG_S2IO_NAPI is not set |
507 | # CONFIG_2BUFF_MODE is not set | ||
508 | 559 | ||
509 | # | 560 | # |
510 | # Token Ring devices | 561 | # Token Ring devices |
@@ -583,6 +634,7 @@ CONFIG_HW_CONSOLE=y | |||
583 | CONFIG_SERIAL_NONSTANDARD=y | 634 | CONFIG_SERIAL_NONSTANDARD=y |
584 | # CONFIG_ROCKETPORT is not set | 635 | # CONFIG_ROCKETPORT is not set |
585 | # CONFIG_CYCLADES is not set | 636 | # CONFIG_CYCLADES is not set |
637 | # CONFIG_DIGIEPCA is not set | ||
586 | # CONFIG_MOXA_SMARTIO is not set | 638 | # CONFIG_MOXA_SMARTIO is not set |
587 | # CONFIG_ISI is not set | 639 | # CONFIG_ISI is not set |
588 | # CONFIG_SYNCLINKMP is not set | 640 | # CONFIG_SYNCLINKMP is not set |
@@ -629,7 +681,8 @@ CONFIG_EFI_RTC=y | |||
629 | # | 681 | # |
630 | # Ftape, the floppy tape device driver | 682 | # Ftape, the floppy tape device driver |
631 | # | 683 | # |
632 | # CONFIG_AGP is not set | 684 | CONFIG_AGP=y |
685 | CONFIG_AGP_SGI_TIOCA=y | ||
633 | # CONFIG_DRM is not set | 686 | # CONFIG_DRM is not set |
634 | CONFIG_RAW_DRIVER=m | 687 | CONFIG_RAW_DRIVER=m |
635 | # CONFIG_HPET is not set | 688 | # CONFIG_HPET is not set |
@@ -641,12 +694,12 @@ CONFIG_MMTIMER=y | |||
641 | # TPM devices | 694 | # TPM devices |
642 | # | 695 | # |
643 | # CONFIG_TCG_TPM is not set | 696 | # CONFIG_TCG_TPM is not set |
697 | # CONFIG_TELCLOCK is not set | ||
644 | 698 | ||
645 | # | 699 | # |
646 | # I2C support | 700 | # I2C support |
647 | # | 701 | # |
648 | # CONFIG_I2C is not set | 702 | # CONFIG_I2C is not set |
649 | # CONFIG_I2C_SENSOR is not set | ||
650 | 703 | ||
651 | # | 704 | # |
652 | # Dallas's 1-wire bus | 705 | # Dallas's 1-wire bus |
@@ -657,12 +710,17 @@ CONFIG_MMTIMER=y | |||
657 | # Hardware Monitoring support | 710 | # Hardware Monitoring support |
658 | # | 711 | # |
659 | # CONFIG_HWMON is not set | 712 | # CONFIG_HWMON is not set |
713 | # CONFIG_HWMON_VID is not set | ||
660 | 714 | ||
661 | # | 715 | # |
662 | # Misc devices | 716 | # Misc devices |
663 | # | 717 | # |
664 | 718 | ||
665 | # | 719 | # |
720 | # Multimedia Capabilities Port drivers | ||
721 | # | ||
722 | |||
723 | # | ||
666 | # Multimedia devices | 724 | # Multimedia devices |
667 | # | 725 | # |
668 | # CONFIG_VIDEO_DEV is not set | 726 | # CONFIG_VIDEO_DEV is not set |
@@ -721,12 +779,15 @@ CONFIG_USB_UHCI_HCD=m | |||
721 | # | 779 | # |
722 | # USB Device Class drivers | 780 | # USB Device Class drivers |
723 | # | 781 | # |
724 | # CONFIG_USB_BLUETOOTH_TTY is not set | ||
725 | # CONFIG_USB_ACM is not set | 782 | # CONFIG_USB_ACM is not set |
726 | # CONFIG_USB_PRINTER is not set | 783 | # CONFIG_USB_PRINTER is not set |
727 | 784 | ||
728 | # | 785 | # |
729 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information | 786 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
787 | # | ||
788 | |||
789 | # | ||
790 | # may also be needed; see USB_STORAGE Help for more information | ||
730 | # | 791 | # |
731 | # CONFIG_USB_STORAGE is not set | 792 | # CONFIG_USB_STORAGE is not set |
732 | 793 | ||
@@ -751,9 +812,11 @@ CONFIG_USB_HIDINPUT=y | |||
751 | # CONFIG_USB_MTOUCH is not set | 812 | # CONFIG_USB_MTOUCH is not set |
752 | # CONFIG_USB_ITMTOUCH is not set | 813 | # CONFIG_USB_ITMTOUCH is not set |
753 | # CONFIG_USB_EGALAX is not set | 814 | # CONFIG_USB_EGALAX is not set |
815 | # CONFIG_USB_YEALINK is not set | ||
754 | # CONFIG_USB_XPAD is not set | 816 | # CONFIG_USB_XPAD is not set |
755 | # CONFIG_USB_ATI_REMOTE is not set | 817 | # CONFIG_USB_ATI_REMOTE is not set |
756 | # CONFIG_USB_KEYSPAN_REMOTE is not set | 818 | # CONFIG_USB_KEYSPAN_REMOTE is not set |
819 | # CONFIG_USB_APPLETOUCH is not set | ||
757 | 820 | ||
758 | # | 821 | # |
759 | # USB Imaging devices | 822 | # USB Imaging devices |
@@ -824,11 +887,13 @@ CONFIG_USB_MON=y | |||
824 | # InfiniBand support | 887 | # InfiniBand support |
825 | # | 888 | # |
826 | CONFIG_INFINIBAND=m | 889 | CONFIG_INFINIBAND=m |
827 | CONFIG_INFINIBAND_USER_VERBS=m | 890 | # CONFIG_INFINIBAND_USER_MAD is not set |
891 | CONFIG_INFINIBAND_USER_ACCESS=m | ||
828 | CONFIG_INFINIBAND_MTHCA=m | 892 | CONFIG_INFINIBAND_MTHCA=m |
829 | # CONFIG_INFINIBAND_MTHCA_DEBUG is not set | 893 | # CONFIG_INFINIBAND_MTHCA_DEBUG is not set |
830 | CONFIG_INFINIBAND_IPOIB=m | 894 | CONFIG_INFINIBAND_IPOIB=m |
831 | # CONFIG_INFINIBAND_IPOIB_DEBUG is not set | 895 | # CONFIG_INFINIBAND_IPOIB_DEBUG is not set |
896 | CONFIG_INFINIBAND_SRP=m | ||
832 | 897 | ||
833 | # | 898 | # |
834 | # SN Devices | 899 | # SN Devices |
@@ -858,16 +923,12 @@ CONFIG_REISERFS_FS_POSIX_ACL=y | |||
858 | CONFIG_REISERFS_FS_SECURITY=y | 923 | CONFIG_REISERFS_FS_SECURITY=y |
859 | # CONFIG_JFS_FS is not set | 924 | # CONFIG_JFS_FS is not set |
860 | CONFIG_FS_POSIX_ACL=y | 925 | CONFIG_FS_POSIX_ACL=y |
861 | |||
862 | # | ||
863 | # XFS support | ||
864 | # | ||
865 | CONFIG_XFS_FS=y | 926 | CONFIG_XFS_FS=y |
866 | CONFIG_XFS_EXPORT=y | 927 | CONFIG_XFS_EXPORT=y |
867 | CONFIG_XFS_RT=y | ||
868 | CONFIG_XFS_QUOTA=y | 928 | CONFIG_XFS_QUOTA=y |
869 | # CONFIG_XFS_SECURITY is not set | 929 | # CONFIG_XFS_SECURITY is not set |
870 | CONFIG_XFS_POSIX_ACL=y | 930 | CONFIG_XFS_POSIX_ACL=y |
931 | CONFIG_XFS_RT=y | ||
871 | # CONFIG_MINIX_FS is not set | 932 | # CONFIG_MINIX_FS is not set |
872 | # CONFIG_ROMFS_FS is not set | 933 | # CONFIG_ROMFS_FS is not set |
873 | CONFIG_INOTIFY=y | 934 | CONFIG_INOTIFY=y |
@@ -878,6 +939,7 @@ CONFIG_QUOTACTL=y | |||
878 | CONFIG_DNOTIFY=y | 939 | CONFIG_DNOTIFY=y |
879 | CONFIG_AUTOFS_FS=m | 940 | CONFIG_AUTOFS_FS=m |
880 | CONFIG_AUTOFS4_FS=m | 941 | CONFIG_AUTOFS4_FS=m |
942 | CONFIG_FUSE_FS=m | ||
881 | 943 | ||
882 | # | 944 | # |
883 | # CD-ROM/DVD Filesystems | 945 | # CD-ROM/DVD Filesystems |
@@ -904,13 +966,11 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | |||
904 | CONFIG_PROC_FS=y | 966 | CONFIG_PROC_FS=y |
905 | CONFIG_PROC_KCORE=y | 967 | CONFIG_PROC_KCORE=y |
906 | CONFIG_SYSFS=y | 968 | CONFIG_SYSFS=y |
907 | # CONFIG_DEVPTS_FS_XATTR is not set | ||
908 | CONFIG_TMPFS=y | 969 | CONFIG_TMPFS=y |
909 | CONFIG_TMPFS_XATTR=y | ||
910 | CONFIG_TMPFS_SECURITY=y | ||
911 | CONFIG_HUGETLBFS=y | 970 | CONFIG_HUGETLBFS=y |
912 | CONFIG_HUGETLB_PAGE=y | 971 | CONFIG_HUGETLB_PAGE=y |
913 | CONFIG_RAMFS=y | 972 | CONFIG_RAMFS=y |
973 | CONFIG_RELAYFS_FS=m | ||
914 | 974 | ||
915 | # | 975 | # |
916 | # Miscellaneous filesystems | 976 | # Miscellaneous filesystems |
@@ -959,6 +1019,7 @@ CONFIG_CIFS=m | |||
959 | # CONFIG_NCP_FS is not set | 1019 | # CONFIG_NCP_FS is not set |
960 | # CONFIG_CODA_FS is not set | 1020 | # CONFIG_CODA_FS is not set |
961 | # CONFIG_AFS_FS is not set | 1021 | # CONFIG_AFS_FS is not set |
1022 | # CONFIG_9P_FS is not set | ||
962 | 1023 | ||
963 | # | 1024 | # |
964 | # Partition Types | 1025 | # Partition Types |
@@ -1028,18 +1089,21 @@ CONFIG_NLS_UTF8=y | |||
1028 | # Library routines | 1089 | # Library routines |
1029 | # | 1090 | # |
1030 | # CONFIG_CRC_CCITT is not set | 1091 | # CONFIG_CRC_CCITT is not set |
1092 | CONFIG_CRC16=m | ||
1031 | CONFIG_CRC32=y | 1093 | CONFIG_CRC32=y |
1032 | # CONFIG_LIBCRC32C is not set | 1094 | CONFIG_LIBCRC32C=m |
1033 | CONFIG_ZLIB_INFLATE=m | 1095 | CONFIG_ZLIB_INFLATE=m |
1034 | CONFIG_ZLIB_DEFLATE=m | 1096 | CONFIG_ZLIB_DEFLATE=m |
1035 | CONFIG_GENERIC_ALLOCATOR=y | 1097 | CONFIG_GENERIC_ALLOCATOR=y |
1036 | CONFIG_GENERIC_HARDIRQS=y | 1098 | CONFIG_GENERIC_HARDIRQS=y |
1037 | CONFIG_GENERIC_IRQ_PROBE=y | 1099 | CONFIG_GENERIC_IRQ_PROBE=y |
1100 | CONFIG_GENERIC_PENDING_IRQ=y | ||
1038 | 1101 | ||
1039 | # | 1102 | # |
1040 | # Profiling support | 1103 | # Instrumentation Support |
1041 | # | 1104 | # |
1042 | # CONFIG_PROFILING is not set | 1105 | # CONFIG_PROFILING is not set |
1106 | # CONFIG_KPROBES is not set | ||
1043 | 1107 | ||
1044 | # | 1108 | # |
1045 | # Kernel hacking | 1109 | # Kernel hacking |
@@ -1048,6 +1112,7 @@ CONFIG_GENERIC_IRQ_PROBE=y | |||
1048 | CONFIG_DEBUG_KERNEL=y | 1112 | CONFIG_DEBUG_KERNEL=y |
1049 | CONFIG_MAGIC_SYSRQ=y | 1113 | CONFIG_MAGIC_SYSRQ=y |
1050 | CONFIG_LOG_BUF_SHIFT=20 | 1114 | CONFIG_LOG_BUF_SHIFT=20 |
1115 | CONFIG_DETECT_SOFTLOCKUP=y | ||
1051 | # CONFIG_SCHEDSTATS is not set | 1116 | # CONFIG_SCHEDSTATS is not set |
1052 | # CONFIG_DEBUG_SLAB is not set | 1117 | # CONFIG_DEBUG_SLAB is not set |
1053 | CONFIG_DEBUG_PREEMPT=y | 1118 | CONFIG_DEBUG_PREEMPT=y |
@@ -1056,7 +1121,8 @@ CONFIG_DEBUG_PREEMPT=y | |||
1056 | # CONFIG_DEBUG_KOBJECT is not set | 1121 | # CONFIG_DEBUG_KOBJECT is not set |
1057 | CONFIG_DEBUG_INFO=y | 1122 | CONFIG_DEBUG_INFO=y |
1058 | # CONFIG_DEBUG_FS is not set | 1123 | # CONFIG_DEBUG_FS is not set |
1059 | # CONFIG_KPROBES is not set | 1124 | # CONFIG_DEBUG_VM is not set |
1125 | # CONFIG_RCU_TORTURE_TEST is not set | ||
1060 | CONFIG_IA64_GRANULE_16MB=y | 1126 | CONFIG_IA64_GRANULE_16MB=y |
1061 | # CONFIG_IA64_GRANULE_64MB is not set | 1127 | # CONFIG_IA64_GRANULE_64MB is not set |
1062 | # CONFIG_IA64_PRINT_HAZARDS is not set | 1128 | # CONFIG_IA64_PRINT_HAZARDS is not set |
@@ -1097,7 +1163,7 @@ CONFIG_CRYPTO_DES=m | |||
1097 | # CONFIG_CRYPTO_ANUBIS is not set | 1163 | # CONFIG_CRYPTO_ANUBIS is not set |
1098 | CONFIG_CRYPTO_DEFLATE=m | 1164 | CONFIG_CRYPTO_DEFLATE=m |
1099 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1165 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
1100 | # CONFIG_CRYPTO_CRC32C is not set | 1166 | CONFIG_CRYPTO_CRC32C=m |
1101 | # CONFIG_CRYPTO_TEST is not set | 1167 | # CONFIG_CRYPTO_TEST is not set |
1102 | 1168 | ||
1103 | # | 1169 | # |
diff --git a/arch/ia64/configs/tiger_defconfig b/arch/ia64/configs/tiger_defconfig index 9bc8bcafc905..b1e8f09e9fd5 100644 --- a/arch/ia64/configs/tiger_defconfig +++ b/arch/ia64/configs/tiger_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.14-rc1 | 3 | # Linux kernel version: 2.6.15-rc4 |
4 | # Wed Sep 14 15:17:57 2005 | 4 | # Fri Dec 2 16:06:32 2005 |
5 | # | 5 | # |
6 | 6 | ||
7 | # | 7 | # |
@@ -59,17 +59,36 @@ CONFIG_KMOD=y | |||
59 | CONFIG_STOP_MACHINE=y | 59 | CONFIG_STOP_MACHINE=y |
60 | 60 | ||
61 | # | 61 | # |
62 | # Block layer | ||
63 | # | ||
64 | |||
65 | # | ||
66 | # IO Schedulers | ||
67 | # | ||
68 | CONFIG_IOSCHED_NOOP=y | ||
69 | CONFIG_IOSCHED_AS=y | ||
70 | CONFIG_IOSCHED_DEADLINE=y | ||
71 | CONFIG_IOSCHED_CFQ=y | ||
72 | CONFIG_DEFAULT_AS=y | ||
73 | # CONFIG_DEFAULT_DEADLINE is not set | ||
74 | # CONFIG_DEFAULT_CFQ is not set | ||
75 | # CONFIG_DEFAULT_NOOP is not set | ||
76 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
77 | |||
78 | # | ||
62 | # Processor type and features | 79 | # Processor type and features |
63 | # | 80 | # |
64 | CONFIG_IA64=y | 81 | CONFIG_IA64=y |
65 | CONFIG_64BIT=y | 82 | CONFIG_64BIT=y |
66 | CONFIG_MMU=y | 83 | CONFIG_MMU=y |
84 | CONFIG_SWIOTLB=y | ||
67 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 85 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
68 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 86 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
69 | CONFIG_TIME_INTERPOLATION=y | 87 | CONFIG_TIME_INTERPOLATION=y |
70 | CONFIG_EFI=y | 88 | CONFIG_EFI=y |
71 | CONFIG_GENERIC_IOMAP=y | 89 | CONFIG_GENERIC_IOMAP=y |
72 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | 90 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y |
91 | CONFIG_ZONE_DMA_IS_DMA32=y | ||
73 | # CONFIG_IA64_GENERIC is not set | 92 | # CONFIG_IA64_GENERIC is not set |
74 | CONFIG_IA64_DIG=y | 93 | CONFIG_IA64_DIG=y |
75 | # CONFIG_IA64_HP_ZX1 is not set | 94 | # CONFIG_IA64_HP_ZX1 is not set |
@@ -82,18 +101,16 @@ CONFIG_MCKINLEY=y | |||
82 | # CONFIG_IA64_PAGE_SIZE_8KB is not set | 101 | # CONFIG_IA64_PAGE_SIZE_8KB is not set |
83 | CONFIG_IA64_PAGE_SIZE_16KB=y | 102 | CONFIG_IA64_PAGE_SIZE_16KB=y |
84 | # CONFIG_IA64_PAGE_SIZE_64KB is not set | 103 | # CONFIG_IA64_PAGE_SIZE_64KB is not set |
104 | CONFIG_PGTABLE_3=y | ||
105 | # CONFIG_PGTABLE_4 is not set | ||
85 | # CONFIG_HZ_100 is not set | 106 | # CONFIG_HZ_100 is not set |
86 | CONFIG_HZ_250=y | 107 | CONFIG_HZ_250=y |
87 | # CONFIG_HZ_1000 is not set | 108 | # CONFIG_HZ_1000 is not set |
88 | CONFIG_HZ=250 | 109 | CONFIG_HZ=250 |
89 | CONFIG_IA64_L1_CACHE_SHIFT=7 | 110 | CONFIG_IA64_L1_CACHE_SHIFT=7 |
90 | # CONFIG_NUMA is not set | ||
91 | CONFIG_VIRTUAL_MEM_MAP=y | ||
92 | CONFIG_HOLES_IN_ZONE=y | ||
93 | CONFIG_IA64_CYCLONE=y | 111 | CONFIG_IA64_CYCLONE=y |
94 | CONFIG_IOSAPIC=y | 112 | CONFIG_IOSAPIC=y |
95 | # CONFIG_IA64_SGI_SN_XP is not set | 113 | CONFIG_FORCE_MAX_ZONEORDER=17 |
96 | CONFIG_FORCE_MAX_ZONEORDER=18 | ||
97 | CONFIG_SMP=y | 114 | CONFIG_SMP=y |
98 | CONFIG_NR_CPUS=4 | 115 | CONFIG_NR_CPUS=4 |
99 | CONFIG_HOTPLUG_CPU=y | 116 | CONFIG_HOTPLUG_CPU=y |
@@ -106,7 +123,13 @@ CONFIG_FLATMEM_MANUAL=y | |||
106 | CONFIG_FLATMEM=y | 123 | CONFIG_FLATMEM=y |
107 | CONFIG_FLAT_NODE_MEM_MAP=y | 124 | CONFIG_FLAT_NODE_MEM_MAP=y |
108 | # CONFIG_SPARSEMEM_STATIC is not set | 125 | # CONFIG_SPARSEMEM_STATIC is not set |
109 | CONFIG_HAVE_DEC_LOCK=y | 126 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
127 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||
128 | CONFIG_ARCH_DISCONTIGMEM_ENABLE=y | ||
129 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
130 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | ||
131 | CONFIG_VIRTUAL_MEM_MAP=y | ||
132 | CONFIG_HOLES_IN_ZONE=y | ||
110 | CONFIG_IA32_SUPPORT=y | 133 | CONFIG_IA32_SUPPORT=y |
111 | CONFIG_COMPAT=y | 134 | CONFIG_COMPAT=y |
112 | CONFIG_IA64_MCA_RECOVERY=y | 135 | CONFIG_IA64_MCA_RECOVERY=y |
@@ -118,7 +141,6 @@ CONFIG_IA64_PALINFO=y | |||
118 | # | 141 | # |
119 | CONFIG_EFI_VARS=y | 142 | CONFIG_EFI_VARS=y |
120 | CONFIG_EFI_PCDP=y | 143 | CONFIG_EFI_PCDP=y |
121 | # CONFIG_DELL_RBU is not set | ||
122 | CONFIG_BINFMT_ELF=y | 144 | CONFIG_BINFMT_ELF=y |
123 | CONFIG_BINFMT_MISC=m | 145 | CONFIG_BINFMT_MISC=m |
124 | 146 | ||
@@ -126,6 +148,7 @@ CONFIG_BINFMT_MISC=m | |||
126 | # Power management and ACPI | 148 | # Power management and ACPI |
127 | # | 149 | # |
128 | CONFIG_PM=y | 150 | CONFIG_PM=y |
151 | CONFIG_PM_LEGACY=y | ||
129 | # CONFIG_PM_DEBUG is not set | 152 | # CONFIG_PM_DEBUG is not set |
130 | 153 | ||
131 | # | 154 | # |
@@ -226,14 +249,16 @@ CONFIG_TCP_CONG_BIC=y | |||
226 | # CONFIG_NET_DIVERT is not set | 249 | # CONFIG_NET_DIVERT is not set |
227 | # CONFIG_ECONET is not set | 250 | # CONFIG_ECONET is not set |
228 | # CONFIG_WAN_ROUTER is not set | 251 | # CONFIG_WAN_ROUTER is not set |
252 | |||
253 | # | ||
254 | # QoS and/or fair queueing | ||
255 | # | ||
229 | # CONFIG_NET_SCHED is not set | 256 | # CONFIG_NET_SCHED is not set |
230 | # CONFIG_NET_CLS_ROUTE is not set | ||
231 | 257 | ||
232 | # | 258 | # |
233 | # Network testing | 259 | # Network testing |
234 | # | 260 | # |
235 | # CONFIG_NET_PKTGEN is not set | 261 | # CONFIG_NET_PKTGEN is not set |
236 | # CONFIG_NETFILTER_NETLINK is not set | ||
237 | # CONFIG_HAMRADIO is not set | 262 | # CONFIG_HAMRADIO is not set |
238 | # CONFIG_IRDA is not set | 263 | # CONFIG_IRDA is not set |
239 | # CONFIG_BT is not set | 264 | # CONFIG_BT is not set |
@@ -295,14 +320,6 @@ CONFIG_BLK_DEV_RAM_COUNT=16 | |||
295 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 320 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
296 | CONFIG_BLK_DEV_INITRD=y | 321 | CONFIG_BLK_DEV_INITRD=y |
297 | # CONFIG_CDROM_PKTCDVD is not set | 322 | # CONFIG_CDROM_PKTCDVD is not set |
298 | |||
299 | # | ||
300 | # IO Schedulers | ||
301 | # | ||
302 | CONFIG_IOSCHED_NOOP=y | ||
303 | CONFIG_IOSCHED_AS=y | ||
304 | CONFIG_IOSCHED_DEADLINE=y | ||
305 | CONFIG_IOSCHED_CFQ=y | ||
306 | # CONFIG_ATA_OVER_ETH is not set | 323 | # CONFIG_ATA_OVER_ETH is not set |
307 | 324 | ||
308 | # | 325 | # |
@@ -400,6 +417,7 @@ CONFIG_SCSI_FC_ATTRS=y | |||
400 | # | 417 | # |
401 | # SCSI low-level drivers | 418 | # SCSI low-level drivers |
402 | # | 419 | # |
420 | # CONFIG_ISCSI_TCP is not set | ||
403 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 421 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
404 | # CONFIG_SCSI_3W_9XXX is not set | 422 | # CONFIG_SCSI_3W_9XXX is not set |
405 | # CONFIG_SCSI_ACARD is not set | 423 | # CONFIG_SCSI_ACARD is not set |
@@ -409,6 +427,7 @@ CONFIG_SCSI_FC_ATTRS=y | |||
409 | # CONFIG_SCSI_AIC79XX is not set | 427 | # CONFIG_SCSI_AIC79XX is not set |
410 | # CONFIG_MEGARAID_NEWGEN is not set | 428 | # CONFIG_MEGARAID_NEWGEN is not set |
411 | # CONFIG_MEGARAID_LEGACY is not set | 429 | # CONFIG_MEGARAID_LEGACY is not set |
430 | # CONFIG_MEGARAID_SAS is not set | ||
412 | # CONFIG_SCSI_SATA is not set | 431 | # CONFIG_SCSI_SATA is not set |
413 | # CONFIG_SCSI_DMX3191D is not set | 432 | # CONFIG_SCSI_DMX3191D is not set |
414 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 433 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
@@ -424,7 +443,6 @@ CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 | |||
424 | CONFIG_SCSI_QLOGIC_FC=y | 443 | CONFIG_SCSI_QLOGIC_FC=y |
425 | # CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not set | 444 | # CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not set |
426 | CONFIG_SCSI_QLOGIC_1280=y | 445 | CONFIG_SCSI_QLOGIC_1280=y |
427 | # CONFIG_SCSI_QLOGIC_1280_1040 is not set | ||
428 | CONFIG_SCSI_QLA2XXX=y | 446 | CONFIG_SCSI_QLA2XXX=y |
429 | CONFIG_SCSI_QLA21XX=m | 447 | CONFIG_SCSI_QLA21XX=m |
430 | CONFIG_SCSI_QLA22XX=m | 448 | CONFIG_SCSI_QLA22XX=m |
@@ -463,6 +481,7 @@ CONFIG_DM_ZERO=m | |||
463 | CONFIG_FUSION=y | 481 | CONFIG_FUSION=y |
464 | CONFIG_FUSION_SPI=y | 482 | CONFIG_FUSION_SPI=y |
465 | CONFIG_FUSION_FC=y | 483 | CONFIG_FUSION_FC=y |
484 | # CONFIG_FUSION_SAS is not set | ||
466 | CONFIG_FUSION_MAX_SGE=128 | 485 | CONFIG_FUSION_MAX_SGE=128 |
467 | CONFIG_FUSION_CTL=y | 486 | CONFIG_FUSION_CTL=y |
468 | 487 | ||
@@ -503,6 +522,7 @@ CONFIG_NET_ETHERNET=y | |||
503 | CONFIG_MII=m | 522 | CONFIG_MII=m |
504 | # CONFIG_HAPPYMEAL is not set | 523 | # CONFIG_HAPPYMEAL is not set |
505 | # CONFIG_SUNGEM is not set | 524 | # CONFIG_SUNGEM is not set |
525 | # CONFIG_CASSINI is not set | ||
506 | # CONFIG_NET_VENDOR_3COM is not set | 526 | # CONFIG_NET_VENDOR_3COM is not set |
507 | 527 | ||
508 | # | 528 | # |
@@ -727,6 +747,7 @@ CONFIG_MAX_RAW_DEVS=256 | |||
727 | # TPM devices | 747 | # TPM devices |
728 | # | 748 | # |
729 | # CONFIG_TCG_TPM is not set | 749 | # CONFIG_TCG_TPM is not set |
750 | # CONFIG_TELCLOCK is not set | ||
730 | 751 | ||
731 | # | 752 | # |
732 | # I2C support | 753 | # I2C support |
@@ -812,12 +833,15 @@ CONFIG_USB_UHCI_HCD=y | |||
812 | # | 833 | # |
813 | # USB Device Class drivers | 834 | # USB Device Class drivers |
814 | # | 835 | # |
815 | # CONFIG_USB_BLUETOOTH_TTY is not set | ||
816 | # CONFIG_USB_ACM is not set | 836 | # CONFIG_USB_ACM is not set |
817 | # CONFIG_USB_PRINTER is not set | 837 | # CONFIG_USB_PRINTER is not set |
818 | 838 | ||
819 | # | 839 | # |
820 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information | 840 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
841 | # | ||
842 | |||
843 | # | ||
844 | # may also be needed; see USB_STORAGE Help for more information | ||
821 | # | 845 | # |
822 | CONFIG_USB_STORAGE=m | 846 | CONFIG_USB_STORAGE=m |
823 | # CONFIG_USB_STORAGE_DEBUG is not set | 847 | # CONFIG_USB_STORAGE_DEBUG is not set |
@@ -1123,9 +1147,10 @@ CONFIG_GENERIC_IRQ_PROBE=y | |||
1123 | CONFIG_GENERIC_PENDING_IRQ=y | 1147 | CONFIG_GENERIC_PENDING_IRQ=y |
1124 | 1148 | ||
1125 | # | 1149 | # |
1126 | # Profiling support | 1150 | # Instrumentation Support |
1127 | # | 1151 | # |
1128 | # CONFIG_PROFILING is not set | 1152 | # CONFIG_PROFILING is not set |
1153 | # CONFIG_KPROBES is not set | ||
1129 | 1154 | ||
1130 | # | 1155 | # |
1131 | # Kernel hacking | 1156 | # Kernel hacking |
@@ -1142,7 +1167,8 @@ CONFIG_DETECT_SOFTLOCKUP=y | |||
1142 | # CONFIG_DEBUG_KOBJECT is not set | 1167 | # CONFIG_DEBUG_KOBJECT is not set |
1143 | # CONFIG_DEBUG_INFO is not set | 1168 | # CONFIG_DEBUG_INFO is not set |
1144 | # CONFIG_DEBUG_FS is not set | 1169 | # CONFIG_DEBUG_FS is not set |
1145 | # CONFIG_KPROBES is not set | 1170 | # CONFIG_DEBUG_VM is not set |
1171 | # CONFIG_RCU_TORTURE_TEST is not set | ||
1146 | CONFIG_IA64_GRANULE_16MB=y | 1172 | CONFIG_IA64_GRANULE_16MB=y |
1147 | # CONFIG_IA64_GRANULE_64MB is not set | 1173 | # CONFIG_IA64_GRANULE_64MB is not set |
1148 | # CONFIG_IA64_PRINT_HAZARDS is not set | 1174 | # CONFIG_IA64_PRINT_HAZARDS is not set |
diff --git a/arch/ia64/ia32/binfmt_elf32.c b/arch/ia64/ia32/binfmt_elf32.c index a7280d9f6c16..4e7a6a1ec6c7 100644 --- a/arch/ia64/ia32/binfmt_elf32.c +++ b/arch/ia64/ia32/binfmt_elf32.c | |||
@@ -261,8 +261,6 @@ elf32_set_personality (void) | |||
261 | { | 261 | { |
262 | set_personality(PER_LINUX32); | 262 | set_personality(PER_LINUX32); |
263 | current->thread.map_base = IA32_PAGE_OFFSET/3; | 263 | current->thread.map_base = IA32_PAGE_OFFSET/3; |
264 | current->thread.task_size = IA32_PAGE_OFFSET; /* use what Linux/x86 uses... */ | ||
265 | set_fs(USER_DS); /* set addr limit for new TASK_SIZE */ | ||
266 | } | 264 | } |
267 | 265 | ||
268 | static unsigned long | 266 | static unsigned long |
diff --git a/arch/ia64/ia32/ia32priv.h b/arch/ia64/ia32/ia32priv.h index e3e9290e3ff2..68ceb4e690c7 100644 --- a/arch/ia64/ia32/ia32priv.h +++ b/arch/ia64/ia32/ia32priv.h | |||
@@ -305,7 +305,6 @@ struct old_linux32_dirent { | |||
305 | #define ELF_DATA ELFDATA2LSB | 305 | #define ELF_DATA ELFDATA2LSB |
306 | #define ELF_ARCH EM_386 | 306 | #define ELF_ARCH EM_386 |
307 | 307 | ||
308 | #define IA32_PAGE_OFFSET 0xc0000000 | ||
309 | #define IA32_STACK_TOP IA32_PAGE_OFFSET | 308 | #define IA32_STACK_TOP IA32_PAGE_OFFSET |
310 | #define IA32_GATE_OFFSET IA32_PAGE_OFFSET | 309 | #define IA32_GATE_OFFSET IA32_PAGE_OFFSET |
311 | #define IA32_GATE_END IA32_PAGE_OFFSET + PAGE_SIZE | 310 | #define IA32_GATE_END IA32_PAGE_OFFSET + PAGE_SIZE |
diff --git a/arch/ia64/kernel/kprobes.c b/arch/ia64/kernel/kprobes.c index 2895d6e6062f..89a70400c4f6 100644 --- a/arch/ia64/kernel/kprobes.c +++ b/arch/ia64/kernel/kprobes.c | |||
@@ -630,7 +630,7 @@ static int __kprobes pre_kprobes_handler(struct die_args *args) | |||
630 | */ | 630 | */ |
631 | save_previous_kprobe(kcb); | 631 | save_previous_kprobe(kcb); |
632 | set_current_kprobe(p, kcb); | 632 | set_current_kprobe(p, kcb); |
633 | p->nmissed++; | 633 | kprobes_inc_nmissed_count(p); |
634 | prepare_ss(p, regs); | 634 | prepare_ss(p, regs); |
635 | kcb->kprobe_status = KPROBE_REENTER; | 635 | kcb->kprobe_status = KPROBE_REENTER; |
636 | return 1; | 636 | return 1; |
diff --git a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c index 2e33665d9c18..a4da715a360c 100644 --- a/arch/ia64/kernel/process.c +++ b/arch/ia64/kernel/process.c | |||
@@ -721,8 +721,11 @@ flush_thread (void) | |||
721 | /* drop floating-point and debug-register state if it exists: */ | 721 | /* drop floating-point and debug-register state if it exists: */ |
722 | current->thread.flags &= ~(IA64_THREAD_FPH_VALID | IA64_THREAD_DBG_VALID); | 722 | current->thread.flags &= ~(IA64_THREAD_FPH_VALID | IA64_THREAD_DBG_VALID); |
723 | ia64_drop_fpu(current); | 723 | ia64_drop_fpu(current); |
724 | if (IS_IA32_PROCESS(ia64_task_regs(current))) | 724 | if (IS_IA32_PROCESS(ia64_task_regs(current))) { |
725 | ia32_drop_partial_page_list(current); | 725 | ia32_drop_partial_page_list(current); |
726 | current->thread.task_size = IA32_PAGE_OFFSET; | ||
727 | set_fs(USER_DS); | ||
728 | } | ||
726 | } | 729 | } |
727 | 730 | ||
728 | /* | 731 | /* |
diff --git a/arch/ia64/kernel/salinfo.c b/arch/ia64/kernel/salinfo.c index ca68e6e44a72..1461dc660b43 100644 --- a/arch/ia64/kernel/salinfo.c +++ b/arch/ia64/kernel/salinfo.c | |||
@@ -293,7 +293,7 @@ retry: | |||
293 | if (file->f_flags & O_NONBLOCK) | 293 | if (file->f_flags & O_NONBLOCK) |
294 | return -EAGAIN; | 294 | return -EAGAIN; |
295 | if (down_interruptible(&data->sem)) | 295 | if (down_interruptible(&data->sem)) |
296 | return -ERESTARTSYS; | 296 | return -EINTR; |
297 | } | 297 | } |
298 | 298 | ||
299 | n = data->cpu_check; | 299 | n = data->cpu_check; |
diff --git a/arch/ia64/mm/discontig.c b/arch/ia64/mm/discontig.c index 0f776b032d31..c87d6d1d5813 100644 --- a/arch/ia64/mm/discontig.c +++ b/arch/ia64/mm/discontig.c | |||
@@ -50,8 +50,10 @@ static nodemask_t memory_less_mask __initdata; | |||
50 | * To prevent cache aliasing effects, align per-node structures so that they | 50 | * To prevent cache aliasing effects, align per-node structures so that they |
51 | * start at addresses that are strided by node number. | 51 | * start at addresses that are strided by node number. |
52 | */ | 52 | */ |
53 | #define MAX_NODE_ALIGN_OFFSET (32 * 1024 * 1024) | ||
53 | #define NODEDATA_ALIGN(addr, node) \ | 54 | #define NODEDATA_ALIGN(addr, node) \ |
54 | ((((addr) + 1024*1024-1) & ~(1024*1024-1)) + (node)*PERCPU_PAGE_SIZE) | 55 | ((((addr) + 1024*1024-1) & ~(1024*1024-1)) + \ |
56 | (((node)*PERCPU_PAGE_SIZE) & (MAX_NODE_ALIGN_OFFSET - 1))) | ||
55 | 57 | ||
56 | /** | 58 | /** |
57 | * build_node_maps - callback to setup bootmem structs for each node | 59 | * build_node_maps - callback to setup bootmem structs for each node |
diff --git a/arch/ia64/sn/kernel/io_init.c b/arch/ia64/sn/kernel/io_init.c index 05e4ea889981..318087e35b66 100644 --- a/arch/ia64/sn/kernel/io_init.c +++ b/arch/ia64/sn/kernel/io_init.c | |||
@@ -3,7 +3,7 @@ | |||
3 | * License. See the file "COPYING" in the main directory of this archive | 3 | * License. See the file "COPYING" in the main directory of this archive |
4 | * for more details. | 4 | * for more details. |
5 | * | 5 | * |
6 | * Copyright (C) 1992 - 1997, 2000-2004 Silicon Graphics, Inc. All rights reserved. | 6 | * Copyright (C) 1992 - 1997, 2000-2005 Silicon Graphics, Inc. All rights reserved. |
7 | */ | 7 | */ |
8 | 8 | ||
9 | #include <linux/bootmem.h> | 9 | #include <linux/bootmem.h> |
@@ -147,6 +147,24 @@ sal_get_pcidev_info(u64 segment, u64 bus_number, u64 devfn, u64 pci_dev, | |||
147 | } | 147 | } |
148 | 148 | ||
149 | /* | 149 | /* |
150 | * sn_pcidev_info_get() - Retrieve the pcidev_info struct for the specified | ||
151 | * device. | ||
152 | */ | ||
153 | inline struct pcidev_info * | ||
154 | sn_pcidev_info_get(struct pci_dev *dev) | ||
155 | { | ||
156 | struct pcidev_info *pcidev; | ||
157 | |||
158 | list_for_each_entry(pcidev, | ||
159 | &(SN_PCI_CONTROLLER(dev)->pcidev_info), pdi_list) { | ||
160 | if (pcidev->pdi_linux_pcidev == dev) { | ||
161 | return pcidev; | ||
162 | } | ||
163 | } | ||
164 | return NULL; | ||
165 | } | ||
166 | |||
167 | /* | ||
150 | * sn_fixup_ionodes() - This routine initializes the HUB data strcuture for | 168 | * sn_fixup_ionodes() - This routine initializes the HUB data strcuture for |
151 | * each node in the system. | 169 | * each node in the system. |
152 | */ | 170 | */ |
@@ -229,6 +247,50 @@ static void sn_fixup_ionodes(void) | |||
229 | 247 | ||
230 | } | 248 | } |
231 | 249 | ||
250 | /* | ||
251 | * sn_pci_window_fixup() - Create a pci_window for each device resource. | ||
252 | * Until ACPI support is added, we need this code | ||
253 | * to setup pci_windows for use by | ||
254 | * pcibios_bus_to_resource(), | ||
255 | * pcibios_resource_to_bus(), etc. | ||
256 | */ | ||
257 | static void | ||
258 | sn_pci_window_fixup(struct pci_dev *dev, unsigned int count, | ||
259 | int64_t * pci_addrs) | ||
260 | { | ||
261 | struct pci_controller *controller = PCI_CONTROLLER(dev->bus); | ||
262 | unsigned int i; | ||
263 | unsigned int idx; | ||
264 | unsigned int new_count; | ||
265 | struct pci_window *new_window; | ||
266 | |||
267 | if (count == 0) | ||
268 | return; | ||
269 | idx = controller->windows; | ||
270 | new_count = controller->windows + count; | ||
271 | new_window = kcalloc(new_count, sizeof(struct pci_window), GFP_KERNEL); | ||
272 | if (new_window == NULL) | ||
273 | BUG(); | ||
274 | if (controller->window) { | ||
275 | memcpy(new_window, controller->window, | ||
276 | sizeof(struct pci_window) * controller->windows); | ||
277 | kfree(controller->window); | ||
278 | } | ||
279 | |||
280 | /* Setup a pci_window for each device resource. */ | ||
281 | for (i = 0; i <= PCI_ROM_RESOURCE; i++) { | ||
282 | if (pci_addrs[i] == -1) | ||
283 | continue; | ||
284 | |||
285 | new_window[idx].offset = dev->resource[i].start - pci_addrs[i]; | ||
286 | new_window[idx].resource = dev->resource[i]; | ||
287 | idx++; | ||
288 | } | ||
289 | |||
290 | controller->windows = new_count; | ||
291 | controller->window = new_window; | ||
292 | } | ||
293 | |||
232 | void sn_pci_unfixup_slot(struct pci_dev *dev) | 294 | void sn_pci_unfixup_slot(struct pci_dev *dev) |
233 | { | 295 | { |
234 | struct pci_dev *host_pci_dev = SN_PCIDEV_INFO(dev)->host_pci_dev; | 296 | struct pci_dev *host_pci_dev = SN_PCIDEV_INFO(dev)->host_pci_dev; |
@@ -246,21 +308,23 @@ void sn_pci_unfixup_slot(struct pci_dev *dev) | |||
246 | */ | 308 | */ |
247 | void sn_pci_fixup_slot(struct pci_dev *dev) | 309 | void sn_pci_fixup_slot(struct pci_dev *dev) |
248 | { | 310 | { |
311 | unsigned int count = 0; | ||
249 | int idx; | 312 | int idx; |
250 | int segment = pci_domain_nr(dev->bus); | 313 | int segment = pci_domain_nr(dev->bus); |
251 | int status = 0; | 314 | int status = 0; |
252 | struct pcibus_bussoft *bs; | 315 | struct pcibus_bussoft *bs; |
253 | struct pci_bus *host_pci_bus; | 316 | struct pci_bus *host_pci_bus; |
254 | struct pci_dev *host_pci_dev; | 317 | struct pci_dev *host_pci_dev; |
318 | struct pcidev_info *pcidev_info; | ||
319 | int64_t pci_addrs[PCI_ROM_RESOURCE + 1]; | ||
255 | struct sn_irq_info *sn_irq_info; | 320 | struct sn_irq_info *sn_irq_info; |
256 | unsigned long size; | 321 | unsigned long size; |
257 | unsigned int bus_no, devfn; | 322 | unsigned int bus_no, devfn; |
258 | 323 | ||
259 | pci_dev_get(dev); /* for the sysdata pointer */ | 324 | pci_dev_get(dev); /* for the sysdata pointer */ |
260 | dev->sysdata = kmalloc(sizeof(struct pcidev_info), GFP_KERNEL); | 325 | pcidev_info = kzalloc(sizeof(struct pcidev_info), GFP_KERNEL); |
261 | if (SN_PCIDEV_INFO(dev) <= 0) | 326 | if (pcidev_info <= 0) |
262 | BUG(); /* Cannot afford to run out of memory */ | 327 | BUG(); /* Cannot afford to run out of memory */ |
263 | memset(SN_PCIDEV_INFO(dev), 0, sizeof(struct pcidev_info)); | ||
264 | 328 | ||
265 | sn_irq_info = kmalloc(sizeof(struct sn_irq_info), GFP_KERNEL); | 329 | sn_irq_info = kmalloc(sizeof(struct sn_irq_info), GFP_KERNEL); |
266 | if (sn_irq_info <= 0) | 330 | if (sn_irq_info <= 0) |
@@ -270,22 +334,34 @@ void sn_pci_fixup_slot(struct pci_dev *dev) | |||
270 | /* Call to retrieve pci device information needed by kernel. */ | 334 | /* Call to retrieve pci device information needed by kernel. */ |
271 | status = sal_get_pcidev_info((u64) segment, (u64) dev->bus->number, | 335 | status = sal_get_pcidev_info((u64) segment, (u64) dev->bus->number, |
272 | dev->devfn, | 336 | dev->devfn, |
273 | (u64) __pa(SN_PCIDEV_INFO(dev)), | 337 | (u64) __pa(pcidev_info), |
274 | (u64) __pa(sn_irq_info)); | 338 | (u64) __pa(sn_irq_info)); |
275 | if (status) | 339 | if (status) |
276 | BUG(); /* Cannot get platform pci device information */ | 340 | BUG(); /* Cannot get platform pci device information */ |
277 | 341 | ||
342 | /* Add pcidev_info to list in sn_pci_controller struct */ | ||
343 | list_add_tail(&pcidev_info->pdi_list, | ||
344 | &(SN_PCI_CONTROLLER(dev->bus)->pcidev_info)); | ||
345 | |||
278 | /* Copy over PIO Mapped Addresses */ | 346 | /* Copy over PIO Mapped Addresses */ |
279 | for (idx = 0; idx <= PCI_ROM_RESOURCE; idx++) { | 347 | for (idx = 0; idx <= PCI_ROM_RESOURCE; idx++) { |
280 | unsigned long start, end, addr; | 348 | unsigned long start, end, addr; |
281 | 349 | ||
282 | if (!SN_PCIDEV_INFO(dev)->pdi_pio_mapped_addr[idx]) | 350 | if (!pcidev_info->pdi_pio_mapped_addr[idx]) { |
351 | pci_addrs[idx] = -1; | ||
283 | continue; | 352 | continue; |
353 | } | ||
284 | 354 | ||
285 | start = dev->resource[idx].start; | 355 | start = dev->resource[idx].start; |
286 | end = dev->resource[idx].end; | 356 | end = dev->resource[idx].end; |
287 | size = end - start; | 357 | size = end - start; |
288 | addr = SN_PCIDEV_INFO(dev)->pdi_pio_mapped_addr[idx]; | 358 | if (size == 0) { |
359 | pci_addrs[idx] = -1; | ||
360 | continue; | ||
361 | } | ||
362 | pci_addrs[idx] = start; | ||
363 | count++; | ||
364 | addr = pcidev_info->pdi_pio_mapped_addr[idx]; | ||
289 | addr = ((addr << 4) >> 4) | __IA64_UNCACHED_OFFSET; | 365 | addr = ((addr << 4) >> 4) | __IA64_UNCACHED_OFFSET; |
290 | dev->resource[idx].start = addr; | 366 | dev->resource[idx].start = addr; |
291 | dev->resource[idx].end = addr + size; | 367 | dev->resource[idx].end = addr + size; |
@@ -294,23 +370,27 @@ void sn_pci_fixup_slot(struct pci_dev *dev) | |||
294 | else | 370 | else |
295 | dev->resource[idx].parent = &iomem_resource; | 371 | dev->resource[idx].parent = &iomem_resource; |
296 | } | 372 | } |
373 | /* Create a pci_window in the pci_controller struct for | ||
374 | * each device resource. | ||
375 | */ | ||
376 | if (count > 0) | ||
377 | sn_pci_window_fixup(dev, count, pci_addrs); | ||
297 | 378 | ||
298 | /* | 379 | /* |
299 | * Using the PROMs values for the PCI host bus, get the Linux | 380 | * Using the PROMs values for the PCI host bus, get the Linux |
300 | * PCI host_pci_dev struct and set up host bus linkages | 381 | * PCI host_pci_dev struct and set up host bus linkages |
301 | */ | 382 | */ |
302 | 383 | ||
303 | bus_no = (SN_PCIDEV_INFO(dev)->pdi_slot_host_handle >> 32) & 0xff; | 384 | bus_no = (pcidev_info->pdi_slot_host_handle >> 32) & 0xff; |
304 | devfn = SN_PCIDEV_INFO(dev)->pdi_slot_host_handle & 0xffffffff; | 385 | devfn = pcidev_info->pdi_slot_host_handle & 0xffffffff; |
305 | host_pci_bus = pci_find_bus(segment, bus_no); | 386 | host_pci_bus = pci_find_bus(segment, bus_no); |
306 | host_pci_dev = pci_get_slot(host_pci_bus, devfn); | 387 | host_pci_dev = pci_get_slot(host_pci_bus, devfn); |
307 | 388 | ||
308 | SN_PCIDEV_INFO(dev)->host_pci_dev = host_pci_dev; | 389 | pcidev_info->host_pci_dev = host_pci_dev; |
309 | SN_PCIDEV_INFO(dev)->pdi_host_pcidev_info = | 390 | pcidev_info->pdi_linux_pcidev = dev; |
310 | SN_PCIDEV_INFO(host_pci_dev); | 391 | pcidev_info->pdi_host_pcidev_info = SN_PCIDEV_INFO(host_pci_dev); |
311 | SN_PCIDEV_INFO(dev)->pdi_linux_pcidev = dev; | ||
312 | bs = SN_PCIBUS_BUSSOFT(dev->bus); | 392 | bs = SN_PCIBUS_BUSSOFT(dev->bus); |
313 | SN_PCIDEV_INFO(dev)->pdi_pcibus_info = bs; | 393 | pcidev_info->pdi_pcibus_info = bs; |
314 | 394 | ||
315 | if (bs && bs->bs_asic_type < PCIIO_ASIC_MAX_TYPES) { | 395 | if (bs && bs->bs_asic_type < PCIIO_ASIC_MAX_TYPES) { |
316 | SN_PCIDEV_BUSPROVIDER(dev) = sn_pci_provider[bs->bs_asic_type]; | 396 | SN_PCIDEV_BUSPROVIDER(dev) = sn_pci_provider[bs->bs_asic_type]; |
@@ -320,11 +400,11 @@ void sn_pci_fixup_slot(struct pci_dev *dev) | |||
320 | 400 | ||
321 | /* Only set up IRQ stuff if this device has a host bus context */ | 401 | /* Only set up IRQ stuff if this device has a host bus context */ |
322 | if (bs && sn_irq_info->irq_irq) { | 402 | if (bs && sn_irq_info->irq_irq) { |
323 | SN_PCIDEV_INFO(dev)->pdi_sn_irq_info = sn_irq_info; | 403 | pcidev_info->pdi_sn_irq_info = sn_irq_info; |
324 | dev->irq = SN_PCIDEV_INFO(dev)->pdi_sn_irq_info->irq_irq; | 404 | dev->irq = pcidev_info->pdi_sn_irq_info->irq_irq; |
325 | sn_irq_fixup(dev, sn_irq_info); | 405 | sn_irq_fixup(dev, sn_irq_info); |
326 | } else { | 406 | } else { |
327 | SN_PCIDEV_INFO(dev)->pdi_sn_irq_info = NULL; | 407 | pcidev_info->pdi_sn_irq_info = NULL; |
328 | kfree(sn_irq_info); | 408 | kfree(sn_irq_info); |
329 | } | 409 | } |
330 | } | 410 | } |
@@ -338,6 +418,7 @@ void sn_pci_controller_fixup(int segment, int busnum, struct pci_bus *bus) | |||
338 | int status = 0; | 418 | int status = 0; |
339 | int nasid, cnode; | 419 | int nasid, cnode; |
340 | struct pci_controller *controller; | 420 | struct pci_controller *controller; |
421 | struct sn_pci_controller *sn_controller; | ||
341 | struct pcibus_bussoft *prom_bussoft_ptr; | 422 | struct pcibus_bussoft *prom_bussoft_ptr; |
342 | struct hubdev_info *hubdev_info; | 423 | struct hubdev_info *hubdev_info; |
343 | void *provider_soft = NULL; | 424 | void *provider_soft = NULL; |
@@ -349,10 +430,15 @@ void sn_pci_controller_fixup(int segment, int busnum, struct pci_bus *bus) | |||
349 | return; /*bus # does not exist */ | 430 | return; /*bus # does not exist */ |
350 | prom_bussoft_ptr = __va(prom_bussoft_ptr); | 431 | prom_bussoft_ptr = __va(prom_bussoft_ptr); |
351 | 432 | ||
352 | controller = kzalloc(sizeof(struct pci_controller), GFP_KERNEL); | 433 | /* Allocate a sn_pci_controller, which has a pci_controller struct |
434 | * as the first member. | ||
435 | */ | ||
436 | sn_controller = kzalloc(sizeof(struct sn_pci_controller), GFP_KERNEL); | ||
437 | if (!sn_controller) | ||
438 | BUG(); | ||
439 | INIT_LIST_HEAD(&sn_controller->pcidev_info); | ||
440 | controller = &sn_controller->pci_controller; | ||
353 | controller->segment = segment; | 441 | controller->segment = segment; |
354 | if (!controller) | ||
355 | BUG(); | ||
356 | 442 | ||
357 | if (bus == NULL) { | 443 | if (bus == NULL) { |
358 | bus = pci_scan_bus(busnum, &pci_root_ops, controller); | 444 | bus = pci_scan_bus(busnum, &pci_root_ops, controller); |
@@ -390,6 +476,29 @@ void sn_pci_controller_fixup(int segment, int busnum, struct pci_bus *bus) | |||
390 | } | 476 | } |
391 | 477 | ||
392 | /* | 478 | /* |
479 | * Setup pci_windows for legacy IO and MEM space. | ||
480 | * (Temporary until ACPI support is in place.) | ||
481 | */ | ||
482 | controller->window = kcalloc(2, sizeof(struct pci_window), GFP_KERNEL); | ||
483 | if (controller->window == NULL) | ||
484 | BUG(); | ||
485 | controller->window[0].offset = prom_bussoft_ptr->bs_legacy_io; | ||
486 | controller->window[0].resource.name = "legacy_io"; | ||
487 | controller->window[0].resource.flags = IORESOURCE_IO; | ||
488 | controller->window[0].resource.start = prom_bussoft_ptr->bs_legacy_io; | ||
489 | controller->window[0].resource.end = | ||
490 | controller->window[0].resource.start + 0xffff; | ||
491 | controller->window[0].resource.parent = &ioport_resource; | ||
492 | controller->window[1].offset = prom_bussoft_ptr->bs_legacy_mem; | ||
493 | controller->window[1].resource.name = "legacy_mem"; | ||
494 | controller->window[1].resource.flags = IORESOURCE_MEM; | ||
495 | controller->window[1].resource.start = prom_bussoft_ptr->bs_legacy_mem; | ||
496 | controller->window[1].resource.end = | ||
497 | controller->window[1].resource.start + (1024 * 1024) - 1; | ||
498 | controller->window[1].resource.parent = &iomem_resource; | ||
499 | controller->windows = 2; | ||
500 | |||
501 | /* | ||
393 | * Generic bus fixup goes here. Don't reference prom_bussoft_ptr | 502 | * Generic bus fixup goes here. Don't reference prom_bussoft_ptr |
394 | * after this point. | 503 | * after this point. |
395 | */ | 504 | */ |
@@ -421,7 +530,7 @@ void sn_pci_controller_fixup(int segment, int busnum, struct pci_bus *bus) | |||
421 | 530 | ||
422 | error_return: | 531 | error_return: |
423 | 532 | ||
424 | kfree(controller); | 533 | kfree(sn_controller); |
425 | return; | 534 | return; |
426 | } | 535 | } |
427 | 536 | ||
@@ -434,7 +543,7 @@ void sn_bus_store_sysdata(struct pci_dev *dev) | |||
434 | dev_dbg(dev, "%s: out of memory!\n", __FUNCTION__); | 543 | dev_dbg(dev, "%s: out of memory!\n", __FUNCTION__); |
435 | return; | 544 | return; |
436 | } | 545 | } |
437 | element->sysdata = dev->sysdata; | 546 | element->sysdata = SN_PCIDEV_INFO(dev); |
438 | list_add(&element->entry, &sn_sysdata_list); | 547 | list_add(&element->entry, &sn_sysdata_list); |
439 | } | 548 | } |
440 | 549 | ||
diff --git a/arch/ia64/sn/kernel/sn2/ptc_deadlock.S b/arch/ia64/sn/kernel/sn2/ptc_deadlock.S index 3fa95065a446..bebbcc4f8dd4 100644 --- a/arch/ia64/sn/kernel/sn2/ptc_deadlock.S +++ b/arch/ia64/sn/kernel/sn2/ptc_deadlock.S | |||
@@ -39,9 +39,13 @@ sn2_ptc_deadlock_recovery_core: | |||
39 | mov r8=r0 | 39 | mov r8=r0 |
40 | 40 | ||
41 | 1: | 41 | 1: |
42 | cmp.ne p8,p9=r0,ptc1 // Test for shub type (ptc1 non-null on shub1) | ||
43 | // p8 = 1 if shub1, p9 = 1 if shub2 | ||
44 | |||
42 | add scr2=ALIAS_OFFSET,piowc // Address of WRITE_STATUS alias register | 45 | add scr2=ALIAS_OFFSET,piowc // Address of WRITE_STATUS alias register |
43 | ;; | 46 | mov scr1=7;; // Clear DEADLOCK, WRITE_ERROR, MULTI_WRITE_ERROR |
44 | ld8.acq scr1=[scr2];; | 47 | (p8) st8.rel [scr2]=scr1;; |
48 | (p9) ld8.acq scr1=[scr2];; | ||
45 | 49 | ||
46 | 5: ld8.acq scr1=[piowc];; // Wait for PIOs to complete. | 50 | 5: ld8.acq scr1=[piowc];; // Wait for PIOs to complete. |
47 | hint @pause | 51 | hint @pause |
diff --git a/arch/mips/mm/init.c b/arch/mips/mm/init.c index 3a49036e0ae8..4ee91c9a556f 100644 --- a/arch/mips/mm/init.c +++ b/arch/mips/mm/init.c | |||
@@ -67,8 +67,8 @@ unsigned long setup_zero_pages(void) | |||
67 | 67 | ||
68 | page = virt_to_page(empty_zero_page); | 68 | page = virt_to_page(empty_zero_page); |
69 | while (page < virt_to_page(empty_zero_page + (PAGE_SIZE << order))) { | 69 | while (page < virt_to_page(empty_zero_page + (PAGE_SIZE << order))) { |
70 | set_bit(PG_reserved, &page->flags); | 70 | SetPageReserved(page); |
71 | reset_page_mapcount(page); | 71 | set_page_count(page, 1); |
72 | page++; | 72 | page++; |
73 | } | 73 | } |
74 | 74 | ||
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index bb2efdd566a9..db93dbc0e21a 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -227,7 +227,7 @@ config SMP | |||
227 | If you don't know what to do here, say N. | 227 | If you don't know what to do here, say N. |
228 | 228 | ||
229 | config NR_CPUS | 229 | config NR_CPUS |
230 | int "Maximum number of CPUs (2-32)" | 230 | int "Maximum number of CPUs (2-128)" |
231 | range 2 128 | 231 | range 2 128 |
232 | depends on SMP | 232 | depends on SMP |
233 | default "32" if PPC64 | 233 | default "32" if PPC64 |
diff --git a/arch/powerpc/kernel/kprobes.c b/arch/powerpc/kernel/kprobes.c index 511af54e6230..5368f9c2e6bf 100644 --- a/arch/powerpc/kernel/kprobes.c +++ b/arch/powerpc/kernel/kprobes.c | |||
@@ -177,7 +177,7 @@ static inline int kprobe_handler(struct pt_regs *regs) | |||
177 | save_previous_kprobe(kcb); | 177 | save_previous_kprobe(kcb); |
178 | set_current_kprobe(p, regs, kcb); | 178 | set_current_kprobe(p, regs, kcb); |
179 | kcb->kprobe_saved_msr = regs->msr; | 179 | kcb->kprobe_saved_msr = regs->msr; |
180 | p->nmissed++; | 180 | kprobes_inc_nmissed_count(p); |
181 | prepare_singlestep(p, regs); | 181 | prepare_singlestep(p, regs); |
182 | kcb->kprobe_status = KPROBE_REENTER; | 182 | kcb->kprobe_status = KPROBE_REENTER; |
183 | return 1; | 183 | return 1; |
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c index 608fee7c7e20..e3fb78397dc6 100644 --- a/arch/powerpc/kernel/setup_64.c +++ b/arch/powerpc/kernel/setup_64.c | |||
@@ -102,7 +102,15 @@ int boot_cpuid_phys = 0; | |||
102 | dev_t boot_dev; | 102 | dev_t boot_dev; |
103 | u64 ppc64_pft_size; | 103 | u64 ppc64_pft_size; |
104 | 104 | ||
105 | struct ppc64_caches ppc64_caches; | 105 | /* Pick defaults since we might want to patch instructions |
106 | * before we've read this from the device tree. | ||
107 | */ | ||
108 | struct ppc64_caches ppc64_caches = { | ||
109 | .dline_size = 0x80, | ||
110 | .log_dline_size = 7, | ||
111 | .iline_size = 0x80, | ||
112 | .log_iline_size = 7 | ||
113 | }; | ||
106 | EXPORT_SYMBOL_GPL(ppc64_caches); | 114 | EXPORT_SYMBOL_GPL(ppc64_caches); |
107 | 115 | ||
108 | /* | 116 | /* |
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c index 706e8a63ced9..a33583f3b0e7 100644 --- a/arch/powerpc/mm/hash_utils_64.c +++ b/arch/powerpc/mm/hash_utils_64.c | |||
@@ -601,7 +601,7 @@ int hash_page(unsigned long ea, unsigned long access, unsigned long trap) | |||
601 | /* Handle hugepage regions */ | 601 | /* Handle hugepage regions */ |
602 | if (unlikely(in_hugepage_area(mm->context, ea))) { | 602 | if (unlikely(in_hugepage_area(mm->context, ea))) { |
603 | DBG_LOW(" -> huge page !\n"); | 603 | DBG_LOW(" -> huge page !\n"); |
604 | return hash_huge_page(mm, access, ea, vsid, local); | 604 | return hash_huge_page(mm, access, ea, vsid, local, trap); |
605 | } | 605 | } |
606 | 606 | ||
607 | /* Get PTE and page size from page tables */ | 607 | /* Get PTE and page size from page tables */ |
diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c index 6bc9dbad7dea..54131b877da3 100644 --- a/arch/powerpc/mm/hugetlbpage.c +++ b/arch/powerpc/mm/hugetlbpage.c | |||
@@ -148,43 +148,63 @@ int is_aligned_hugepage_range(unsigned long addr, unsigned long len) | |||
148 | return 0; | 148 | return 0; |
149 | } | 149 | } |
150 | 150 | ||
151 | struct slb_flush_info { | ||
152 | struct mm_struct *mm; | ||
153 | u16 newareas; | ||
154 | }; | ||
155 | |||
151 | static void flush_low_segments(void *parm) | 156 | static void flush_low_segments(void *parm) |
152 | { | 157 | { |
153 | u16 areas = (unsigned long) parm; | 158 | struct slb_flush_info *fi = parm; |
154 | unsigned long i; | 159 | unsigned long i; |
155 | 160 | ||
156 | asm volatile("isync" : : : "memory"); | 161 | BUILD_BUG_ON((sizeof(fi->newareas)*8) != NUM_LOW_AREAS); |
162 | |||
163 | if (current->active_mm != fi->mm) | ||
164 | return; | ||
165 | |||
166 | /* Only need to do anything if this CPU is working in the same | ||
167 | * mm as the one which has changed */ | ||
157 | 168 | ||
158 | BUILD_BUG_ON((sizeof(areas)*8) != NUM_LOW_AREAS); | 169 | /* update the paca copy of the context struct */ |
170 | get_paca()->context = current->active_mm->context; | ||
159 | 171 | ||
172 | asm volatile("isync" : : : "memory"); | ||
160 | for (i = 0; i < NUM_LOW_AREAS; i++) { | 173 | for (i = 0; i < NUM_LOW_AREAS; i++) { |
161 | if (! (areas & (1U << i))) | 174 | if (! (fi->newareas & (1U << i))) |
162 | continue; | 175 | continue; |
163 | asm volatile("slbie %0" | 176 | asm volatile("slbie %0" |
164 | : : "r" ((i << SID_SHIFT) | SLBIE_C)); | 177 | : : "r" ((i << SID_SHIFT) | SLBIE_C)); |
165 | } | 178 | } |
166 | |||
167 | asm volatile("isync" : : : "memory"); | 179 | asm volatile("isync" : : : "memory"); |
168 | } | 180 | } |
169 | 181 | ||
170 | static void flush_high_segments(void *parm) | 182 | static void flush_high_segments(void *parm) |
171 | { | 183 | { |
172 | u16 areas = (unsigned long) parm; | 184 | struct slb_flush_info *fi = parm; |
173 | unsigned long i, j; | 185 | unsigned long i, j; |
174 | 186 | ||
175 | asm volatile("isync" : : : "memory"); | ||
176 | 187 | ||
177 | BUILD_BUG_ON((sizeof(areas)*8) != NUM_HIGH_AREAS); | 188 | BUILD_BUG_ON((sizeof(fi->newareas)*8) != NUM_HIGH_AREAS); |
178 | 189 | ||
190 | if (current->active_mm != fi->mm) | ||
191 | return; | ||
192 | |||
193 | /* Only need to do anything if this CPU is working in the same | ||
194 | * mm as the one which has changed */ | ||
195 | |||
196 | /* update the paca copy of the context struct */ | ||
197 | get_paca()->context = current->active_mm->context; | ||
198 | |||
199 | asm volatile("isync" : : : "memory"); | ||
179 | for (i = 0; i < NUM_HIGH_AREAS; i++) { | 200 | for (i = 0; i < NUM_HIGH_AREAS; i++) { |
180 | if (! (areas & (1U << i))) | 201 | if (! (fi->newareas & (1U << i))) |
181 | continue; | 202 | continue; |
182 | for (j = 0; j < (1UL << (HTLB_AREA_SHIFT-SID_SHIFT)); j++) | 203 | for (j = 0; j < (1UL << (HTLB_AREA_SHIFT-SID_SHIFT)); j++) |
183 | asm volatile("slbie %0" | 204 | asm volatile("slbie %0" |
184 | :: "r" (((i << HTLB_AREA_SHIFT) | 205 | :: "r" (((i << HTLB_AREA_SHIFT) |
185 | + (j << SID_SHIFT)) | SLBIE_C)); | 206 | + (j << SID_SHIFT)) | SLBIE_C)); |
186 | } | 207 | } |
187 | |||
188 | asm volatile("isync" : : : "memory"); | 208 | asm volatile("isync" : : : "memory"); |
189 | } | 209 | } |
190 | 210 | ||
@@ -229,6 +249,7 @@ static int prepare_high_area_for_htlb(struct mm_struct *mm, unsigned long area) | |||
229 | static int open_low_hpage_areas(struct mm_struct *mm, u16 newareas) | 249 | static int open_low_hpage_areas(struct mm_struct *mm, u16 newareas) |
230 | { | 250 | { |
231 | unsigned long i; | 251 | unsigned long i; |
252 | struct slb_flush_info fi; | ||
232 | 253 | ||
233 | BUILD_BUG_ON((sizeof(newareas)*8) != NUM_LOW_AREAS); | 254 | BUILD_BUG_ON((sizeof(newareas)*8) != NUM_LOW_AREAS); |
234 | BUILD_BUG_ON((sizeof(mm->context.low_htlb_areas)*8) != NUM_LOW_AREAS); | 255 | BUILD_BUG_ON((sizeof(mm->context.low_htlb_areas)*8) != NUM_LOW_AREAS); |
@@ -244,19 +265,20 @@ static int open_low_hpage_areas(struct mm_struct *mm, u16 newareas) | |||
244 | 265 | ||
245 | mm->context.low_htlb_areas |= newareas; | 266 | mm->context.low_htlb_areas |= newareas; |
246 | 267 | ||
247 | /* update the paca copy of the context struct */ | ||
248 | get_paca()->context = mm->context; | ||
249 | |||
250 | /* the context change must make it to memory before the flush, | 268 | /* the context change must make it to memory before the flush, |
251 | * so that further SLB misses do the right thing. */ | 269 | * so that further SLB misses do the right thing. */ |
252 | mb(); | 270 | mb(); |
253 | on_each_cpu(flush_low_segments, (void *)(unsigned long)newareas, 0, 1); | 271 | |
272 | fi.mm = mm; | ||
273 | fi.newareas = newareas; | ||
274 | on_each_cpu(flush_low_segments, &fi, 0, 1); | ||
254 | 275 | ||
255 | return 0; | 276 | return 0; |
256 | } | 277 | } |
257 | 278 | ||
258 | static int open_high_hpage_areas(struct mm_struct *mm, u16 newareas) | 279 | static int open_high_hpage_areas(struct mm_struct *mm, u16 newareas) |
259 | { | 280 | { |
281 | struct slb_flush_info fi; | ||
260 | unsigned long i; | 282 | unsigned long i; |
261 | 283 | ||
262 | BUILD_BUG_ON((sizeof(newareas)*8) != NUM_HIGH_AREAS); | 284 | BUILD_BUG_ON((sizeof(newareas)*8) != NUM_HIGH_AREAS); |
@@ -280,7 +302,10 @@ static int open_high_hpage_areas(struct mm_struct *mm, u16 newareas) | |||
280 | /* the context change must make it to memory before the flush, | 302 | /* the context change must make it to memory before the flush, |
281 | * so that further SLB misses do the right thing. */ | 303 | * so that further SLB misses do the right thing. */ |
282 | mb(); | 304 | mb(); |
283 | on_each_cpu(flush_high_segments, (void *)(unsigned long)newareas, 0, 1); | 305 | |
306 | fi.mm = mm; | ||
307 | fi.newareas = newareas; | ||
308 | on_each_cpu(flush_high_segments, &fi, 0, 1); | ||
284 | 309 | ||
285 | return 0; | 310 | return 0; |
286 | } | 311 | } |
@@ -639,8 +664,36 @@ unsigned long hugetlb_get_unmapped_area(struct file *file, unsigned long addr, | |||
639 | return -ENOMEM; | 664 | return -ENOMEM; |
640 | } | 665 | } |
641 | 666 | ||
667 | /* | ||
668 | * Called by asm hashtable.S for doing lazy icache flush | ||
669 | */ | ||
670 | static unsigned int hash_huge_page_do_lazy_icache(unsigned long rflags, | ||
671 | pte_t pte, int trap) | ||
672 | { | ||
673 | struct page *page; | ||
674 | int i; | ||
675 | |||
676 | if (!pfn_valid(pte_pfn(pte))) | ||
677 | return rflags; | ||
678 | |||
679 | page = pte_page(pte); | ||
680 | |||
681 | /* page is dirty */ | ||
682 | if (!test_bit(PG_arch_1, &page->flags) && !PageReserved(page)) { | ||
683 | if (trap == 0x400) { | ||
684 | for (i = 0; i < (HPAGE_SIZE / PAGE_SIZE); i++) | ||
685 | __flush_dcache_icache(page_address(page+i)); | ||
686 | set_bit(PG_arch_1, &page->flags); | ||
687 | } else { | ||
688 | rflags |= HPTE_R_N; | ||
689 | } | ||
690 | } | ||
691 | return rflags; | ||
692 | } | ||
693 | |||
642 | int hash_huge_page(struct mm_struct *mm, unsigned long access, | 694 | int hash_huge_page(struct mm_struct *mm, unsigned long access, |
643 | unsigned long ea, unsigned long vsid, int local) | 695 | unsigned long ea, unsigned long vsid, int local, |
696 | unsigned long trap) | ||
644 | { | 697 | { |
645 | pte_t *ptep; | 698 | pte_t *ptep; |
646 | unsigned long old_pte, new_pte; | 699 | unsigned long old_pte, new_pte; |
@@ -691,6 +744,11 @@ int hash_huge_page(struct mm_struct *mm, unsigned long access, | |||
691 | rflags = 0x2 | (!(new_pte & _PAGE_RW)); | 744 | rflags = 0x2 | (!(new_pte & _PAGE_RW)); |
692 | /* _PAGE_EXEC -> HW_NO_EXEC since it's inverted */ | 745 | /* _PAGE_EXEC -> HW_NO_EXEC since it's inverted */ |
693 | rflags |= ((new_pte & _PAGE_EXEC) ? 0 : HPTE_R_N); | 746 | rflags |= ((new_pte & _PAGE_EXEC) ? 0 : HPTE_R_N); |
747 | if (!cpu_has_feature(CPU_FTR_COHERENT_ICACHE)) | ||
748 | /* No CPU has hugepages but lacks no execute, so we | ||
749 | * don't need to worry about that case */ | ||
750 | rflags = hash_huge_page_do_lazy_icache(rflags, __pte(old_pte), | ||
751 | trap); | ||
694 | 752 | ||
695 | /* Check if pte already has an hpte (case 2) */ | 753 | /* Check if pte already has an hpte (case 2) */ |
696 | if (unlikely(old_pte & _PAGE_HASHPTE)) { | 754 | if (unlikely(old_pte & _PAGE_HASHPTE)) { |
@@ -703,7 +761,8 @@ int hash_huge_page(struct mm_struct *mm, unsigned long access, | |||
703 | slot = (hash & htab_hash_mask) * HPTES_PER_GROUP; | 761 | slot = (hash & htab_hash_mask) * HPTES_PER_GROUP; |
704 | slot += (old_pte & _PAGE_F_GIX) >> 12; | 762 | slot += (old_pte & _PAGE_F_GIX) >> 12; |
705 | 763 | ||
706 | if (ppc_md.hpte_updatepp(slot, rflags, va, 1, local) == -1) | 764 | if (ppc_md.hpte_updatepp(slot, rflags, va, mmu_huge_psize, |
765 | local) == -1) | ||
707 | old_pte &= ~_PAGE_HPTEFLAGS; | 766 | old_pte &= ~_PAGE_HPTEFLAGS; |
708 | } | 767 | } |
709 | 768 | ||
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c index f72cf87364cb..ba7a3055a9fc 100644 --- a/arch/powerpc/mm/numa.c +++ b/arch/powerpc/mm/numa.c | |||
@@ -125,7 +125,7 @@ void __init get_region(unsigned int nid, unsigned long *start_pfn, | |||
125 | 125 | ||
126 | /* We didnt find a matching region, return start/end as 0 */ | 126 | /* We didnt find a matching region, return start/end as 0 */ |
127 | if (*start_pfn == -1UL) | 127 | if (*start_pfn == -1UL) |
128 | start_pfn = 0; | 128 | *start_pfn = 0; |
129 | } | 129 | } |
130 | 130 | ||
131 | static inline void map_cpu_to_node(int cpu, int node) | 131 | static inline void map_cpu_to_node(int cpu, int node) |
diff --git a/arch/powerpc/mm/stab.c b/arch/powerpc/mm/stab.c index cfbb4e1f966b..51e7951414e5 100644 --- a/arch/powerpc/mm/stab.c +++ b/arch/powerpc/mm/stab.c | |||
@@ -288,11 +288,6 @@ void stab_initialize(unsigned long stab) | |||
288 | return; | 288 | return; |
289 | } | 289 | } |
290 | #endif /* CONFIG_PPC_ISERIES */ | 290 | #endif /* CONFIG_PPC_ISERIES */ |
291 | #ifdef CONFIG_PPC_PSERIES | 291 | |
292 | if (platform_is_lpar()) { | ||
293 | plpar_hcall_norets(H_SET_ASR, stabreal); | ||
294 | return; | ||
295 | } | ||
296 | #endif | ||
297 | mtspr(SPRN_ASR, stabreal); | 292 | mtspr(SPRN_ASR, stabreal); |
298 | } | 293 | } |
diff --git a/arch/powerpc/platforms/powermac/feature.c b/arch/powerpc/platforms/powermac/feature.c index 0d7fa00fcb00..f6e22da2a5da 100644 --- a/arch/powerpc/platforms/powermac/feature.c +++ b/arch/powerpc/platforms/powermac/feature.c | |||
@@ -1650,11 +1650,19 @@ void pmac_tweak_clock_spreading(int enable) | |||
1650 | */ | 1650 | */ |
1651 | 1651 | ||
1652 | if (macio->type == macio_intrepid) { | 1652 | if (macio->type == macio_intrepid) { |
1653 | if (enable) | 1653 | struct device_node *clock = |
1654 | UN_OUT(UNI_N_CLOCK_SPREADING, 2); | 1654 | of_find_node_by_path("/uni-n@f8000000/hw-clock"); |
1655 | else | 1655 | if (clock && get_property(clock, "platform-do-clockspreading", |
1656 | UN_OUT(UNI_N_CLOCK_SPREADING, 0); | 1656 | NULL)) { |
1657 | mdelay(40); | 1657 | printk(KERN_INFO "%sabling clock spreading on Intrepid" |
1658 | " ASIC\n", enable ? "En" : "Dis"); | ||
1659 | if (enable) | ||
1660 | UN_OUT(UNI_N_CLOCK_SPREADING, 2); | ||
1661 | else | ||
1662 | UN_OUT(UNI_N_CLOCK_SPREADING, 0); | ||
1663 | mdelay(40); | ||
1664 | } | ||
1665 | of_node_put(clock); | ||
1658 | } | 1666 | } |
1659 | 1667 | ||
1660 | while (machine_is_compatible("PowerBook5,2") || | 1668 | while (machine_is_compatible("PowerBook5,2") || |
@@ -1724,6 +1732,9 @@ void pmac_tweak_clock_spreading(int enable) | |||
1724 | pmac_low_i2c_close(ui2c); | 1732 | pmac_low_i2c_close(ui2c); |
1725 | break; | 1733 | break; |
1726 | } | 1734 | } |
1735 | printk(KERN_INFO "%sabling clock spreading on i2c clock chip\n", | ||
1736 | enable ? "En" : "Dis"); | ||
1737 | |||
1727 | pmac_low_i2c_setmode(ui2c, pmac_low_i2c_mode_stdsub); | 1738 | pmac_low_i2c_setmode(ui2c, pmac_low_i2c_mode_stdsub); |
1728 | rc = pmac_low_i2c_xfer(ui2c, 0xd2 | pmac_low_i2c_write, 0x80, buffer, 9); | 1739 | rc = pmac_low_i2c_xfer(ui2c, 0xd2 | pmac_low_i2c_write, 0x80, buffer, 9); |
1729 | DBG("write result: %d,", rc); | 1740 | DBG("write result: %d,", rc); |
diff --git a/arch/powerpc/platforms/pseries/iommu.c b/arch/powerpc/platforms/pseries/iommu.c index c78f2b290a73..2043659ea7b1 100644 --- a/arch/powerpc/platforms/pseries/iommu.c +++ b/arch/powerpc/platforms/pseries/iommu.c | |||
@@ -109,6 +109,9 @@ static void tce_build_pSeriesLP(struct iommu_table *tbl, long tcenum, | |||
109 | u64 rc; | 109 | u64 rc; |
110 | union tce_entry tce; | 110 | union tce_entry tce; |
111 | 111 | ||
112 | tcenum <<= TCE_PAGE_FACTOR; | ||
113 | npages <<= TCE_PAGE_FACTOR; | ||
114 | |||
112 | tce.te_word = 0; | 115 | tce.te_word = 0; |
113 | tce.te_rpn = (virt_to_abs(uaddr)) >> TCE_SHIFT; | 116 | tce.te_rpn = (virt_to_abs(uaddr)) >> TCE_SHIFT; |
114 | tce.te_rdwr = 1; | 117 | tce.te_rdwr = 1; |
@@ -143,10 +146,7 @@ static void tce_buildmulti_pSeriesLP(struct iommu_table *tbl, long tcenum, | |||
143 | union tce_entry tce, *tcep; | 146 | union tce_entry tce, *tcep; |
144 | long l, limit; | 147 | long l, limit; |
145 | 148 | ||
146 | tcenum <<= TCE_PAGE_FACTOR; | 149 | if (TCE_PAGE_FACTOR == 0 && npages == 1) |
147 | npages <<= TCE_PAGE_FACTOR; | ||
148 | |||
149 | if (npages == 1) | ||
150 | return tce_build_pSeriesLP(tbl, tcenum, npages, uaddr, | 150 | return tce_build_pSeriesLP(tbl, tcenum, npages, uaddr, |
151 | direction); | 151 | direction); |
152 | 152 | ||
@@ -164,6 +164,9 @@ static void tce_buildmulti_pSeriesLP(struct iommu_table *tbl, long tcenum, | |||
164 | __get_cpu_var(tce_page) = tcep; | 164 | __get_cpu_var(tce_page) = tcep; |
165 | } | 165 | } |
166 | 166 | ||
167 | tcenum <<= TCE_PAGE_FACTOR; | ||
168 | npages <<= TCE_PAGE_FACTOR; | ||
169 | |||
167 | tce.te_word = 0; | 170 | tce.te_word = 0; |
168 | tce.te_rpn = (virt_to_abs(uaddr)) >> TCE_SHIFT; | 171 | tce.te_rpn = (virt_to_abs(uaddr)) >> TCE_SHIFT; |
169 | tce.te_rdwr = 1; | 172 | tce.te_rdwr = 1; |
diff --git a/arch/powerpc/platforms/pseries/lpar.c b/arch/powerpc/platforms/pseries/lpar.c index a50e5f3f396d..cf1bc11b3346 100644 --- a/arch/powerpc/platforms/pseries/lpar.c +++ b/arch/powerpc/platforms/pseries/lpar.c | |||
@@ -298,18 +298,6 @@ long pSeries_lpar_hpte_insert(unsigned long hpte_group, | |||
298 | if (!(vflags & HPTE_V_BOLTED)) | 298 | if (!(vflags & HPTE_V_BOLTED)) |
299 | DBG_LOW(" hpte_v=%016lx, hpte_r=%016lx\n", hpte_v, hpte_r); | 299 | DBG_LOW(" hpte_v=%016lx, hpte_r=%016lx\n", hpte_v, hpte_r); |
300 | 300 | ||
301 | #if 1 | ||
302 | { | ||
303 | int i; | ||
304 | for (i=0;i<8;i++) { | ||
305 | unsigned long w0, w1; | ||
306 | plpar_pte_read(0, hpte_group, &w0, &w1); | ||
307 | BUG_ON (HPTE_V_COMPARE(hpte_v, w0) | ||
308 | && (w0 & HPTE_V_VALID)); | ||
309 | } | ||
310 | } | ||
311 | #endif | ||
312 | |||
313 | /* Now fill in the actual HPTE */ | 301 | /* Now fill in the actual HPTE */ |
314 | /* Set CEC cookie to 0 */ | 302 | /* Set CEC cookie to 0 */ |
315 | /* Zero page = 0 */ | 303 | /* Zero page = 0 */ |
diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig index 8fa51b0a32d2..cc3f64c084c5 100644 --- a/arch/ppc/Kconfig +++ b/arch/ppc/Kconfig | |||
@@ -767,14 +767,14 @@ config CPM2 | |||
767 | on it (826x, 827x, 8560). | 767 | on it (826x, 827x, 8560). |
768 | 768 | ||
769 | config PPC_CHRP | 769 | config PPC_CHRP |
770 | bool " Common Hardware Reference Platform (CHRP) based machines" | 770 | bool |
771 | depends on PPC_MULTIPLATFORM | 771 | depends on PPC_MULTIPLATFORM |
772 | select PPC_I8259 | 772 | select PPC_I8259 |
773 | select PPC_INDIRECT_PCI | 773 | select PPC_INDIRECT_PCI |
774 | default y | 774 | default y |
775 | 775 | ||
776 | config PPC_PMAC | 776 | config PPC_PMAC |
777 | bool " Apple PowerMac based machines" | 777 | bool |
778 | depends on PPC_MULTIPLATFORM | 778 | depends on PPC_MULTIPLATFORM |
779 | select PPC_INDIRECT_PCI | 779 | select PPC_INDIRECT_PCI |
780 | default y | 780 | default y |
@@ -785,7 +785,7 @@ config PPC_PMAC64 | |||
785 | default y | 785 | default y |
786 | 786 | ||
787 | config PPC_PREP | 787 | config PPC_PREP |
788 | bool " PowerPC Reference Platform (PReP) based machines" | 788 | bool |
789 | depends on PPC_MULTIPLATFORM | 789 | depends on PPC_MULTIPLATFORM |
790 | select PPC_I8259 | 790 | select PPC_I8259 |
791 | select PPC_INDIRECT_PCI | 791 | select PPC_INDIRECT_PCI |
diff --git a/arch/ppc/kernel/smp.c b/arch/ppc/kernel/smp.c index 43b8fc2ca591..becbfa397556 100644 --- a/arch/ppc/kernel/smp.c +++ b/arch/ppc/kernel/smp.c | |||
@@ -301,6 +301,10 @@ void __init smp_prepare_cpus(unsigned int max_cpus) | |||
301 | 301 | ||
302 | /* Probe platform for CPUs: always linear. */ | 302 | /* Probe platform for CPUs: always linear. */ |
303 | num_cpus = smp_ops->probe(); | 303 | num_cpus = smp_ops->probe(); |
304 | |||
305 | if (num_cpus < 2) | ||
306 | smp_tb_synchronized = 1; | ||
307 | |||
304 | for (i = 0; i < num_cpus; ++i) | 308 | for (i = 0; i < num_cpus; ++i) |
305 | cpu_set(i, cpu_possible_map); | 309 | cpu_set(i, cpu_possible_map); |
306 | 310 | ||
diff --git a/arch/ppc/platforms/pmac_feature.c b/arch/ppc/platforms/pmac_feature.c index 1e69b0593162..6b7b3a150631 100644 --- a/arch/ppc/platforms/pmac_feature.c +++ b/arch/ppc/platforms/pmac_feature.c | |||
@@ -1606,11 +1606,19 @@ void pmac_tweak_clock_spreading(int enable) | |||
1606 | */ | 1606 | */ |
1607 | 1607 | ||
1608 | if (macio->type == macio_intrepid) { | 1608 | if (macio->type == macio_intrepid) { |
1609 | if (enable) | 1609 | struct device_node *clock = |
1610 | UN_OUT(UNI_N_CLOCK_SPREADING, 2); | 1610 | of_find_node_by_path("/uni-n@f8000000/hw-clock"); |
1611 | else | 1611 | if (clock && get_property(clock, "platform-do-clockspreading", |
1612 | UN_OUT(UNI_N_CLOCK_SPREADING, 0); | 1612 | NULL)) { |
1613 | mdelay(40); | 1613 | printk(KERN_INFO "%sabling clock spreading on Intrepid" |
1614 | " ASIC\n", enable ? "En" : "Dis"); | ||
1615 | if (enable) | ||
1616 | UN_OUT(UNI_N_CLOCK_SPREADING, 2); | ||
1617 | else | ||
1618 | UN_OUT(UNI_N_CLOCK_SPREADING, 0); | ||
1619 | mdelay(40); | ||
1620 | } | ||
1621 | of_node_put(clock); | ||
1614 | } | 1622 | } |
1615 | 1623 | ||
1616 | while (machine_is_compatible("PowerBook5,2") || | 1624 | while (machine_is_compatible("PowerBook5,2") || |
@@ -1680,6 +1688,8 @@ void pmac_tweak_clock_spreading(int enable) | |||
1680 | pmac_low_i2c_close(ui2c); | 1688 | pmac_low_i2c_close(ui2c); |
1681 | break; | 1689 | break; |
1682 | } | 1690 | } |
1691 | printk(KERN_INFO "%sabling clock spreading on i2c clock chip\n", | ||
1692 | enable ? "En" : "Dis"); | ||
1683 | pmac_low_i2c_setmode(ui2c, pmac_low_i2c_mode_stdsub); | 1693 | pmac_low_i2c_setmode(ui2c, pmac_low_i2c_mode_stdsub); |
1684 | rc = pmac_low_i2c_xfer(ui2c, 0xd2 | pmac_low_i2c_write, 0x80, buffer, 9); | 1694 | rc = pmac_low_i2c_xfer(ui2c, 0xd2 | pmac_low_i2c_write, 0x80, buffer, 9); |
1685 | DBG("write result: %d,", rc); | 1695 | DBG("write result: %d,", rc); |
diff --git a/arch/sparc/Makefile b/arch/sparc/Makefile index dea48f6cff38..4cdbb2d59ed0 100644 --- a/arch/sparc/Makefile +++ b/arch/sparc/Makefile | |||
@@ -34,7 +34,7 @@ libs-y += arch/sparc/prom/ arch/sparc/lib/ | |||
34 | # Renaming is done to avoid confusing pattern matching rules in 2.5.45 (multy-) | 34 | # Renaming is done to avoid confusing pattern matching rules in 2.5.45 (multy-) |
35 | INIT_Y := $(patsubst %/, %/built-in.o, $(init-y)) | 35 | INIT_Y := $(patsubst %/, %/built-in.o, $(init-y)) |
36 | CORE_Y := $(core-y) | 36 | CORE_Y := $(core-y) |
37 | CORE_Y += kernel/ mm/ fs/ ipc/ security/ crypto/ | 37 | CORE_Y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/ |
38 | CORE_Y := $(patsubst %/, %/built-in.o, $(CORE_Y)) | 38 | CORE_Y := $(patsubst %/, %/built-in.o, $(CORE_Y)) |
39 | DRIVERS_Y := $(patsubst %/, %/built-in.o, $(drivers-y)) | 39 | DRIVERS_Y := $(patsubst %/, %/built-in.o, $(drivers-y)) |
40 | NET_Y := $(patsubst %/, %/built-in.o, $(net-y)) | 40 | NET_Y := $(patsubst %/, %/built-in.o, $(net-y)) |
diff --git a/arch/sparc/lib/atomic32.c b/arch/sparc/lib/atomic32.c index cb3cf0f22822..de84f8534bac 100644 --- a/arch/sparc/lib/atomic32.c +++ b/arch/sparc/lib/atomic32.c | |||
@@ -66,7 +66,6 @@ int atomic_add_unless(atomic_t *v, int a, int u) | |||
66 | return ret != u; | 66 | return ret != u; |
67 | } | 67 | } |
68 | 68 | ||
69 | static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr) | ||
70 | /* Atomic operations are already serializing */ | 69 | /* Atomic operations are already serializing */ |
71 | void atomic_set(atomic_t *v, int i) | 70 | void atomic_set(atomic_t *v, int i) |
72 | { | 71 | { |
diff --git a/arch/sparc64/kernel/kprobes.c b/arch/sparc64/kernel/kprobes.c index 96bd09b098f4..a97b0f0727ab 100644 --- a/arch/sparc64/kernel/kprobes.c +++ b/arch/sparc64/kernel/kprobes.c | |||
@@ -138,7 +138,7 @@ static int __kprobes kprobe_handler(struct pt_regs *regs) | |||
138 | */ | 138 | */ |
139 | save_previous_kprobe(kcb); | 139 | save_previous_kprobe(kcb); |
140 | set_current_kprobe(p, regs, kcb); | 140 | set_current_kprobe(p, regs, kcb); |
141 | p->nmissed++; | 141 | kprobes_inc_nmissed_count(p); |
142 | kcb->kprobe_status = KPROBE_REENTER; | 142 | kcb->kprobe_status = KPROBE_REENTER; |
143 | prepare_singlestep(p, regs, kcb); | 143 | prepare_singlestep(p, regs, kcb); |
144 | return 1; | 144 | return 1; |
diff --git a/arch/um/include/um_uaccess.h b/arch/um/include/um_uaccess.h index f8760a3f43b0..4567f1eeb4a7 100644 --- a/arch/um/include/um_uaccess.h +++ b/arch/um/include/um_uaccess.h | |||
@@ -17,6 +17,8 @@ | |||
17 | #include "uaccess-skas.h" | 17 | #include "uaccess-skas.h" |
18 | #endif | 18 | #endif |
19 | 19 | ||
20 | #include "asm/fixmap.h" | ||
21 | |||
20 | #define __under_task_size(addr, size) \ | 22 | #define __under_task_size(addr, size) \ |
21 | (((unsigned long) (addr) < TASK_SIZE) && \ | 23 | (((unsigned long) (addr) < TASK_SIZE) && \ |
22 | (((unsigned long) (addr) + (size)) < TASK_SIZE)) | 24 | (((unsigned long) (addr) + (size)) < TASK_SIZE)) |
diff --git a/arch/um/kernel/skas/include/uaccess-skas.h b/arch/um/kernel/skas/include/uaccess-skas.h index f611f83ad4ff..64516c556cdf 100644 --- a/arch/um/kernel/skas/include/uaccess-skas.h +++ b/arch/um/kernel/skas/include/uaccess-skas.h | |||
@@ -7,7 +7,6 @@ | |||
7 | #define __SKAS_UACCESS_H | 7 | #define __SKAS_UACCESS_H |
8 | 8 | ||
9 | #include "asm/errno.h" | 9 | #include "asm/errno.h" |
10 | #include "asm/fixmap.h" | ||
11 | 10 | ||
12 | /* No SKAS-specific checking. */ | 11 | /* No SKAS-specific checking. */ |
13 | #define access_ok_skas(type, addr, size) 0 | 12 | #define access_ok_skas(type, addr, size) 0 |
diff --git a/arch/x86_64/kernel/kprobes.c b/arch/x86_64/kernel/kprobes.c index dddeb678b440..afe11f4fbd1d 100644 --- a/arch/x86_64/kernel/kprobes.c +++ b/arch/x86_64/kernel/kprobes.c | |||
@@ -329,7 +329,7 @@ int __kprobes kprobe_handler(struct pt_regs *regs) | |||
329 | */ | 329 | */ |
330 | save_previous_kprobe(kcb); | 330 | save_previous_kprobe(kcb); |
331 | set_current_kprobe(p, regs, kcb); | 331 | set_current_kprobe(p, regs, kcb); |
332 | p->nmissed++; | 332 | kprobes_inc_nmissed_count(p); |
333 | prepare_singlestep(p, regs); | 333 | prepare_singlestep(p, regs); |
334 | kcb->kprobe_status = KPROBE_REENTER; | 334 | kcb->kprobe_status = KPROBE_REENTER; |
335 | return 1; | 335 | return 1; |