| #ifndef ACPI_VMCLOCK_H |
| #define ACPI_VMCLOCK_H |
| |
| #include "hw/acpi/bios-linker-loader.h" |
| #include "hw/qdev-core.h" |
| #include "qemu/uuid.h" |
| #include "qom/object.h" |
| |
| #define TYPE_VMCLOCK "vmclock" |
| |
| #define VMCLOCK_ADDR 0xfeffb000 |
| #define VMCLOCK_SIZE 0x1000 |
| |
| OBJECT_DECLARE_SIMPLE_TYPE(VmclockState, VMCLOCK) |
| |
| struct vmclock_abi; |
| |
| struct VmclockState { |
| DeviceState parent_obj; |
| MemoryRegion clk_page; |
| uint64_t physaddr; |
| struct vmclock_abi *clk; |
| }; |
| |
| /* returns NULL unless there is exactly one device */ |
| static inline Object *find_vmclock_dev(void) |
| { |
| return object_resolve_path_type("", TYPE_VMCLOCK, NULL); |
| } |
| |
| void vmclock_build_acpi(VmclockState *vms, GArray *table_data, |
| BIOSLinker *linker, const char *oem_id); |
| |
| #endif |