From: Joerg Roedel <joerg.roedel@amd.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: gregkh@suse.de, avi@redhat.com, mingo@redhat.com,
dwmw2@infradead.org, weidong.han@intel.com,
linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org
Subject: [GIT PULL] various IOMMU updates for 2.6.29
Date: Sat, 3 Jan 2009 18:31:31 +0100 [thread overview]
Message-ID: <20090103173130.GB6103@amd.com> (raw)
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
next reply other threads:[~2009-01-03 17:32 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-03 17:31 Joerg Roedel [this message]
2009-01-03 22:06 ` [GIT PULL] various IOMMU updates for 2.6.29 Ingo Molnar
2009-01-03 22:11 ` Joerg Roedel
2009-01-03 22:56 ` Joerg Roedel
2009-01-04 10:05 ` Ingo Molnar
2009-01-04 10:30 ` Joerg Roedel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090103173130.GB6103@amd.com \
--to=joerg.roedel@amd.com \
--cc=avi@redhat.com \
--cc=dwmw2@infradead.org \
--cc=gregkh@suse.de \
--cc=iommu@lists.linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=torvalds@linux-foundation.org \
--cc=weidong.han@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.