mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
hw/arm/virt-acpi-build: Generate GTDT table
ACPI v5.1 defines GTDT for ARM devices as a place to describe timer related information in the system. The Arch Timer interrupts must be provided for GTDT. Signed-off-by: Shannon Zhao <zhaoshenglong@huawei.com> Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-id: 1432522520-8068-11-git-send-email-zhaoshenglong@huawei.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
982d06c561
commit
ee246400c1
4 changed files with 75 additions and 4 deletions
|
@ -340,6 +340,43 @@ struct AcpiMadtGenericDistributor {
|
|||
|
||||
typedef struct AcpiMadtGenericDistributor AcpiMadtGenericDistributor;
|
||||
|
||||
/*
|
||||
* Generic Timer Description Table (GTDT)
|
||||
*/
|
||||
|
||||
#define ACPI_GTDT_INTERRUPT_MODE (1 << 0)
|
||||
#define ACPI_GTDT_INTERRUPT_POLARITY (1 << 1)
|
||||
#define ACPI_GTDT_ALWAYS_ON (1 << 2)
|
||||
|
||||
/* Triggering */
|
||||
|
||||
#define ACPI_LEVEL_SENSITIVE ((uint8_t) 0x00)
|
||||
#define ACPI_EDGE_SENSITIVE ((uint8_t) 0x01)
|
||||
|
||||
/* Polarity */
|
||||
|
||||
#define ACPI_ACTIVE_HIGH ((uint8_t) 0x00)
|
||||
#define ACPI_ACTIVE_LOW ((uint8_t) 0x01)
|
||||
#define ACPI_ACTIVE_BOTH ((uint8_t) 0x02)
|
||||
|
||||
struct AcpiGenericTimerTable {
|
||||
ACPI_TABLE_HEADER_DEF
|
||||
uint64_t counter_block_addresss;
|
||||
uint32_t reserved;
|
||||
uint32_t secure_el1_interrupt;
|
||||
uint32_t secure_el1_flags;
|
||||
uint32_t non_secure_el1_interrupt;
|
||||
uint32_t non_secure_el1_flags;
|
||||
uint32_t virtual_timer_interrupt;
|
||||
uint32_t virtual_timer_flags;
|
||||
uint32_t non_secure_el2_interrupt;
|
||||
uint32_t non_secure_el2_flags;
|
||||
uint64_t counter_read_block_address;
|
||||
uint32_t platform_timer_count;
|
||||
uint32_t platform_timer_offset;
|
||||
} QEMU_PACKED;
|
||||
typedef struct AcpiGenericTimerTable AcpiGenericTimerTable;
|
||||
|
||||
/*
|
||||
* HPET Description Table
|
||||
*/
|
||||
|
|
|
@ -34,6 +34,11 @@
|
|||
|
||||
#define NUM_VIRTIO_TRANSPORTS 32
|
||||
|
||||
#define ARCH_TIMER_VIRT_IRQ 11
|
||||
#define ARCH_TIMER_S_EL1_IRQ 13
|
||||
#define ARCH_TIMER_NS_EL1_IRQ 14
|
||||
#define ARCH_TIMER_NS_EL2_IRQ 10
|
||||
|
||||
enum {
|
||||
VIRT_FLASH,
|
||||
VIRT_MEM,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue