mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
14012d2fb1
commit
582252034d
|
@ -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 */
|
||||
|
@ -484,6 +485,71 @@ struct acpi_table_uefi {
|
|||
u16 data_offset; /* Offset of remaining data in table */
|
||||
};
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* 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
|
||||
|
|
Loading…
Reference in New Issue