The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/virtio/mmio.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 * virtio memory mapped device
    2 
    3 See https://ozlabs.org/~rusty/virtio-spec/ for more details.
    4 
    5 Required properties:
    6 
    7 - compatible:   "virtio,mmio" compatibility string
    8 - reg:          control registers base address and size including configuration space
    9 - interrupts:   interrupt generated by the device
   10 
   11 Required properties for virtio-iommu:
   12 
   13 - #iommu-cells: When the node corresponds to a virtio-iommu device, it is
   14                 linked to DMA masters using the "iommus" or "iommu-map"
   15                 properties [1][2]. #iommu-cells specifies the size of the
   16                 "iommus" property. For virtio-iommu #iommu-cells must be
   17                 1, each cell describing a single endpoint ID.
   18 
   19 Optional properties:
   20 
   21 - iommus:       If the device accesses memory through an IOMMU, it should
   22                 have an "iommus" property [1]. Since virtio-iommu itself
   23                 does not access memory through an IOMMU, the "virtio,mmio"
   24                 node cannot have both an "#iommu-cells" and an "iommus"
   25                 property.
   26 
   27 Example:
   28 
   29         virtio_block@3000 {
   30                 compatible = "virtio,mmio";
   31                 reg = <0x3000 0x100>;
   32                 interrupts = <41>;
   33 
   34                 /* Device has endpoint ID 23 */
   35                 iommus = <&viommu 23>
   36         }
   37 
   38         viommu: iommu@3100 {
   39                 compatible = "virtio,mmio";
   40                 reg = <0x3100 0x100>;
   41                 interrupts = <42>;
   42 
   43                 #iommu-cells = <1>
   44         }
   45 
   46 [1] Documentation/devicetree/bindings/iommu/iommu.txt
   47 [2] Documentation/devicetree/bindings/pci/pci-iommu.txt

Cache object: c39064b66134a571e49a0f90798490fd


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.