lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090103173130.GB6103@amd.com>
Date:	Sat, 3 Jan 2009 18:31:31 +0100
From:	Joerg Roedel <joerg.roedel@....com>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
CC:	gregkh@...e.de, avi@...hat.com, mingo@...hat.com,
	dwmw2@...radead.org, weidong.han@...el.com,
	linux-kernel@...r.kernel.org, iommu@...ts.linux-foundation.org
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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ