Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
x86, AMD IOMMU: include amd_iommu_last_bdf in device initialization
x86: fix IBM Summit based systems' phys_cpu_present_map on 32-bit kernels
x86, RDC321x: remove gpio.h complications
x86, RDC321x: add to mach-default
crashdump: fix undefined reference to `elfcorehdr_addr'
flag parameters: fix compile error of sys_epoll_create1

+22 -31
+11 -15
arch/x86/Kconfig
··· 24 24 select HAVE_IOREMAP_PROT 25 25 select HAVE_GET_USER_PAGES_FAST 26 26 select HAVE_KPROBES 27 - select ARCH_WANT_OPTIONAL_GPIOLIB if !X86_RDC321X 27 + select ARCH_WANT_OPTIONAL_GPIOLIB 28 28 select HAVE_KRETPROBES 29 29 select HAVE_DYNAMIC_FTRACE 30 30 select HAVE_FTRACE ··· 333 333 334 334 endif 335 335 336 - config X86_RDC321X 337 - bool "RDC R-321x SoC" 338 - depends on X86_32 339 - select M486 340 - select X86_REBOOTFIXUPS 341 - select GENERIC_GPIO 342 - select LEDS_CLASS 343 - select LEDS_GPIO 344 - select NEW_LEDS 345 - help 346 - This option is needed for RDC R-321x system-on-chip, also known 347 - as R-8610-(G). 348 - If you don't have one of these chips, you should say N here. 349 - 350 336 config X86_VSMP 351 337 bool "Support for ScaleMP vSMP" 352 338 select PARAVIRT ··· 355 369 356 370 A kernel compiled for the Visual Workstation will run on general 357 371 PCs as well. See <file:Documentation/sgi-visws.txt> for details. 372 + 373 + config X86_RDC321X 374 + bool "RDC R-321x SoC" 375 + depends on X86_32 376 + select M486 377 + select X86_REBOOTFIXUPS 378 + help 379 + This option is needed for RDC R-321x system-on-chip, also known 380 + as R-8610-(G). 381 + If you don't have one of these chips, you should say N here. 358 382 359 383 config SCHED_NO_NO_OMIT_FRAME_POINTER 360 384 def_bool y
-5
arch/x86/Makefile
··· 118 118 fcore-$(CONFIG_X86_GENERICARCH) += arch/x86/mach-generic/ 119 119 mcore-$(CONFIG_X86_GENERICARCH) := arch/x86/mach-default/ 120 120 121 - # RDC R-321x subarch support 122 - mflags-$(CONFIG_X86_RDC321X) := -Iinclude/asm-x86/mach-rdc321x 123 - mcore-$(CONFIG_X86_RDC321X) := arch/x86/mach-default/ 124 - core-$(CONFIG_X86_RDC321X) += arch/x86/mach-rdc321x/ 125 - 126 121 # default subarch .h files 127 122 mflags-y += -Iinclude/asm-x86/mach-default 128 123
+2 -2
arch/x86/kernel/amd_iommu.c
··· 667 667 _bdf = calc_devid(pcidev->bus->number, pcidev->devfn); 668 668 669 669 /* device not translated by any IOMMU in the system? */ 670 - if (_bdf >= amd_iommu_last_bdf) { 670 + if (_bdf > amd_iommu_last_bdf) { 671 671 *iommu = NULL; 672 672 *domain = NULL; 673 673 *bdf = 0xffff; ··· 1085 1085 1086 1086 while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { 1087 1087 devid = (dev->bus->number << 8) | dev->devfn; 1088 - if (devid >= amd_iommu_last_bdf) 1088 + if (devid > amd_iommu_last_bdf) 1089 1089 continue; 1090 1090 devid = amd_iommu_alias_table[devid]; 1091 1091 if (domain_for_device(devid))
+2 -2
arch/x86/kernel/amd_iommu_init.c
··· 732 732 set_device_exclusion_range(m->devid, m); 733 733 break; 734 734 case ACPI_IVMD_TYPE_ALL: 735 - for (i = 0; i < amd_iommu_last_bdf; ++i) 735 + for (i = 0; i <= amd_iommu_last_bdf; ++i) 736 736 set_device_exclusion_range(i, m); 737 737 break; 738 738 case ACPI_IVMD_TYPE_RANGE: ··· 934 934 /* 935 935 * let all alias entries point to itself 936 936 */ 937 - for (i = 0; i < amd_iommu_last_bdf; ++i) 937 + for (i = 0; i <= amd_iommu_last_bdf; ++i) 938 938 amd_iommu_alias_table[i] = i; 939 939 940 940 /*
-6
include/asm-x86/gpio.h
··· 16 16 #ifndef _ASM_I386_GPIO_H 17 17 #define _ASM_I386_GPIO_H 18 18 19 - #ifdef CONFIG_X86_RDC321X 20 - #include <gpio.h> 21 - #else /* CONFIG_X86_RDC321X */ 22 - 23 19 #include <asm-generic/gpio.h> 24 20 25 21 #ifdef CONFIG_GPIOLIB ··· 52 56 } 53 57 54 58 #endif /* CONFIG_GPIOLIB */ 55 - 56 - #endif /* CONFIG_X86_RDC321X */ 57 59 58 60 #endif /* _ASM_I386_GPIO_H */
+1 -1
include/asm-x86/mach-summit/mach_apic.h
··· 122 122 123 123 static inline physid_mask_t apicid_to_cpu_present(int apicid) 124 124 { 125 - return physid_mask_of_physid(0); 125 + return physid_mask_of_physid(apicid); 126 126 } 127 127 128 128 static inline void setup_portio_remap(void)
+6
include/linux/crash_dump.h
··· 8 8 #include <linux/proc_fs.h> 9 9 10 10 #define ELFCORE_ADDR_MAX (-1ULL) 11 + 12 + #ifdef CONFIG_PROC_VMCORE 11 13 extern unsigned long long elfcorehdr_addr; 14 + #else 15 + static const unsigned long long elfcorehdr_addr = ELFCORE_ADDR_MAX; 16 + #endif 17 + 12 18 extern ssize_t copy_oldmem_page(unsigned long, char *, size_t, 13 19 unsigned long, int); 14 20 extern const struct file_operations proc_vmcore_operations;