Advertisement
Guest User

iommu options

a guest
Jan 24th, 2014
616
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.86 KB | None | 0 0
  1. ****SOURCED FROM*****
  2. https://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt
  3. *********************
  4.  
  5. IOMMU (input/output memory management unit)
  6.  
  7. Currently four x86-64 PCI-DMA mapping implementations exist:
  8.  
  9. 1. <arch/x86_64/kernel/pci-nommu.c>: use no hardware/software IOMMU at all
  10. (e.g. because you have < 3 GB memory).
  11. Kernel boot message: "PCI-DMA: Disabling IOMMU"
  12.  
  13. 2. <arch/x86/kernel/amd_gart_64.c>: AMD GART based hardware IOMMU.
  14. Kernel boot message: "PCI-DMA: using GART IOMMU"
  15.  
  16. 3. <arch/x86_64/kernel/pci-swiotlb.c> : Software IOMMU implementation. Used
  17. e.g. if there is no hardware IOMMU in the system and it is need because
  18. you have >3GB memory or told the kernel to us it (iommu=soft))
  19. Kernel boot message: "PCI-DMA: Using software bounce buffering
  20. for IO (SWIOTLB)"
  21.  
  22. 4. <arch/x86_64/pci-calgary.c> : IBM Calgary hardware IOMMU. Used in IBM
  23. pSeries and xSeries servers. This hardware IOMMU supports DMA address
  24. mapping with memory protection, etc.
  25. Kernel boot message: "PCI-DMA: Using Calgary IOMMU"
  26.  
  27. iommu=[<size>][,noagp][,off][,force][,noforce][,leak[=<nr_of_leak_pages>]
  28. [,memaper[=<order>]][,merge][,forcesac][,fullflush][,nomerge]
  29. [,noaperture][,calgary]
  30.  
  31. General iommu options:
  32. off Don't initialize and use any kind of IOMMU.
  33. noforce Don't force hardware IOMMU usage when it is not needed.
  34. (default).
  35. force Force the use of the hardware IOMMU even when it is
  36. not actually needed (e.g. because < 3 GB memory).
  37. soft Use software bounce buffering (SWIOTLB) (default for
  38. Intel machines). This can be used to prevent the usage
  39. of an available hardware IOMMU.
  40.  
  41. iommu options only relevant to the AMD GART hardware IOMMU:
  42. <size> Set the size of the remapping area in bytes.
  43. allowed Overwrite iommu off workarounds for specific chipsets.
  44. fullflush Flush IOMMU on each allocation (default).
  45. nofullflush Don't use IOMMU fullflush.
  46. leak Turn on simple iommu leak tracing (only when
  47. CONFIG_IOMMU_LEAK is on). Default number of leak pages
  48. is 20.
  49. memaper[=<order>] Allocate an own aperture over RAM with size 32MB<<order.
  50. (default: order=1, i.e. 64MB)
  51. merge Do scatter-gather (SG) merging. Implies "force"
  52. (experimental).
  53. nomerge Don't do scatter-gather (SG) merging.
  54. noaperture Ask the IOMMU not to touch the aperture for AGP.
  55. forcesac Force single-address cycle (SAC) mode for masks <40bits
  56. (experimental).
  57. noagp Don't initialize the AGP driver and use full aperture.
  58. allowdac Allow double-address cycle (DAC) mode, i.e. DMA >4GB.
  59. DAC is used with 32-bit PCI to push a 64-bit address in
  60. two cycles. When off all DMA over >4GB is forced through
  61. an IOMMU or software bounce buffering.
  62. nodac Forbid DAC mode, i.e. DMA >4GB.
  63. panic Always panic when IOMMU overflows.
  64. calgary Use the Calgary IOMMU if it is available
  65.  
  66. iommu options only relevant to the software bounce buffering (SWIOTLB) IOMMU
  67. implementation:
  68. swiotlb=<pages>[,force]
  69. <pages> Prereserve that many 128K pages for the software IO
  70. bounce buffering.
  71. force Force all IO through the software TLB.
  72.  
  73. Settings for the IBM Calgary hardware IOMMU currently found in IBM
  74. pSeries and xSeries machines:
  75.  
  76. calgary=[64k,128k,256k,512k,1M,2M,4M,8M]
  77. calgary=[translate_empty_slots]
  78. calgary=[disable=<PCI bus number>]
  79. panic Always panic when IOMMU overflows
  80.  
  81. 64k,...,8M - Set the size of each PCI slot's translation table
  82. when using the Calgary IOMMU. This is the size of the translation
  83. table itself in main memory. The smallest table, 64k, covers an IO
  84. space of 32MB; the largest, 8MB table, can cover an IO space of
  85. 4GB. Normally the kernel will make the right choice by itself.
  86.  
  87. translate_empty_slots - Enable translation even on slots that have
  88. no devices attached to them, in case a device will be hotplugged
  89. in the future.
  90.  
  91. disable=<PCI bus number> - Disable translation on a given PHB. For
  92. example, the built-in graphics adapter resides on the first bridge
  93. (PCI bus number 0); if translation (isolation) is enabled on this
  94. bridge, X servers that access the hardware directly from user
  95. space might stop working. Use this option if you have devices that
  96. are accessed from userspace directly on some PCI host bridge.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement