2015-01-07 17:42:54 +00:00
|
|
|
* QEMU Firmware Configuration bindings for ARM
|
|
|
|
|
|
|
|
QEMU's arm-softmmu and aarch64-softmmu emulation / virtualization targets
|
|
|
|
provide the following Firmware Configuration interface on the "virt" machine
|
|
|
|
type:
|
|
|
|
|
|
|
|
- A write-only, 16-bit wide selector (or control) register,
|
|
|
|
- a read-write, 64-bit wide data register.
|
|
|
|
|
|
|
|
QEMU exposes the control and data register to ARM guests as memory mapped
|
|
|
|
registers; their location is communicated to the guest's UEFI firmware in the
|
|
|
|
DTB that QEMU places at the bottom of the guest's DRAM.
|
|
|
|
|
2016-01-28 14:23:14 +00:00
|
|
|
The authoritative guest-side hardware interface documentation to the fw_cfg
|
|
|
|
device can be found in "docs/specs/fw_cfg.txt" in the QEMU source tree.
|
2015-01-07 17:42:54 +00:00
|
|
|
|
|
|
|
|
|
|
|
Required properties:
|
|
|
|
|
|
|
|
- compatible: "qemu,fw-cfg-mmio".
|
|
|
|
|
|
|
|
- reg: the MMIO region used by the device.
|
|
|
|
* Bytes 0x0 to 0x7 cover the data register.
|
|
|
|
* Bytes 0x8 to 0x9 cover the selector register.
|
|
|
|
* Further registers may be appended to the region in case of future interface
|
|
|
|
revisions / feature bits.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
/ {
|
|
|
|
#size-cells = <0x2>;
|
|
|
|
#address-cells = <0x2>;
|
|
|
|
|
|
|
|
fw-cfg@9020000 {
|
|
|
|
compatible = "qemu,fw-cfg-mmio";
|
|
|
|
reg = <0x0 0x9020000 0x0 0xa>;
|
|
|
|
};
|
|
|
|
};
|