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