From: Wei Liu <wei.liu2@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
Wei Liu <wei.liu2@citrix.com>, Jan Beulich <JBeulich@suse.com>
Subject: [PATCH RFC 00/10] x86 passthrough code cleanup
Date: Wed, 21 Feb 2018 21:46:51 +0000 [thread overview]
Message-ID: <20180221214701.1646-1-wei.liu2@citrix.com> (raw)
Hi all
At some point I would like to make CONFIG_HVM and CONFIG_PV work. The
passthrough code is one of the road blocks for that work.
A short discussion on #xendevel made me think that having host side code
regardless of if HVM (the primary user) is configured is desirable because PV
guests may still have limited use of the hardware, hence this series.
What I want is to have clear hierarchy of the code and split the host side
and the guest side code, and start to use CONFIG_HVM where applicable. Luckily
the amount of work seemed to be smaller than I had expected.
RFC because there are a few open questions. Please see individual patches.
Wei.
Wei Liu (10):
passthrough: rearrange x86 code
passthrough: split out x86 PCI code to x86/pci.c
x86/passthrough: io.c is used for HVM only
x86/passthrough: arch_pci_clean_irqs is HVM only
x86/passthrough: move hvm_dpci_isairq_eoi
passthrough/amd: remove guest iommu support
passthrough/amd: split out hvm code from iommu_map.c
passthrough/amd: make clear_iommu_pte_present static
passthrough/intel: put some code under CONFIG_HVM
x86: check hvm domain before calling pt_irq_destroy_bind
MAINTAINERS | 8 +-
xen/arch/x86/domctl.c | 4 +
xen/drivers/passthrough/Makefile | 3 -
xen/drivers/passthrough/amd/iommu_guest.c | 927 ---------------------
xen/drivers/passthrough/pci.c | 51 +-
xen/drivers/passthrough/x86/Makefile | 5 +
xen/drivers/passthrough/{ => x86}/amd/Makefile | 2 +-
xen/drivers/passthrough/x86/amd/hvm.c | 108 +++
xen/drivers/passthrough/x86/amd/iommu.h | 32 +
xen/drivers/passthrough/{ => x86}/amd/iommu_acpi.c | 0
xen/drivers/passthrough/{ => x86}/amd/iommu_cmd.c | 2 +-
.../passthrough/{ => x86}/amd/iommu_detect.c | 0
xen/drivers/passthrough/{ => x86}/amd/iommu_init.c | 21 +-
xen/drivers/passthrough/{ => x86}/amd/iommu_intr.c | 0
xen/drivers/passthrough/{ => x86}/amd/iommu_map.c | 107 +--
.../passthrough/{ => x86}/amd/pci_amd_iommu.c | 2 +-
xen/drivers/passthrough/{ => x86}/io.c | 45 +
xen/drivers/passthrough/x86/pci.c | 74 ++
xen/drivers/passthrough/{ => x86}/vtd/Makefile | 0
xen/drivers/passthrough/{ => x86}/vtd/dmar.c | 0
xen/drivers/passthrough/{ => x86}/vtd/dmar.h | 0
xen/drivers/passthrough/{ => x86}/vtd/extern.h | 0
xen/drivers/passthrough/{ => x86}/vtd/intremap.c | 0
xen/drivers/passthrough/{ => x86}/vtd/iommu.c | 17 +-
xen/drivers/passthrough/{ => x86}/vtd/iommu.h | 0
xen/drivers/passthrough/{ => x86}/vtd/qinval.c | 2 +-
xen/drivers/passthrough/{ => x86}/vtd/quirks.c | 0
xen/drivers/passthrough/{ => x86}/vtd/utils.c | 0
xen/drivers/passthrough/{ => x86}/vtd/vtd.h | 0
xen/drivers/passthrough/{ => x86}/vtd/x86/Makefile | 0
xen/drivers/passthrough/{ => x86}/vtd/x86/ats.c | 2 +-
xen/drivers/passthrough/{ => x86}/vtd/x86/vtd.c | 45 -
xen/include/asm-x86/amd-iommu.h | 51 --
xen/include/asm-x86/hvm/svm/amd-iommu-proto.h | 8 -
xen/include/asm-x86/iommu.h | 1 -
xen/include/xen/iommu.h | 1 -
xen/include/xen/pci.h | 2 +
37 files changed, 310 insertions(+), 1210 deletions(-)
delete mode 100644 xen/drivers/passthrough/amd/iommu_guest.c
rename xen/drivers/passthrough/{ => x86}/amd/Makefile (86%)
create mode 100644 xen/drivers/passthrough/x86/amd/hvm.c
create mode 100644 xen/drivers/passthrough/x86/amd/iommu.h
rename xen/drivers/passthrough/{ => x86}/amd/iommu_acpi.c (100%)
rename xen/drivers/passthrough/{ => x86}/amd/iommu_cmd.c (99%)
rename xen/drivers/passthrough/{ => x86}/amd/iommu_detect.c (100%)
rename xen/drivers/passthrough/{ => x86}/amd/iommu_init.c (99%)
rename xen/drivers/passthrough/{ => x86}/amd/iommu_intr.c (100%)
rename xen/drivers/passthrough/{ => x86}/amd/iommu_map.c (86%)
rename xen/drivers/passthrough/{ => x86}/amd/pci_amd_iommu.c (99%)
rename xen/drivers/passthrough/{ => x86}/io.c (96%)
create mode 100644 xen/drivers/passthrough/x86/pci.c
rename xen/drivers/passthrough/{ => x86}/vtd/Makefile (100%)
rename xen/drivers/passthrough/{ => x86}/vtd/dmar.c (100%)
rename xen/drivers/passthrough/{ => x86}/vtd/dmar.h (100%)
rename xen/drivers/passthrough/{ => x86}/vtd/extern.h (100%)
rename xen/drivers/passthrough/{ => x86}/vtd/intremap.c (100%)
rename xen/drivers/passthrough/{ => x86}/vtd/iommu.c (99%)
rename xen/drivers/passthrough/{ => x86}/vtd/iommu.h (100%)
rename xen/drivers/passthrough/{ => x86}/vtd/qinval.c (99%)
rename xen/drivers/passthrough/{ => x86}/vtd/quirks.c (100%)
rename xen/drivers/passthrough/{ => x86}/vtd/utils.c (100%)
rename xen/drivers/passthrough/{ => x86}/vtd/vtd.h (100%)
rename xen/drivers/passthrough/{ => x86}/vtd/x86/Makefile (100%)
rename xen/drivers/passthrough/{ => x86}/vtd/x86/ats.c (99%)
rename xen/drivers/passthrough/{ => x86}/vtd/x86/vtd.c (72%)
--
2.11.0
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
next reply other threads:[~2018-02-21 21:47 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-21 21:46 Wei Liu [this message]
2018-02-21 21:46 ` [PATCH RFC 01/10] passthrough: rearrange x86 code Wei Liu
2018-04-23 15:27 ` Jan Beulich
2018-02-21 21:46 ` [PATCH RFC 02/10] passthrough: split out x86 PCI code to x86/pci.c Wei Liu
2018-02-26 10:57 ` Julien Grall
2018-04-23 15:34 ` Jan Beulich
2018-04-24 9:08 ` Julien Grall
2018-02-21 21:46 ` [PATCH RFC 03/10] x86/passthrough: io.c is used for HVM only Wei Liu
2018-04-23 15:37 ` Jan Beulich
2018-02-21 21:46 ` [PATCH RFC 04/10] x86/passthrough: arch_pci_clean_irqs is " Wei Liu
2018-02-21 21:46 ` [PATCH RFC 05/10] x86/passthrough: move hvm_dpci_isairq_eoi Wei Liu
2018-04-23 15:39 ` Jan Beulich
2018-02-21 21:46 ` [PATCH RFC 06/10] passthrough/amd: remove guest iommu support Wei Liu
2018-05-02 17:10 ` Suravee Suthikulpanit
2018-02-21 21:46 ` [PATCH RFC 07/10] passthrough/amd: split out hvm code from iommu_map.c Wei Liu
2018-04-23 15:43 ` Jan Beulich
2018-05-02 17:32 ` Suravee Suthikulpanit
2018-02-21 21:46 ` [PATCH RFC 08/10] passthrough/amd: make clear_iommu_pte_present static Wei Liu
2018-02-21 21:47 ` [PATCH RFC 09/10] passthrough/intel: put some code under CONFIG_HVM Wei Liu
2018-04-23 15:47 ` Jan Beulich
2018-02-21 21:47 ` [PATCH RFC 10/10] x86: check hvm domain before calling pt_irq_destroy_bind Wei Liu
2018-02-23 5:12 ` [PATCH RFC 00/10] x86 passthrough code cleanup Tian, Kevin
2018-02-23 16:08 ` Wei Liu
2018-02-24 3:23 ` Tian, Kevin
2018-02-26 8:20 ` Jan Beulich
2018-02-26 12:45 ` Wei Liu
2018-02-24 4:39 ` Doug Goldstein
2018-02-26 0:47 ` Marek Marczykowski-Górecki
2018-02-26 12:49 ` Wei Liu
2018-03-08 12:18 ` Wei Liu
2018-03-08 12:37 ` 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=20180221214701.1646-1-wei.liu2@citrix.com \
--to=wei.liu2@citrix.com \
--cc=JBeulich@suse.com \
--cc=andrew.cooper3@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).