|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5] hvm/svm: Implement Debug events
On 03/23/2018 05:10 AM, Jan Beulich wrote:
>>>> On 23.03.18 at 09:31, <aisaila@xxxxxxxxxxxxxxx> wrote:
>> @@ -2656,9 +2663,28 @@ void svm_vmexit_handler(struct cpu_user_regs *regs)
>> HVMTRACE_0D(SMI);
>> break;
>>
>> + case VMEXIT_ICEBP:
>> case VMEXIT_EXCEPTION_DB:
>> if ( !v->domain->debugger_attached )
>> - hvm_inject_hw_exception(TRAP_debug, X86_EVENT_NO_EC);
>> + {
>> + int rc;
>> + unsigned int trap_type = exit_reason == VMEXIT_ICEBP ?
>> + X86_EVENTTYPE_PRI_SW_EXCEPTION : X86_EVENTTYPE_HW_EXCEPTION;
>> +
>> + inst_len = 0;
>> +
>> + if ( trap_type == X86_EVENTTYPE_PRI_SW_EXCEPTION )
>> + inst_len = __get_instruction_length(v, INSTR_ICEBP);
> It'll be the SVM maintainers to judge, but I think the code structure
> I've previously suggested would make things more clear:
>
> if ( exit_reason != VMEXIT_ICEBP )
> {
> trap_type == X86_EVENTTYPE_HW_EXCEPTION;
> inst_len = 0;
> }
> else
> {
> trap_type == X86_EVENTTYPE_PRI_SW_EXCEPTION;
> inst_len = __get_instruction_length(v, INSTR_ICEBP);
> }
>
> Perhaps even with likely() added.
Yes, I also think this is easier to read.
-boris
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |