mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Ian Campbell <ian.campbell@citrix.com>
To: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Cc: David Vrabel <david.vrabel@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Tim (Xen.org)" <tim@xen.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH WIP 2/6] xen/arm: Introduce xen_guest_init
Date: Thu, 12 Jul 2012 12:00:57 -0600	[thread overview]
Message-ID: <1342116057.8586.192.camel@hastur.hellion.org.uk> (raw)
In-Reply-To: <alpine.DEB.2.02.1207121845420.23783@kaball.uk.xensource.com>

On Thu, 2012-07-12 at 13:50 -0400, Stefano Stabellini wrote:
> On Thu, 12 Jul 2012, David Vrabel wrote:
> > On 12/07/12 12:49, Roger Pau Monne wrote:
> > > David Vrabel wrote:
> > >> On 09/07/12 15:45, Konrad Rzeszutek Wilk wrote:
> > >>> On Fri, Jun 22, 2012 at 05:14:41PM +0100, Stefano Stabellini wrote:
> > >>>> We used to rely on a core_initcall to initialize Xen on ARM, however
> > >>>> core_initcalls are actually called after early consoles are initialized.
> > >>>> That means that hvc_xen.c is going to be initialized before Xen.
> > >>>>
> > >>>> Given the lack of a better alternative, just call a new Xen
> > >>>> initialization function (xen_guest_init) from xen_cons_init.
> > >>>>
> > >>>> xen_guest_init has to be arch independant, so write both an ARM and an
> > >>>> x86 implementation. The x86 implementation is currently empty because we
> > >>>> can be sure that xen_hvm_guest_init is called early enough.
> > >>>>
> > >>>> Probably we can get rid of this as soon as we have better DT support.
> > >>> What is DT?
> > >>
> > >> Device Tree.  It's a binary describing the hardware and some system
> > >> configuration that is passed to the kernel by the boot loader or (in
> > >> this case) the hypervisor.  Vaguely analogous to ACPI except it's not
> > >> crazy ;).
> > >>
> > >> We really should get the device tree bindings sorted out before
> > >> accepting any kernel side patches.  I think we can do this even if Xen's
> > >> device tree support is incomplete.
> > > 
> > > Will this be passed from the hypervisor to the linux kernel using a
> > > specific mechanism (different than the native one)?
> > 
> > The same mechanism.  The kernel is booted with the physical address of
> > the device tree blob in a register (r2 I think) .  Xen sorts this out
> > for dom0 and the toolstack is responsible for this for domUs.
> > 
> > I would expect the device tree to include the physical address of the
> > shared page with something like this.
> > 
> > hypervisor {
> >    xen {
> >        shared-info = <0x00 0x12345678 0 4096>;
> >    };
> > };
> > 
> > Arch code in ARM would check for the hypervisor node (very) early on and
> > call a hypervisor specific init function based on the name of the child
> > node (xen in this case).
>  
> There is no need to specify the shared-info page address in the DT as we
> already have a mechanism to map it dynamically (XENMAPSPACE_shared_info).
> 
> However we could use DT to pass the address of the grant table pages
> instead of introducing HVM_PARAM_GRANT_START_PFN (see
> http://marc.info/?l=linux-kernel&m=134140077708602&w=2).

We need to be sure there is something there which signals "running under
Xen" in the general sense too so we can detect it early on. Perhaps
something explicitly for that purpose or perhaps one of these required
items could serve as a key. 

Ian



  reply	other threads:[~2012-07-12 18:01 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-22 16:13 [PATCH WIP 0/6] xen/arm: PV console support Stefano Stabellini
2012-06-22 16:14 ` [PATCH WIP 1/6] xen/arm: fix the shared_info and vcpu_info structs Stefano Stabellini
2012-06-22 16:14   ` [PATCH WIP 2/6] xen/arm: Introduce xen_guest_init Stefano Stabellini
2012-07-09 14:45     ` [Xen-devel] " Konrad Rzeszutek Wilk
2012-07-09 15:08       ` David Vrabel
2012-07-12 11:49         ` Roger Pau Monne
2012-07-12 12:04           ` David Vrabel
2012-07-12 17:50             ` Stefano Stabellini
2012-07-12 18:00               ` Ian Campbell [this message]
2012-07-13 16:38       ` Stefano Stabellini
2012-06-22 16:14   ` [PATCH WIP 3/6] xen/arm: get privilege status Stefano Stabellini
2012-07-09 14:41     ` [Xen-devel] " Konrad Rzeszutek Wilk
2012-07-12 17:43       ` Stefano Stabellini
2012-06-22 16:14   ` [PATCH WIP 4/6] xen/arm: implement hvm_op Stefano Stabellini
2012-06-22 16:14   ` [PATCH WIP 5/6] xen: fix unmask_evtchn for HVM guests Stefano Stabellini
2012-06-22 16:14   ` [PATCH WIP 6/6] xen/arm: enable evtchn irqs Stefano Stabellini
2012-07-09 14:40     ` Konrad Rzeszutek Wilk
2012-07-13 17:14       ` Stefano Stabellini
2012-07-16 14:57         ` Konrad Rzeszutek Wilk
2012-07-18 16:51           ` Stefano Stabellini
2012-07-19 23:30             ` Konrad Rzeszutek Wilk
2012-07-20 11:09               ` Stefano Stabellini
2012-07-20 14:36                 ` [Xen-devel] " Konrad Rzeszutek Wilk
2012-07-20 15:23                   ` Stefano Stabellini
2012-07-25 18:43                     ` Konrad Rzeszutek Wilk
2012-07-26 13:53                       ` Stefano Stabellini
2012-06-22 16:26   ` [PATCH] xen/events: fix unmask_evtchn for PV on HVM guests Stefano Stabellini
2012-07-09 14:19     ` [Xen-devel] " Konrad Rzeszutek Wilk
2012-07-13 17:48       ` Stefano Stabellini
2012-07-16 15:14         ` Konrad Rzeszutek Wilk
2012-07-18 18:17           ` Stefano Stabellini
2012-08-22 11:20             ` Stefano Stabellini
2012-08-22 14:03               ` Konrad Rzeszutek Wilk
2012-08-22 15:01                 ` Stefano Stabellini
2012-07-09 14:41   ` [PATCH WIP 1/6] xen/arm: fix the shared_info and vcpu_info structs Konrad Rzeszutek Wilk
2012-07-13 16:48     ` Stefano Stabellini
2012-07-13 17:08       ` Ian Campbell
2012-07-16 14:57         ` Konrad Rzeszutek Wilk
2012-07-18 16:46           ` Stefano Stabellini

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=1342116057.8586.192.camel@hastur.hellion.org.uk \
    --to=ian.campbell@citrix.com \
    --cc=Stefano.Stabellini@eu.citrix.com \
    --cc=david.vrabel@citrix.com \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=roger.pau@citrix.com \
    --cc=tim@xen.org \
    --cc=xen-devel@lists.xensource.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

Powered by JetHome