WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [VTD][PATCH] enabling pci mmcfg and ATS for x86_64

To: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [VTD][PATCH] enabling pci mmcfg and ATS for x86_64
From: "Kay, Allen M" <allen.m.kay@xxxxxxxxx>
Date: Mon, 1 Jun 2009 17:23:33 -0700
Accept-language: en-US
Acceptlanguage: en-US
Delivery-date: Mon, 01 Jun 2009 17:24:13 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcnjGFU+qnNsFrR2RYuDR+n59/542w==
Thread-topic: [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

Attachment: 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 <=