[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: PATCH (and RFC): new dom0 hypercall: DOM0_DOMAIN_SETUP
Hi Keir, Do you have an comments on this new hypercall Tristan is proposing? We have a patch pending in xen/ia64 that makes use of this new hypercall as a first step towards domain save/restore. Thanks, Alex On Thu, 2006-06-15 at 10:19 +0200, Tristan Gingold wrote: > Hi, > > for IA64, I'd like to create a new dom0 hypercall: DOM0_DOMAIN_SETUP. > > The purpose of this hypercall is to do some setup in a new domain: it builds > the firmware (~ BIOS), and creates the mm structures. > > This can't be done a domain creation because memory (and max_mem) is required. > This can't be completly done in user space and since the code has to be > executed > for dom0 it is already present in the hypervisor. > > Previously this was done during vcpusetcontext. But this was almost a kuldge > and became difficult to manage when I worked on save & restore feature. > > I don't know wether or not other architectures might be interested in this > hypercall. > In the later case, we may define an arch-dependant content. > > Tristan. > > > # HG changeset patch > # User gingold@virtu10 > # Node ID 6838c14692df784c96f8fc28416e1c33b0dca74a > # Parent 67b9f433900069efbbc9b198158ef0639b41e4b6 > Add DOM0_DOMAIN_SETUP hypercall. > > Signed-off-by: Tristan Gingold <tristan.gingold@xxxxxxxx> > > diff -r 67b9f4339000 -r 6838c14692df xen/include/public/dom0_ops.h > --- a/xen/include/public/dom0_ops.h Thu Jun 15 08:47:00 2006 +0200 > +++ b/xen/include/public/dom0_ops.h Thu Jun 15 08:54:15 2006 +0200 > @@ -513,6 +513,16 @@ struct dom0_hypercall_init { > }; > typedef struct dom0_hypercall_init dom0_hypercall_init_t; > DEFINE_XEN_GUEST_HANDLE(dom0_hypercall_init_t); > + > +#define DOM0_DOMAIN_SETUP 49 > +#define DOM0_DOMAIN_SETUP_VMX (1 << 0) > +typedef struct dom0_domain_setup { > + domid_t domain; /* domain to be affected */ > + unsigned long flags; > + unsigned long bp; /* mpaddr of boot param area */ > + unsigned long maxmem; /* Highest memory address for MDT. */ > +} dom0_domain_setup_t; > +DEFINE_XEN_GUEST_HANDLE(dom0_domain_setup_t); > > struct dom0_op { > uint32_t cmd; > @@ -555,6 +565,7 @@ struct dom0_op { > struct dom0_irq_permission irq_permission; > struct dom0_iomem_permission iomem_permission; > struct dom0_hypercall_init hypercall_init; > + struct dom0_domain_setup domain_setup; > uint8_t pad[128]; > } u; > }; -- Alex Williamson HP Open Source & Linux Org. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |