1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/arm/xen.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Xen hypervisor 8 9maintainers: 10 - Stefano Stabellini <sstabellini@kernel.org> 11 12description: 13 Xen ARM virtual platforms shall have a top-level "hypervisor" node with 14 the properties defined below. 15 16properties: 17 $nodename: 18 pattern: '^hypervisor(@[0-9a-f]+)?$' 19 20 compatible: 21 description: 22 Specifies the Xen hypervisor. The version of the Xen ABI is encoded 23 in the first item as "xen,xen-<version>", followed by the generic 24 "xen,xen" string. 25 items: 26 - pattern: '^xen,xen-[0-9]+\.[0-9]+$' 27 - const: xen,xen 28 29 reg: 30 description: | 31 Base physical address and size of the regions in memory where special 32 resources should be mapped to, using a HYPERVISOR_memory_op hypercall. 33 34 Region 0 is reserved for mapping the grant table and must always be 35 present. The memory region must be large enough to map the whole grant 36 table (it is larger or equal to gnttab_max_grant_frames()). 37 38 Regions 1...N are extended regions (unused address space) for mapping 39 foreign GFNs and grants. They might be absent if there is nothing to 40 expose. 41 minItems: 1 42 43 interrupts: 44 description: 45 The interrupt used by Xen to inject event notifications. 46 A GIC node is also required. 47 maxItems: 1 48 49 uefi: 50 type: object 51 description: 52 Node populated by Xen to support UEFI on Xen ARM virtual platforms. 53 The format and meaning of the "xen,uefi-*" parameters are similar to 54 those in Documentation/arch/arm/uefi.rst, but are provided by the Xen 55 hypervisor together with a set of UEFI runtime services implemented via 56 hypercalls. 57 58 properties: 59 xen,uefi-system-table: 60 description: Guest physical address of the UEFI System Table. 61 $ref: /schemas/types.yaml#/definitions/uint64 62 63 xen,uefi-mmap-start: 64 description: Guest physical address of the UEFI memory map. 65 $ref: /schemas/types.yaml#/definitions/uint64 66 67 xen,uefi-mmap-size: 68 description: Size in bytes of the UEFI memory map pointed to by xen,uefi-mmap-start. 69 $ref: /schemas/types.yaml#/definitions/uint32 70 71 xen,uefi-mmap-desc-size: 72 description: Size in bytes of each entry in the UEFI memory map. 73 $ref: /schemas/types.yaml#/definitions/uint32 74 75 xen,uefi-mmap-desc-ver: 76 description: Version of the mmap descriptor format. 77 $ref: /schemas/types.yaml#/definitions/uint32 78 79 required: 80 - xen,uefi-system-table 81 - xen,uefi-mmap-start 82 - xen,uefi-mmap-size 83 - xen,uefi-mmap-desc-size 84 - xen,uefi-mmap-desc-ver 85 86 additionalProperties: false 87 88required: 89 - compatible 90 - reg 91 - interrupts 92 93additionalProperties: false 94 95examples: 96 - | 97 hypervisor@b0000000 { 98 compatible = "xen,xen-4.3", "xen,xen"; 99 reg = <0xb0000000 0x20000>; 100 interrupts = <1 15 0xf08>; 101 102 uefi { 103 xen,uefi-system-table = /bits/ 64 <0x1301415>; 104 xen,uefi-mmap-start = /bits/ 64 <0x7591400>; 105 xen,uefi-mmap-size = <0x1800>; 106 xen,uefi-mmap-desc-size = <0x30>; 107 xen,uefi-mmap-desc-ver = <1>; 108 }; 109 }; 110... 111