|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [VTD][PATCH] enabling pci mmcfg and ATS for x86_64
This patch enables PCI MMCONFIG in xen and turns on hooks for ATS. All
previous feedbacks for PCI MMCFG have been incorporated.
I have tested the patch on Intel x86_64 and build tested on IA-64 and x86_32.
Since PCI config offsets below 256 is still using cfc/cf8 method, I don't
expect impact to existing code accessing PCI config area.
xen/arch/x86/acpi/boot.c : add call acpi_mmcfg_init()
xen/arch/x86/e820.c : add linux function e820_all_mapped()
- used by mmconfig-shared.c
xen/arch/x86/pci.c : move pci_conf_*() from here to
x86_64 and x86_32
xen/arch/x86/x86_32/pci.c : pci_conf_read*() and
pci_conf_write*() moved here unchanged
xen/arch/x86/x86_64/pci.c : for PCI reg value > 255 use
pci_mmcfg_*() else use the original cfc/cf8
xen/include/asm-x86/msr-index.h : sync with Linux kernel, change
"#define
FAM10H_MMIO_CONF_ENABLE_BIT 0"
to
"#define FAM10H_MMIO_CONF_ENABLE
(1<<0)"
xen/arch/x86/traps.c : change (1 <<
FAM10H_MMIO_CONF_ENABLE_BIT) to FAM10H_MMIO_CONF_ENABLE
xen/arch/x86/x86_64/acpi_mmcfg.c : Linux acpi mmcfg parsing functions
xen/arch/x86/x86_64/mmconfig-shared.c : ported over Linux file with same name
xen/arch/x86/x86_64/mmconfig.h : misc. definitions used by mmcfg
xen/arch/x86/x86_64/mmconfig_64.c : ported over Linux file with same name
xen/arch/x86/x86_32/Makefile : add pci.o
xen/arch/x86/x86_64/Makefile : add pci.o, acpi_mmcfg.o,
mmconfig_64.o, mmconfig-shared.o
xen/drivers/passthrough/vtd/extern.h : add new ats function prototypes
xen/drivers/passthrough/vtd/ia64/ats.c : remove unnecessary stub function.
xen/drivers/passthrough/vtd/iommu.c : enable call to ats_device() and
enable_ats_device()
xen/drivers/passthrough/vtd/qinval.c : enable call to dev_invalidate_iotlb()
xen/drivers/passthrough/vtd/x86/ats.c : remove unnecessary stub function.
xen/include/asm-x86/acpi.h : add acpi_mmcfg_init() prototype,
clean up
xen/include/asm-x86/config.h : reserve SLOT 257 for
PCI_MCFG_VIRT_START/END. Given PML4 slot has 39 bits,
we currently limit to maximum of
2049 PCI segments.
xen/include/asm-x86/e820.h : add prototype for e820_all_mapped()
xen/include/xen/pci.h : add prototypes for
pci_mmcfg_read/write(), pci_find_ext_capability()
Signed-off-by: Allen Kay allen.m.kay@xxxxxxxxx
mmcfg06019.patch
Description: mmcfg06019.patch
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-devel] [VTD][PATCH] enabling pci mmcfg and ATS for x86_64,
Kay, Allen M <=
|
|
|
|
|