From: Mukesh Rathor <mukesh.rathor@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [RFC PATCH 1/8]: PVH: Basic and preparatory changes
Date: Fri, 17 Aug 2012 12:20:14 -0700 [thread overview]
Message-ID: <20120817122014.3c3387b5@mantra.us.oracle.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1208171104230.15568@kaball.uk.xensource.com>
On Fri, 17 Aug 2012 11:15:32 +0100
Stefano Stabellini <stefano.stabellini@eu.citrix.com> wrote:
> On Thu, 16 Aug 2012, Mukesh Rathor wrote:
> > > > diff --git a/include/xen/interface/xen.h
> > > > b/include/xen/interface/xen.h index 0801468..1d5bc36 100644
> > > > --- a/include/xen/interface/xen.h
> > > > +++ b/include/xen/interface/xen.h
> > > > @@ -493,6 +493,7 @@ struct dom0_vga_console_info {
> > > > /* 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_IS_PVINHVM
> > > > (1<<4) /* Is it a PV running in HVM container? */ #define
> > > > SIF_PM_MASK (0xFF<<8) /* reserve 1 byte for xen-pm
> > > > options */ typedef uint64_t cpumap_t;
> > >
> > > I would avoid adding SIF_IS_PVINHVM, an x86 specific concept,
> > > into a generic xen.h interface file.
> >
> > > > +/* xen_pv_domain check is necessary as start_info ptr is null
> > > > in HVM. Also,
> > > > + * note, xen PVH domain shares lot of HVM code */
> > > > +#define xen_pvh_domain() (xen_pv_domain()
> > > > && \
> > > > + (xen_start_info->flags &
> > > > SIF_IS_PVINHVM))
> > >
> > > Also here.
> >
> > Hmm.. I can move '#define xen_pvh_domain()' to x86 header, easy.
> > But, not sure how to define SIF_IS_PVINHVM then? I could put
> > SIF_IS_RESVD in include/xen/interface/xen.h, and then do
> > #define SIF_IS_PVINHVM SIF_IS_RESVD in an x86 file.
> >
> > What do you think about that?
>
> I am not particularly fussed about the location of SIF_IS_PVINHVM.
> We could define it in asm/xen/hypervisor.h for example.
>
> The very important bit is to avoid xen_pvh_domain() in generic code
> because it reduces code reusability.
> xen_pvh_domain() covers too many different concepts (a PV guest, in an
> HVM container, using nested paging in hardware), if we bundle them
> together it makes it much harder to reuse them.
> So we should avoid checking for xen_pvh_domain() and check for the
> relevant sub-property we actually interested in.
>
> For example in balloon.c we are probably only interested in memory
> related behavior, so checking for XENFEAT_auto_translated_physmap
> should be enough. In other parts of the code we might want to check
> for xen_pv_domain(). If xen_pv_domain() and
> XENFEAT_auto_translated_physmap are not enough, we could introduce
> another small XENFEAT that specifies that the domain is running in a
> HVM container. This way they are all reusable.
yeah, I thought about that, but wasn't sure what the implications would
be for a guest thats not PVH but has auto xlated physmap, if there's
such a possibility. If you guys think thats not an issue, I can change
it.
next prev parent reply other threads:[~2012-08-17 19:20 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-16 0:57 [RFC PATCH 1/8]: PVH: Basic and preparatory changes Mukesh Rathor
2012-08-16 13:59 ` Stefano Stabellini
2012-08-16 18:46 ` Mukesh Rathor
2012-08-17 8:28 ` Ian Campbell
2012-08-17 10:56 ` Stefano Stabellini
2012-08-17 13:48 ` Ian Campbell
2012-08-17 19:17 ` Mukesh Rathor
2012-08-17 10:15 ` Stefano Stabellini
2012-08-17 19:20 ` Mukesh Rathor [this message]
2012-08-17 19:36 ` Ian Campbell
2012-08-17 19:36 ` Konrad Rzeszutek Wilk
2012-08-17 22:26 ` Mukesh Rathor
2012-08-18 8:56 ` Ian Campbell
2012-08-20 11:02 ` Stefano Stabellini
2012-08-20 17:50 ` Mukesh Rathor
2012-08-17 8:35 ` Ian Campbell
2012-08-17 19:24 ` Mukesh Rathor
2012-08-17 19:47 ` Ian Campbell
2012-08-17 20:05 ` Konrad Rzeszutek Wilk
2012-08-20 23:42 ` Mukesh Rathor
2012-09-10 13:55 ` Ian Campbell
2012-09-11 21:57 ` Mukesh Rathor
2012-09-12 8:12 ` Ian Campbell
[not found] ` <20120912110254.10bde333@mantra.us.oracle.com>
[not found] ` <1347474380.25803.21.camel@dagon.hellion.org.uk>
2012-09-12 19:32 ` Mukesh Rathor
2012-09-13 6:00 ` Ian Campbell
2012-09-13 17:14 ` Mukesh Rathor
2012-09-13 17:36 ` Pasi Kärkkäinen
2012-09-13 18:08 ` Ian Campbell
2012-09-13 20:45 ` Konrad Rzeszutek Wilk
2012-09-13 21:09 ` Ian Campbell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120817122014.3c3387b5@mantra.us.oracle.com \
--to=mukesh.rathor@oracle.com \
--cc=Xen-devel@lists.xensource.com \
--cc=konrad.wilk@oracle.com \
--cc=stefano.stabellini@eu.citrix.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).