From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Subject: [PATCH RFC 01/12] PVHv2 Dom0
Date: Fri, 29 Jul 2016 18:28:55 +0200 [thread overview]
Message-ID: <1469809747-11176-1-git-send-email-roger.pau@citrix.com> (raw)
Hello,
This is a very rough implementation of a PVHv2 Dom0. There are still a bunch
of things that will not work properly (like SR-IOV, MSI, MSI-X...), but it
*should* be able to boot a Dom0 kernel and it doesn't require using PIRQs.
There are some changes compared to a traditional PV or PVH Dom0:
- An emulated local APIC (for each vCPU) and IO APIC is provided to Dom0.
- At the start of day only the low 1MB and the ACPI e820 regions are mapped
into the guest using 1:1 mappings (for UEFI systems mapping the low 1MB
probably doesn't make any sense, but alas).
- The MADT has been replaced in order to reflect the real topology seen by
Dom0.
- In order to have the BARs of PCI devices mapped Dom0 must call
PHYSDEVOP_pci_device_add. See the notes on patch 11 for more information
(and what's missing).
- ATM only legacy PCI interrupts are supported. This is implemented by
looking at the writes Dom0 makes to the emulated IO APIC and translating
them into the real hardware. Note that MSI or MSI-X capabilities are
_not_ masked from the PCI capabilities list, so the user must avoid using
them.
- PCIe Enhanced Configuration Mechanism regions are not yet mapped into
Dom0 physmap.
- Some ACPI tables are zapped (it's signature is inverted) to prevent Dom0
from poking at them, those are: HPET, SLIT, SRAT, MPST and PMTT.
This is still very experimental, I've been able to boot a FreeBSD Dom0 using
2GB and 4GB of memory assigned to it, but if I try to use 6GB Xen gets a NMI
(I've got no idea why yet). I don't think it's worth delaying this more,
because it's going to take me some time to finish all this work (MSI,
MSI-X, bug hunting...), and in the meantime people can already take a look
at what's done (or half-done).
I've pushed the whole series to my git repository:
git://xenbits.xen.org/people/royger/xen.git pvhv2_dom0_rfc
It contains two patches from Boris and Anthony, that are a pre-requisite to
this series.
As usual, thanks for taking the time to look into it, hope it doesn't make
your eyes bleed much (slight bleeding is expected).
Roger.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
next reply other threads:[~2016-07-29 16:29 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-29 16:28 Roger Pau Monne [this message]
2016-07-29 16:28 ` [PATCH RFC 01/12] x86/paging: introduce paging_set_allocation Roger Pau Monne
2016-07-29 16:47 ` Andrew Cooper
2016-08-02 9:47 ` Roger Pau Monne
2016-08-02 15:49 ` Roger Pau Monne
2016-08-02 16:12 ` Jan Beulich
2016-08-03 15:11 ` George Dunlap
2016-08-03 15:25 ` Jan Beulich
2016-08-03 15:28 ` George Dunlap
2016-08-03 15:37 ` Jan Beulich
2016-08-03 15:59 ` George Dunlap
2016-08-03 16:00 ` Roger Pau Monne
2016-08-03 16:15 ` Jan Beulich
2016-08-03 16:24 ` Roger Pau Monne
2016-08-04 6:19 ` Jan Beulich
2016-08-01 8:57 ` Tim Deegan
2016-07-29 16:28 ` [PATCH RFC 02/12] xen/x86: split the setup of Dom0 permissions to a function Roger Pau Monne
2016-07-29 16:28 ` [PATCH RFC 03/12] xen/x86: allow the emulated APICs to be enbled for the hardware domain Roger Pau Monne
2016-07-29 17:50 ` Andrew Cooper
2016-08-01 11:23 ` Roger Pau Monne
2016-07-29 16:28 ` [PATCH RFC 04/12] xen/x86: split Dom0 build into PV and PVHv2 Roger Pau Monne
2016-07-29 17:57 ` Andrew Cooper
2016-08-01 11:36 ` Roger Pau Monne
2016-08-04 18:28 ` Andrew Cooper
2016-07-29 16:29 ` [PATCH RFC 05/12] xen/x86: make print_e820_memory_map global Roger Pau Monne
2016-07-29 17:57 ` Andrew Cooper
2016-07-29 16:29 ` [PATCH RFC 06/12] xen/x86: populate PVHv2 Dom0 physical memory map Roger Pau Monne
2016-07-29 19:04 ` Andrew Cooper
2016-08-02 9:19 ` Roger Pau Monne
2016-08-04 18:43 ` Andrew Cooper
2016-08-05 9:40 ` Roger Pau Monne
2016-08-11 18:28 ` Andrew Cooper
2016-07-29 16:29 ` [PATCH RFC 07/12] xen/x86: parse Dom0 kernel for PVHv2 Roger Pau Monne
2016-09-26 16:16 ` Jan Beulich
2016-09-26 17:11 ` Roger Pau Monne
2016-07-29 16:29 ` [PATCH RFC 08/12] xen/x86: setup PVHv2 Dom0 CPUs Roger Pau Monne
2016-09-26 16:19 ` Jan Beulich
2016-09-26 17:05 ` Roger Pau Monne
2016-09-27 8:10 ` Jan Beulich
2016-07-29 16:29 ` [PATCH RFC 09/12] xen/x86: setup PVHv2 Dom0 ACPI tables Roger Pau Monne
2016-09-26 16:21 ` Jan Beulich
2016-07-29 16:29 ` [PATCH RFC 10/12] xen/dcpi: add a dpci passthrough handler for hardware domain Roger Pau Monne
2016-07-29 16:29 ` [PATCH RFC 11/12] xen/x86: allow a PVHv2 Dom0 to register PCI devices with Xen Roger Pau Monne
2016-07-29 16:29 ` [PATCH RFC 12/12] xen/x86: route legacy PCI interrupts to Dom0 Roger Pau Monne
2016-07-29 16:38 ` [PATCH RFC 01/12] PVHv2 Dom0 Roger Pau Monne
2016-09-26 16:25 ` Jan Beulich
2016-09-26 17:12 ` Roger Pau Monne
2016-09-26 17:55 ` Konrad Rzeszutek Wilk
2016-09-27 8:11 ` Jan Beulich
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=1469809747-11176-1-git-send-email-roger.pau@citrix.com \
--to=roger.pau@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 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).