# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/arm/xen.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Xen hypervisor maintainers: - Stefano Stabellini description: Xen ARM virtual platforms shall have a top-level "hypervisor" node with the properties defined below. properties: $nodename: pattern: '^hypervisor(@[0-9a-f]+)?$' compatible: description: Specifies the Xen hypervisor. The version of the Xen ABI is encoded in the first item as "xen,xen-", followed by the generic "xen,xen" string. items: - pattern: '^xen,xen-[0-9]+\.[0-9]+$' - const: xen,xen reg: description: | Base physical address and size of the regions in memory where special resources should be mapped to, using a HYPERVISOR_memory_op hypercall. Region 0 is reserved for mapping the grant table and must always be present. The memory region must be large enough to map the whole grant table (it is larger or equal to gnttab_max_grant_frames()). Regions 1...N are extended regions (unused address space) for mapping foreign GFNs and grants. They might be absent if there is nothing to expose. minItems: 1 interrupts: description: The interrupt used by Xen to inject event notifications. A GIC node is also required. maxItems: 1 uefi: type: object description: Node populated by Xen to support UEFI on Xen ARM virtual platforms. The format and meaning of the "xen,uefi-*" parameters are similar to those in Documentation/arch/arm/uefi.rst, but are provided by the Xen hypervisor together with a set of UEFI runtime services implemented via hypercalls. properties: xen,uefi-system-table: description: Guest physical address of the UEFI System Table. $ref: /schemas/types.yaml#/definitions/uint64 xen,uefi-mmap-start: description: Guest physical address of the UEFI memory map. $ref: /schemas/types.yaml#/definitions/uint64 xen,uefi-mmap-size: description: Size in bytes of the UEFI memory map pointed to by xen,uefi-mmap-start. $ref: /schemas/types.yaml#/definitions/uint32 xen,uefi-mmap-desc-size: description: Size in bytes of each entry in the UEFI memory map. $ref: /schemas/types.yaml#/definitions/uint32 xen,uefi-mmap-desc-ver: description: Version of the mmap descriptor format. $ref: /schemas/types.yaml#/definitions/uint32 required: - xen,uefi-system-table - xen,uefi-mmap-start - xen,uefi-mmap-size - xen,uefi-mmap-desc-size - xen,uefi-mmap-desc-ver additionalProperties: false required: - compatible - reg - interrupts additionalProperties: false examples: - | hypervisor@b0000000 { compatible = "xen,xen-4.3", "xen,xen"; reg = <0xb0000000 0x20000>; interrupts = <1 15 0xf08>; uefi { xen,uefi-system-table = /bits/ 64 <0x1301415>; xen,uefi-mmap-start = /bits/ 64 <0x7591400>; xen,uefi-mmap-size = <0x1800>; xen,uefi-mmap-desc-size = <0x30>; xen,uefi-mmap-desc-ver = <1>; }; }; ...