[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 2/8] x86/hvm: Only populate info->cr2 for #PF in hvm_get_pending_event()
On 8/30/23 22:41, Jan Beulich wrote: > On 24.08.2023 17:25, Jinoh Kang wrote: >> Prepare for an upcoming patch that overloads the 'cr2' field for #DB. > > Seeing the subsequent change and the fact that earlier on Andrew didn't > need such an adjustment, I'm afraid I can't see the need for this change, > and the one sentence above also doesn't answer the "Why?", but only the > "What?" This is part of the hvm_monitor_interrupt() fix (patch 4), which would otherwise get CR2 value (instead of PENDING_DBG) even for #DB. I might have been overzealous, though, since there is no known (broken) use for VM_EVENT_REASON_INTERRUPT in the first place. > > Jan > >> --- a/xen/arch/x86/hvm/hvm.c >> +++ b/xen/arch/x86/hvm/hvm.c >> @@ -503,9 +503,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) > -- Sincerely, Jinoh Kang
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |