[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 Thu, 2013-02-14 at 15:20 +0000, Jan Beulich wrote: > >>> On 14.02.13 at 15:46, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote: > > On Thu, 2013-02-14 at 14:43 +0000, Jan Beulich wrote: > >> >>> 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? > > > > Hrm, perhaps categorising this as PV MMU was a mistake on my part. > > > > These are all unused on ARM in terms of the hypervisor ABI since it uses > > HVM like mechanisms for those which are appropriate and doesn't use a > > bunch of the others at all. > > But nothing here makes this structure x86 specific, so I'd really like > to keep it that way. If ARM doesn't use the structure at all, then > I don't see the point in removing it from the common headers. If > part of it (the flags come to mind) are being used by ARM, let's > find a reasonable abstraction so that ARM doesn't need to carry > useless baggage (e.g. a XEN_ARCH_HVM_ONLY #define). Even the flags are unused on ARM (as part of the hypervisor ABI), which uses XENFEAT_dom0 and not SIF_*. I'd be as happy to ifdef this in the public headers instead of moving them if that is what people prefer. I don't think XEN_ARCH_HVM_ONLY is quite the right name though. XEN_HAVE_PV_GUEST_ENTRY perhaps? This makes some sense by virtue of start_info not being useful on ARM partly because we use the normal native entry points which don't allow for it. Do we think that it is likely that a new architecture port which doesn't use hardware virtualisation extensions instead of PV is very likely? Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |