mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 08:43:55 -06:00
acpi: arm/virt: convert build_iort() to endian agnostic build_append_FOO() API
Drop usage of packed structures and explicit endian conversions when building IORT table use endian agnostic build_append_int_noprefix() API to build it. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Message-Id: <20210924122802.1455362-30-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Eric Auger <eric.auger@redhat.com> Tested-by: Eric Auger <eric.auger@redhat.com>
This commit is contained in:
parent
3548494e49
commit
271cbb2f2b
2 changed files with 89 additions and 138 deletions
|
@ -188,75 +188,4 @@ struct AcpiGenericTimerTable {
|
|||
} QEMU_PACKED;
|
||||
typedef struct AcpiGenericTimerTable AcpiGenericTimerTable;
|
||||
|
||||
/*
|
||||
* IORT node types
|
||||
*/
|
||||
|
||||
#define ACPI_IORT_NODE_HEADER_DEF /* Node format common fields */ \
|
||||
uint8_t type; \
|
||||
uint16_t length; \
|
||||
uint8_t revision; \
|
||||
uint32_t reserved; \
|
||||
uint32_t mapping_count; \
|
||||
uint32_t mapping_offset;
|
||||
|
||||
/* Values for node Type above */
|
||||
enum {
|
||||
ACPI_IORT_NODE_ITS_GROUP = 0x00,
|
||||
ACPI_IORT_NODE_NAMED_COMPONENT = 0x01,
|
||||
ACPI_IORT_NODE_PCI_ROOT_COMPLEX = 0x02,
|
||||
ACPI_IORT_NODE_SMMU = 0x03,
|
||||
ACPI_IORT_NODE_SMMU_V3 = 0x04
|
||||
};
|
||||
|
||||
struct AcpiIortIdMapping {
|
||||
uint32_t input_base;
|
||||
uint32_t id_count;
|
||||
uint32_t output_base;
|
||||
uint32_t output_reference;
|
||||
uint32_t flags;
|
||||
} QEMU_PACKED;
|
||||
typedef struct AcpiIortIdMapping AcpiIortIdMapping;
|
||||
|
||||
struct AcpiIortMemoryAccess {
|
||||
uint32_t cache_coherency;
|
||||
uint8_t hints;
|
||||
uint16_t reserved;
|
||||
uint8_t memory_flags;
|
||||
} QEMU_PACKED;
|
||||
typedef struct AcpiIortMemoryAccess AcpiIortMemoryAccess;
|
||||
|
||||
struct AcpiIortItsGroup {
|
||||
ACPI_IORT_NODE_HEADER_DEF
|
||||
uint32_t its_count;
|
||||
uint32_t identifiers[];
|
||||
} QEMU_PACKED;
|
||||
typedef struct AcpiIortItsGroup AcpiIortItsGroup;
|
||||
|
||||
#define ACPI_IORT_SMMU_V3_COHACC_OVERRIDE 1
|
||||
|
||||
struct AcpiIortSmmu3 {
|
||||
ACPI_IORT_NODE_HEADER_DEF
|
||||
uint64_t base_address;
|
||||
uint32_t flags;
|
||||
uint32_t reserved2;
|
||||
uint64_t vatos_address;
|
||||
uint32_t model;
|
||||
uint32_t event_gsiv;
|
||||
uint32_t pri_gsiv;
|
||||
uint32_t gerr_gsiv;
|
||||
uint32_t sync_gsiv;
|
||||
AcpiIortIdMapping id_mapping_array[];
|
||||
} QEMU_PACKED;
|
||||
typedef struct AcpiIortSmmu3 AcpiIortSmmu3;
|
||||
|
||||
struct AcpiIortRC {
|
||||
ACPI_IORT_NODE_HEADER_DEF
|
||||
AcpiIortMemoryAccess memory_properties;
|
||||
uint32_t ats_attribute;
|
||||
uint32_t pci_segment_number;
|
||||
AcpiIortIdMapping id_mapping_array[];
|
||||
} QEMU_PACKED;
|
||||
typedef struct AcpiIortRC AcpiIortRC;
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue