Skip to contentSkip to conversation

use xen_ulong_t in start_info

PATCH In review Hollis Blanchard 2 participants 3 messages Jul 27, 2006 – Jul 28, 2006

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 use xen_ulong_t in start_info

Keir, you mentioned that start_info probably doesn't make much sense for PowerPC. However, if for no other reason than linux/drivers/xen has many references to it, we'd like to fix it for now and figure out how to replace it later.

xen/include/public/xen.h Wed Jul 26 14:27:51 2006 -0400 renamed from xen/include/public/xen.h Wed Jul 26 14:25:07 2006 -0400 +7 -7
diff -r 27e6c4507e4d -r 42213c6e1928 xen/include/public/xen.h
@@ -456,19 +456,19 @@ struct start_info {
 struct start_info {
     /* THE FOLLOWING ARE FILLED IN BOTH ON INITIAL BOOT AND ON RESUME.    */
     char magic[32];             /* "xen-<version>-<platform>".            */
-    unsigned long nr_pages;     /* Total pages allocated to this domain.  */
-    unsigned long shared_info;  /* MACHINE address of shared info struct. */
+    xen_ulong_t nr_pages;       /* Total pages allocated to this domain.  */
+    xen_ulong_t shared_info;    /* MACHINE address of shared info struct. */
     uint32_t flags;             /* SIF_xxx flags.                         */
     xen_pfn_t store_mfn;        /* MACHINE page number of shared page.    */
     uint32_t store_evtchn;      /* Event channel for store communication. */
     xen_pfn_t console_mfn;      /* MACHINE page number of console page.   */
     uint32_t console_evtchn;    /* Event channel for console messages.    */
     /* THE FOLLOWING ARE ONLY FILLED IN ON INITIAL BOOT (NOT RESUME).     */
-    unsigned long pt_base;      /* VIRTUAL address of page directory.     */
-    unsigned long nr_pt_frames; /* Number of bootstrap p.t. frames.       */
-    unsigned long mfn_list;     /* VIRTUAL address of page-frame list.    */
-    unsigned long mod_start;    /* VIRTUAL address of pre-loaded module.  */
-    unsigned long mod_len;      /* Size (bytes) of pre-loaded module.     */
+    xen_ulong_t pt_base;        /* VIRTUAL address of page directory.     */
+    xen_ulong_t nr_pt_frames;   /* Number of bootstrap p.t. frames.       */
+    xen_ulong_t mfn_list;       /* VIRTUAL address of page-frame list.    */
+    xen_ulong_t mod_start;      /* VIRTUAL address of pre-loaded module.  */
+    xen_ulong_t mod_len;        /* Size (bytes) of pre-loaded module.     */
     int8_t cmd_line[MAX_GUEST_CMDLINE];
 };
 typedef struct start_info start_info_t;
Signature · 2 lines
Hollis Blanchard
IBM Linux Technology Center
#1 lore raw
Quoted 4 lines · Hollis Blanchard

Keir, you mentioned that start_info probably doesn't make much sense for PowerPC. However, if for no other reason than linux/drivers/xen has many references to it, we'd like to fix it for now and figure out how to replace it later.

I think that structure is quite x86-specific. I'd be happy to see direct references to start_info replaced in drivers/xen. Obvious (and ugly) low-hanging fruit is test for SIF_INITDOMAIN. Replacing with arch-specific is_initial_domain() or similar would be a great patch to receive. A couple of the others (e.g., console_mfn, store_mfn) are a bit harder -- how do you communicate those on ppc?

-- Keir

#2 lore raw
Quoted 9 lines · Keir Fraser
Quoted 6 lines · Hollis Blanchard

Keir, you mentioned that start_info probably doesn't make much sense for
PowerPC. However, if for no other reason than linux/drivers/xen has many
references to it, we'd like to fix it for now and figure out how to replace it later.

Quoted 5 lines

I think that structure is quite x86-specific. I'd be happy to see direct references to start_info replaced in drivers/xen. Obvious (and ugly) low-hanging fruit is test for SIF_INITDOMAIN. Replacing with arch-specific is_initial_domain() or similar would be a great patch to receive.

OK.

Quoted 2 lines

A couple of the others (e.g., console_mfn, store_mfn) are a bit harder -- how do you communicate those on ppc?

We intend to communicate those via the Open Firmware device tree. (There's a brief overview at
http://wiki.xensource.com/xenwiki/XenPPC/OpenFirmware .)

Signature · 2 lines
Hollis Blanchard
IBM Linux Technology Center