forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
2.8 KiB
60 lines
2.8 KiB
* Xen hypervisor device tree bindings |
|
|
|
Xen ARM virtual platforms shall have a top-level "hypervisor" node with |
|
the following properties: |
|
|
|
- compatible: |
|
compatible = "xen,xen-<version>", "xen,xen"; |
|
where <version> is the version of the Xen ABI of the platform. |
|
|
|
- reg: specifies the base physical address and size of a region in |
|
memory where the grant table should be mapped to, using an |
|
HYPERVISOR_memory_op hypercall. The memory region is large enough to map |
|
the whole grant table (it is larger or equal to gnttab_max_grant_frames()). |
|
This property is unnecessary when booting Dom0 using ACPI. |
|
|
|
- interrupts: the interrupt used by Xen to inject event notifications. |
|
A GIC node is also required. |
|
This property is unnecessary when booting Dom0 using ACPI. |
|
|
|
To support UEFI on Xen ARM virtual platforms, Xen populates the FDT "uefi" node |
|
under /hypervisor with following parameters: |
|
|
|
________________________________________________________________________________ |
|
Name | Size | Description |
|
================================================================================ |
|
xen,uefi-system-table | 64-bit | Guest physical address of the UEFI System |
|
| | Table. |
|
-------------------------------------------------------------------------------- |
|
xen,uefi-mmap-start | 64-bit | Guest physical address of the UEFI memory |
|
| | map. |
|
-------------------------------------------------------------------------------- |
|
xen,uefi-mmap-size | 32-bit | Size in bytes of the UEFI memory map |
|
| | pointed to in previous entry. |
|
-------------------------------------------------------------------------------- |
|
xen,uefi-mmap-desc-size | 32-bit | Size in bytes of each entry in the UEFI |
|
| | memory map. |
|
-------------------------------------------------------------------------------- |
|
xen,uefi-mmap-desc-ver | 32-bit | Version of the mmap descriptor format. |
|
-------------------------------------------------------------------------------- |
|
|
|
Example (assuming #address-cells = <2> and #size-cells = <2>): |
|
|
|
hypervisor { |
|
compatible = "xen,xen-4.3", "xen,xen"; |
|
reg = <0 0xb0000000 0 0x20000>; |
|
interrupts = <1 15 0xf08>; |
|
uefi { |
|
xen,uefi-system-table = <0xXXXXXXXX>; |
|
xen,uefi-mmap-start = <0xXXXXXXXX>; |
|
xen,uefi-mmap-size = <0xXXXXXXXX>; |
|
xen,uefi-mmap-desc-size = <0xXXXXXXXX>; |
|
xen,uefi-mmap-desc-ver = <0xXXXXXXXX>; |
|
}; |
|
}; |
|
|
|
The format and meaning of the "xen,uefi-*" parameters are similar to those in |
|
Documentation/arm/uefi.rst, which are provided by the regular UEFI stub. However |
|
they differ because they are provided by the Xen hypervisor, together with a set |
|
of UEFI runtime services implemented via hypercalls, see |
|
http://xenbits.xen.org/docs/unstable/hypercall/x86_64/include,public,platform.h.html.
|
|
|