aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--MAINTAINERS2
-rw-r--r--arch/i386/defconfig41
-rw-r--r--arch/i386/kernel/process.c6
-rw-r--r--arch/i386/lib/semaphore.S3
-rw-r--r--arch/i386/pci/direct.c2
-rw-r--r--arch/i386/pci/init.c4
-rw-r--r--arch/x86_64/defconfig43
-rw-r--r--arch/x86_64/kernel/entry.S8
-rw-r--r--arch/x86_64/kernel/pci-calgary.c36
-rw-r--r--arch/x86_64/kernel/process.c7
-rw-r--r--arch/x86_64/kernel/traps.c2
-rw-r--r--drivers/scsi/qla2xxx/qla_dbg.h14
-rw-r--r--drivers/scsi/qla2xxx/qla_gbl.h2
-rw-r--r--drivers/scsi/qla2xxx/qla_init.c2
-rw-r--r--drivers/scsi/qla2xxx/qla_os.c8
-rw-r--r--drivers/scsi/qla4xxx/ql4_dbg.h4
-rw-r--r--drivers/scsi/qla4xxx/ql4_glbl.h2
-rw-r--r--drivers/scsi/qla4xxx/ql4_mbx.c2
-rw-r--r--drivers/scsi/qla4xxx/ql4_os.c8
-rw-r--r--fs/udf/super.c3
20 files changed, 142 insertions, 57 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 17becb9b1a96..84a018ee4556 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -641,7 +641,7 @@ CALGARY x86-64 IOMMU
641P: Muli Ben-Yehuda 641P: Muli Ben-Yehuda
642M: muli@il.ibm.com 642M: muli@il.ibm.com
643P: Jon D. Mason 643P: Jon D. Mason
644M: jdmason@us.ibm.com 644M: jdmason@kudzu.us
645L: linux-kernel@vger.kernel.org 645L: linux-kernel@vger.kernel.org
646L: discuss@x86-64.org 646L: discuss@x86-64.org
647S: Maintained 647S: Maintained
diff --git a/arch/i386/defconfig b/arch/i386/defconfig
index ee2d79bd8af7..60c0c02574f0 100644
--- a/arch/i386/defconfig
+++ b/arch/i386/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.18-git7 3# Linux kernel version: 2.6.19-rc1
4# Wed Sep 27 21:53:10 2006 4# Thu Oct 5 13:04:53 2006
5# 5#
6CONFIG_X86_32=y 6CONFIG_X86_32=y
7CONFIG_GENERIC_TIME=y 7CONFIG_GENERIC_TIME=y
@@ -31,9 +31,11 @@ CONFIG_LOCALVERSION=""
31CONFIG_LOCALVERSION_AUTO=y 31CONFIG_LOCALVERSION_AUTO=y
32CONFIG_SWAP=y 32CONFIG_SWAP=y
33CONFIG_SYSVIPC=y 33CONFIG_SYSVIPC=y
34# CONFIG_IPC_NS is not set
34CONFIG_POSIX_MQUEUE=y 35CONFIG_POSIX_MQUEUE=y
35# CONFIG_BSD_PROCESS_ACCT is not set 36# CONFIG_BSD_PROCESS_ACCT is not set
36# CONFIG_TASKSTATS is not set 37# CONFIG_TASKSTATS is not set
38# CONFIG_UTS_NS is not set
37# CONFIG_AUDIT is not set 39# CONFIG_AUDIT is not set
38CONFIG_IKCONFIG=y 40CONFIG_IKCONFIG=y
39CONFIG_IKCONFIG_PROC=y 41CONFIG_IKCONFIG_PROC=y
@@ -41,9 +43,10 @@ CONFIG_IKCONFIG_PROC=y
41# CONFIG_RELAY is not set 43# CONFIG_RELAY is not set
42CONFIG_INITRAMFS_SOURCE="" 44CONFIG_INITRAMFS_SOURCE=""
43CONFIG_CC_OPTIMIZE_FOR_SIZE=y 45CONFIG_CC_OPTIMIZE_FOR_SIZE=y
46CONFIG_SYSCTL=y
44# CONFIG_EMBEDDED is not set 47# CONFIG_EMBEDDED is not set
45CONFIG_UID16=y 48CONFIG_UID16=y
46CONFIG_SYSCTL=y 49# CONFIG_SYSCTL_SYSCALL is not set
47CONFIG_KALLSYMS=y 50CONFIG_KALLSYMS=y
48CONFIG_KALLSYMS_ALL=y 51CONFIG_KALLSYMS_ALL=y
49# CONFIG_KALLSYMS_EXTRA_PASS is not set 52# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -76,6 +79,7 @@ CONFIG_STOP_MACHINE=y
76# 79#
77# Block layer 80# Block layer
78# 81#
82CONFIG_BLOCK=y
79CONFIG_LBD=y 83CONFIG_LBD=y
80# CONFIG_BLK_DEV_IO_TRACE is not set 84# CONFIG_BLK_DEV_IO_TRACE is not set
81# CONFIG_LSF is not set 85# CONFIG_LSF is not set
@@ -163,6 +167,7 @@ CONFIG_VM86=y
163# CONFIG_I8K is not set 167# CONFIG_I8K is not set
164# CONFIG_X86_REBOOTFIXUPS is not set 168# CONFIG_X86_REBOOTFIXUPS is not set
165CONFIG_MICROCODE=y 169CONFIG_MICROCODE=y
170CONFIG_MICROCODE_OLD_INTERFACE=y
166CONFIG_X86_MSR=y 171CONFIG_X86_MSR=y
167CONFIG_X86_CPUID=y 172CONFIG_X86_CPUID=y
168 173
@@ -177,6 +182,7 @@ CONFIG_HIGHMEM4G=y
177# CONFIG_HIGHMEM64G is not set 182# CONFIG_HIGHMEM64G is not set
178CONFIG_PAGE_OFFSET=0xC0000000 183CONFIG_PAGE_OFFSET=0xC0000000
179CONFIG_HIGHMEM=y 184CONFIG_HIGHMEM=y
185CONFIG_ARCH_POPULATES_NODE_MAP=y
180CONFIG_SELECT_MEMORY_MODEL=y 186CONFIG_SELECT_MEMORY_MODEL=y
181CONFIG_FLATMEM_MANUAL=y 187CONFIG_FLATMEM_MANUAL=y
182# CONFIG_DISCONTIGMEM_MANUAL is not set 188# CONFIG_DISCONTIGMEM_MANUAL is not set
@@ -295,6 +301,7 @@ CONFIG_PCI_MMCONFIG=y
295CONFIG_PCI_MSI=y 301CONFIG_PCI_MSI=y
296# CONFIG_PCI_MULTITHREAD_PROBE is not set 302# CONFIG_PCI_MULTITHREAD_PROBE is not set
297# CONFIG_PCI_DEBUG is not set 303# CONFIG_PCI_DEBUG is not set
304# CONFIG_HT_IRQ is not set
298CONFIG_ISA_DMA_API=y 305CONFIG_ISA_DMA_API=y
299# CONFIG_ISA is not set 306# CONFIG_ISA is not set
300# CONFIG_MCA is not set 307# CONFIG_MCA is not set
@@ -354,6 +361,7 @@ CONFIG_IP_PNP_DHCP=y
354# CONFIG_INET_TUNNEL is not set 361# CONFIG_INET_TUNNEL is not set
355CONFIG_INET_XFRM_MODE_TRANSPORT=y 362CONFIG_INET_XFRM_MODE_TRANSPORT=y
356CONFIG_INET_XFRM_MODE_TUNNEL=y 363CONFIG_INET_XFRM_MODE_TUNNEL=y
364# CONFIG_INET_XFRM_MODE_BEET is not set
357CONFIG_INET_DIAG=y 365CONFIG_INET_DIAG=y
358CONFIG_INET_TCP_DIAG=y 366CONFIG_INET_TCP_DIAG=y
359# CONFIG_TCP_CONG_ADVANCED is not set 367# CONFIG_TCP_CONG_ADVANCED is not set
@@ -370,6 +378,7 @@ CONFIG_IPV6=y
370# CONFIG_INET6_TUNNEL is not set 378# CONFIG_INET6_TUNNEL is not set
371CONFIG_INET6_XFRM_MODE_TRANSPORT=y 379CONFIG_INET6_XFRM_MODE_TRANSPORT=y
372CONFIG_INET6_XFRM_MODE_TUNNEL=y 380CONFIG_INET6_XFRM_MODE_TUNNEL=y
381# CONFIG_INET6_XFRM_MODE_BEET is not set
373# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set 382# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
374# CONFIG_IPV6_TUNNEL is not set 383# CONFIG_IPV6_TUNNEL is not set
375# CONFIG_IPV6_SUBTREES is not set 384# CONFIG_IPV6_SUBTREES is not set
@@ -519,6 +528,7 @@ CONFIG_BLK_DEV_AMD74XX=y
519# CONFIG_BLK_DEV_CS5535 is not set 528# CONFIG_BLK_DEV_CS5535 is not set
520# CONFIG_BLK_DEV_HPT34X is not set 529# CONFIG_BLK_DEV_HPT34X is not set
521# CONFIG_BLK_DEV_HPT366 is not set 530# CONFIG_BLK_DEV_HPT366 is not set
531# CONFIG_BLK_DEV_JMICRON is not set
522# CONFIG_BLK_DEV_SC1200 is not set 532# CONFIG_BLK_DEV_SC1200 is not set
523CONFIG_BLK_DEV_PIIX=y 533CONFIG_BLK_DEV_PIIX=y
524# CONFIG_BLK_DEV_IT821X is not set 534# CONFIG_BLK_DEV_IT821X is not set
@@ -615,6 +625,7 @@ CONFIG_AIC79XX_DEBUG_MASK=0
615# CONFIG_SCSI_IPR is not set 625# CONFIG_SCSI_IPR is not set
616# CONFIG_SCSI_QLOGIC_1280 is not set 626# CONFIG_SCSI_QLOGIC_1280 is not set
617# CONFIG_SCSI_QLA_FC is not set 627# CONFIG_SCSI_QLA_FC is not set
628# CONFIG_SCSI_QLA_ISCSI is not set
618# CONFIG_SCSI_LPFC is not set 629# CONFIG_SCSI_LPFC is not set
619# CONFIG_SCSI_DC395x is not set 630# CONFIG_SCSI_DC395x is not set
620# CONFIG_SCSI_DC390T is not set 631# CONFIG_SCSI_DC390T is not set
@@ -658,7 +669,6 @@ CONFIG_SATA_INTEL_COMBINED=y
658# CONFIG_PATA_HPT3X3 is not set 669# CONFIG_PATA_HPT3X3 is not set
659# CONFIG_PATA_IT821X is not set 670# CONFIG_PATA_IT821X is not set
660# CONFIG_PATA_JMICRON is not set 671# CONFIG_PATA_JMICRON is not set
661# CONFIG_PATA_LEGACY is not set
662# CONFIG_PATA_TRIFLEX is not set 672# CONFIG_PATA_TRIFLEX is not set
663# CONFIG_PATA_MPIIX is not set 673# CONFIG_PATA_MPIIX is not set
664# CONFIG_PATA_OLDPIIX is not set 674# CONFIG_PATA_OLDPIIX is not set
@@ -667,7 +677,6 @@ CONFIG_SATA_INTEL_COMBINED=y
667# CONFIG_PATA_OPTI is not set 677# CONFIG_PATA_OPTI is not set
668# CONFIG_PATA_OPTIDMA is not set 678# CONFIG_PATA_OPTIDMA is not set
669# CONFIG_PATA_PDC_OLD is not set 679# CONFIG_PATA_PDC_OLD is not set
670# CONFIG_PATA_QDI is not set
671# CONFIG_PATA_RADISYS is not set 680# CONFIG_PATA_RADISYS is not set
672# CONFIG_PATA_RZ1000 is not set 681# CONFIG_PATA_RZ1000 is not set
673# CONFIG_PATA_SC1200 is not set 682# CONFIG_PATA_SC1200 is not set
@@ -684,6 +693,7 @@ CONFIG_SATA_INTEL_COMBINED=y
684CONFIG_MD=y 693CONFIG_MD=y
685# CONFIG_BLK_DEV_MD is not set 694# CONFIG_BLK_DEV_MD is not set
686CONFIG_BLK_DEV_DM=y 695CONFIG_BLK_DEV_DM=y
696# CONFIG_DM_DEBUG is not set
687# CONFIG_DM_CRYPT is not set 697# CONFIG_DM_CRYPT is not set
688# CONFIG_DM_SNAPSHOT is not set 698# CONFIG_DM_SNAPSHOT is not set
689# CONFIG_DM_MIRROR is not set 699# CONFIG_DM_MIRROR is not set
@@ -874,6 +884,7 @@ CONFIG_NET_POLL_CONTROLLER=y
874# Input device support 884# Input device support
875# 885#
876CONFIG_INPUT=y 886CONFIG_INPUT=y
887# CONFIG_INPUT_FF_MEMLESS is not set
877 888
878# 889#
879# Userland interfaces 890# Userland interfaces
@@ -896,6 +907,7 @@ CONFIG_KEYBOARD_ATKBD=y
896# CONFIG_KEYBOARD_LKKBD is not set 907# CONFIG_KEYBOARD_LKKBD is not set
897# CONFIG_KEYBOARD_XTKBD is not set 908# CONFIG_KEYBOARD_XTKBD is not set
898# CONFIG_KEYBOARD_NEWTON is not set 909# CONFIG_KEYBOARD_NEWTON is not set
910# CONFIG_KEYBOARD_STOWAWAY is not set
899CONFIG_INPUT_MOUSE=y 911CONFIG_INPUT_MOUSE=y
900CONFIG_MOUSE_PS2=y 912CONFIG_MOUSE_PS2=y
901# CONFIG_MOUSE_SERIAL is not set 913# CONFIG_MOUSE_SERIAL is not set
@@ -1023,12 +1035,12 @@ CONFIG_HANGCHECK_TIMER=y
1023# Misc devices 1035# Misc devices
1024# 1036#
1025# CONFIG_IBM_ASM is not set 1037# CONFIG_IBM_ASM is not set
1038# CONFIG_TIFM_CORE is not set
1026 1039
1027# 1040#
1028# Multimedia devices 1041# Multimedia devices
1029# 1042#
1030# CONFIG_VIDEO_DEV is not set 1043# CONFIG_VIDEO_DEV is not set
1031CONFIG_VIDEO_V4L2=y
1032 1044
1033# 1045#
1034# Digital Video Broadcasting Devices 1046# Digital Video Broadcasting Devices
@@ -1134,6 +1146,7 @@ CONFIG_USB_STORAGE=y
1134# CONFIG_USB_STORAGE_SDDR55 is not set 1146# CONFIG_USB_STORAGE_SDDR55 is not set
1135# CONFIG_USB_STORAGE_JUMPSHOT is not set 1147# CONFIG_USB_STORAGE_JUMPSHOT is not set
1136# CONFIG_USB_STORAGE_ALAUDA is not set 1148# CONFIG_USB_STORAGE_ALAUDA is not set
1149# CONFIG_USB_STORAGE_KARMA is not set
1137# CONFIG_USB_LIBUSUAL is not set 1150# CONFIG_USB_LIBUSUAL is not set
1138 1151
1139# 1152#
@@ -1156,6 +1169,7 @@ CONFIG_USB_HIDINPUT=y
1156# CONFIG_USB_ATI_REMOTE2 is not set 1169# CONFIG_USB_ATI_REMOTE2 is not set
1157# CONFIG_USB_KEYSPAN_REMOTE is not set 1170# CONFIG_USB_KEYSPAN_REMOTE is not set
1158# CONFIG_USB_APPLETOUCH is not set 1171# CONFIG_USB_APPLETOUCH is not set
1172# CONFIG_USB_TRANCEVIBRATOR is not set
1159 1173
1160# 1174#
1161# USB Imaging devices 1175# USB Imaging devices
@@ -1187,6 +1201,7 @@ CONFIG_USB_MON=y
1187# 1201#
1188# CONFIG_USB_EMI62 is not set 1202# CONFIG_USB_EMI62 is not set
1189# CONFIG_USB_EMI26 is not set 1203# CONFIG_USB_EMI26 is not set
1204# CONFIG_USB_ADUTUX is not set
1190# CONFIG_USB_AUERSWALD is not set 1205# CONFIG_USB_AUERSWALD is not set
1191# CONFIG_USB_RIO500 is not set 1206# CONFIG_USB_RIO500 is not set
1192# CONFIG_USB_LEGOTOWER is not set 1207# CONFIG_USB_LEGOTOWER is not set
@@ -1194,9 +1209,9 @@ CONFIG_USB_MON=y
1194# CONFIG_USB_LED is not set 1209# CONFIG_USB_LED is not set
1195# CONFIG_USB_CYPRESS_CY7C63 is not set 1210# CONFIG_USB_CYPRESS_CY7C63 is not set
1196# CONFIG_USB_CYTHERM is not set 1211# CONFIG_USB_CYTHERM is not set
1197# CONFIG_USB_PHIDGETKIT is not set 1212# CONFIG_USB_PHIDGET is not set
1198# CONFIG_USB_PHIDGETSERVO is not set
1199# CONFIG_USB_IDMOUSE is not set 1213# CONFIG_USB_IDMOUSE is not set
1214# CONFIG_USB_FTDI_ELAN is not set
1200# CONFIG_USB_APPLEDISPLAY is not set 1215# CONFIG_USB_APPLEDISPLAY is not set
1201# CONFIG_USB_SISUSBVGA is not set 1216# CONFIG_USB_SISUSBVGA is not set
1202# CONFIG_USB_LD is not set 1217# CONFIG_USB_LD is not set
@@ -1281,6 +1296,7 @@ CONFIG_REISERFS_FS_POSIX_ACL=y
1281# CONFIG_JFS_FS is not set 1296# CONFIG_JFS_FS is not set
1282CONFIG_FS_POSIX_ACL=y 1297CONFIG_FS_POSIX_ACL=y
1283# CONFIG_XFS_FS is not set 1298# CONFIG_XFS_FS is not set
1299# CONFIG_GFS2_FS is not set
1284# CONFIG_OCFS2_FS is not set 1300# CONFIG_OCFS2_FS is not set
1285# CONFIG_MINIX_FS is not set 1301# CONFIG_MINIX_FS is not set
1286# CONFIG_ROMFS_FS is not set 1302# CONFIG_ROMFS_FS is not set
@@ -1315,8 +1331,10 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1315# 1331#
1316CONFIG_PROC_FS=y 1332CONFIG_PROC_FS=y
1317CONFIG_PROC_KCORE=y 1333CONFIG_PROC_KCORE=y
1334CONFIG_PROC_SYSCTL=y
1318CONFIG_SYSFS=y 1335CONFIG_SYSFS=y
1319CONFIG_TMPFS=y 1336CONFIG_TMPFS=y
1337CONFIG_TMPFS_POSIX_ACL=y
1320CONFIG_HUGETLBFS=y 1338CONFIG_HUGETLBFS=y
1321CONFIG_HUGETLB_PAGE=y 1339CONFIG_HUGETLB_PAGE=y
1322CONFIG_RAMFS=y 1340CONFIG_RAMFS=y
@@ -1366,6 +1384,7 @@ CONFIG_SUNRPC=y
1366# CONFIG_CODA_FS is not set 1384# CONFIG_CODA_FS is not set
1367# CONFIG_AFS_FS is not set 1385# CONFIG_AFS_FS is not set
1368# CONFIG_9P_FS is not set 1386# CONFIG_9P_FS is not set
1387CONFIG_GENERIC_ACL=y
1369 1388
1370# 1389#
1371# Partition Types 1390# Partition Types
@@ -1418,6 +1437,10 @@ CONFIG_NLS_ISO8859_15=y
1418CONFIG_NLS_UTF8=y 1437CONFIG_NLS_UTF8=y
1419 1438
1420# 1439#
1440# Distributed Lock Manager
1441#
1442
1443#
1421# Instrumentation Support 1444# Instrumentation Support
1422# 1445#
1423CONFIG_PROFILING=y 1446CONFIG_PROFILING=y
@@ -1452,11 +1475,13 @@ CONFIG_DEBUG_BUGVERBOSE=y
1452# CONFIG_DEBUG_INFO is not set 1475# CONFIG_DEBUG_INFO is not set
1453# CONFIG_DEBUG_FS is not set 1476# CONFIG_DEBUG_FS is not set
1454# CONFIG_DEBUG_VM is not set 1477# CONFIG_DEBUG_VM is not set
1478# CONFIG_DEBUG_LIST is not set
1455# CONFIG_FRAME_POINTER is not set 1479# CONFIG_FRAME_POINTER is not set
1456CONFIG_UNWIND_INFO=y 1480CONFIG_UNWIND_INFO=y
1457CONFIG_STACK_UNWIND=y 1481CONFIG_STACK_UNWIND=y
1458# CONFIG_FORCED_INLINING is not set 1482# CONFIG_FORCED_INLINING is not set
1459# CONFIG_RCU_TORTURE_TEST is not set 1483# CONFIG_RCU_TORTURE_TEST is not set
1484# CONFIG_LKDTM is not set
1460CONFIG_EARLY_PRINTK=y 1485CONFIG_EARLY_PRINTK=y
1461CONFIG_DEBUG_STACKOVERFLOW=y 1486CONFIG_DEBUG_STACKOVERFLOW=y
1462# CONFIG_DEBUG_STACK_USAGE is not set 1487# CONFIG_DEBUG_STACK_USAGE is not set
diff --git a/arch/i386/kernel/process.c b/arch/i386/kernel/process.c
index dad02a960e03..b0a07801d9df 100644
--- a/arch/i386/kernel/process.c
+++ b/arch/i386/kernel/process.c
@@ -328,6 +328,7 @@ extern void kernel_thread_helper(void);
328int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) 328int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
329{ 329{
330 struct pt_regs regs; 330 struct pt_regs regs;
331 int err;
331 332
332 memset(&regs, 0, sizeof(regs)); 333 memset(&regs, 0, sizeof(regs));
333 334
@@ -342,7 +343,10 @@ int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
342 regs.eflags = X86_EFLAGS_IF | X86_EFLAGS_SF | X86_EFLAGS_PF | 0x2; 343 regs.eflags = X86_EFLAGS_IF | X86_EFLAGS_SF | X86_EFLAGS_PF | 0x2;
343 344
344 /* Ok, create the new process.. */ 345 /* Ok, create the new process.. */
345 return do_fork(flags | CLONE_VM | CLONE_UNTRACED, 0, &regs, 0, NULL, NULL); 346 err = do_fork(flags | CLONE_VM | CLONE_UNTRACED, 0, &regs, 0, NULL, NULL);
347 if (err == 0) /* terminate kernel stack */
348 task_pt_regs(current)->eip = 0;
349 return err;
346} 350}
347EXPORT_SYMBOL(kernel_thread); 351EXPORT_SYMBOL(kernel_thread);
348 352
diff --git a/arch/i386/lib/semaphore.S b/arch/i386/lib/semaphore.S
index ef6ad9e1a609..c01eb39c0b43 100644
--- a/arch/i386/lib/semaphore.S
+++ b/arch/i386/lib/semaphore.S
@@ -152,6 +152,8 @@ ENTRY(__read_lock_failed)
152 152
153#endif 153#endif
154 154
155#ifdef CONFIG_RWSEM_XCHGADD_ALGORITHM
156
155/* Fix up special calling conventions */ 157/* Fix up special calling conventions */
156ENTRY(call_rwsem_down_read_failed) 158ENTRY(call_rwsem_down_read_failed)
157 CFI_STARTPROC 159 CFI_STARTPROC
@@ -214,3 +216,4 @@ ENTRY(call_rwsem_downgrade_wake)
214 CFI_ENDPROC 216 CFI_ENDPROC
215 END(call_rwsem_downgrade_wake) 217 END(call_rwsem_downgrade_wake)
216 218
219#endif
diff --git a/arch/i386/pci/direct.c b/arch/i386/pci/direct.c
index 5acf0b4743cf..431c9a51b157 100644
--- a/arch/i386/pci/direct.c
+++ b/arch/i386/pci/direct.c
@@ -256,6 +256,8 @@ static int __init pci_check_type2(void)
256 256
257void __init pci_direct_init(int type) 257void __init pci_direct_init(int type)
258{ 258{
259 if (type == 0)
260 return;
259 printk(KERN_INFO "PCI: Using configuration type %d\n", type); 261 printk(KERN_INFO "PCI: Using configuration type %d\n", type);
260 if (type == 1) 262 if (type == 1)
261 raw_pci_ops = &pci_direct_conf1; 263 raw_pci_ops = &pci_direct_conf1;
diff --git a/arch/i386/pci/init.c b/arch/i386/pci/init.c
index d028e1b05c36..b21b6da8ab1d 100644
--- a/arch/i386/pci/init.c
+++ b/arch/i386/pci/init.c
@@ -28,6 +28,10 @@ static __init int pci_access_init(void)
28#ifdef CONFIG_PCI_DIRECT 28#ifdef CONFIG_PCI_DIRECT
29 pci_direct_init(type); 29 pci_direct_init(type);
30#endif 30#endif
31 if (!raw_pci_ops)
32 printk(KERN_ERR
33 "PCI: Fatal: No config space access function found\n");
34
31 return 0; 35 return 0;
32} 36}
33arch_initcall(pci_access_init); 37arch_initcall(pci_access_init);
diff --git a/arch/x86_64/defconfig b/arch/x86_64/defconfig
index 4844b543bed0..47bfba6e9dc4 100644
--- a/arch/x86_64/defconfig
+++ b/arch/x86_64/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.18-git7 3# Linux kernel version: 2.6.19-rc1
4# Wed Sep 27 21:53:10 2006 4# Thu Oct 5 13:04:43 2006
5# 5#
6CONFIG_X86_64=y 6CONFIG_X86_64=y
7CONFIG_64BIT=y 7CONFIG_64BIT=y
@@ -19,6 +19,7 @@ CONFIG_EARLY_PRINTK=y
19CONFIG_GENERIC_ISA_DMA=y 19CONFIG_GENERIC_ISA_DMA=y
20CONFIG_GENERIC_IOMAP=y 20CONFIG_GENERIC_IOMAP=y
21CONFIG_ARCH_MAY_HAVE_PC_FDC=y 21CONFIG_ARCH_MAY_HAVE_PC_FDC=y
22CONFIG_ARCH_POPULATES_NODE_MAP=y
22CONFIG_DMI=y 23CONFIG_DMI=y
23CONFIG_AUDIT_ARCH=y 24CONFIG_AUDIT_ARCH=y
24CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 25CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -37,9 +38,11 @@ CONFIG_LOCALVERSION=""
37CONFIG_LOCALVERSION_AUTO=y 38CONFIG_LOCALVERSION_AUTO=y
38CONFIG_SWAP=y 39CONFIG_SWAP=y
39CONFIG_SYSVIPC=y 40CONFIG_SYSVIPC=y
41# CONFIG_IPC_NS is not set
40CONFIG_POSIX_MQUEUE=y 42CONFIG_POSIX_MQUEUE=y
41# CONFIG_BSD_PROCESS_ACCT is not set 43# CONFIG_BSD_PROCESS_ACCT is not set
42# CONFIG_TASKSTATS is not set 44# CONFIG_TASKSTATS is not set
45# CONFIG_UTS_NS is not set
43# CONFIG_AUDIT is not set 46# CONFIG_AUDIT is not set
44CONFIG_IKCONFIG=y 47CONFIG_IKCONFIG=y
45CONFIG_IKCONFIG_PROC=y 48CONFIG_IKCONFIG_PROC=y
@@ -47,9 +50,10 @@ CONFIG_IKCONFIG_PROC=y
47# CONFIG_RELAY is not set 50# CONFIG_RELAY is not set
48CONFIG_INITRAMFS_SOURCE="" 51CONFIG_INITRAMFS_SOURCE=""
49CONFIG_CC_OPTIMIZE_FOR_SIZE=y 52CONFIG_CC_OPTIMIZE_FOR_SIZE=y
53CONFIG_SYSCTL=y
50# CONFIG_EMBEDDED is not set 54# CONFIG_EMBEDDED is not set
51CONFIG_UID16=y 55CONFIG_UID16=y
52CONFIG_SYSCTL=y 56# CONFIG_SYSCTL_SYSCALL is not set
53CONFIG_KALLSYMS=y 57CONFIG_KALLSYMS=y
54CONFIG_KALLSYMS_ALL=y 58CONFIG_KALLSYMS_ALL=y
55# CONFIG_KALLSYMS_EXTRA_PASS is not set 59# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -82,6 +86,7 @@ CONFIG_STOP_MACHINE=y
82# 86#
83# Block layer 87# Block layer
84# 88#
89CONFIG_BLOCK=y
85CONFIG_LBD=y 90CONFIG_LBD=y
86# CONFIG_BLK_DEV_IO_TRACE is not set 91# CONFIG_BLK_DEV_IO_TRACE is not set
87# CONFIG_LSF is not set 92# CONFIG_LSF is not set
@@ -252,9 +257,11 @@ CONFIG_PCI=y
252CONFIG_PCI_DIRECT=y 257CONFIG_PCI_DIRECT=y
253CONFIG_PCI_MMCONFIG=y 258CONFIG_PCI_MMCONFIG=y
254CONFIG_PCIEPORTBUS=y 259CONFIG_PCIEPORTBUS=y
260CONFIG_PCIEAER=y
255CONFIG_PCI_MSI=y 261CONFIG_PCI_MSI=y
256# CONFIG_PCI_MULTITHREAD_PROBE is not set 262# CONFIG_PCI_MULTITHREAD_PROBE is not set
257# CONFIG_PCI_DEBUG is not set 263# CONFIG_PCI_DEBUG is not set
264# CONFIG_HT_IRQ is not set
258 265
259# 266#
260# PCCARD (PCMCIA/CardBus) support 267# PCCARD (PCMCIA/CardBus) support
@@ -309,6 +316,7 @@ CONFIG_IP_PNP_DHCP=y
309# CONFIG_INET_TUNNEL is not set 316# CONFIG_INET_TUNNEL is not set
310# CONFIG_INET_XFRM_MODE_TRANSPORT is not set 317# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
311# CONFIG_INET_XFRM_MODE_TUNNEL is not set 318# CONFIG_INET_XFRM_MODE_TUNNEL is not set
319# CONFIG_INET_XFRM_MODE_BEET is not set
312CONFIG_INET_DIAG=y 320CONFIG_INET_DIAG=y
313CONFIG_INET_TCP_DIAG=y 321CONFIG_INET_TCP_DIAG=y
314# CONFIG_TCP_CONG_ADVANCED is not set 322# CONFIG_TCP_CONG_ADVANCED is not set
@@ -325,6 +333,7 @@ CONFIG_IPV6=y
325# CONFIG_INET6_TUNNEL is not set 333# CONFIG_INET6_TUNNEL is not set
326# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set 334# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
327# CONFIG_INET6_XFRM_MODE_TUNNEL is not set 335# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
336# CONFIG_INET6_XFRM_MODE_BEET is not set
328# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set 337# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
329# CONFIG_IPV6_TUNNEL is not set 338# CONFIG_IPV6_TUNNEL is not set
330# CONFIG_IPV6_SUBTREES is not set 339# CONFIG_IPV6_SUBTREES is not set
@@ -473,6 +482,7 @@ CONFIG_BLK_DEV_ATIIXP=y
473# CONFIG_BLK_DEV_CS5530 is not set 482# CONFIG_BLK_DEV_CS5530 is not set
474# CONFIG_BLK_DEV_HPT34X is not set 483# CONFIG_BLK_DEV_HPT34X is not set
475# CONFIG_BLK_DEV_HPT366 is not set 484# CONFIG_BLK_DEV_HPT366 is not set
485# CONFIG_BLK_DEV_JMICRON is not set
476# CONFIG_BLK_DEV_SC1200 is not set 486# CONFIG_BLK_DEV_SC1200 is not set
477CONFIG_BLK_DEV_PIIX=y 487CONFIG_BLK_DEV_PIIX=y
478# CONFIG_BLK_DEV_IT821X is not set 488# CONFIG_BLK_DEV_IT821X is not set
@@ -564,6 +574,7 @@ CONFIG_MEGARAID_SAS=y
564# CONFIG_SCSI_IPR is not set 574# CONFIG_SCSI_IPR is not set
565# CONFIG_SCSI_QLOGIC_1280 is not set 575# CONFIG_SCSI_QLOGIC_1280 is not set
566# CONFIG_SCSI_QLA_FC is not set 576# CONFIG_SCSI_QLA_FC is not set
577# CONFIG_SCSI_QLA_ISCSI is not set
567# CONFIG_SCSI_LPFC is not set 578# CONFIG_SCSI_LPFC is not set
568# CONFIG_SCSI_DC395x is not set 579# CONFIG_SCSI_DC395x is not set
569# CONFIG_SCSI_DC390T is not set 580# CONFIG_SCSI_DC390T is not set
@@ -605,7 +616,6 @@ CONFIG_SATA_INTEL_COMBINED=y
605# CONFIG_PATA_HPT3X3 is not set 616# CONFIG_PATA_HPT3X3 is not set
606# CONFIG_PATA_IT821X is not set 617# CONFIG_PATA_IT821X is not set
607# CONFIG_PATA_JMICRON is not set 618# CONFIG_PATA_JMICRON is not set
608# CONFIG_PATA_LEGACY is not set
609# CONFIG_PATA_TRIFLEX is not set 619# CONFIG_PATA_TRIFLEX is not set
610# CONFIG_PATA_MPIIX is not set 620# CONFIG_PATA_MPIIX is not set
611# CONFIG_PATA_OLDPIIX is not set 621# CONFIG_PATA_OLDPIIX is not set
@@ -614,7 +624,6 @@ CONFIG_SATA_INTEL_COMBINED=y
614# CONFIG_PATA_OPTI is not set 624# CONFIG_PATA_OPTI is not set
615# CONFIG_PATA_OPTIDMA is not set 625# CONFIG_PATA_OPTIDMA is not set
616# CONFIG_PATA_PDC_OLD is not set 626# CONFIG_PATA_PDC_OLD is not set
617# CONFIG_PATA_QDI is not set
618# CONFIG_PATA_RADISYS is not set 627# CONFIG_PATA_RADISYS is not set
619# CONFIG_PATA_RZ1000 is not set 628# CONFIG_PATA_RZ1000 is not set
620# CONFIG_PATA_SC1200 is not set 629# CONFIG_PATA_SC1200 is not set
@@ -631,6 +640,7 @@ CONFIG_SATA_INTEL_COMBINED=y
631CONFIG_MD=y 640CONFIG_MD=y
632# CONFIG_BLK_DEV_MD is not set 641# CONFIG_BLK_DEV_MD is not set
633CONFIG_BLK_DEV_DM=y 642CONFIG_BLK_DEV_DM=y
643# CONFIG_DM_DEBUG is not set
634# CONFIG_DM_CRYPT is not set 644# CONFIG_DM_CRYPT is not set
635# CONFIG_DM_SNAPSHOT is not set 645# CONFIG_DM_SNAPSHOT is not set
636# CONFIG_DM_MIRROR is not set 646# CONFIG_DM_MIRROR is not set
@@ -819,6 +829,7 @@ CONFIG_NET_POLL_CONTROLLER=y
819# Input device support 829# Input device support
820# 830#
821CONFIG_INPUT=y 831CONFIG_INPUT=y
832# CONFIG_INPUT_FF_MEMLESS is not set
822 833
823# 834#
824# Userland interfaces 835# Userland interfaces
@@ -841,6 +852,7 @@ CONFIG_KEYBOARD_ATKBD=y
841# CONFIG_KEYBOARD_LKKBD is not set 852# CONFIG_KEYBOARD_LKKBD is not set
842# CONFIG_KEYBOARD_XTKBD is not set 853# CONFIG_KEYBOARD_XTKBD is not set
843# CONFIG_KEYBOARD_NEWTON is not set 854# CONFIG_KEYBOARD_NEWTON is not set
855# CONFIG_KEYBOARD_STOWAWAY is not set
844CONFIG_INPUT_MOUSE=y 856CONFIG_INPUT_MOUSE=y
845CONFIG_MOUSE_PS2=y 857CONFIG_MOUSE_PS2=y
846# CONFIG_MOUSE_SERIAL is not set 858# CONFIG_MOUSE_SERIAL is not set
@@ -1008,6 +1020,7 @@ CONFIG_HWMON=y
1008# CONFIG_SENSORS_ADM1026 is not set 1020# CONFIG_SENSORS_ADM1026 is not set
1009# CONFIG_SENSORS_ADM1031 is not set 1021# CONFIG_SENSORS_ADM1031 is not set
1010# CONFIG_SENSORS_ADM9240 is not set 1022# CONFIG_SENSORS_ADM9240 is not set
1023# CONFIG_SENSORS_K8TEMP is not set
1011# CONFIG_SENSORS_ASB100 is not set 1024# CONFIG_SENSORS_ASB100 is not set
1012# CONFIG_SENSORS_ATXP1 is not set 1025# CONFIG_SENSORS_ATXP1 is not set
1013# CONFIG_SENSORS_DS1621 is not set 1026# CONFIG_SENSORS_DS1621 is not set
@@ -1034,6 +1047,7 @@ CONFIG_HWMON=y
1034# CONFIG_SENSORS_SMSC47M192 is not set 1047# CONFIG_SENSORS_SMSC47M192 is not set
1035CONFIG_SENSORS_SMSC47B397=m 1048CONFIG_SENSORS_SMSC47B397=m
1036# CONFIG_SENSORS_VIA686A is not set 1049# CONFIG_SENSORS_VIA686A is not set
1050# CONFIG_SENSORS_VT1211 is not set
1037# CONFIG_SENSORS_VT8231 is not set 1051# CONFIG_SENSORS_VT8231 is not set
1038# CONFIG_SENSORS_W83781D is not set 1052# CONFIG_SENSORS_W83781D is not set
1039# CONFIG_SENSORS_W83791D is not set 1053# CONFIG_SENSORS_W83791D is not set
@@ -1048,12 +1062,12 @@ CONFIG_SENSORS_SMSC47B397=m
1048# Misc devices 1062# Misc devices
1049# 1063#
1050# CONFIG_IBM_ASM is not set 1064# CONFIG_IBM_ASM is not set
1065# CONFIG_TIFM_CORE is not set
1051 1066
1052# 1067#
1053# Multimedia devices 1068# Multimedia devices
1054# 1069#
1055# CONFIG_VIDEO_DEV is not set 1070# CONFIG_VIDEO_DEV is not set
1056CONFIG_VIDEO_V4L2=y
1057 1071
1058# 1072#
1059# Digital Video Broadcasting Devices 1073# Digital Video Broadcasting Devices
@@ -1159,6 +1173,7 @@ CONFIG_USB_STORAGE=y
1159# CONFIG_USB_STORAGE_SDDR55 is not set 1173# CONFIG_USB_STORAGE_SDDR55 is not set
1160# CONFIG_USB_STORAGE_JUMPSHOT is not set 1174# CONFIG_USB_STORAGE_JUMPSHOT is not set
1161# CONFIG_USB_STORAGE_ALAUDA is not set 1175# CONFIG_USB_STORAGE_ALAUDA is not set
1176# CONFIG_USB_STORAGE_KARMA is not set
1162# CONFIG_USB_LIBUSUAL is not set 1177# CONFIG_USB_LIBUSUAL is not set
1163 1178
1164# 1179#
@@ -1181,6 +1196,7 @@ CONFIG_USB_HIDINPUT=y
1181# CONFIG_USB_ATI_REMOTE2 is not set 1196# CONFIG_USB_ATI_REMOTE2 is not set
1182# CONFIG_USB_KEYSPAN_REMOTE is not set 1197# CONFIG_USB_KEYSPAN_REMOTE is not set
1183# CONFIG_USB_APPLETOUCH is not set 1198# CONFIG_USB_APPLETOUCH is not set
1199# CONFIG_USB_TRANCEVIBRATOR is not set
1184 1200
1185# 1201#
1186# USB Imaging devices 1202# USB Imaging devices
@@ -1212,6 +1228,7 @@ CONFIG_USB_MON=y
1212# 1228#
1213# CONFIG_USB_EMI62 is not set 1229# CONFIG_USB_EMI62 is not set
1214# CONFIG_USB_EMI26 is not set 1230# CONFIG_USB_EMI26 is not set
1231# CONFIG_USB_ADUTUX is not set
1215# CONFIG_USB_AUERSWALD is not set 1232# CONFIG_USB_AUERSWALD is not set
1216# CONFIG_USB_RIO500 is not set 1233# CONFIG_USB_RIO500 is not set
1217# CONFIG_USB_LEGOTOWER is not set 1234# CONFIG_USB_LEGOTOWER is not set
@@ -1219,9 +1236,9 @@ CONFIG_USB_MON=y
1219# CONFIG_USB_LED is not set 1236# CONFIG_USB_LED is not set
1220# CONFIG_USB_CYPRESS_CY7C63 is not set 1237# CONFIG_USB_CYPRESS_CY7C63 is not set
1221# CONFIG_USB_CYTHERM is not set 1238# CONFIG_USB_CYTHERM is not set
1222# CONFIG_USB_PHIDGETKIT is not set 1239# CONFIG_USB_PHIDGET is not set
1223# CONFIG_USB_PHIDGETSERVO is not set
1224# CONFIG_USB_IDMOUSE is not set 1240# CONFIG_USB_IDMOUSE is not set
1241# CONFIG_USB_FTDI_ELAN is not set
1225# CONFIG_USB_APPLEDISPLAY is not set 1242# CONFIG_USB_APPLEDISPLAY is not set
1226# CONFIG_USB_SISUSBVGA is not set 1243# CONFIG_USB_SISUSBVGA is not set
1227# CONFIG_USB_LD is not set 1244# CONFIG_USB_LD is not set
@@ -1313,6 +1330,7 @@ CONFIG_REISERFS_FS_POSIX_ACL=y
1313# CONFIG_JFS_FS is not set 1330# CONFIG_JFS_FS is not set
1314CONFIG_FS_POSIX_ACL=y 1331CONFIG_FS_POSIX_ACL=y
1315# CONFIG_XFS_FS is not set 1332# CONFIG_XFS_FS is not set
1333# CONFIG_GFS2_FS is not set
1316# CONFIG_OCFS2_FS is not set 1334# CONFIG_OCFS2_FS is not set
1317# CONFIG_MINIX_FS is not set 1335# CONFIG_MINIX_FS is not set
1318# CONFIG_ROMFS_FS is not set 1336# CONFIG_ROMFS_FS is not set
@@ -1347,8 +1365,10 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1347# 1365#
1348CONFIG_PROC_FS=y 1366CONFIG_PROC_FS=y
1349CONFIG_PROC_KCORE=y 1367CONFIG_PROC_KCORE=y
1368CONFIG_PROC_SYSCTL=y
1350CONFIG_SYSFS=y 1369CONFIG_SYSFS=y
1351CONFIG_TMPFS=y 1370CONFIG_TMPFS=y
1371CONFIG_TMPFS_POSIX_ACL=y
1352CONFIG_HUGETLBFS=y 1372CONFIG_HUGETLBFS=y
1353CONFIG_HUGETLB_PAGE=y 1373CONFIG_HUGETLB_PAGE=y
1354CONFIG_RAMFS=y 1374CONFIG_RAMFS=y
@@ -1398,6 +1418,7 @@ CONFIG_SUNRPC=y
1398# CONFIG_CODA_FS is not set 1418# CONFIG_CODA_FS is not set
1399# CONFIG_AFS_FS is not set 1419# CONFIG_AFS_FS is not set
1400# CONFIG_9P_FS is not set 1420# CONFIG_9P_FS is not set
1421CONFIG_GENERIC_ACL=y
1401 1422
1402# 1423#
1403# Partition Types 1424# Partition Types
@@ -1450,6 +1471,10 @@ CONFIG_NLS_ISO8859_15=y
1450CONFIG_NLS_UTF8=y 1471CONFIG_NLS_UTF8=y
1451 1472
1452# 1473#
1474# Distributed Lock Manager
1475#
1476
1477#
1453# Instrumentation Support 1478# Instrumentation Support
1454# 1479#
1455CONFIG_PROFILING=y 1480CONFIG_PROFILING=y
@@ -1482,11 +1507,13 @@ CONFIG_DETECT_SOFTLOCKUP=y
1482# CONFIG_DEBUG_INFO is not set 1507# CONFIG_DEBUG_INFO is not set
1483CONFIG_DEBUG_FS=y 1508CONFIG_DEBUG_FS=y
1484# CONFIG_DEBUG_VM is not set 1509# CONFIG_DEBUG_VM is not set
1510# CONFIG_DEBUG_LIST is not set
1485# CONFIG_FRAME_POINTER is not set 1511# CONFIG_FRAME_POINTER is not set
1486CONFIG_UNWIND_INFO=y 1512CONFIG_UNWIND_INFO=y
1487CONFIG_STACK_UNWIND=y 1513CONFIG_STACK_UNWIND=y
1488# CONFIG_FORCED_INLINING is not set 1514# CONFIG_FORCED_INLINING is not set
1489# CONFIG_RCU_TORTURE_TEST is not set 1515# CONFIG_RCU_TORTURE_TEST is not set
1516# CONFIG_LKDTM is not set
1490# CONFIG_DEBUG_RODATA is not set 1517# CONFIG_DEBUG_RODATA is not set
1491# CONFIG_IOMMU_DEBUG is not set 1518# CONFIG_IOMMU_DEBUG is not set
1492CONFIG_DEBUG_STACKOVERFLOW=y 1519CONFIG_DEBUG_STACKOVERFLOW=y
diff --git a/arch/x86_64/kernel/entry.S b/arch/x86_64/kernel/entry.S
index b8285cf1a9c3..38a7b2d528e2 100644
--- a/arch/x86_64/kernel/entry.S
+++ b/arch/x86_64/kernel/entry.S
@@ -535,6 +535,8 @@ END(stub_rt_sigreturn)
5351: incl %gs:pda_irqcount 5351: incl %gs:pda_irqcount
536 cmoveq %gs:pda_irqstackptr,%rsp 536 cmoveq %gs:pda_irqstackptr,%rsp
537 push %rbp # backlink for old unwinder 537 push %rbp # backlink for old unwinder
538 CFI_ADJUST_CFA_OFFSET 8
539 CFI_REL_OFFSET rbp,0
538 /* 540 /*
539 * We entered an interrupt context - irqs are off: 541 * We entered an interrupt context - irqs are off:
540 */ 542 */
@@ -978,6 +980,11 @@ ENTRY(kernel_thread)
978 call do_fork 980 call do_fork
979 movq %rax,RAX(%rsp) 981 movq %rax,RAX(%rsp)
980 xorl %edi,%edi 982 xorl %edi,%edi
983 test %rax,%rax
984 jnz 1f
985 /* terminate stack in child */
986 movq %rdi,RIP(%rsp)
9871:
981 988
982 /* 989 /*
983 * It isn't worth to check for reschedule here, 990 * It isn't worth to check for reschedule here,
@@ -1169,6 +1176,7 @@ ENTRY(call_softirq)
1169 incl %gs:pda_irqcount 1176 incl %gs:pda_irqcount
1170 cmove %gs:pda_irqstackptr,%rsp 1177 cmove %gs:pda_irqstackptr,%rsp
1171 push %rbp # backlink for old unwinder 1178 push %rbp # backlink for old unwinder
1179 CFI_ADJUST_CFA_OFFSET 8
1172 call __do_softirq 1180 call __do_softirq
1173 leaveq 1181 leaveq
1174 CFI_DEF_CFA_REGISTER rsp 1182 CFI_DEF_CFA_REGISTER rsp
diff --git a/arch/x86_64/kernel/pci-calgary.c b/arch/x86_64/kernel/pci-calgary.c
index f760045d6d35..b3296cc2f2f2 100644
--- a/arch/x86_64/kernel/pci-calgary.c
+++ b/arch/x86_64/kernel/pci-calgary.c
@@ -2,8 +2,9 @@
2 * Derived from arch/powerpc/kernel/iommu.c 2 * Derived from arch/powerpc/kernel/iommu.c
3 * 3 *
4 * Copyright (C) IBM Corporation, 2006 4 * Copyright (C) IBM Corporation, 2006
5 * Copyright (C) 2006 Jon Mason <jdmason@kudzu.us>
5 * 6 *
6 * Author: Jon Mason <jdmason@us.ibm.com> 7 * Author: Jon Mason <jdmason@kudzu.us>
7 * Author: Muli Ben-Yehuda <muli@il.ibm.com> 8 * Author: Muli Ben-Yehuda <muli@il.ibm.com>
8 9
9 * This program is free software; you can redistribute it and/or modify 10 * This program is free software; you can redistribute it and/or modify
@@ -714,7 +715,7 @@ static void calgary_watchdog(unsigned long data)
714 715
715 /* If no error, the agent ID in the CSR is not valid */ 716 /* If no error, the agent ID in the CSR is not valid */
716 if (val32 & CSR_AGENT_MASK) { 717 if (val32 & CSR_AGENT_MASK) {
717 printk(KERN_EMERG "calgary_watchdog: DMA error on bus %d, " 718 printk(KERN_EMERG "calgary_watchdog: DMA error on PHB %#x, "
718 "CSR = %#x\n", dev->bus->number, val32); 719 "CSR = %#x\n", dev->bus->number, val32);
719 writel(0, target); 720 writel(0, target);
720 721
@@ -748,7 +749,7 @@ static void __init calgary_enable_translation(struct pci_dev *dev)
748 val32 = be32_to_cpu(readl(target)); 749 val32 = be32_to_cpu(readl(target));
749 val32 |= PHB_TCE_ENABLE | PHB_DAC_DISABLE | PHB_MCSR_ENABLE; 750 val32 |= PHB_TCE_ENABLE | PHB_DAC_DISABLE | PHB_MCSR_ENABLE;
750 751
751 printk(KERN_INFO "Calgary: enabling translation on PHB %d\n", busnum); 752 printk(KERN_INFO "Calgary: enabling translation on PHB %#x\n", busnum);
752 printk(KERN_INFO "Calgary: errant DMAs will now be prevented on this " 753 printk(KERN_INFO "Calgary: errant DMAs will now be prevented on this "
753 "bus.\n"); 754 "bus.\n");
754 755
@@ -778,7 +779,7 @@ static void __init calgary_disable_translation(struct pci_dev *dev)
778 val32 = be32_to_cpu(readl(target)); 779 val32 = be32_to_cpu(readl(target));
779 val32 &= ~(PHB_TCE_ENABLE | PHB_DAC_DISABLE | PHB_MCSR_ENABLE); 780 val32 &= ~(PHB_TCE_ENABLE | PHB_DAC_DISABLE | PHB_MCSR_ENABLE);
780 781
781 printk(KERN_INFO "Calgary: disabling translation on PHB %d!\n", busnum); 782 printk(KERN_INFO "Calgary: disabling translation on PHB %#x!\n", busnum);
782 writel(cpu_to_be32(val32), target); 783 writel(cpu_to_be32(val32), target);
783 readl(target); /* flush */ 784 readl(target); /* flush */
784 785
@@ -790,7 +791,16 @@ static inline unsigned int __init locate_register_space(struct pci_dev *dev)
790 int rionodeid; 791 int rionodeid;
791 u32 address; 792 u32 address;
792 793
793 rionodeid = (dev->bus->number % 15 > 4) ? 3 : 2; 794 /*
795 * Each Calgary has four busses. The first four busses (first Calgary)
796 * have RIO node ID 2, then the next four (second Calgary) have RIO
797 * node ID 3, the next four (third Calgary) have node ID 2 again, etc.
798 * We use a gross hack - relying on the dev->bus->number ordering,
799 * modulo 14 - to decide which Calgary a given bus is on. Busses 0, 1,
800 * 2 and 4 are on the first Calgary (id 2), 6, 8, a and c are on the
801 * second (id 3), and then it repeats modulo 14.
802 */
803 rionodeid = (dev->bus->number % 14 > 4) ? 3 : 2;
794 /* 804 /*
795 * register space address calculation as follows: 805 * register space address calculation as follows:
796 * FE0MB-8MB*OneBasedChassisNumber+1MB*(RioNodeId-ChassisBase) 806 * FE0MB-8MB*OneBasedChassisNumber+1MB*(RioNodeId-ChassisBase)
@@ -798,7 +808,7 @@ static inline unsigned int __init locate_register_space(struct pci_dev *dev)
798 * RioNodeId is 2 for first Calgary, 3 for second Calgary 808 * RioNodeId is 2 for first Calgary, 3 for second Calgary
799 */ 809 */
800 address = START_ADDRESS - 810 address = START_ADDRESS -
801 (0x800000 * (ONE_BASED_CHASSIS_NUM + dev->bus->number / 15)) + 811 (0x800000 * (ONE_BASED_CHASSIS_NUM + dev->bus->number / 14)) +
802 (0x100000) * (rionodeid - CHASSIS_BASE); 812 (0x100000) * (rionodeid - CHASSIS_BASE);
803 return address; 813 return address;
804} 814}
@@ -816,6 +826,8 @@ static int __init calgary_init_one(struct pci_dev *dev)
816 void __iomem *bbar; 826 void __iomem *bbar;
817 int ret; 827 int ret;
818 828
829 BUG_ON(dev->bus->number >= MAX_PHB_BUS_NUM);
830
819 address = locate_register_space(dev); 831 address = locate_register_space(dev);
820 /* map entire 1MB of Calgary config space */ 832 /* map entire 1MB of Calgary config space */
821 bbar = ioremap_nocache(address, 1024 * 1024); 833 bbar = ioremap_nocache(address, 1024 * 1024);
@@ -842,10 +854,10 @@ done:
842 854
843static int __init calgary_init(void) 855static int __init calgary_init(void)
844{ 856{
845 int i, ret = -ENODEV; 857 int ret = -ENODEV;
846 struct pci_dev *dev = NULL; 858 struct pci_dev *dev = NULL;
847 859
848 for (i = 0; i < MAX_PHB_BUS_NUM; i++) { 860 do {
849 dev = pci_get_device(PCI_VENDOR_ID_IBM, 861 dev = pci_get_device(PCI_VENDOR_ID_IBM,
850 PCI_DEVICE_ID_IBM_CALGARY, 862 PCI_DEVICE_ID_IBM_CALGARY,
851 dev); 863 dev);
@@ -861,12 +873,12 @@ static int __init calgary_init(void)
861 ret = calgary_init_one(dev); 873 ret = calgary_init_one(dev);
862 if (ret) 874 if (ret)
863 goto error; 875 goto error;
864 } 876 } while (1);
865 877
866 return ret; 878 return ret;
867 879
868error: 880error:
869 for (i--; i >= 0; i--) { 881 do {
870 dev = pci_find_device_reverse(PCI_VENDOR_ID_IBM, 882 dev = pci_find_device_reverse(PCI_VENDOR_ID_IBM,
871 PCI_DEVICE_ID_IBM_CALGARY, 883 PCI_DEVICE_ID_IBM_CALGARY,
872 dev); 884 dev);
@@ -882,7 +894,7 @@ error:
882 calgary_disable_translation(dev); 894 calgary_disable_translation(dev);
883 calgary_free_bus(dev); 895 calgary_free_bus(dev);
884 pci_dev_put(dev); /* Undo calgary_init_one()'s pci_dev_get() */ 896 pci_dev_put(dev); /* Undo calgary_init_one()'s pci_dev_get() */
885 } 897 } while (1);
886 898
887 return ret; 899 return ret;
888} 900}
@@ -1052,7 +1064,7 @@ static int __init calgary_parse_options(char *p)
1052 1064
1053 if (bridge < MAX_PHB_BUS_NUM) { 1065 if (bridge < MAX_PHB_BUS_NUM) {
1054 printk(KERN_INFO "Calgary: disabling " 1066 printk(KERN_INFO "Calgary: disabling "
1055 "translation for PHB 0x%x\n", bridge); 1067 "translation for PHB %#x\n", bridge);
1056 bus_info[bridge].translation_disabled = 1; 1068 bus_info[bridge].translation_disabled = 1;
1057 } 1069 }
1058 } 1070 }
diff --git a/arch/x86_64/kernel/process.c b/arch/x86_64/kernel/process.c
index de10cb8a2c97..5e95b257ee26 100644
--- a/arch/x86_64/kernel/process.c
+++ b/arch/x86_64/kernel/process.c
@@ -615,6 +615,9 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
615 prev->gsindex = gsindex; 615 prev->gsindex = gsindex;
616 } 616 }
617 617
618 /* Must be after DS reload */
619 unlazy_fpu(prev_p);
620
618 /* 621 /*
619 * Switch the PDA and FPU contexts. 622 * Switch the PDA and FPU contexts.
620 */ 623 */
@@ -622,10 +625,6 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
622 write_pda(oldrsp, next->userrsp); 625 write_pda(oldrsp, next->userrsp);
623 write_pda(pcurrent, next_p); 626 write_pda(pcurrent, next_p);
624 627
625 /* This must be here to ensure both math_state_restore() and
626 kernel_fpu_begin() work consistently.
627 And the AMD workaround requires it to be after DS reload. */
628 unlazy_fpu(prev_p);
629 write_pda(kernelstack, 628 write_pda(kernelstack,
630 (unsigned long)task_stack_page(next_p) + THREAD_SIZE - PDA_STACKOFFSET); 629 (unsigned long)task_stack_page(next_p) + THREAD_SIZE - PDA_STACKOFFSET);
631#ifdef CONFIG_CC_STACKPROTECTOR 630#ifdef CONFIG_CC_STACKPROTECTOR
diff --git a/arch/x86_64/kernel/traps.c b/arch/x86_64/kernel/traps.c
index 01f2a8d254c2..7819022a8db5 100644
--- a/arch/x86_64/kernel/traps.c
+++ b/arch/x86_64/kernel/traps.c
@@ -23,6 +23,7 @@
23#include <linux/delay.h> 23#include <linux/delay.h>
24#include <linux/spinlock.h> 24#include <linux/spinlock.h>
25#include <linux/interrupt.h> 25#include <linux/interrupt.h>
26#include <linux/kallsyms.h>
26#include <linux/module.h> 27#include <linux/module.h>
27#include <linux/moduleparam.h> 28#include <linux/moduleparam.h>
28#include <linux/nmi.h> 29#include <linux/nmi.h>
@@ -115,7 +116,6 @@ static int call_trace = 1;
115#endif 116#endif
116 117
117#ifdef CONFIG_KALLSYMS 118#ifdef CONFIG_KALLSYMS
118# include <linux/kallsyms.h>
119void printk_address(unsigned long address) 119void printk_address(unsigned long address)
120{ 120{
121 unsigned long offset = 0, symsize; 121 unsigned long offset = 0, symsize;
diff --git a/drivers/scsi/qla2xxx/qla_dbg.h b/drivers/scsi/qla2xxx/qla_dbg.h
index 533425338e05..90dad7e88985 100644
--- a/drivers/scsi/qla2xxx/qla_dbg.h
+++ b/drivers/scsi/qla2xxx/qla_dbg.h
@@ -38,7 +38,7 @@
38* Macros use for debugging the driver. 38* Macros use for debugging the driver.
39*/ 39*/
40 40
41#define DEBUG(x) do { if (extended_error_logging) { x; } } while (0) 41#define DEBUG(x) do { if (qla2_extended_error_logging) { x; } } while (0)
42 42
43#if defined(QL_DEBUG_LEVEL_1) 43#if defined(QL_DEBUG_LEVEL_1)
44#define DEBUG1(x) do {x;} while (0) 44#define DEBUG1(x) do {x;} while (0)
@@ -46,12 +46,12 @@
46#define DEBUG1(x) do {} while (0) 46#define DEBUG1(x) do {} while (0)
47#endif 47#endif
48 48
49#define DEBUG2(x) do { if (extended_error_logging) { x; } } while (0) 49#define DEBUG2(x) do { if (qla2_extended_error_logging) { x; } } while (0)
50#define DEBUG2_3(x) do { if (extended_error_logging) { x; } } while (0) 50#define DEBUG2_3(x) do { if (qla2_extended_error_logging) { x; } } while (0)
51#define DEBUG2_3_11(x) do { if (extended_error_logging) { x; } } while (0) 51#define DEBUG2_3_11(x) do { if (qla2_extended_error_logging) { x; } } while (0)
52#define DEBUG2_9_10(x) do { if (extended_error_logging) { x; } } while (0) 52#define DEBUG2_9_10(x) do { if (qla2_extended_error_logging) { x; } } while (0)
53#define DEBUG2_11(x) do { if (extended_error_logging) { x; } } while (0) 53#define DEBUG2_11(x) do { if (qla2_extended_error_logging) { x; } } while (0)
54#define DEBUG2_13(x) do { if (extended_error_logging) { x; } } while (0) 54#define DEBUG2_13(x) do { if (qla2_extended_error_logging) { x; } } while (0)
55 55
56#if defined(QL_DEBUG_LEVEL_3) 56#if defined(QL_DEBUG_LEVEL_3)
57#define DEBUG3(x) do {x;} while (0) 57#define DEBUG3(x) do {x;} while (0)
diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h
index 75138109b139..7da69832d74c 100644
--- a/drivers/scsi/qla2xxx/qla_gbl.h
+++ b/drivers/scsi/qla2xxx/qla_gbl.h
@@ -60,7 +60,7 @@ extern int ql2xplogiabsentdevice;
60extern int ql2xloginretrycount; 60extern int ql2xloginretrycount;
61extern int ql2xfdmienable; 61extern int ql2xfdmienable;
62extern int ql2xallocfwdump; 62extern int ql2xallocfwdump;
63extern int extended_error_logging; 63extern int qla2_extended_error_logging;
64 64
65extern void qla2x00_sp_compl(scsi_qla_host_t *, srb_t *); 65extern void qla2x00_sp_compl(scsi_qla_host_t *, srb_t *);
66 66
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index d5d26273c04e..833b93085fd3 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -1644,7 +1644,7 @@ qla2x00_nvram_config(scsi_qla_host_t *ha)
1644 * Set host adapter parameters. 1644 * Set host adapter parameters.
1645 */ 1645 */
1646 if (nv->host_p[0] & BIT_7) 1646 if (nv->host_p[0] & BIT_7)
1647 extended_error_logging = 1; 1647 qla2_extended_error_logging = 1;
1648 ha->flags.disable_risc_code_load = ((nv->host_p[0] & BIT_4) ? 1 : 0); 1648 ha->flags.disable_risc_code_load = ((nv->host_p[0] & BIT_4) ? 1 : 0);
1649 /* Always load RISC code on non ISP2[12]00 chips. */ 1649 /* Always load RISC code on non ISP2[12]00 chips. */
1650 if (!IS_QLA2100(ha) && !IS_QLA2200(ha)) 1650 if (!IS_QLA2100(ha) && !IS_QLA2200(ha))
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index 3ba8c239f171..3f20d765563e 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -61,9 +61,9 @@ MODULE_PARM_DESC(ql2xallocfwdump,
61 "during HBA initialization. Memory allocation requirements " 61 "during HBA initialization. Memory allocation requirements "
62 "vary by ISP type. Default is 1 - allocate memory."); 62 "vary by ISP type. Default is 1 - allocate memory.");
63 63
64int extended_error_logging; 64int qla2_extended_error_logging;
65module_param(extended_error_logging, int, S_IRUGO|S_IRUSR); 65module_param(qla2_extended_error_logging, int, S_IRUGO|S_IRUSR);
66MODULE_PARM_DESC(extended_error_logging, 66MODULE_PARM_DESC(qla2_extended_error_logging,
67 "Option to enable extended error logging, " 67 "Option to enable extended error logging, "
68 "Default is 0 - no logging. 1 - log errors."); 68 "Default is 0 - no logging. 1 - log errors.");
69 69
@@ -2697,7 +2697,7 @@ qla2x00_module_init(void)
2697 2697
2698 /* Derive version string. */ 2698 /* Derive version string. */
2699 strcpy(qla2x00_version_str, QLA2XXX_VERSION); 2699 strcpy(qla2x00_version_str, QLA2XXX_VERSION);
2700 if (extended_error_logging) 2700 if (qla2_extended_error_logging)
2701 strcat(qla2x00_version_str, "-debug"); 2701 strcat(qla2x00_version_str, "-debug");
2702 2702
2703 qla2xxx_transport_template = 2703 qla2xxx_transport_template =
diff --git a/drivers/scsi/qla4xxx/ql4_dbg.h b/drivers/scsi/qla4xxx/ql4_dbg.h
index 56ddc227f846..3e99dcfd5a9f 100644
--- a/drivers/scsi/qla4xxx/ql4_dbg.h
+++ b/drivers/scsi/qla4xxx/ql4_dbg.h
@@ -22,14 +22,14 @@
22#endif 22#endif
23 23
24#if defined(QL_DEBUG_LEVEL_2) 24#if defined(QL_DEBUG_LEVEL_2)
25#define DEBUG2(x) do {if(extended_error_logging == 2) x;} while (0); 25#define DEBUG2(x) do {if(qla4_extended_error_logging == 2) x;} while (0);
26#define DEBUG2_3(x) do {x;} while (0); 26#define DEBUG2_3(x) do {x;} while (0);
27#else /* */ 27#else /* */
28#define DEBUG2(x) do {} while (0); 28#define DEBUG2(x) do {} while (0);
29#endif /* */ 29#endif /* */
30 30
31#if defined(QL_DEBUG_LEVEL_3) 31#if defined(QL_DEBUG_LEVEL_3)
32#define DEBUG3(x) do {if(extended_error_logging == 3) x;} while (0); 32#define DEBUG3(x) do {if(qla4_extended_error_logging == 3) x;} while (0);
33#else /* */ 33#else /* */
34#define DEBUG3(x) do {} while (0); 34#define DEBUG3(x) do {} while (0);
35#if !defined(QL_DEBUG_LEVEL_2) 35#if !defined(QL_DEBUG_LEVEL_2)
diff --git a/drivers/scsi/qla4xxx/ql4_glbl.h b/drivers/scsi/qla4xxx/ql4_glbl.h
index 1de08002c43f..2c803edf2de8 100644
--- a/drivers/scsi/qla4xxx/ql4_glbl.h
+++ b/drivers/scsi/qla4xxx/ql4_glbl.h
@@ -72,7 +72,7 @@ int qla4xxx_reinitialize_ddb_list(struct scsi_qla_host * ha);
72int qla4xxx_process_ddb_changed(struct scsi_qla_host * ha, 72int qla4xxx_process_ddb_changed(struct scsi_qla_host * ha,
73 uint32_t fw_ddb_index, uint32_t state); 73 uint32_t fw_ddb_index, uint32_t state);
74 74
75extern int extended_error_logging; 75extern int qla4_extended_error_logging;
76extern int ql4xdiscoverywait; 76extern int ql4xdiscoverywait;
77extern int ql4xdontresethba; 77extern int ql4xdontresethba;
78#endif /* _QLA4x_GBL_H */ 78#endif /* _QLA4x_GBL_H */
diff --git a/drivers/scsi/qla4xxx/ql4_mbx.c b/drivers/scsi/qla4xxx/ql4_mbx.c
index ed977f70b2db..ef82399c0858 100644
--- a/drivers/scsi/qla4xxx/ql4_mbx.c
+++ b/drivers/scsi/qla4xxx/ql4_mbx.c
@@ -701,7 +701,7 @@ void qla4xxx_get_conn_event_log(struct scsi_qla_host * ha)
701 DEBUG3(printk("scsi%ld: Connection Event Log Dump (%d entries):\n", 701 DEBUG3(printk("scsi%ld: Connection Event Log Dump (%d entries):\n",
702 ha->host_no, num_valid_entries)); 702 ha->host_no, num_valid_entries));
703 703
704 if (extended_error_logging == 3) { 704 if (qla4_extended_error_logging == 3) {
705 if (oldest_entry == 0) { 705 if (oldest_entry == 0) {
706 /* Circular Buffer has not wrapped around */ 706 /* Circular Buffer has not wrapped around */
707 for (i=0; i < num_valid_entries; i++) { 707 for (i=0; i < num_valid_entries; i++) {
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
index 5036ebf013a5..178fcddcfd81 100644
--- a/drivers/scsi/qla4xxx/ql4_os.c
+++ b/drivers/scsi/qla4xxx/ql4_os.c
@@ -34,9 +34,9 @@ MODULE_PARM_DESC(ql4xdontresethba,
34 " default it will reset hba :0" 34 " default it will reset hba :0"
35 " set to 1 to avoid resetting HBA"); 35 " set to 1 to avoid resetting HBA");
36 36
37int extended_error_logging = 0; /* 0 = off, 1 = log errors */ 37int qla4_extended_error_logging = 0; /* 0 = off, 1 = log errors */
38module_param(extended_error_logging, int, S_IRUGO | S_IRUSR); 38module_param(qla4_extended_error_logging, int, S_IRUGO | S_IRUSR);
39MODULE_PARM_DESC(extended_error_logging, 39MODULE_PARM_DESC(qla4_extended_error_logging,
40 "Option to enable extended error logging, " 40 "Option to enable extended error logging, "
41 "Default is 0 - no logging, 1 - debug logging"); 41 "Default is 0 - no logging, 1 - debug logging");
42 42
@@ -1714,7 +1714,7 @@ static int __init qla4xxx_module_init(void)
1714 1714
1715 /* Derive version string. */ 1715 /* Derive version string. */
1716 strcpy(qla4xxx_version_str, QLA4XXX_DRIVER_VERSION); 1716 strcpy(qla4xxx_version_str, QLA4XXX_DRIVER_VERSION);
1717 if (extended_error_logging) 1717 if (qla4_extended_error_logging)
1718 strcat(qla4xxx_version_str, "-debug"); 1718 strcat(qla4xxx_version_str, "-debug");
1719 1719
1720 qla4xxx_scsi_transport = 1720 qla4xxx_scsi_transport =
diff --git a/fs/udf/super.c b/fs/udf/super.c
index 1d3b5d2070e5..1aea6a4f9a4a 100644
--- a/fs/udf/super.c
+++ b/fs/udf/super.c
@@ -1621,9 +1621,10 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent)
1621 goto error_out; 1621 goto error_out;
1622 } 1622 }
1623 1623
1624 if (UDF_SB_PARTFLAGS(sb, UDF_SB_PARTITION(sb)) & UDF_PART_FLAG_READ_ONLY) 1624 if (UDF_SB_PARTFLAGS(sb, UDF_SB_PARTITION(sb)) & UDF_PART_FLAG_READ_ONLY) {
1625 printk("UDF-fs: Partition marked readonly; forcing readonly mount\n"); 1625 printk("UDF-fs: Partition marked readonly; forcing readonly mount\n");
1626 sb->s_flags |= MS_RDONLY; 1626 sb->s_flags |= MS_RDONLY;
1627 }
1627 1628
1628 if ( udf_find_fileset(sb, &fileset, &rootdir) ) 1629 if ( udf_find_fileset(sb, &fileset, &rootdir) )
1629 { 1630 {