Messages in this thread Patch in this message | | | Date | Thu, 9 Oct 2008 00:57:00 +0530 | From | "K.Prasad" <> | Subject | [RFC Patch 9/9] Cleanup HW Breakpoint registers before kexec |
| |
This patch disables Hardware breakpoints before doing a 'kexec' on the machine.
Signed-off-by: K.Prasad <prasad@linux.vnet.ibm.com> Signed-off-by: Alan Stern <stern@rowland.harvard.edu> --- arch/x86/kernel/machine_kexec_32.c | 2 ++ arch/x86/kernel/machine_kexec_64.c | 2 ++ 2 files changed, 4 insertions(+)
Index: linux-bkpt-lkml-27-rc9/arch/x86/kernel/machine_kexec_32.c =================================================================== --- linux-bkpt-lkml-27-rc9.orig/arch/x86/kernel/machine_kexec_32.c +++ linux-bkpt-lkml-27-rc9/arch/x86/kernel/machine_kexec_32.c @@ -24,6 +24,7 @@ #include <asm/desc.h> #include <asm/system.h> #include <asm/cacheflush.h> +#include <asm/debugreg.h> #define PAGE_ALIGNED __attribute__ ((__aligned__(PAGE_SIZE))) static u32 kexec_pgd[1024] PAGE_ALIGNED; @@ -131,6 +132,7 @@ void machine_kexec(struct kimage *image) /* Interrupts aren't acceptable while we reboot */ local_irq_disable(); + disable_debug_registers(); if (image->preserve_context) { #ifdef CONFIG_X86_IO_APIC Index: linux-bkpt-lkml-27-rc9/arch/x86/kernel/machine_kexec_64.c =================================================================== --- linux-bkpt-lkml-27-rc9.orig/arch/x86/kernel/machine_kexec_64.c +++ linux-bkpt-lkml-27-rc9/arch/x86/kernel/machine_kexec_64.c @@ -17,6 +17,7 @@ #include <asm/tlbflush.h> #include <asm/mmu_context.h> #include <asm/io.h> +#include <asm/debugreg.h> #define PAGE_ALIGNED __attribute__ ((__aligned__(PAGE_SIZE))) static u64 kexec_pgd[512] PAGE_ALIGNED; @@ -190,6 +191,7 @@ void machine_kexec(struct kimage *image) /* Interrupts aren't acceptable while we reboot */ local_irq_disable(); + disable_debug_registers(); control_page = page_address(image->control_code_page) + PAGE_SIZE; memcpy(control_page, relocate_kernel, PAGE_SIZE);
| |