diff options
author | Jean-Philippe Brucker <jean-philippe@linaro.org> | 2021-04-07 00:30:19 +0300 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2021-04-07 20:09:00 +0300 |
commit | 582252034dd6b334c5f50140958362b19442fecd (patch) | |
tree | 2904a46409ede8a4395394193898a0deb8b04fb1 /include | |
parent | 14012d2fb1fea43077f71d33333ba3703a21fdd6 (diff) | |
download | linux-582252034dd6b334c5f50140958362b19442fecd.tar.xz |
ACPICA: iASL: Add definitions for the VIOT table
ACPICA commit fc4e33319c1ee08f20f5c44853dd8426643f6dfd
Add definitions for the VIOT table and its subtables.
Link: https://github.com/acpica/acpica/commit/fc4e3331
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Erik Kaneda <erik.kaneda@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/acpi/actbl3.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/include/acpi/actbl3.h b/include/acpi/actbl3.h index bf61a70deb22..e9bd7ce65f7c 100644 --- a/include/acpi/actbl3.h +++ b/include/acpi/actbl3.h @@ -33,6 +33,7 @@ #define ACPI_SIG_TCPA "TCPA" /* Trusted Computing Platform Alliance table */ #define ACPI_SIG_TPM2 "TPM2" /* Trusted Platform Module 2.0 H/W interface table */ #define ACPI_SIG_UEFI "UEFI" /* Uefi Boot Optimization Table */ +#define ACPI_SIG_VIOT "VIOT" /* Virtual I/O Translation Table */ #define ACPI_SIG_WAET "WAET" /* Windows ACPI Emulated devices Table */ #define ACPI_SIG_WDAT "WDAT" /* Watchdog Action Table */ #define ACPI_SIG_WDDT "WDDT" /* Watchdog Timer Description Table */ @@ -486,6 +487,71 @@ struct acpi_table_uefi { /******************************************************************************* * + * VIOT - Virtual I/O Translation Table + * Version 1 + * + ******************************************************************************/ + +struct acpi_table_viot { + struct acpi_table_header header; /* Common ACPI table header */ + u16 node_count; + u16 node_offset; + u8 reserved[8]; +}; + +/* VIOT subtable header */ + +struct acpi_viot_header { + u8 type; + u8 reserved; + u16 length; +}; + +/* Values for Type field above */ + +enum acpi_viot_node_type { + ACPI_VIOT_NODE_PCI_RANGE = 0x01, + ACPI_VIOT_NODE_MMIO = 0x02, + ACPI_VIOT_NODE_VIRTIO_IOMMU_PCI = 0x03, + ACPI_VIOT_NODE_VIRTIO_IOMMU_MMIO = 0x04, +}; + +/* VIOT subtables */ + +struct acpi_viot_pci_range { + ACPI_VIOT_HEADER header; + u32 endpoint_start; + u16 segment_start; + u16 segment_end; + u16 bdf_start; + u16 bdf_end; + u16 output_node; + u8 reserved[6]; +}; + +struct acpi_viot_mmio { + ACPI_VIOT_HEADER header; + u32 endpoint; + u64 base_address; + u16 output_node; + u8 reserved[6]; +}; + +struct acpi_viot_virtio_iommu_pci { + ACPI_VIOT_HEADER header; + u16 segment; + u16 bdf; + u8 reserved[8]; +}; + +struct acpi_viot_virtio_iommu_mmio { + ACPI_VIOT_HEADER header; + u8 reserved[4]; + u64 base_address; +}; + +/******************************************************************************* + * * WAET - Windows ACPI Emulated devices Table * Version 1 * |