lkml.org 
[lkml]   [2009]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[GIT PULL] Xen dom0 hardware access support
Date

This series of patches enables the dom0 guest to access and control hardware. The changes fall into three groups:

1. DMA and swiotlb updates
- Implement Xen versions of all the DMA API mapping ops
- Put Xen-specific bits into the swiotlb hooks where needed, and define
Xen+swiotlb set of ops

2. DRM updates
- make sure _PAGE_IOMAP is set on VM_IO mappings, as created by remap_pfn_range
- use swiotlb_bus_to_phys/phys_to_bus to implement phys_to_gart/gart_to_phys
(despite the swiotlb_* name, the functions are fairly generic, at least on x86)
- Use dma_alloc_coherent for alloc_gatt_pages, to make sure they're physically
contiguous
- Likewise, use dma_alloc_coherent for the special i8xx ARGB cursor memory

3. MTRR improvements (to make /proc/mtrr fully functional)
Complete the MTRR implementation introduced in the xen/dom0/core series

The following changes since commit 089faa06184f85284ba6c4164dd7b4741ca5d5c5:
Jeremy Fitzhardinge (1):
x86: don't need "changed" parameter for set_io_bitmap()

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git push/xen/dom0/hardware

Alex Nixon (7):
xen: Don't disable the I/O space
xen: Allow unprivileged Xen domains to create iomap pages
Xen: Rename the balloon lock
xen: Add xen_create_contiguous_region
x86/PCI: Clean up pci_cache_line_size
x86/PCI: Enable scanning of all pci functions
Xen/x86/PCI: Add support for the Xen PCI subsytem

Ian Campbell (4):
xen swiotlb: fixup swiotlb is chunks smaller than MAX_CONTIG_ORDER
xen: add hooks for mapping phys<->bus addresses in swiotlb
xen/swiotlb: add hook for swiotlb_arch_range_needs_mapping
xen: enable swiotlb for xen domain 0.

Jeremy Fitzhardinge (12):
x86/pci: make sure _PAGE_IOMAP it set on pci mappings
xen/pci: clean up Kconfig a bit
xen: make sure swiotlb allocation is physically contigious
xen/swiotlb: use dma_alloc_from_coherent to get device coherent memory
swiotlb: use swiotlb_alloc_boot to allocate emergency pool
xen/swiotlb: improve comment on gfp flags in xen_alloc_coherent()
xen/swiotlb: add sync functions
xen: set callout_map to make mtrr work
x86: define arch_vm_get_page_prot to set _PAGE_IOMAP on VM_IO vmas
agp: use more dma-ops-like operations for agp memory
agp/intel: use dma_alloc_coherent for special cursor memory
Merge branches 'push/xen/dom0/drm', 'push/xen/dom0/mtrr' and 'push/xen/dom0/pci' into push/xen/dom0/hardware

Mark McLoughlin (5):
xen mtrr: Use specific cpu_has_foo macros instead of generic cpu_has()
xen mtrr: Use generic_validate_add_page()
xen mtrr: Implement xen_get_free_region()
xen mtrr: Add xen_{get,set}_mtrr() implementations
xen mtrr: Kill some unneccessary includes
arch/x86/Kconfig | 4 +
arch/x86/include/asm/agp.h | 15 ++-
arch/x86/include/asm/pci.h | 8 +-
arch/x86/include/asm/pci_x86.h | 2 +
arch/x86/include/asm/pgtable.h | 3 +
arch/x86/include/asm/xen/iommu.h | 12 ++
arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +
arch/x86/kernel/cpu/mtrr/xen.c | 101 +++++++++---
arch/x86/kernel/pci-dma.c | 3 +
arch/x86/kernel/pci-swiotlb.c | 28 +++-
arch/x86/mm/pgtable.c | 10 ++
arch/x86/pci/Makefile | 1 +
arch/x86/pci/common.c | 18 ++-
arch/x86/pci/i386.c | 3 +
arch/x86/pci/init.c | 6 +
arch/x86/pci/xen.c | 52 ++++++
arch/x86/xen/Kconfig | 3 +
arch/x86/xen/enlighten.c | 6 +-
arch/x86/xen/mmu.c | 225 +++++++++++++++++++++++++-
arch/x86/xen/setup.c | 3 -
arch/x86/xen/smp.c | 1 +
drivers/char/agp/intel-agp.c | 26 ++--
drivers/pci/Makefile | 2 +
drivers/pci/xen-iommu.c | 331 ++++++++++++++++++++++++++++++++++++++
drivers/xen/balloon.c | 15 +--
include/xen/interface/memory.h | 50 ++++++
include/xen/swiotlb.h | 19 +++
include/xen/xen-ops.h | 6 +
lib/swiotlb.c | 5 +-
29 files changed, 890 insertions(+), 70 deletions(-)
create mode 100644 arch/x86/include/asm/xen/iommu.h
create mode 100644 arch/x86/pci/xen.c
create mode 100644 drivers/pci/xen-iommu.c
create mode 100644 include/xen/swiotlb.h

\
 
 \ /
  Last update: 2009-03-13 18:05    [from the cache]
©2003-2011 Jasper Spaans