[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 3/4] xen: make start_info x86 specific.
>>> On 14.02.13 at 15:16, Ian Campbell <ian.campbell@xxxxxxxxxx> wrote: > Most of this struct is PV MMU specific and it is not used on ARM at all. I'm not convinced this is the right move. > --- a/xen/include/public/xen.h > +++ b/xen/include/public/xen.h > @@ -706,79 +706,6 @@ typedef struct shared_info shared_info_t; > * extended by an extra 4MB to ensure this. > */ > > -#define MAX_GUEST_CMDLINE 1024 > -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. */ > - 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. */ > - union { > - struct { > - xen_pfn_t mfn; /* MACHINE page number of console page. */ > - uint32_t evtchn; /* Event channel for console page. */ > - } domU; > - struct { > - uint32_t info_off; /* Offset of console_info struct. */ > - uint32_t info_size; /* Size of console_info struct from start.*/ > - } dom0; > - } console; What is PV MMU related up to here? > - /* 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 */ > - /* (PFN of pre-loaded module if */ > - /* SIF_MOD_START_PFN set in flags). */ > - unsigned long mod_len; /* Size (bytes) of pre-loaded module. */ > - int8_t cmd_line[MAX_GUEST_CMDLINE]; The last three fields above don't appear to be either. > - /* The pfn range here covers both page table and p->m table frames. */ > - unsigned long first_p2m_pfn;/* 1st pfn forming initial P->M table. */ > - unsigned long nr_p2m_frames;/* # of pfns forming initial P->M table. */ > -}; > -typedef struct start_info start_info_t; > - > -/* New console union for dom0 introduced in 0x00030203. */ > -#if __XEN_INTERFACE_VERSION__ < 0x00030203 > -#define console_mfn console.domU.mfn > -#define console_evtchn console.domU.evtchn > -#endif > - > -/* These flags are passed in the 'flags' field of start_info_t. */ > -#define SIF_PRIVILEGED (1<<0) /* Is the domain privileged? */ > -#define SIF_INITDOMAIN (1<<1) /* Is this the initial control domain? */ > -#define SIF_MULTIBOOT_MOD (1<<2) /* Is mod_start a multiboot module? */ > -#define SIF_MOD_START_PFN (1<<3) /* Is mod_start a PFN? */ > -#define SIF_PM_MASK (0xFF<<8) /* reserve 1 byte for xen-pm options */ Nor are these flags. > - > -/* > - * A multiboot module is a package containing modules very similar to a > - * multiboot module array. The only differences are: > - * - the array of module descriptors is by convention simply at the beginning > - * of the multiboot module, > - * - addresses in the module descriptors are based on the beginning of the > - * multiboot module, > - * - the number of modules is determined by a termination descriptor that has > - * mod_start == 0. > - * > - * This permits to both build it statically and reference it in a > configuration > - * file, and let the PV guest easily rebase the addresses to virtual > addresses > - * and at the same time count the number of modules. > - */ > -struct xen_multiboot_mod_list > -{ > - /* Address of first byte of the module */ > - uint32_t mod_start; > - /* Address of last byte of the module (inclusive) */ > - uint32_t mod_end; > - /* Address of zero-terminated command line */ > - uint32_t cmdline; > - /* Unused, must be zero */ > - uint32_t pad; > -}; And this one isn't either, albeit I'm not sure about its actual use. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |