All of lore.kernel.org
 help / color / mirror / Atom feed
* PATCH (and RFC): new dom0 hypercall: DOM0_DOMAIN_SETUP
@ 2006-06-15  8:19 Tristan Gingold
  2006-06-19 14:22 ` Alex Williamson
  0 siblings, 1 reply; 7+ messages in thread
From: Tristan Gingold @ 2006-06-15  8:19 UTC (permalink / raw)
  To: xen-devel, xen-ia64-devel; +Cc: Alex Williamson

[-- Attachment #1: Type: text/plain, Size: 2086 bytes --]

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@bull.net>

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;
 };

[-- Attachment #2: xen-ds.diffs --]
[-- Type: text/x-diff, Size: 1358 bytes --]

# HG changeset patch
# User gingold@virtu10
# Node ID 6838c14692df784c96f8fc28416e1c33b0dca74a
# Parent  67b9f433900069efbbc9b198158ef0639b41e4b6
Add DOM0_DOMAIN_SETUP hypercall.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>

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;
 };

[-- Attachment #3: 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] 7+ messages in thread

end of thread, other threads:[~2006-06-19 15:32 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-15  8:19 PATCH (and RFC): new dom0 hypercall: DOM0_DOMAIN_SETUP Tristan Gingold
2006-06-19 14:22 ` Alex Williamson
2006-06-19 14:35   ` Keir Fraser
2006-06-19 14:43     ` [Xen-devel] " Tristan Gingold
2006-06-19 14:45       ` Keir Fraser
2006-06-19 15:20         ` PATCH: was Re**2: " Tristan Gingold
2006-06-19 15:32           ` 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.