1
2#ifndef QEMU_HW_H
3#define QEMU_HW_H
4
5#include "qemu-common.h"
6
7#if !defined(CONFIG_USER_ONLY) && !defined(NEED_CPU_H)
8#include "cpu-common.h"
9#endif
10
11#include "ioport.h"
12#include "irq.h"
13#include "qemu-aio.h"
14#include "qemu-file.h"
15#include "vmstate.h"
16#include "qemu-log.h"
17
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
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
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
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
37#endif
38#endif
39
40typedef void QEMUResetHandler(void *opaque);
41
42void qemu_register_reset(QEMUResetHandler *func, void *opaque);
43void qemu_unregister_reset(QEMUResetHandler *func, void *opaque);
44
45
46
47typedef int QEMUBootSetHandler(void *opaque, const char *boot_devices);
48void qemu_register_boot_set(QEMUBootSetHandler *func, void *opaque);
49int qemu_boot_set(const char *boot_devices);
50
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)
55#define VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, _v) \
56 VMSTATE_UINT64_ARRAY_V(_f, _s, _n, _v)
57#else
58#define VMSTATE_UINTTL_V(_f, _s, _v) \
59 VMSTATE_UINT32_V(_f, _s, _v)
60#define VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, _v) \
61 VMSTATE_UINT32_ARRAY_V(_f, _s, _n, _v)
62#endif
63#define VMSTATE_UINTTL(_f, _s) \
64 VMSTATE_UINTTL_V(_f, _s, 0)
65#define VMSTATE_UINTTL_ARRAY(_f, _s, _n) \
66 VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, 0)
67
68#endif
69
70#endif
71