|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [V10 PATCH 18/23] PVH xen: add hypercall support for PVH
On Wed, 7 Aug 2013 17:43:54 +0100
George Dunlap <George.Dunlap@xxxxxxxxxxxxx> wrote:
> On Wed, Jul 24, 2013 at 2:59 AM, Mukesh Rathor
> <mukesh.rathor@xxxxxxxxxx> wrote:
> > This patch expands HVM hcall support to include PVH.
> >
> > Changes in v8:
> > - Carve out PVH support of hvm_op to a small function.
> >
> > Signed-off-by: Mukesh Rathor <mukesh.rathor@xxxxxxxxxx>
> > ---
> > xen/arch/x86/hvm/hvm.c | 80
> > +++++++++++++++++++++++++++++++++++++------
> > xen/arch/x86/x86_64/traps.c | 2 +- 2 files changed, 70
> > insertions(+), 12 deletions(-)
> >
> > diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> > index 383c5cd..6af020e 100644
> > --- a/xen/arch/x86/hvm/hvm.c
> > +++ b/xen/arch/x86/hvm/hvm.c
> > @@ -3192,6 +3192,17 @@ static long hvm_vcpu_op(
> > case VCPUOP_register_vcpu_time_memory_area:
> > rc = do_vcpu_op(cmd, vcpuid, arg);
> > break;
> > +
> > + case VCPUOP_is_up:
> > + case VCPUOP_up:
> > + case VCPUOP_initialise:
> > + /* PVH fixme: this white list should be removed eventually
> > */
>
> What do you mean by this? That PVH won't need these in the future, or
> that you'll have some other way?
Just not have these checks here, but just support them all, whatever
makese sense.
> > + if ( is_pvh_vcpu(current) )
> > + rc = do_vcpu_op(cmd, vcpuid, arg);
> > + else
> > + rc = -ENOSYS;
> > + break;
> > +
> > default:
> > rc = -ENOSYS;
> > break;
> > @@ -3312,6 +3323,24 @@ static hvm_hypercall_t *const
> > hvm_hypercall32_table[NR_hypercalls] = { HYPERCALL(tmem_op)
> > };
> >
> > +/* PVH 32bitfixme. */
> > +static hvm_hypercall_t *const pvh_hypercall64_table[NR_hypercalls]
> > = {
> > + HYPERCALL(platform_op),
> > + HYPERCALL(memory_op),
> > + HYPERCALL(xen_version),
> > + HYPERCALL(console_io),
> > + [ __HYPERVISOR_grant_table_op ] = (hvm_hypercall_t
> > *)hvm_grant_table_op,
> > + [ __HYPERVISOR_vcpu_op ] = (hvm_hypercall_t
> > *)hvm_vcpu_op,
> > + HYPERCALL(mmuext_op),
> > + HYPERCALL(xsm_op),
> > + HYPERCALL(sched_op),
> > + HYPERCALL(event_channel_op),
> > + [ __HYPERVISOR_physdev_op ] = (hvm_hypercall_t
> > *)hvm_physdev_op,
> > + HYPERCALL(hvm_op),
> > + HYPERCALL(sysctl),
> > + HYPERCALL(domctl)
> > +};
>
> It would be nice if this list were in the same order as the other
> lists, so that it is easy to figure out what calls are common and what
> calls are different.
These are ordered by the hcall number, and assists in the debug.
-Mukesh
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |