|
[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 |