|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
[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
|
|
|
|
|