All of lore.kernel.org
 help / color / mirror / Atom feed
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
To: "Roger Pau Monné" <roger.pau@citrix.com>,
	xen-devel <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wei.liu2@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Tim Deegan <tim@xen.org>, Paul Durrant <paul.durrant@citrix.com>,
	David Vrabel <david.vrabel@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>
Subject: Re: HVMlite ABI specification DRAFT B + implementation outline
Date: Mon, 8 Feb 2016 16:26:31 -0500	[thread overview]
Message-ID: <56B90807.9070106@oracle.com> (raw)
In-Reply-To: <56B8E66C.6060605@citrix.com>



On 02/08/2016 02:03 PM, Roger Pau Monné wrote:
>
>   * PCI BARs: it's not possible for Xen to know the position of the BARs of
>     the PCI devices without hardware domain interaction. In order to have
>     the BARs of PCI devices properly mapped the hardware domain needs to
>     call the PHYSDEVOP_pci_device_add hypercall, that will take care of setting
>     up the BARs in the guest physical memory map using 1:1 MMIO mappings. This
>     procedure will be transparent from guest point of view, and upon returning
>     from the hypercall mappings must be already established.

We also want to use PHYSDEVOP_pci_device_add because that's how we pass 
device's PXM information to the hypervisor.

>
> Xen HVMlite implementation plan
> ===============================
>
> This is of course not part of the ABI, but I guess it makes sense to add it
> here in order to be able to more easily split the tasks required in order to
> make the proposed implementation above a reality. I've tried to split
> the tasks into smaller sub-tasks when possible.
>
> DomU
> ----
>
>   1. Initial HVMlite implementation based on a HVM guest: no emulated devices
>      will be provided, interface exactly the same as a PVH guest except for the
>      boot ABI.
>
>   2. Provide ACPI tables to HVMlite guests: the initial set of provided tables
>      will be: RSDT, FADT, MADT (iff local APIC is enabled).
>
>   3. Enable the local APIC by default for HVMlite guests.
>
>   4. Provide options to xl/libxl in order to allow admins to select the
>      presence of a local APIC and IO APIC to HVMlite guests.
>
>   5. Implement an emulated PCI Root Complex inside of Xen.
>
>   6. Provide a DSDT table to HVMlite guests in order to signal the presence
>      of PCI-passthrough devices.
>
> IMHO, we should focus on (2) and (3) at the moment, and (4) is quite trivial
> once those two are in place. (5) and (6) should be implemented once HVMlite
> hardware domains are functional.
>
> When implementing (2) it would be good to place the ACPI related code in a
> place that's accessible from libxl, hvmloader and Xen itself, in order
> to reduce code duplication. hvmloader already has most if not all the required
> code in order to build the tables that are needed for HVMlite DomU.

Since I started poking at ACPI code in hvmloader anyway I can take a 
stab at (2).

-boris


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2016-02-08 21:26 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-08 19:03 HVMlite ABI specification DRAFT B + implementation outline Roger Pau Monné
2016-02-08 21:26 ` Boris Ostrovsky [this message]
2016-02-09 10:56 ` Andrew Cooper
2016-02-09 11:58   ` Roger Pau Monné
2016-02-09 12:10     ` Jan Beulich
2016-02-09 13:00       ` Roger Pau Monné
2016-02-09 13:41         ` Jan Beulich
2016-02-09 16:32           ` Roger Pau Monné
2016-02-09 16:41             ` Jan Beulich
2016-02-09 14:36     ` Boris Ostrovsky
2016-02-09 14:42       ` Andrew Cooper
2016-02-09 14:48       ` Jan Beulich
2016-02-09 13:24 ` Jan Beulich
2016-02-09 15:06   ` Stefano Stabellini
2016-02-09 16:15     ` Jan Beulich
2016-02-09 16:17       ` David Vrabel
2016-02-09 16:28         ` Jan Beulich
2016-02-09 16:26       ` Stefano Stabellini
2016-02-09 16:33         ` Jan Beulich
2016-02-10 12:01   ` Roger Pau Monné
2016-02-10 12:53     ` Jan Beulich
2016-02-10 14:51       ` Roger Pau Monné
2016-02-10 15:14         ` Boris Ostrovsky
2016-02-09 15:14 ` Boris Ostrovsky

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=56B90807.9070106@oracle.com \
    --to=boris.ostrovsky@oracle.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=david.vrabel@citrix.com \
    --cc=paul.durrant@citrix.com \
    --cc=roger.pau@citrix.com \
    --cc=samuel.thibault@ens-lyon.org \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=tim@xen.org \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xenproject.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.