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
This commit is contained in:
commit
8bd93ca7b0
2
.mailmap
2
.mailmap
|
@ -80,6 +80,8 @@ Nguyen Anh Quynh <aquynh@gmail.com>
|
||||||
Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
|
Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
|
||||||
Patrick Mochel <mochel@digitalimplant.org>
|
Patrick Mochel <mochel@digitalimplant.org>
|
||||||
Peter A Jonsson <pj@ludd.ltu.se>
|
Peter A Jonsson <pj@ludd.ltu.se>
|
||||||
|
Peter Oruba <peter@oruba.de>
|
||||||
|
Peter Oruba <peter.oruba@amd.com>
|
||||||
Praveen BP <praveenbp@ti.com>
|
Praveen BP <praveenbp@ti.com>
|
||||||
Rajesh Shah <rajesh.shah@intel.com>
|
Rajesh Shah <rajesh.shah@intel.com>
|
||||||
Ralf Baechle <ralf@linux-mips.org>
|
Ralf Baechle <ralf@linux-mips.org>
|
||||||
|
|
|
@ -172,7 +172,7 @@ i2c/
|
||||||
- directory with info about the I2C bus/protocol (2 wire, kHz speed).
|
- directory with info about the I2C bus/protocol (2 wire, kHz speed).
|
||||||
i2o/
|
i2o/
|
||||||
- directory with info about the Linux I2O subsystem.
|
- directory with info about the Linux I2O subsystem.
|
||||||
i386/
|
x86/i386/
|
||||||
- directory with info about Linux on Intel 32 bit architecture.
|
- directory with info about Linux on Intel 32 bit architecture.
|
||||||
ia64/
|
ia64/
|
||||||
- directory with info about Linux on Intel 64 bit architecture.
|
- directory with info about Linux on Intel 64 bit architecture.
|
||||||
|
@ -382,7 +382,7 @@ w1/
|
||||||
- directory with documents regarding the 1-wire (w1) subsystem.
|
- directory with documents regarding the 1-wire (w1) subsystem.
|
||||||
watchdog/
|
watchdog/
|
||||||
- how to auto-reboot Linux if it has "fallen and can't get up". ;-)
|
- how to auto-reboot Linux if it has "fallen and can't get up". ;-)
|
||||||
x86_64/
|
x86/x86_64/
|
||||||
- directory with info on Linux support for AMD x86-64 (Hammer) machines.
|
- directory with info on Linux support for AMD x86-64 (Hammer) machines.
|
||||||
zorro.txt
|
zorro.txt
|
||||||
- info on writing drivers for Zorro bus devices found on Amigas.
|
- info on writing drivers for Zorro bus devices found on Amigas.
|
||||||
|
|
|
@ -100,7 +100,7 @@ parameter is applicable:
|
||||||
X86-32 X86-32, aka i386 architecture is enabled.
|
X86-32 X86-32, aka i386 architecture is enabled.
|
||||||
X86-64 X86-64 architecture is enabled.
|
X86-64 X86-64 architecture is enabled.
|
||||||
More X86-64 boot options can be found in
|
More X86-64 boot options can be found in
|
||||||
Documentation/x86_64/boot-options.txt .
|
Documentation/x86/x86_64/boot-options.txt .
|
||||||
X86 Either 32bit or 64bit x86 (same as X86-32+X86-64)
|
X86 Either 32bit or 64bit x86 (same as X86-32+X86-64)
|
||||||
|
|
||||||
In addition, the following text indicates that the option:
|
In addition, the following text indicates that the option:
|
||||||
|
@ -112,10 +112,10 @@ In addition, the following text indicates that the option:
|
||||||
Parameters denoted with BOOT are actually interpreted by the boot
|
Parameters denoted with BOOT are actually interpreted by the boot
|
||||||
loader, and have no meaning to the kernel directly.
|
loader, and have no meaning to the kernel directly.
|
||||||
Do not modify the syntax of boot loader parameters without extreme
|
Do not modify the syntax of boot loader parameters without extreme
|
||||||
need or coordination with <Documentation/i386/boot.txt>.
|
need or coordination with <Documentation/x86/i386/boot.txt>.
|
||||||
|
|
||||||
There are also arch-specific kernel-parameters not documented here.
|
There are also arch-specific kernel-parameters not documented here.
|
||||||
See for example <Documentation/x86_64/boot-options.txt>.
|
See for example <Documentation/x86/x86_64/boot-options.txt>.
|
||||||
|
|
||||||
Note that ALL kernel parameters listed below are CASE SENSITIVE, and that
|
Note that ALL kernel parameters listed below are CASE SENSITIVE, and that
|
||||||
a trailing = on the name of any parameter states that that parameter will
|
a 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
|
||||||
|
|
||||||
mce [X86-32] Machine Check Exception
|
mce [X86-32] Machine Check Exception
|
||||||
|
|
||||||
mce=option [X86-64] See Documentation/x86_64/boot-options.txt
|
mce=option [X86-64] See Documentation/x86/x86_64/boot-options.txt
|
||||||
|
|
||||||
md= [HW] RAID subsystems devices and level
|
md= [HW] RAID subsystems devices and level
|
||||||
See Documentation/md.txt.
|
See Documentation/md.txt.
|
||||||
|
@ -1728,7 +1728,7 @@ and is between 256 and 4096 characters. It is defined in the file
|
||||||
See Documentation/paride.txt.
|
See Documentation/paride.txt.
|
||||||
|
|
||||||
pirq= [SMP,APIC] Manual mp-table setup
|
pirq= [SMP,APIC] Manual mp-table setup
|
||||||
See Documentation/i386/IO-APIC.txt.
|
See Documentation/x86/i386/IO-APIC.txt.
|
||||||
|
|
||||||
plip= [PPT,NET] Parallel port network link
|
plip= [PPT,NET] Parallel port network link
|
||||||
Format: { parport<nr> | timid | 0 }
|
Format: { parport<nr> | timid | 0 }
|
||||||
|
@ -2343,7 +2343,7 @@ and is between 256 and 4096 characters. It is defined in the file
|
||||||
See Documentation/fb/modedb.txt.
|
See Documentation/fb/modedb.txt.
|
||||||
|
|
||||||
vga= [BOOT,X86-32] Select a particular video mode
|
vga= [BOOT,X86-32] Select a particular video mode
|
||||||
See Documentation/i386/boot.txt and
|
See Documentation/x86/i386/boot.txt and
|
||||||
Documentation/svga.txt.
|
Documentation/svga.txt.
|
||||||
Use vga=ask for menu.
|
Use vga=ask for menu.
|
||||||
This is actually a boot loader parameter; the value is
|
This is actually a boot loader parameter; the value is
|
||||||
|
|
|
@ -402,7 +402,7 @@ static unsigned long load_bzimage(int fd)
|
||||||
void *p = from_guest_phys(0x100000);
|
void *p = from_guest_phys(0x100000);
|
||||||
|
|
||||||
/* Go back to the start of the file and read the header. It should be
|
/* Go back to the start of the file and read the header. It should be
|
||||||
* a Linux boot header (see Documentation/i386/boot.txt) */
|
* a Linux boot header (see Documentation/x86/i386/boot.txt) */
|
||||||
lseek(fd, 0, SEEK_SET);
|
lseek(fd, 0, SEEK_SET);
|
||||||
read(fd, &boot, sizeof(boot));
|
read(fd, &boot, sizeof(boot));
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ APICs
|
||||||
|
|
||||||
nolapic Don't use the local APIC (alias for i386 compatibility)
|
nolapic Don't use the local APIC (alias for i386 compatibility)
|
||||||
|
|
||||||
pirq=... See Documentation/i386/IO-APIC.txt
|
pirq=... See Documentation/x86/i386/IO-APIC.txt
|
||||||
|
|
||||||
noapictimer Don't set up the APIC timer
|
noapictimer Don't set up the APIC timer
|
||||||
|
|
||||||
|
@ -139,7 +139,7 @@ Non Executable Mappings
|
||||||
SMP
|
SMP
|
||||||
|
|
||||||
additional_cpus=NUM Allow NUM more CPUs for hotplug
|
additional_cpus=NUM Allow NUM more CPUs for hotplug
|
||||||
(defaults are specified by the BIOS, see Documentation/x86_64/cpu-hotplug-spec)
|
(defaults are specified by the BIOS, see Documentation/x86/x86_64/cpu-hotplug-spec)
|
||||||
|
|
||||||
NUMA
|
NUMA
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ amount of system memory that are available to a certain class of tasks.
|
||||||
For more information on the features of cpusets, see Documentation/cpusets.txt.
|
For more information on the features of cpusets, see Documentation/cpusets.txt.
|
||||||
There are a number of different configurations you can use for your needs. For
|
There are a number of different configurations you can use for your needs. For
|
||||||
more information on the numa=fake command line option and its various ways of
|
more information on the numa=fake command line option and its various ways of
|
||||||
configuring fake nodes, see Documentation/x86_64/boot-options.txt.
|
configuring fake nodes, see Documentation/x86/x86_64/boot-options.txt.
|
||||||
|
|
||||||
For the purposes of this introduction, we'll assume a very primitive NUMA
|
For the purposes of this introduction, we'll assume a very primitive NUMA
|
||||||
emulation setup of "numa=fake=4*512,". This will split our system memory into
|
emulation setup of "numa=fake=4*512,". This will split our system memory into
|
||||||
|
|
|
@ -513,19 +513,19 @@ config CPU_SUP_UMC_32
|
||||||
If unsure, say N.
|
If unsure, say N.
|
||||||
|
|
||||||
config X86_DS
|
config X86_DS
|
||||||
bool "Debug Store support"
|
def_bool X86_PTRACE_BTS
|
||||||
default y
|
depends on X86_DEBUGCTLMSR
|
||||||
help
|
|
||||||
Add support for Debug Store.
|
|
||||||
This allows the kernel to provide a memory buffer to the hardware
|
|
||||||
to store various profiling and tracing events.
|
|
||||||
|
|
||||||
config X86_PTRACE_BTS
|
config X86_PTRACE_BTS
|
||||||
bool "ptrace interface to Branch Trace Store"
|
bool "Branch Trace Store"
|
||||||
default y
|
default y
|
||||||
depends on (X86_DS && X86_DEBUGCTLMSR)
|
depends on X86_DEBUGCTLMSR
|
||||||
help
|
help
|
||||||
Add a ptrace interface to allow collecting an execution trace
|
This adds a ptrace interface to the hardware's branch trace store.
|
||||||
of the traced task.
|
|
||||||
This collects control flow changes in a (cyclic) buffer and allows
|
Debuggers may use it to collect an execution trace of the debugged
|
||||||
debuggers to fill in the gaps and show an execution trace of the debuggee.
|
application in order to answer the question 'how did I get here?'.
|
||||||
|
Debuggers may trace user mode as well as kernel mode.
|
||||||
|
|
||||||
|
Say Y unless there is no application development on this machine
|
||||||
|
and you want to save a small amount of code size.
|
||||||
|
|
|
@ -50,10 +50,9 @@ static inline void restore_NMI_vector(unsigned short *high, unsigned short *low)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
#if APIC_DEBUG
|
#define inquire_remote_apic(apicid) do { \
|
||||||
#define inquire_remote_apic(apicid) __inquire_remote_apic(apicid)
|
if (apic_verbosity >= APIC_DEBUG) \
|
||||||
#else
|
__inquire_remote_apic(apicid); \
|
||||||
#define inquire_remote_apic(apicid) {}
|
} while (0)
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __ASM_MACH_WAKECPU_H */
|
#endif /* __ASM_MACH_WAKECPU_H */
|
||||||
|
|
|
@ -33,10 +33,9 @@ static inline void restore_NMI_vector(unsigned short *high, unsigned short *low)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
#if APIC_DEBUG
|
#define inquire_remote_apic(apicid) do { \
|
||||||
#define inquire_remote_apic(apicid) __inquire_remote_apic(apicid)
|
if (apic_verbosity >= APIC_DEBUG) \
|
||||||
#else
|
__inquire_remote_apic(apicid); \
|
||||||
#define inquire_remote_apic(apicid) {}
|
} while (0)
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _ASM_X86_MACH_DEFAULT_MACH_WAKECPU_H */
|
#endif /* _ASM_X86_MACH_DEFAULT_MACH_WAKECPU_H */
|
||||||
|
|
|
@ -18,7 +18,6 @@ static u32 *flush_words;
|
||||||
struct pci_device_id k8_nb_ids[] = {
|
struct pci_device_id k8_nb_ids[] = {
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_K8_NB_MISC) },
|
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_K8_NB_MISC) },
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_10H_NB_MISC) },
|
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_10H_NB_MISC) },
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_11H_NB_MISC) },
|
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
EXPORT_SYMBOL(k8_nb_ids);
|
EXPORT_SYMBOL(k8_nb_ids);
|
||||||
|
|
|
@ -162,7 +162,10 @@ void machine_kexec(struct kimage *image)
|
||||||
page_list[VA_PTE_0] = (unsigned long)kexec_pte0;
|
page_list[VA_PTE_0] = (unsigned long)kexec_pte0;
|
||||||
page_list[PA_PTE_1] = __pa(kexec_pte1);
|
page_list[PA_PTE_1] = __pa(kexec_pte1);
|
||||||
page_list[VA_PTE_1] = (unsigned long)kexec_pte1;
|
page_list[VA_PTE_1] = (unsigned long)kexec_pte1;
|
||||||
page_list[PA_SWAP_PAGE] = (page_to_pfn(image->swap_page) << PAGE_SHIFT);
|
|
||||||
|
if (image->type == KEXEC_TYPE_DEFAULT)
|
||||||
|
page_list[PA_SWAP_PAGE] = (page_to_pfn(image->swap_page)
|
||||||
|
<< PAGE_SHIFT);
|
||||||
|
|
||||||
/* The segment registers are funny things, they have both a
|
/* The segment registers are funny things, they have both a
|
||||||
* visible and an invisible part. Whenever the visible part is
|
* visible and an invisible part. Whenever the visible part is
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
#include <asm/microcode.h>
|
#include <asm/microcode.h>
|
||||||
|
|
||||||
MODULE_DESCRIPTION("AMD Microcode Update Driver");
|
MODULE_DESCRIPTION("AMD Microcode Update Driver");
|
||||||
MODULE_AUTHOR("Peter Oruba <peter.oruba@amd.com>");
|
MODULE_AUTHOR("Peter Oruba");
|
||||||
MODULE_LICENSE("GPL v2");
|
MODULE_LICENSE("GPL v2");
|
||||||
|
|
||||||
#define UCODE_MAGIC 0x00414d44
|
#define UCODE_MAGIC 0x00414d44
|
||||||
|
|
|
@ -480,8 +480,8 @@ static int __init microcode_init(void)
|
||||||
|
|
||||||
printk(KERN_INFO
|
printk(KERN_INFO
|
||||||
"Microcode Update Driver: v" MICROCODE_VERSION
|
"Microcode Update Driver: v" MICROCODE_VERSION
|
||||||
" <tigran@aivazian.fsnet.co.uk>"
|
" <tigran@aivazian.fsnet.co.uk>,"
|
||||||
" <peter.oruba@amd.com>\n");
|
" Peter Oruba\n");
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -744,7 +744,7 @@ void __init gart_iommu_init(void)
|
||||||
long i;
|
long i;
|
||||||
|
|
||||||
if (cache_k8_northbridges() < 0 || num_k8_northbridges == 0) {
|
if (cache_k8_northbridges() < 0 || num_k8_northbridges == 0) {
|
||||||
printk(KERN_INFO "PCI-GART: No AMD northbridge found.\n");
|
printk(KERN_INFO "PCI-GART: No AMD GART found.\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -884,6 +884,7 @@ static struct kcore_list kcore_mem, kcore_vmalloc, kcore_kernel,
|
||||||
void __init mem_init(void)
|
void __init mem_init(void)
|
||||||
{
|
{
|
||||||
long codesize, reservedpages, datasize, initsize;
|
long codesize, reservedpages, datasize, initsize;
|
||||||
|
unsigned long absent_pages;
|
||||||
|
|
||||||
start_periodic_check_for_corruption();
|
start_periodic_check_for_corruption();
|
||||||
|
|
||||||
|
@ -899,8 +900,9 @@ void __init mem_init(void)
|
||||||
#else
|
#else
|
||||||
totalram_pages = free_all_bootmem();
|
totalram_pages = free_all_bootmem();
|
||||||
#endif
|
#endif
|
||||||
reservedpages = max_pfn - totalram_pages -
|
|
||||||
absent_pages_in_range(0, max_pfn);
|
absent_pages = absent_pages_in_range(0, max_pfn);
|
||||||
|
reservedpages = max_pfn - totalram_pages - absent_pages;
|
||||||
after_bootmem = 1;
|
after_bootmem = 1;
|
||||||
|
|
||||||
codesize = (unsigned long) &_etext - (unsigned long) &_text;
|
codesize = (unsigned long) &_etext - (unsigned long) &_text;
|
||||||
|
@ -917,10 +919,11 @@ void __init mem_init(void)
|
||||||
VSYSCALL_END - VSYSCALL_START);
|
VSYSCALL_END - VSYSCALL_START);
|
||||||
|
|
||||||
printk(KERN_INFO "Memory: %luk/%luk available (%ldk kernel code, "
|
printk(KERN_INFO "Memory: %luk/%luk available (%ldk kernel code, "
|
||||||
"%ldk reserved, %ldk data, %ldk init)\n",
|
"%ldk absent, %ldk reserved, %ldk data, %ldk init)\n",
|
||||||
(unsigned long) nr_free_pages() << (PAGE_SHIFT-10),
|
(unsigned long) nr_free_pages() << (PAGE_SHIFT-10),
|
||||||
max_pfn << (PAGE_SHIFT-10),
|
max_pfn << (PAGE_SHIFT-10),
|
||||||
codesize >> 10,
|
codesize >> 10,
|
||||||
|
absent_pages << (PAGE_SHIFT-10),
|
||||||
reservedpages << (PAGE_SHIFT-10),
|
reservedpages << (PAGE_SHIFT-10),
|
||||||
datasize >> 10,
|
datasize >> 10,
|
||||||
initsize >> 10);
|
initsize >> 10);
|
||||||
|
|
Loading…
Reference in New Issue