All of lore.kernel.org
 help / color / mirror / Atom feed
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


             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.