diff options
author | Isaku Yamahata <yamahata@valinux.co.jp> | 2011-03-25 19:54:40 +0900 |
---|---|---|
committer | Aurelien Jarno <aurelien@aurel32.net> | 2011-04-09 18:39:06 +0200 |
commit | eaba51c573afbdd45273eed9d61d9effda979b47 (patch) | |
tree | 31fd6fc51e065b02461184f978d79f6d34b29607 /hw/acpi.h | |
parent | 04dc308f687d45dacc664251b266b6849f5a79d0 (diff) | |
download | qemu-eaba51c573afbdd45273eed9d61d9effda979b47.zip qemu-eaba51c573afbdd45273eed9d61d9effda979b47.tar.gz qemu-eaba51c573afbdd45273eed9d61d9effda979b47.tar.bz2 |
acpi, acpi_piix, vt82c686: factor out PM1_CNT logic
factor out ACPI PM1_CNT logic. This will be used by ich9 acpi.
Cc: Blue Swirl <blauwirbel@gmail.com>
Cc: Huacai Chen <zltjiangshi@gmail.com>
Cc: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Diffstat (limited to 'hw/acpi.h')
-rw-r--r-- | hw/acpi.h | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -112,4 +112,18 @@ void acpi_pm1_evt_write_sts(ACPIPM1EVT *pm1, ACPIPMTimer *tmr, uint16_t val); void acpi_pm1_evt_power_down(ACPIPM1EVT *pm1, ACPIPMTimer *tmr); void acpi_pm1_evt_reset(ACPIPM1EVT *pm1); +/* PM1a_CNT: piix and ich9 don't implement PM1b CNT. */ +struct ACPIPM1CNT { + uint16_t cnt; + + qemu_irq cmos_s3; +}; +typedef struct ACPIPM1CNT ACPIPM1CNT; + +void acpi_pm1_cnt_init(ACPIPM1CNT *pm1_cnt, qemu_irq cmos_s3); +void acpi_pm1_cnt_write(ACPIPM1EVT *pm1a, ACPIPM1CNT *pm1_cnt, uint16_t val); +void acpi_pm1_cnt_update(ACPIPM1CNT *pm1_cnt, + bool sci_enable, bool sci_disable); +void acpi_pm1_cnt_reset(ACPIPM1CNT *pm1_cnt); + #endif /* !QEMU_HW_ACPI_H */ |