diff options
| author | Ingo Molnar <mingo@elte.hu> | 2009-11-13 19:35:29 -0500 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2009-11-14 09:32:53 -0500 |
| commit | 68efa37df779b3e04280598e8b5b3a1919b65fee (patch) | |
| tree | 6954b55c7a22d9f13871771437407de13a6edfb4 | |
| parent | 688bcaff291cf2fe2734e43f2793d4d05b850518 (diff) | |
hw-breakpoints, x86: Fix modular KVM build
This build error:
arch/x86/kvm/x86.c:3655: error: implicit declaration of function 'hw_breakpoint_restore'
Happens because in the CONFIG_KVM=m case there's no 'CONFIG_KVM' define
in the kernel - it's CONFIG_KVM_MODULE in that case.
Make the prototype available unconditionally.
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Prasad <prasad@linux.vnet.ibm.com>
LKML-Reference: <1258114575-32655-1-git-send-email-fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
| -rw-r--r-- | arch/x86/include/asm/debugreg.h | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/hw_breakpoint.c | 4 |
2 files changed, 2 insertions, 4 deletions
diff --git a/arch/x86/include/asm/debugreg.h b/arch/x86/include/asm/debugreg.h index 0f6e92af4227..fdabd8435765 100644 --- a/arch/x86/include/asm/debugreg.h +++ b/arch/x86/include/asm/debugreg.h | |||
| @@ -96,9 +96,7 @@ static inline int hw_breakpoint_active(void) | |||
| 96 | 96 | ||
| 97 | extern void aout_dump_debugregs(struct user *dump); | 97 | extern void aout_dump_debugregs(struct user *dump); |
| 98 | 98 | ||
| 99 | #ifdef CONFIG_KVM | ||
| 100 | extern void hw_breakpoint_restore(void); | 99 | extern void hw_breakpoint_restore(void); |
| 101 | #endif | ||
| 102 | 100 | ||
| 103 | #endif /* __KERNEL__ */ | 101 | #endif /* __KERNEL__ */ |
| 104 | 102 | ||
diff --git a/arch/x86/kernel/hw_breakpoint.c b/arch/x86/kernel/hw_breakpoint.c index 57dcee5fa958..752daebe91c6 100644 --- a/arch/x86/kernel/hw_breakpoint.c +++ b/arch/x86/kernel/hw_breakpoint.c | |||
| @@ -43,6 +43,7 @@ | |||
| 43 | 43 | ||
| 44 | /* Per cpu debug control register value */ | 44 | /* Per cpu debug control register value */ |
| 45 | DEFINE_PER_CPU(unsigned long, dr7); | 45 | DEFINE_PER_CPU(unsigned long, dr7); |
| 46 | EXPORT_PER_CPU_SYMBOL(dr7); | ||
| 46 | 47 | ||
| 47 | /* Per cpu debug address registers values */ | 48 | /* Per cpu debug address registers values */ |
| 48 | static DEFINE_PER_CPU(unsigned long, cpu_debugreg[HBP_NUM]); | 49 | static DEFINE_PER_CPU(unsigned long, cpu_debugreg[HBP_NUM]); |
| @@ -409,6 +410,7 @@ void aout_dump_debugregs(struct user *dump) | |||
| 409 | 410 | ||
| 410 | dump->u_debugreg[7] = dr7; | 411 | dump->u_debugreg[7] = dr7; |
| 411 | } | 412 | } |
| 413 | EXPORT_SYMBOL_GPL(aout_dump_debugregs); | ||
| 412 | 414 | ||
| 413 | /* | 415 | /* |
| 414 | * Release the user breakpoints used by ptrace | 416 | * Release the user breakpoints used by ptrace |
| @@ -424,7 +426,6 @@ void flush_ptrace_hw_breakpoint(struct task_struct *tsk) | |||
| 424 | } | 426 | } |
| 425 | } | 427 | } |
| 426 | 428 | ||
| 427 | #ifdef CONFIG_KVM | ||
| 428 | void hw_breakpoint_restore(void) | 429 | void hw_breakpoint_restore(void) |
| 429 | { | 430 | { |
| 430 | set_debugreg(__get_cpu_var(cpu_debugreg[0]), 0); | 431 | set_debugreg(__get_cpu_var(cpu_debugreg[0]), 0); |
| @@ -435,7 +436,6 @@ void hw_breakpoint_restore(void) | |||
| 435 | set_debugreg(__get_cpu_var(dr7), 7); | 436 | set_debugreg(__get_cpu_var(dr7), 7); |
| 436 | } | 437 | } |
| 437 | EXPORT_SYMBOL_GPL(hw_breakpoint_restore); | 438 | EXPORT_SYMBOL_GPL(hw_breakpoint_restore); |
| 438 | #endif | ||
| 439 | 439 | ||
| 440 | /* | 440 | /* |
| 441 | * Handle debug exception notifications. | 441 | * Handle debug exception notifications. |
