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, gart: fix gart detection for Fam11h CPUs
x86: 64 bit print out absent pages num too
x86, kdump: fix invalid access on i386 sparsemem
x86: fix APIC_DEBUG with inquire_remote_apic
x86: AMD microcode patch loader author update
x86: microcode patch loader author update
mailmap: add Peter Oruba
x86, bts: improve help text for BTS config
doc/x86: fix doc subdirs

+48 -43
+2
.mailmap
··· 80 Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> 81 Patrick Mochel <mochel@digitalimplant.org> 82 Peter A Jonsson <pj@ludd.ltu.se> 83 Praveen BP <praveenbp@ti.com> 84 Rajesh Shah <rajesh.shah@intel.com> 85 Ralf Baechle <ralf@linux-mips.org>
··· 80 Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> 81 Patrick Mochel <mochel@digitalimplant.org> 82 Peter A Jonsson <pj@ludd.ltu.se> 83 + Peter Oruba <peter@oruba.de> 84 + Peter Oruba <peter.oruba@amd.com> 85 Praveen BP <praveenbp@ti.com> 86 Rajesh Shah <rajesh.shah@intel.com> 87 Ralf Baechle <ralf@linux-mips.org>
+2 -2
Documentation/00-INDEX
··· 172 - directory with info about the I2C bus/protocol (2 wire, kHz speed). 173 i2o/ 174 - directory with info about the Linux I2O subsystem. 175 - i386/ 176 - directory with info about Linux on Intel 32 bit architecture. 177 ia64/ 178 - directory with info about Linux on Intel 64 bit architecture. ··· 382 - directory with documents regarding the 1-wire (w1) subsystem. 383 watchdog/ 384 - how to auto-reboot Linux if it has "fallen and can't get up". ;-) 385 - x86_64/ 386 - directory with info on Linux support for AMD x86-64 (Hammer) machines. 387 zorro.txt 388 - info on writing drivers for Zorro bus devices found on Amigas.
··· 172 - directory with info about the I2C bus/protocol (2 wire, kHz speed). 173 i2o/ 174 - directory with info about the Linux I2O subsystem. 175 + x86/i386/ 176 - directory with info about Linux on Intel 32 bit architecture. 177 ia64/ 178 - directory with info about Linux on Intel 64 bit architecture. ··· 382 - directory with documents regarding the 1-wire (w1) subsystem. 383 watchdog/ 384 - how to auto-reboot Linux if it has "fallen and can't get up". ;-) 385 + x86/x86_64/ 386 - directory with info on Linux support for AMD x86-64 (Hammer) machines. 387 zorro.txt 388 - info on writing drivers for Zorro bus devices found on Amigas.
+6 -6
Documentation/kernel-parameters.txt
··· 100 X86-32 X86-32, aka i386 architecture is enabled. 101 X86-64 X86-64 architecture is enabled. 102 More X86-64 boot options can be found in 103 - Documentation/x86_64/boot-options.txt . 104 X86 Either 32bit or 64bit x86 (same as X86-32+X86-64) 105 106 In addition, the following text indicates that the option: ··· 112 Parameters denoted with BOOT are actually interpreted by the boot 113 loader, and have no meaning to the kernel directly. 114 Do not modify the syntax of boot loader parameters without extreme 115 - need or coordination with <Documentation/i386/boot.txt>. 116 117 There are also arch-specific kernel-parameters not documented here. 118 - See for example <Documentation/x86_64/boot-options.txt>. 119 120 Note that ALL kernel parameters listed below are CASE SENSITIVE, and that 121 a trailing = on the name of any parameter states that that parameter will ··· 1222 1223 mce [X86-32] Machine Check Exception 1224 1225 - mce=option [X86-64] See Documentation/x86_64/boot-options.txt 1226 1227 md= [HW] RAID subsystems devices and level 1228 See Documentation/md.txt. ··· 1728 See Documentation/paride.txt. 1729 1730 pirq= [SMP,APIC] Manual mp-table setup 1731 - See Documentation/i386/IO-APIC.txt. 1732 1733 plip= [PPT,NET] Parallel port network link 1734 Format: { parport<nr> | timid | 0 } ··· 2343 See Documentation/fb/modedb.txt. 2344 2345 vga= [BOOT,X86-32] Select a particular video mode 2346 - See Documentation/i386/boot.txt and 2347 Documentation/svga.txt. 2348 Use vga=ask for menu. 2349 This is actually a boot loader parameter; the value is
··· 100 X86-32 X86-32, aka i386 architecture is enabled. 101 X86-64 X86-64 architecture is enabled. 102 More X86-64 boot options can be found in 103 + Documentation/x86/x86_64/boot-options.txt . 104 X86 Either 32bit or 64bit x86 (same as X86-32+X86-64) 105 106 In addition, the following text indicates that the option: ··· 112 Parameters denoted with BOOT are actually interpreted by the boot 113 loader, and have no meaning to the kernel directly. 114 Do not modify the syntax of boot loader parameters without extreme 115 + need or coordination with <Documentation/x86/i386/boot.txt>. 116 117 There are also arch-specific kernel-parameters not documented here. 118 + See for example <Documentation/x86/x86_64/boot-options.txt>. 119 120 Note that ALL kernel parameters listed below are CASE SENSITIVE, and that 121 a trailing = on the name of any parameter states that that parameter will ··· 1222 1223 mce [X86-32] Machine Check Exception 1224 1225 + mce=option [X86-64] See Documentation/x86/x86_64/boot-options.txt 1226 1227 md= [HW] RAID subsystems devices and level 1228 See Documentation/md.txt. ··· 1728 See Documentation/paride.txt. 1729 1730 pirq= [SMP,APIC] Manual mp-table setup 1731 + See Documentation/x86/i386/IO-APIC.txt. 1732 1733 plip= [PPT,NET] Parallel port network link 1734 Format: { parport<nr> | timid | 0 } ··· 2343 See Documentation/fb/modedb.txt. 2344 2345 vga= [BOOT,X86-32] Select a particular video mode 2346 + See Documentation/x86/i386/boot.txt and 2347 Documentation/svga.txt. 2348 Use vga=ask for menu. 2349 This is actually a boot loader parameter; the value is
+1 -1
Documentation/lguest/lguest.c
··· 402 void *p = from_guest_phys(0x100000); 403 404 /* Go back to the start of the file and read the header. It should be 405 - * a Linux boot header (see Documentation/i386/boot.txt) */ 406 lseek(fd, 0, SEEK_SET); 407 read(fd, &boot, sizeof(boot)); 408
··· 402 void *p = from_guest_phys(0x100000); 403 404 /* Go back to the start of the file and read the header. It should be 405 + * a Linux boot header (see Documentation/x86/i386/boot.txt) */ 406 lseek(fd, 0, SEEK_SET); 407 read(fd, &boot, sizeof(boot)); 408
+2 -2
Documentation/x86/x86_64/boot-options.txt
··· 35 36 nolapic Don't use the local APIC (alias for i386 compatibility) 37 38 - pirq=... See Documentation/i386/IO-APIC.txt 39 40 noapictimer Don't set up the APIC timer 41 ··· 139 SMP 140 141 additional_cpus=NUM Allow NUM more CPUs for hotplug 142 - (defaults are specified by the BIOS, see Documentation/x86_64/cpu-hotplug-spec) 143 144 NUMA 145
··· 35 36 nolapic Don't use the local APIC (alias for i386 compatibility) 37 38 + pirq=... See Documentation/x86/i386/IO-APIC.txt 39 40 noapictimer Don't set up the APIC timer 41 ··· 139 SMP 140 141 additional_cpus=NUM Allow NUM more CPUs for hotplug 142 + (defaults are specified by the BIOS, see Documentation/x86/x86_64/cpu-hotplug-spec) 143 144 NUMA 145
+1 -1
Documentation/x86/x86_64/fake-numa-for-cpusets
··· 10 For more information on the features of cpusets, see Documentation/cpusets.txt. 11 There are a number of different configurations you can use for your needs. For 12 more information on the numa=fake command line option and its various ways of 13 - configuring fake nodes, see Documentation/x86_64/boot-options.txt. 14 15 For the purposes of this introduction, we'll assume a very primitive NUMA 16 emulation setup of "numa=fake=4*512,". This will split our system memory into
··· 10 For more information on the features of cpusets, see Documentation/cpusets.txt. 11 There are a number of different configurations you can use for your needs. For 12 more information on the numa=fake command line option and its various ways of 13 + configuring fake nodes, see Documentation/x86/x86_64/boot-options.txt. 14 15 For the purposes of this introduction, we'll assume a very primitive NUMA 16 emulation setup of "numa=fake=4*512,". This will split our system memory into
+12 -12
arch/x86/Kconfig.cpu
··· 513 If unsure, say N. 514 515 config X86_DS 516 - bool "Debug Store support" 517 - default y 518 - help 519 - Add support for Debug Store. 520 - This allows the kernel to provide a memory buffer to the hardware 521 - to store various profiling and tracing events. 522 523 config X86_PTRACE_BTS 524 - bool "ptrace interface to Branch Trace Store" 525 default y 526 - depends on (X86_DS && X86_DEBUGCTLMSR) 527 help 528 - Add a ptrace interface to allow collecting an execution trace 529 - of the traced task. 530 - This collects control flow changes in a (cyclic) buffer and allows 531 - debuggers to fill in the gaps and show an execution trace of the debuggee.
··· 513 If unsure, say N. 514 515 config X86_DS 516 + def_bool X86_PTRACE_BTS 517 + depends on X86_DEBUGCTLMSR 518 519 config X86_PTRACE_BTS 520 + bool "Branch Trace Store" 521 default y 522 + depends on X86_DEBUGCTLMSR 523 help 524 + This adds a ptrace interface to the hardware's branch trace store. 525 + 526 + Debuggers may use it to collect an execution trace of the debugged 527 + application in order to answer the question 'how did I get here?'. 528 + Debuggers may trace user mode as well as kernel mode. 529 + 530 + Say Y unless there is no application development on this machine 531 + and you want to save a small amount of code size.
+4 -5
arch/x86/include/asm/es7000/wakecpu.h
··· 50 { 51 } 52 53 - #if APIC_DEBUG 54 - #define inquire_remote_apic(apicid) __inquire_remote_apic(apicid) 55 - #else 56 - #define inquire_remote_apic(apicid) {} 57 - #endif 58 59 #endif /* __ASM_MACH_WAKECPU_H */
··· 50 { 51 } 52 53 + #define inquire_remote_apic(apicid) do { \ 54 + if (apic_verbosity >= APIC_DEBUG) \ 55 + __inquire_remote_apic(apicid); \ 56 + } while (0) 57 58 #endif /* __ASM_MACH_WAKECPU_H */
+4 -5
arch/x86/include/asm/mach-default/mach_wakecpu.h
··· 33 { 34 } 35 36 - #if APIC_DEBUG 37 - #define inquire_remote_apic(apicid) __inquire_remote_apic(apicid) 38 - #else 39 - #define inquire_remote_apic(apicid) {} 40 - #endif 41 42 #endif /* _ASM_X86_MACH_DEFAULT_MACH_WAKECPU_H */
··· 33 { 34 } 35 36 + #define inquire_remote_apic(apicid) do { \ 37 + if (apic_verbosity >= APIC_DEBUG) \ 38 + __inquire_remote_apic(apicid); \ 39 + } while (0) 40 41 #endif /* _ASM_X86_MACH_DEFAULT_MACH_WAKECPU_H */
-1
arch/x86/kernel/k8.c
··· 18 struct pci_device_id k8_nb_ids[] = { 19 { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_K8_NB_MISC) }, 20 { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_10H_NB_MISC) }, 21 - { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_11H_NB_MISC) }, 22 {} 23 }; 24 EXPORT_SYMBOL(k8_nb_ids);
··· 18 struct pci_device_id k8_nb_ids[] = { 19 { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_K8_NB_MISC) }, 20 { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_10H_NB_MISC) }, 21 {} 22 }; 23 EXPORT_SYMBOL(k8_nb_ids);
+4 -1
arch/x86/kernel/machine_kexec_32.c
··· 162 page_list[VA_PTE_0] = (unsigned long)kexec_pte0; 163 page_list[PA_PTE_1] = __pa(kexec_pte1); 164 page_list[VA_PTE_1] = (unsigned long)kexec_pte1; 165 - page_list[PA_SWAP_PAGE] = (page_to_pfn(image->swap_page) << PAGE_SHIFT); 166 167 /* The segment registers are funny things, they have both a 168 * visible and an invisible part. Whenever the visible part is
··· 162 page_list[VA_PTE_0] = (unsigned long)kexec_pte0; 163 page_list[PA_PTE_1] = __pa(kexec_pte1); 164 page_list[VA_PTE_1] = (unsigned long)kexec_pte1; 165 + 166 + if (image->type == KEXEC_TYPE_DEFAULT) 167 + page_list[PA_SWAP_PAGE] = (page_to_pfn(image->swap_page) 168 + << PAGE_SHIFT); 169 170 /* The segment registers are funny things, they have both a 171 * visible and an invisible part. Whenever the visible part is
+1 -1
arch/x86/kernel/microcode_amd.c
··· 39 #include <asm/microcode.h> 40 41 MODULE_DESCRIPTION("AMD Microcode Update Driver"); 42 - MODULE_AUTHOR("Peter Oruba <peter.oruba@amd.com>"); 43 MODULE_LICENSE("GPL v2"); 44 45 #define UCODE_MAGIC 0x00414d44
··· 39 #include <asm/microcode.h> 40 41 MODULE_DESCRIPTION("AMD Microcode Update Driver"); 42 + MODULE_AUTHOR("Peter Oruba"); 43 MODULE_LICENSE("GPL v2"); 44 45 #define UCODE_MAGIC 0x00414d44
+2 -2
arch/x86/kernel/microcode_core.c
··· 480 481 printk(KERN_INFO 482 "Microcode Update Driver: v" MICROCODE_VERSION 483 - " <tigran@aivazian.fsnet.co.uk>" 484 - " <peter.oruba@amd.com>\n"); 485 486 return 0; 487 }
··· 480 481 printk(KERN_INFO 482 "Microcode Update Driver: v" MICROCODE_VERSION 483 + " <tigran@aivazian.fsnet.co.uk>," 484 + " Peter Oruba\n"); 485 486 return 0; 487 }
+1 -1
arch/x86/kernel/pci-gart_64.c
··· 744 long i; 745 746 if (cache_k8_northbridges() < 0 || num_k8_northbridges == 0) { 747 - printk(KERN_INFO "PCI-GART: No AMD northbridge found.\n"); 748 return; 749 } 750
··· 744 long i; 745 746 if (cache_k8_northbridges() < 0 || num_k8_northbridges == 0) { 747 + printk(KERN_INFO "PCI-GART: No AMD GART found.\n"); 748 return; 749 } 750
+6 -3
arch/x86/mm/init_64.c
··· 884 void __init mem_init(void) 885 { 886 long codesize, reservedpages, datasize, initsize; 887 888 start_periodic_check_for_corruption(); 889 ··· 900 #else 901 totalram_pages = free_all_bootmem(); 902 #endif 903 - reservedpages = max_pfn - totalram_pages - 904 - absent_pages_in_range(0, max_pfn); 905 after_bootmem = 1; 906 907 codesize = (unsigned long) &_etext - (unsigned long) &_text; ··· 919 VSYSCALL_END - VSYSCALL_START); 920 921 printk(KERN_INFO "Memory: %luk/%luk available (%ldk kernel code, " 922 - "%ldk reserved, %ldk data, %ldk init)\n", 923 (unsigned long) nr_free_pages() << (PAGE_SHIFT-10), 924 max_pfn << (PAGE_SHIFT-10), 925 codesize >> 10, 926 reservedpages << (PAGE_SHIFT-10), 927 datasize >> 10, 928 initsize >> 10);
··· 884 void __init mem_init(void) 885 { 886 long codesize, reservedpages, datasize, initsize; 887 + unsigned long absent_pages; 888 889 start_periodic_check_for_corruption(); 890 ··· 899 #else 900 totalram_pages = free_all_bootmem(); 901 #endif 902 + 903 + absent_pages = absent_pages_in_range(0, max_pfn); 904 + reservedpages = max_pfn - totalram_pages - absent_pages; 905 after_bootmem = 1; 906 907 codesize = (unsigned long) &_etext - (unsigned long) &_text; ··· 917 VSYSCALL_END - VSYSCALL_START); 918 919 printk(KERN_INFO "Memory: %luk/%luk available (%ldk kernel code, " 920 + "%ldk absent, %ldk reserved, %ldk data, %ldk init)\n", 921 (unsigned long) nr_free_pages() << (PAGE_SHIFT-10), 922 max_pfn << (PAGE_SHIFT-10), 923 codesize >> 10, 924 + absent_pages << (PAGE_SHIFT-10), 925 reservedpages << (PAGE_SHIFT-10), 926 datasize >> 10, 927 initsize >> 10);