WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] PATCH (and RFC): new dom0 hypercall: DOM0_DOMAIN_SETUP

To: xen-devel@xxxxxxxxxxxxxxxxxxx, xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] PATCH (and RFC): new dom0 hypercall: DOM0_DOMAIN_SETUP
From: Tristan Gingold <Tristan.Gingold@xxxxxxxx>
Date: Thu, 15 Jun 2006 10:19:22 +0200
Cc: Alex Williamson <alex.williamson@xxxxxx>
Delivery-date: Thu, 15 Jun 2006 01:15:24 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.5
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;
 };

Attachment: xen-ds.diffs
Description: Text Data

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel