lkml.org 
[lkml]   [2009]   [Jan]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[GIT PULL] various IOMMU updates for 2.6.29
Hi Linus,

The following changes since commit 6680598b44ed3c0052d155522eb21fc5a00de5f3:
Ingo Molnar (1):
Disallow gcc versions 3.{0,1}

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu.git for-linus

The changes include:

- VT-d updates for 2.6.29
- multiple device assignment support for KVM from Han Weidong
- refactoring of the VT-d functions for KVM into a generic iommu api
and necessary KVM changes (required for amd iommu support in KVM)
- AMD IOMMU support for the iommu api (makes AMD IOMMU usable for pci
device assignment in kvm)
- other AMD IOMMU updates for 2.6.29 including:
+ cleanups and minor improvements
+ a debugfs stats interface

This code touches areas of various subsystem maintainers. Because it
would have required some special care if we merged this code over the
different subsystems I agreed with David Woodhouse and Avi Kivity that I
send you a seperate pull request for this stuff. The iommu api was
reviewed, discussed with and acked by Greg Kroah-Hartman.
Please pull.

Jaswinder Singh Rajput (1):
AMD IOMMU: prealloc_protection_domains should be static

Joerg Roedel (58):
KVM: rename vtd.c to iommu.c
introcude linux/iommu.h for an iommu api
add frontend implementation for the IOMMU API
select IOMMU_API when DMAR and/or AMD_IOMMU is selected
KVM: change KVM to use IOMMU API
VT-d: adapt domain init and destroy functions for IOMMU API
VT-d: adapt device attach and detach functions for IOMMU API
VT-d: adapt domain map and unmap functions for IOMMU API
VT-d: adapt domain iova_to_phys function for IOMMU API
VT-d: register functions for the IOMMU API
VT-d: remove now unused intel_iommu_found function
AMD IOMMU: rename iommu_map to iommu_map_page
AMD IOMMU: make dma_ops_free_pagetable generic
AMD IOMMU: add domain id free function
AMD IOMMU: refactor completion wait handling into separate functions
AMD IOMMU: move invalidation command building to a separate function
AMD IOMMU: don't remove protection domain from iommu_pd_list
AMD IOMMU: add iommu_flush_domain function
AMD IOMMU: add protection domain flags
AMD IOMMU: add checks for dma_ops domain to dma_ops functions
AMD IOMMU: add device reference counting for protection domains
AMD IOMMU: rename set_device_domain function
AMD IOMMU: add device detach helper functions
AMD IOMMU: add device notifier callback
AMD IOMMU: add domain cleanup helper function
AMD IOMMU: add domain init function for IOMMU API
AMD IOMMU: add domain destroy function for IOMMU API
AMD IOMMU: add device detach function for IOMMU API
AMD IOMMU: add device attach function for IOMMU API
AMD IOMMU: add domain map function for IOMMU API
AMD IOMMU: add domain unmap function for IOMMU API
AMD IOMMU: add domain address lookup function for IOMMU API
AMD IOMMU: register functions for the IOMMU API
AMD IOMMU: add a domain flag for default domains
AMD IOMMU: allocate a new protection for hotplugged devices
AMD IOMMU: use dev_name instead of self-build print_devid
AMD IOMMU: convert iommu->need_sync to bool
AMD IOMMU: convert amd_iommu_isolate to bool
AMD IOMMU: use calc_devid in prealloc_protection_domains
AMD IOMMU: use dev_name in iommu_enable function
AMD IOMMU: add Kconfig entry for statistic collection code
AMD IOMMU: add necessary header defines for stats counting
AMD IOMMU: add init code for statistic collection
AMD IOMMU: add stats counter for completion wait events
AMD IOMMU: add stats counter for map_single requests
AMD IOMMU: add stats counter for unmap_single requests
AMD IOMMU: add stats counter for map_sg requests
AMD IOMMU: add stats counter for unmap_sg requests
AMD IOMMU: add stats counter for alloc_coherent requests
AMD IOMMU: add stats counter for free_coherent requests
AMD IOMMU: add stats counter for cross-page request
AMD IOMMU: add stats counter for single iommu domain tlb flushes
AMD IOMMU: add stats counter for domain tlb flushes
AMD IOMMU: add statistics about allocated io memory
AMD IOMMU: add statistics about total number of map requests
kvm/iommu: fix compile warning
Merge branches 'iommu/api' and 'iommu/amd' into for-linus
AMD IOMMU: remove now unnecessary #ifdefs

Mark McLoughlin (12):
intel-iommu: remove some unused struct intel_iommu fields
intel-iommu: make init_dmars() static
intel-iommu: move DMA_32/64BIT_PFN into intel-iommu.c
intel-iommu: move root entry defs from dma_remapping.h
intel-iommu: move context entry defs out from dma_remapping.h
intel-iommu: move DMA PTE defs out of dma_remapping.h
intel-iommu: move struct dmar_domain def out dma_remapping.h
intel-iommu: move struct device_domain_info out of dma_remapping.h
intel-iommu: kill off duplicate def of dmar_disabled
intel-iommu: move iommu_prepare_gfx_mapping() out of dma_remapping.h
intel-iommu: trivially inline context entry macros
intel-iommu: trivially inline DMA PTE macros

Mike Day (1):
intel-iommu: fix bit shift at DOMAIN_FLAG_P2P_MULTIPLE_DEVICES

Weidong Han (17):
Initialize domain flags to 0
change P2P domain flags
Add global iommu list
Get iommu from g_iommus for deferred flush
iommu bitmap instead of iommu pointer in dmar_domain
calculate agaw for each iommu
iommu coherency
Add domain flag DOMAIN_FLAG_VIRTUAL_MACHINE
Add/remove domain device info for virtual machine domain
Add domain_flush_cache
Allocation and free functions of virtual machine domain
Change domain_context_mapping_one for virtual machine domain
Change intel iommu APIs of virtual machine domain
Check agaw is sufficient for mapped memory
KVM: use the new intel iommu APIs
KVM: support device deassignment
Deassign device in kvm_free_assgined_device

Yu Zhao (1):
VT-d: fix segment number being ignored when searching DRHD

arch/ia64/Kconfig | 3 +
arch/ia64/include/asm/kvm_host.h | 2 +-
arch/ia64/kvm/Makefile | 4 +-
arch/ia64/kvm/kvm-ia64.c | 3 +-
arch/x86/Kconfig | 13 +
arch/x86/include/asm/amd_iommu_types.h | 61 ++-
arch/x86/include/asm/kvm_host.h | 2 +-
arch/x86/kernel/amd_iommu.c | 666 ++++++++++++++++++++--
arch/x86/kernel/amd_iommu_init.c | 15 +-
arch/x86/kvm/Makefile | 4 +-
arch/x86/kvm/x86.c | 3 +-
drivers/base/Makefile | 1 +
drivers/base/iommu.c | 100 ++++
drivers/pci/dmar.c | 46 +-
drivers/pci/intel-iommu.c | 944 +++++++++++++++++++++++++++-----
include/linux/dma_remapping.h | 138 +-----
include/linux/dmar.h | 1 -
include/linux/intel-iommu.h | 25 +-
include/linux/iommu.h | 112 ++++
include/linux/kvm_host.h | 30 +-
virt/kvm/{vtd.c => iommu.c} | 135 +++--
virt/kvm/kvm_main.c | 50 ++-
22 files changed, 1894 insertions(+), 464 deletions(-)
create mode 100644 drivers/base/iommu.c
create mode 100644 include/linux/iommu.h
rename virt/kvm/{vtd.c => iommu.c} (58%)

--
| AMD Saxony Limited Liability Company & Co. KG
Operating | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
System | Register Court Dresden: HRA 4896
Research | General Partner authorized to represent:
Center | AMD Saxony LLC (Wilmington, Delaware, US)
| General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy



\
 
 \ /
  Last update: 2009-01-03 18:35    [W:0.044 / U:1.668 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site