kdump: quad core Opteron
Chandru
chandru at in.ibm.com
Wed Oct 8 09:51:49 EDT 2008
Bob Montgomery wrote:
> Here's the README for the patch:
>
> This patch changes the initialization of the GART (in
> pci-gart.c:init_k8_gatt) to set the DisGartCpu bit in the GART Aperture
> Control Register. Setting the bit Disables requests from the CPUs from
> accessing the GART. In other words, CPU memory accesses within the
> range of addresses in the aperture will not cause the GART to perform an
> address translation. The aperture area was already being unmapped at
> the kernel level with clear_kernel_mapping() to prevent accesses from
> the CPU, but that kernel level unmapping is not in effect in the kexec'd
> kdump kernel. By disabling the CPU-side accesses within the GART, which
> does persist through the kexec of the kdump kernel, the kdump kernel is
> prevented from interacting with the GART during accesses to the dump
> memory areas which include the address range of the GART aperture.
> Although the patch can be applied to the kdump kernel, it is not
> exercised there because the kdump kernel doesn't attempt to initialize
> the GART.
>
> Bob Montgomery
> working at HP
>
>
I made the following changes and it seems like it is working.
--- linux-2.6.27-rc8/include/asm-x86/gart.h.orig 2008-10-08
09:41:23.000000000 -0400
+++ linux-2.6.27-rc8/include/asm-x86/gart.h 2008-10-08
09:44:35.000000000 -0400
@@ -42,7 +42,8 @@ static inline void enable_gart_translati
/* Enable GART translation for this hammer. */
pci_read_config_dword(dev, AMD64_GARTAPERTURECTL, &ctl);
ctl |= GARTEN;
- ctl &= ~(DISGARTCPU | DISGARTIO);
+ ctl |= DISGARTCPU;
+ ctl &= ~(DISGARTIO);
pci_write_config_dword(dev, AMD64_GARTAPERTURECTL, ctl);
}
The system doesn't reset now while copying /proc/vmcore. Thanks!
Chandru
More information about the kexec
mailing list