2010-05-14 11:29:00 +04:00
|
|
|
#ifndef APM_H
|
|
|
|
#define APM_H
|
|
|
|
|
2012-12-17 21:19:49 +04:00
|
|
|
#include "exec/memory.h"
|
2010-05-14 11:29:00 +04:00
|
|
|
|
2018-02-28 17:23:50 +03:00
|
|
|
#define APM_CNT_IOPORT 0xb2
|
|
|
|
#define ACPI_PORT_SMI_CMD APM_CNT_IOPORT
|
|
|
|
|
2010-05-14 11:29:00 +04:00
|
|
|
typedef void (*apm_ctrl_changed_t)(uint32_t val, void *arg);
|
|
|
|
|
|
|
|
typedef struct APMState {
|
|
|
|
uint8_t apmc;
|
|
|
|
uint8_t apms;
|
|
|
|
|
|
|
|
apm_ctrl_changed_t callback;
|
|
|
|
void *arg;
|
2012-09-19 15:50:03 +04:00
|
|
|
MemoryRegion io;
|
2010-05-14 11:29:00 +04:00
|
|
|
} APMState;
|
|
|
|
|
2012-09-19 15:50:03 +04:00
|
|
|
void apm_init(PCIDevice *dev, APMState *s, apm_ctrl_changed_t callback,
|
|
|
|
void *arg);
|
2010-05-14 11:29:00 +04:00
|
|
|
|
|
|
|
extern const VMStateDescription vmstate_apm;
|
|
|
|
|
|
|
|
#endif /* APM_H */
|