]>
Commit | Line | Data |
---|---|---|
87ecb68b PB |
1 | /* Declarations for use by hardware emulation. */ |
2 | #ifndef QEMU_HW_H | |
3 | #define QEMU_HW_H | |
4 | ||
5 | #include "qemu-common.h" | |
1ad2134f | 6 | |
4be403c8 | 7 | #if !defined(CONFIG_USER_ONLY) && !defined(NEED_CPU_H) |
022c62cb | 8 | #include "exec/cpu-common.h" |
1ad2134f PB |
9 | #endif |
10 | ||
022c62cb | 11 | #include "exec/ioport.h" |
83c9f4ca | 12 | #include "hw/irq.h" |
737e150e | 13 | #include "block/aio.h" |
caf71f86 PB |
14 | #include "migration/qemu-file.h" |
15 | #include "migration/vmstate.h" | |
1de7afc9 | 16 | #include "qemu/log.h" |
b6c4f71f | 17 | |
87ecb68b PB |
18 | #ifdef NEED_CPU_H |
19 | #if TARGET_LONG_BITS == 64 | |
20 | #define qemu_put_betl qemu_put_be64 | |
21 | #define qemu_get_betl qemu_get_be64 | |
22 | #define qemu_put_betls qemu_put_be64s | |
23 | #define qemu_get_betls qemu_get_be64s | |
b6c4f71f BS |
24 | #define qemu_put_sbetl qemu_put_sbe64 |
25 | #define qemu_get_sbetl qemu_get_sbe64 | |
26 | #define qemu_put_sbetls qemu_put_sbe64s | |
27 | #define qemu_get_sbetls qemu_get_sbe64s | |
87ecb68b PB |
28 | #else |
29 | #define qemu_put_betl qemu_put_be32 | |
30 | #define qemu_get_betl qemu_get_be32 | |
31 | #define qemu_put_betls qemu_put_be32s | |
32 | #define qemu_get_betls qemu_get_be32s | |
b6c4f71f BS |
33 | #define qemu_put_sbetl qemu_put_sbe32 |
34 | #define qemu_get_sbetl qemu_get_sbe32 | |
35 | #define qemu_put_sbetls qemu_put_sbe32s | |
36 | #define qemu_get_sbetls qemu_get_sbe32s | |
87ecb68b PB |
37 | #endif |
38 | #endif | |
39 | ||
87ecb68b PB |
40 | typedef void QEMUResetHandler(void *opaque); |
41 | ||
a08d4367 | 42 | void qemu_register_reset(QEMUResetHandler *func, void *opaque); |
dda9b29f | 43 | void qemu_unregister_reset(QEMUResetHandler *func, void *opaque); |
87ecb68b | 44 | |
76e30d0f | 45 | /* handler to set the boot_device order for a specific type of QEMUMachine */ |
0ecdffbb | 46 | /* return 0 if success */ |
76e30d0f | 47 | typedef int QEMUBootSetHandler(void *opaque, const char *boot_devices); |
3b4366de | 48 | void qemu_register_boot_set(QEMUBootSetHandler *func, void *opaque); |
76e30d0f | 49 | int qemu_boot_set(const char *boot_devices); |
0ecdffbb | 50 | |
f89a8e4e JQ |
51 | #ifdef NEED_CPU_H |
52 | #if TARGET_LONG_BITS == 64 | |
53 | #define VMSTATE_UINTTL_V(_f, _s, _v) \ | |
54 | VMSTATE_UINT64_V(_f, _s, _v) | |
d58f5598 DG |
55 | #define VMSTATE_UINTTL_EQUAL_V(_f, _s, _v) \ |
56 | VMSTATE_UINT64_EQUAL_V(_f, _s, _v) | |
f89a8e4e JQ |
57 | #define VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, _v) \ |
58 | VMSTATE_UINT64_ARRAY_V(_f, _s, _n, _v) | |
59 | #else | |
60 | #define VMSTATE_UINTTL_V(_f, _s, _v) \ | |
61 | VMSTATE_UINT32_V(_f, _s, _v) | |
d58f5598 DG |
62 | #define VMSTATE_UINTTL_EQUAL_V(_f, _s, _v) \ |
63 | VMSTATE_UINT32_EQUAL_V(_f, _s, _v) | |
f89a8e4e JQ |
64 | #define VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, _v) \ |
65 | VMSTATE_UINT32_ARRAY_V(_f, _s, _n, _v) | |
66 | #endif | |
67 | #define VMSTATE_UINTTL(_f, _s) \ | |
68 | VMSTATE_UINTTL_V(_f, _s, 0) | |
d58f5598 DG |
69 | #define VMSTATE_UINTTL_EQUAL(_f, _s) \ |
70 | VMSTATE_UINTTL_EQUAL_V(_f, _s, 0) | |
f89a8e4e JQ |
71 | #define VMSTATE_UINTTL_ARRAY(_f, _s, _n) \ |
72 | VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, 0) | |
73 | ||
74 | #endif | |
75 | ||
87ecb68b | 76 | #endif |