|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v7 2/3] x86/vm_event: Add HVM debug exception vm_events
>>> On 29.06.16 at 19:26, <tamas@xxxxxxxxxxxxx> wrote:
> On Tue, Jun 28, 2016 at 1:37 AM, Jan Beulich <JBeulich@xxxxxxxx> wrote:
>>>>> On 27.06.16 at 20:08, <tamas@xxxxxxxxxxxxx> wrote:
>>> --- a/xen/arch/x86/hvm/vmx/vmx.c
>>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
>>> @@ -3376,7 +3376,29 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>>> HVMTRACE_1D(TRAP_DEBUG, exit_qualification);
>>> write_debugreg(6, exit_qualification | DR_STATUS_RESERVED_ONE);
>>> if ( !v->domain->debugger_attached )
>>> - vmx_propagate_intr(intr_info);
>>> + {
>>> + unsigned long insn_len = 0;
>>> + int rc;
>>> + unsigned long trap_type = MASK_EXTR(intr_info,
>>> +
> INTR_INFO_INTR_TYPE_MASK);
>>> +
>>> + if ( trap_type >= X86_EVENTTYPE_SW_INTERRUPT )
>>> + __vmread(VM_EXIT_INSTRUCTION_LEN, &insn_len);
>>> +
>>> + rc = hvm_monitor_debug(regs->eip,
>>> + HVM_MONITOR_DEBUG_EXCEPTION,
>>> + trap_type, insn_len);
>>> +
>>> + /*
>>> + * !rc continue normally
>>> + * rc > 0 paused waiting for response, work here is done
>>> + * rc < 0 error in monitor/vm_event, crash
>>> + */
>>> + if ( !rc )
>>> + vmx_propagate_intr(intr_info);
>>> + if ( rc < 0 )
>>> + goto exit_and_crash;
>>> + }
>>
>> As opposed to earlier versions, here omitting the "else" seems
>> undesirable. Or, perhaps better, simply re-order the two if()-s.
>> This is to make clear that what is now the second if() does in no
>> way depend on what the body of the current first if() does.
>>
>> The same would then apply to patch 3, and I'd be fine doing the
>> adjustment while committing (provided all necessary acks trickle
>> in). Feel free to add my ack here for the few changes for which
>> that's actually relevant.
>
> That sounds fine to me. I think this patch only needs Wei's or Ian's
> ack now for the libxc changes.
Indeed.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |