]>
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 | 14 | #include "migration/vmstate.h" |
1de7afc9 | 15 | #include "qemu/log.h" |
b6c4f71f | 16 | |
87ecb68b PB |
17 | #ifdef NEED_CPU_H |
18 | #if TARGET_LONG_BITS == 64 | |
19 | #define qemu_put_betl qemu_put_be64 | |
20 | #define qemu_get_betl qemu_get_be64 | |
21 | #define qemu_put_betls qemu_put_be64s | |
22 | #define qemu_get_betls qemu_get_be64s | |
b6c4f71f BS |
23 | #define qemu_put_sbetl qemu_put_sbe64 |
24 | #define qemu_get_sbetl qemu_get_sbe64 | |
25 | #define qemu_put_sbetls qemu_put_sbe64s | |
26 | #define qemu_get_sbetls qemu_get_sbe64s | |
87ecb68b PB |
27 | #else |
28 | #define qemu_put_betl qemu_put_be32 | |
29 | #define qemu_get_betl qemu_get_be32 | |
30 | #define qemu_put_betls qemu_put_be32s | |
31 | #define qemu_get_betls qemu_get_be32s | |
b6c4f71f BS |
32 | #define qemu_put_sbetl qemu_put_sbe32 |
33 | #define qemu_get_sbetl qemu_get_sbe32 | |
34 | #define qemu_put_sbetls qemu_put_sbe32s | |
35 | #define qemu_get_sbetls qemu_get_sbe32s | |
87ecb68b PB |
36 | #endif |
37 | #endif | |
38 | ||
87ecb68b PB |
39 | typedef void QEMUResetHandler(void *opaque); |
40 | ||
a08d4367 | 41 | void qemu_register_reset(QEMUResetHandler *func, void *opaque); |
dda9b29f | 42 | void qemu_unregister_reset(QEMUResetHandler *func, void *opaque); |
87ecb68b | 43 | |
76e30d0f | 44 | /* handler to set the boot_device order for a specific type of QEMUMachine */ |
0ecdffbb | 45 | /* return 0 if success */ |
083b79c9 | 46 | typedef int QEMUBootSetHandler(void *opaque, const char *boot_order); |
3b4366de | 47 | void qemu_register_boot_set(QEMUBootSetHandler *func, void *opaque); |
083b79c9 | 48 | int qemu_boot_set(const char *boot_order); |
0ecdffbb | 49 | |
f89a8e4e JQ |
50 | #ifdef NEED_CPU_H |
51 | #if TARGET_LONG_BITS == 64 | |
52 | #define VMSTATE_UINTTL_V(_f, _s, _v) \ | |
53 | VMSTATE_UINT64_V(_f, _s, _v) | |
d58f5598 DG |
54 | #define VMSTATE_UINTTL_EQUAL_V(_f, _s, _v) \ |
55 | VMSTATE_UINT64_EQUAL_V(_f, _s, _v) | |
f89a8e4e JQ |
56 | #define VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, _v) \ |
57 | VMSTATE_UINT64_ARRAY_V(_f, _s, _n, _v) | |
58 | #else | |
59 | #define VMSTATE_UINTTL_V(_f, _s, _v) \ | |
60 | VMSTATE_UINT32_V(_f, _s, _v) | |
d58f5598 DG |
61 | #define VMSTATE_UINTTL_EQUAL_V(_f, _s, _v) \ |
62 | VMSTATE_UINT32_EQUAL_V(_f, _s, _v) | |
f89a8e4e JQ |
63 | #define VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, _v) \ |
64 | VMSTATE_UINT32_ARRAY_V(_f, _s, _n, _v) | |
65 | #endif | |
66 | #define VMSTATE_UINTTL(_f, _s) \ | |
67 | VMSTATE_UINTTL_V(_f, _s, 0) | |
d58f5598 DG |
68 | #define VMSTATE_UINTTL_EQUAL(_f, _s) \ |
69 | VMSTATE_UINTTL_EQUAL_V(_f, _s, 0) | |
f89a8e4e JQ |
70 | #define VMSTATE_UINTTL_ARRAY(_f, _s, _n) \ |
71 | VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, 0) | |
72 | ||
73 | #endif | |
74 | ||
87ecb68b | 75 | #endif |