1. 10 11月, 2009 1 次提交
  2. 25 9月, 2009 1 次提交
  3. 24 9月, 2009 1 次提交
  4. 19 9月, 2009 1 次提交
  5. 11 9月, 2009 2 次提交
  6. 02 9月, 2009 1 次提交
  7. 31 8月, 2009 1 次提交
    • T
      pci/dmar: correct off-by-one error in dmar_fault() · 8211a7b5
      Troy Heber 提交于
      DMAR faults are recorded into a ring of "fault recording registers".
      fault_index is a 0-based index into the ring. The code allows the
      0-based fault_index to be equal to the total number of fault registers
      available from the cap_num_fault_regs() macro, which causes access
      beyond the last available register.
      
      Signed-off-by Troy Heber <troy.heber@hp.com>
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      8211a7b5
  8. 29 8月, 2009 1 次提交
  9. 04 8月, 2009 1 次提交
  10. 22 7月, 2009 1 次提交
    • J
      intel_txt: Force IOMMU on for Intel TXT launch · a59b50e9
      Joseph Cihula 提交于
      The tboot module will DMA protect all of memory in order to ensure the that
      kernel will be able to initialize without compromise (from DMA).  Consequently,
      the kernel must enable Intel Virtualization Technology for Directed I/O
      (VT-d or Intel IOMMU) in order to replace this broad protection with the
      appropriate page-granular protection.  Otherwise DMA devices will be unable
      to read or write from memory and the kernel will eventually panic.
      
      Because runtime IOMMU support is configurable by command line options, this
      patch will force it to be enabled regardless of the options specified, and will
      log a message if it was required to force it on.
      
       dmar.c        |    7 +++++++
       intel-iommu.c |   17 +++++++++++++++--
       2 files changed, 22 insertions(+), 2 deletions(-)
      Signed-off-by: NJoseph Cihula <joseph.cihula@intel.com>
      Signed-off-by: NShane Wang <shane.wang@intel.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      a59b50e9
  11. 18 5月, 2009 2 次提交
  12. 14 5月, 2009 1 次提交
  13. 11 5月, 2009 3 次提交
  14. 29 4月, 2009 1 次提交
    • F
      Intel IOMMU Pass Through Support · 4ed0d3e6
      Fenghua Yu 提交于
      The patch adds kernel parameter intel_iommu=pt to set up pass through
      mode in context mapping entry. This disables DMAR in linux kernel; but
      KVM still runs on VT-d and interrupt remapping still works.
      
      In this mode, kernel uses swiotlb for DMA API functions but other VT-d
      functionalities are enabled for KVM. KVM always uses multi level
      translation page table in VT-d. By default, pass though mode is disabled
      in kernel.
      
      This is useful when people don't want to enable VT-d DMAR in kernel but
      still want to use KVM and interrupt remapping for reasons like DMAR
      performance concern or debug purpose.
      Signed-off-by: NFenghua Yu <fenghua.yu@intel.com>
      Acked-by: NWeidong Han <weidong@intel.com>
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      4ed0d3e6
  15. 11 4月, 2009 1 次提交
  16. 04 4月, 2009 2 次提交
  17. 18 3月, 2009 5 次提交
  18. 14 2月, 2009 1 次提交
    • T
      intel-iommu: fix endless "Unknown DMAR structure type" loop · 084eb960
      Tony Battersby 提交于
      I have a SuperMicro C2SBX motherboard with BIOS revision 1.0b.  With vt-d
      enabled in the BIOS, Linux gets into an endless loop printing
      "DMAR:Unknown DMAR structure type" when booting.  Here is the DMAR ACPI
      table:
      
      DMAR @ 0x7fe86dec
        0000: 44 4d 41 52 98 00 00 00 01 6f 49 6e 74 65 6c 20  DMAR.....oIntel
        0010: 4f 45 4d 44 4d 41 52 20 00 00 04 06 4c 4f 48 52  OEMDMAR ....LOHR
        0020: 01 00 00 00 23 00 00 00 00 00 00 00 00 00 00 00  ....#...........
        0030: 01 00 58 00 00 00 00 00 00 a0 e8 7f 00 00 00 00  ..X.............
        0040: ff ff ef 7f 00 00 00 00 01 08 00 00 00 00 1d 00  ................
        0050: 01 08 00 00 00 00 1d 01 01 08 00 00 00 00 1d 02  ................
        0060: 01 08 00 00 00 00 1d 07 01 08 00 00 00 00 1a 00  ................
        0070: 01 08 00 00 00 00 1a 01 01 08 00 00 00 00 1a 02  ................
        0080: 01 08 00 00 00 00 1a 07 01 08 00 00 00 00 1a 07  ................
        0090: c0 00 68 00 04 10 66 60                          ..h...f`
      
      Here are the messages printed by the kernel:
      
      DMAR:Host address width 36
      DMAR:RMRR base: 0x000000007fe8a000 end: 0x000000007fefffff
      DMAR:Unknown DMAR structure type
      DMAR:Unknown DMAR structure type
      DMAR:Unknown DMAR structure type
      ...
      
      Although I not very familiar with ACPI, to me it looks like struct
      acpi_dmar_header::length == 0x0058 is incorrect, causing
      parse_dmar_table() to look at an invalid offset on the next loop.  This
      offset happens to have struct acpi_dmar_header::length == 0x0000, which
      prevents the loop from ever terminating.  This patch checks for this
      condition and bails out instead of looping forever.
      Signed-off-by: NTony Battersby <tonyb@cybernetics.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      084eb960
  19. 11 2月, 2009 1 次提交
  20. 09 2月, 2009 2 次提交
  21. 03 1月, 2009 2 次提交
  22. 18 10月, 2008 2 次提交
  23. 17 10月, 2008 3 次提交
  24. 16 10月, 2008 3 次提交