|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH RFC 5/9] xen: Support for VMCALL mem_events
On 07/02/2014 07:11 PM, Jan Beulich wrote:
>>>> On 02.07.14 at 17:54, <rcojocaru@xxxxxxxxxxxxxxx> wrote:
>>>> --- a/xen/arch/x86/hvm/vmx/vmx.c
>>>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
>>>> @@ -2880,8 +2880,21 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>>>> case EXIT_REASON_VMCALL:
>>>> {
>>>> int rc;
>>>> + unsigned long eax = regs->eax;
>>>> +
>>>> HVMTRACE_1D(VMMCALL, regs->eax);
>>>> - rc = hvm_do_hypercall(regs);
>>>> +
>>>> + if ( regs->eax != 0x494e5452 ) /* Introcore magic */
>>>
>>> Urgh?!
>>
>> The magic constant is INTR, and it's used to differentiate between
>> "regular" and induced VMCALLs. Our application sets EAX up like that to
>> tell the situations apart.
>
> But that needs (a) a #define and (b) an explanation.
>
> Plus - what keeps code outside of your app to invoke this?
Unfortunately, nothing. It can be set outside our application.
>
>>>> --- a/xen/include/public/hvm/params.h
>>>> +++ b/xen/include/public/hvm/params.h
>>>> @@ -148,6 +148,8 @@
>>>> #define HVM_PARAM_IOREQ_SERVER_PFN 32
>>>> #define HVM_PARAM_NR_IOREQ_SERVER_PAGES 33
>>>>
>>>> -#define HVM_NR_PARAMS 34
>>>> +#define HVM_PARAM_MEMORY_EVENT_VMCALL 34
>>>
>>> So why does this (used only as an argument to
>>> hvm_memory_event_traps()) need to be settable? I guess the patch
>>> description is just too brief.
>>
>> Settable?
>
> You must have a reason to make this a HVM param. That reason is
> what I'm asking for.
I see. I want to be able to enable / disable this type of events. I.e.:
if (flags & ENABLE_VMCALL)
xc_set_hvm_param(xci, domain, HVM_PARAM_MEMORY_EVENT_VMCALL,
HVMPME_mode_sync);
from the application, via libxc.
Thanks,
Razvan Cojocaru
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |