|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 1/6] x86/hvm: only populate info->cr2 for #PF in hvm_get_pending_event()
Prepare for an upcoming patch that overloads the 'cr2' field for #DB.
Signed-off-by: Jinoh Kang <jinoh.kang.kr@xxxxxxxxx>
---
xen/arch/x86/hvm/hvm.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 3a99c0ff20be..48a77524f198 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -502,9 +502,14 @@ void hvm_migrate_pirqs(struct vcpu *v)
static bool hvm_get_pending_event(struct vcpu *v, struct x86_event *info)
{
- info->cr2 = v->arch.hvm.guest_cr[2];
+ if ( !alternative_call(hvm_funcs.get_pending_event, v, info) )
+ return false;
+
+ if ( info->type == X86_EVENTTYPE_HW_EXCEPTION &&
+ info->vector == X86_EXC_PF )
+ info->cr2 = v->arch.hvm.guest_cr[2];
- return alternative_call(hvm_funcs.get_pending_event, v, info);
+ return true;
}
void hvm_do_resume(struct vcpu *v)
--
2.41.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |