mirror of
https://github.com/torvalds/linux.git
synced 2026-09-26 10:02:02 +02:00
Convert the Xen ARM device tree binding documentation from the legacy plain-text format (Documentation/devicetree/bindings/arm/xen.txt) to the DT schema format, as required by the modern DT binding process. The "hypervisor" node is named without a unit-address. The name is part of the Xen ABI and is matched verbatim by the kernel using strcmp() in arch/arm/xen/enlighten.c and arch/arm64/kernel/acpi.c. Allow a unit-address so this can be addressed and the dtc warnings can be avoided in the example. Signed-off-by: Tejas Mutalikdesai <tejasmutalikdesai@gmail.com> Link: https://patch.msgid.link/20260618151147.9438-1-tejasmutalikdesai@gmail.com [robh: Allow a unit-address] Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
111 lines
3.3 KiB
YAML
111 lines
3.3 KiB
YAML
# 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 <sstabellini@kernel.org>
|
|
|
|
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-<version>", 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>;
|
|
};
|
|
};
|
|
...
|