Contents


On-line Guides
All Guides
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems

How To Guides
Xen Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions

 

 

Xen 3.0 Virtualization Interface Guide
Prev Home Next

4.2 Start info page

The start info structure is declared as the following (in xen/include/public/xen.h):

#define MAX_GUEST_CMDLINE 1024
typedef struct start_info {
    /* THE FOLLOWING ARE FILLED IN BOTH ON INITIAL BOOT AND ON RESUME.    */
    char magic[32];             /* "Xen-<version>.<subversion>". */
    unsigned long nr_pages;     /* Total pages allocated to this domain.  */
    unsigned long shared_info;  /* MACHINE address of shared info struct. */
    uint32_t flags;             /* SIF_xxx flags.                         */
    unsigned long store_mfn;    /* MACHINE page number of shared page.    */
    uint32_t store_evtchn;      /* Event channel for store communication. */
    unsigned long console_mfn;  /* MACHINE address 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.     */
    int8_t cmd_line[MAX_GUEST_CMDLINE];
} start_info_t;

The fields are in two groups: the first group are always filled in when a domain is booted or resumed, the second set are only used at boot time.

The always-available group is as follows:

magic
A text string identifying the Xen version to the guest.
nr_pages
The number of real machine pages available to the guest.
shared_info
Machine address of the shared info structure, allowing the guest to map it during initialisation.
flags
Flags for describing optional extra settings to the guest.
store_mfn
Machine address of the Xenstore communications page.
store_evtchn
Event channel to communicate with the store.
console_mfn
Machine address of the console data page.
console_evtchn
Event channel to notify the console backend.

The boot-only group may only be safely referred to during system boot:

pt_base
Virtual address of the page directory created for us by the domain builder.
nr_pt_frames
Number of frames used by the builders' bootstrap pagetables.
mfn_list
Virtual address of the list of machine frames this domain owns.
mod_start
Virtual address of any pre-loaded modules (e.g. ramdisk)
mod_len
Size of pre-loaded module (if any).
cmd_line
Kernel command line passed by the domain builder.

Xen 3.0 Virtualization Interface Guide
Prev Home Next

 
 
  Published under the terms of the GNU General Public License Design by Interspire