xref: /qemu/include/hw/isa/apm.h (revision 022c62cbbcf1ff40b23c92874f8670cddfec2414)
104762841SIsaku Yamahata #ifndef APM_H
204762841SIsaku Yamahata #define APM_H
304762841SIsaku Yamahata 
404762841SIsaku Yamahata #include <stdint.h>
504762841SIsaku Yamahata #include "qemu-common.h"
604762841SIsaku Yamahata #include "hw.h"
7*022c62cbSPaolo Bonzini #include "exec/memory.h"
804762841SIsaku Yamahata 
904762841SIsaku Yamahata typedef void (*apm_ctrl_changed_t)(uint32_t val, void *arg);
1004762841SIsaku Yamahata 
1104762841SIsaku Yamahata typedef struct APMState {
1204762841SIsaku Yamahata     uint8_t apmc;
1304762841SIsaku Yamahata     uint8_t apms;
1404762841SIsaku Yamahata 
1504762841SIsaku Yamahata     apm_ctrl_changed_t callback;
1604762841SIsaku Yamahata     void *arg;
1742d8a3cfSJulien Grall     MemoryRegion io;
1804762841SIsaku Yamahata } APMState;
1904762841SIsaku Yamahata 
2042d8a3cfSJulien Grall void apm_init(PCIDevice *dev, APMState *s, apm_ctrl_changed_t callback,
2142d8a3cfSJulien Grall               void *arg);
2204762841SIsaku Yamahata 
2304762841SIsaku Yamahata extern const VMStateDescription vmstate_apm;
2404762841SIsaku Yamahata 
2504762841SIsaku Yamahata #endif /* APM_H */
26