* HVM hypercalls, hvm_hypercall_table
@ 2007-03-15 19:31 George Surka
2007-03-15 19:38 ` Petersson, Mats
0 siblings, 1 reply; 4+ messages in thread
From: George Surka @ 2007-03-15 19:31 UTC (permalink / raw)
To: xen-devel
[-- Attachment #1.1: Type: text/plain, Size: 653 bytes --]
Hi everyone,
I am running XenEnterprise 3.1.0 (Xen v.3.0.3.0) on x86-32 hardware. I
have noticed that the hvm_hypercall_table is initialized for only 6
hypercalls (memory_op, multicall, xen_version, event_channel_op,
sched_op, and hvm_op). The hypercall_page for HVM domain is initialized
with HVM exit (VMCALL instr.) - all stubs.
So, how do I do the other hypercalls (beyond those 6) from HVM domain?
Do I just have to use INT 0x82 trap without using the hypercall-page
(without using the HYPERVISOR_* hypercall macros in hypercall.h)?
Why there is just those six hypercalls implemented as HVM-hypercalls?
Thanks.
George
[-- Attachment #1.2: Type: text/html, Size: 1886 bytes --]
[-- Attachment #2: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: HVM hypercalls, hvm_hypercall_table
2007-03-15 19:31 HVM hypercalls, hvm_hypercall_table George Surka
@ 2007-03-15 19:38 ` Petersson, Mats
2007-03-15 19:49 ` George Surka
0 siblings, 1 reply; 4+ messages in thread
From: Petersson, Mats @ 2007-03-15 19:38 UTC (permalink / raw)
To: George Surka, xen-devel
> -----Original Message-----
> From: xen-devel-bounces@lists.xensource.com
> [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of
> George Surka
> Sent: 15 March 2007 19:31
> To: xen-devel@lists.xensource.com
> Subject: [Xen-devel] HVM hypercalls, hvm_hypercall_table
>
> Hi everyone,
>
> I am running XenEnterprise 3.1.0 (Xen v.3.0.3.0) on x86-32
> hardware. I have noticed that the hvm_hypercall_table is
> initialized for only 6 hypercalls (memory_op, multicall,
> xen_version, event_channel_op, sched_op, and hvm_op). The
> hypercall_page for HVM domain is initialized with HVM exit
> (VMCALL instr.) - all stubs.
The purpose of the hvm_hypercall_table is to support para-virtual
drivers.
You should (generally speaking) not be making other hypercalls from a
fully-virtualized (HVM) domain, as those are potentially not safe. Is
ther a particular hypercall you're after, or is this a generic question
as to why this is?
>
> So, how do I do the other hypercalls (beyond those 6) from
> HVM domain? Do I just have to use INT 0x82 trap without using
> the hypercall-page (without using the HYPERVISOR_* hypercall
> macros in hypercall.h)?
No, you can't make any other hypercalls from fully virtualized domains.
If you need further hypercalls, it may be possible to add further
hypercalls, but I don't believe that a "wholesale" implementation of all
hypercalls available to para-virtual Xen will make sense (and in some
cases would be potentials for crashing the guest and/or hypervisor), so
selective implementation is the key here.
[Many of the hypercalls are implemented to overcome the same problems
that the hardware solves in fully virtualized domains, so duplicating
the solution doesn't actually help anything - just adds more code!]
--
Mats
>
> Why there is just those six hypercalls implemented as HVM-hypercalls?
>
> Thanks.
>
> George
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: HVM hypercalls, hvm_hypercall_table
2007-03-15 19:38 ` Petersson, Mats
@ 2007-03-15 19:49 ` George Surka
2007-03-16 8:13 ` Keir Fraser
0 siblings, 1 reply; 4+ messages in thread
From: George Surka @ 2007-03-15 19:49 UTC (permalink / raw)
To: Petersson, Mats, xen-devel
For instance we need grant table operations for our PV drivers. Those
are not currently supported as HVM-hypercalls.
George
-----Original Message-----
From: Petersson, Mats [mailto:Mats.Petersson@amd.com]
Sent: Thursday, March 15, 2007 3:39 PM
To: George Surka; xen-devel@lists.xensource.com
Subject: RE: [Xen-devel] HVM hypercalls, hvm_hypercall_table
> -----Original Message-----
> From: xen-devel-bounces@lists.xensource.com
> [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of George
> Surka
> Sent: 15 March 2007 19:31
> To: xen-devel@lists.xensource.com
> Subject: [Xen-devel] HVM hypercalls, hvm_hypercall_table
>
> Hi everyone,
>
> I am running XenEnterprise 3.1.0 (Xen v.3.0.3.0) on x86-32 hardware. I
> have noticed that the hvm_hypercall_table is initialized for only 6
> hypercalls (memory_op, multicall, xen_version, event_channel_op,
> sched_op, and hvm_op). The hypercall_page for HVM domain is
> initialized with HVM exit (VMCALL instr.) - all stubs.
The purpose of the hvm_hypercall_table is to support para-virtual
drivers.
You should (generally speaking) not be making other hypercalls from a
fully-virtualized (HVM) domain, as those are potentially not safe. Is
ther a particular hypercall you're after, or is this a generic question
as to why this is?
>
> So, how do I do the other hypercalls (beyond those 6) from HVM domain?
> Do I just have to use INT 0x82 trap without using the hypercall-page
> (without using the HYPERVISOR_* hypercall macros in hypercall.h)?
No, you can't make any other hypercalls from fully virtualized domains.
If you need further hypercalls, it may be possible to add further
hypercalls, but I don't believe that a "wholesale" implementation of all
hypercalls available to para-virtual Xen will make sense (and in some
cases would be potentials for crashing the guest and/or hypervisor), so
selective implementation is the key here.
[Many of the hypercalls are implemented to overcome the same problems
that the hardware solves in fully virtualized domains, so duplicating
the solution doesn't actually help anything - just adds more code!]
--
Mats
>
> Why there is just those six hypercalls implemented as HVM-hypercalls?
>
> Thanks.
>
> George
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: HVM hypercalls, hvm_hypercall_table
2007-03-15 19:49 ` George Surka
@ 2007-03-16 8:13 ` Keir Fraser
0 siblings, 0 replies; 4+ messages in thread
From: Keir Fraser @ 2007-03-16 8:13 UTC (permalink / raw)
To: George Surka, Petersson, Mats, xen-devel
What are you trying to do? It's not normal for domU's (even fully
paravirtualised ones) to need to do grant-table hypercalls. Granting access
to your own memory is done entirely via intercations via shared memory, with
no hypercalls at all.
-- Keir
On 15/3/07 19:49, "George Surka" <gsurka@marathontechnologies.com> wrote:
> For instance we need grant table operations for our PV drivers. Those
> are not currently supported as HVM-hypercalls.
>
> George
>
>
> -----Original Message-----
> From: Petersson, Mats [mailto:Mats.Petersson@amd.com]
> Sent: Thursday, March 15, 2007 3:39 PM
> To: George Surka; xen-devel@lists.xensource.com
> Subject: RE: [Xen-devel] HVM hypercalls, hvm_hypercall_table
>
>
>
>> -----Original Message-----
>> From: xen-devel-bounces@lists.xensource.com
>> [mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of George
>> Surka
>> Sent: 15 March 2007 19:31
>> To: xen-devel@lists.xensource.com
>> Subject: [Xen-devel] HVM hypercalls, hvm_hypercall_table
>>
>> Hi everyone,
>>
>> I am running XenEnterprise 3.1.0 (Xen v.3.0.3.0) on x86-32 hardware. I
>
>> have noticed that the hvm_hypercall_table is initialized for only 6
>> hypercalls (memory_op, multicall, xen_version, event_channel_op,
>> sched_op, and hvm_op). The hypercall_page for HVM domain is
>> initialized with HVM exit (VMCALL instr.) - all stubs.
>
> The purpose of the hvm_hypercall_table is to support para-virtual
> drivers.
>
> You should (generally speaking) not be making other hypercalls from a
> fully-virtualized (HVM) domain, as those are potentially not safe. Is
> ther a particular hypercall you're after, or is this a generic question
> as to why this is?
>
>>
>> So, how do I do the other hypercalls (beyond those 6) from HVM domain?
>
>> Do I just have to use INT 0x82 trap without using the hypercall-page
>> (without using the HYPERVISOR_* hypercall macros in hypercall.h)?
>
> No, you can't make any other hypercalls from fully virtualized domains.
>
> If you need further hypercalls, it may be possible to add further
> hypercalls, but I don't believe that a "wholesale" implementation of all
> hypercalls available to para-virtual Xen will make sense (and in some
> cases would be potentials for crashing the guest and/or hypervisor), so
> selective implementation is the key here.
>
> [Many of the hypercalls are implemented to overcome the same problems
> that the hardware solves in fully virtualized domains, so duplicating
> the solution doesn't actually help anything - just adds more code!]
>
> --
> Mats
>>
>> Why there is just those six hypercalls implemented as HVM-hypercalls?
>>
>> Thanks.
>>
>> George
>>
>>
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2007-03-16 8:13 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-03-15 19:31 HVM hypercalls, hvm_hypercall_table George Surka
2007-03-15 19:38 ` Petersson, Mats
2007-03-15 19:49 ` George Surka
2007-03-16 8:13 ` Keir Fraser
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.