Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Jeremy Fitzhardinge <jeremy <at> goop.org>
Subject: [GIT PULL] Xen dom0 hardware access support
Newsgroups: gmane.comp.emulators.xen.devel
Date: Friday 13th March 2009 16:59:45 UTC (over 8 years ago)
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
 
CD: 4ms