L4Re Operating System Framework
Interface and Usage Documentation
|
The memory node needs at least the properties device_type and l4vmm,dscap:
memory@0 { device_type = "memory"; l4vmm,dscap = "ram"; }
Where the given l4vmm,dscap name is accessible in the capability namespace of the uvmm. If the capability is invalid, the memory node is disabled.
If memory nodes are given, but none provides valid RAM the configuration is invalid and uvmm refuses to boot.
Additional properties of the memory node are reg
and dma-ranges
.
The reg
property describes the location in the guest's address space that should be backed by RAM.
The dma-ranges
property describes the offset between guest-physical and host-physical addresses. The guest can evaluate this non-standard property to derive the correct DMA addresses to program into passed-through devices. Usage of this property requires modification of guest code.
The reg property is optional only in case the uvmm maps the guest's RAM into the VM under the host-physical addresses of the backing memory (l4vmm,dscap).
This case can be forced via the cmdline parameter -i and is the default for platforms without IOMMU, but with DMA capable devices on the configured vBus.
If the -i cmdline parameter is given, identity mapping is forced and the behavior is the same as in the case above. Additionally, the dma-ranges property is written
In case no -i cmdline parameter is given, the configuration is invalid and uvmm refuses to boot.
uvmm parses the reg property of the memory node and maps the memory into the VM to the given range(s).
If the -i cmdline parameter is set, the reg property is ignored and the memory is mapped into the VM under the corresponding host-physical addresses of the backing memory (l4vmm,dscap)
uvmm parses the reg property of the memory node and maps the memory into the VM to the given range(s).
The dma-ranges property is filled with the corresponding host-physical addresses of the backing memory (l4vmm,dscap).