0137fdc094
qemu-common.h should only be included by .c files. Its file comment explains why: "No header file should depend on qemu-common.h, as this would easily lead to circular header dependencies." hw/hw.h includes qemu-common.h, but its users generally need only hw_error() and qemu/module.h from it. Move the former to hw/hw.h, include the latter there, and drop the ill-advised include. hw/misc/cbus.c now misses hw_error(), so include hw/hw.h there. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
74 lines
2.4 KiB
C
74 lines
2.4 KiB
C
/* Declarations for use by hardware emulation. */
|
|
#ifndef QEMU_HW_H
|
|
#define QEMU_HW_H
|
|
|
|
|
|
#if !defined(CONFIG_USER_ONLY) && !defined(NEED_CPU_H)
|
|
#include "exec/cpu-common.h"
|
|
#endif
|
|
|
|
#include "exec/ioport.h"
|
|
#include "hw/irq.h"
|
|
#include "block/aio.h"
|
|
#include "migration/vmstate.h"
|
|
#include "qemu/log.h"
|
|
#include "qemu/module.h"
|
|
|
|
#ifdef NEED_CPU_H
|
|
#if TARGET_LONG_BITS == 64
|
|
#define qemu_put_betl qemu_put_be64
|
|
#define qemu_get_betl qemu_get_be64
|
|
#define qemu_put_betls qemu_put_be64s
|
|
#define qemu_get_betls qemu_get_be64s
|
|
#define qemu_put_sbetl qemu_put_sbe64
|
|
#define qemu_get_sbetl qemu_get_sbe64
|
|
#define qemu_put_sbetls qemu_put_sbe64s
|
|
#define qemu_get_sbetls qemu_get_sbe64s
|
|
#else
|
|
#define qemu_put_betl qemu_put_be32
|
|
#define qemu_get_betl qemu_get_be32
|
|
#define qemu_put_betls qemu_put_be32s
|
|
#define qemu_get_betls qemu_get_be32s
|
|
#define qemu_put_sbetl qemu_put_sbe32
|
|
#define qemu_get_sbetl qemu_get_sbe32
|
|
#define qemu_put_sbetls qemu_put_sbe32s
|
|
#define qemu_get_sbetls qemu_get_sbe32s
|
|
#endif
|
|
#endif
|
|
|
|
typedef void QEMUResetHandler(void *opaque);
|
|
|
|
void qemu_register_reset(QEMUResetHandler *func, void *opaque);
|
|
void qemu_unregister_reset(QEMUResetHandler *func, void *opaque);
|
|
|
|
void QEMU_NORETURN hw_error(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
|
|
|
|
#ifdef NEED_CPU_H
|
|
#if TARGET_LONG_BITS == 64
|
|
#define VMSTATE_UINTTL_V(_f, _s, _v) \
|
|
VMSTATE_UINT64_V(_f, _s, _v)
|
|
#define VMSTATE_UINTTL_EQUAL_V(_f, _s, _v) \
|
|
VMSTATE_UINT64_EQUAL_V(_f, _s, _v)
|
|
#define VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, _v) \
|
|
VMSTATE_UINT64_ARRAY_V(_f, _s, _n, _v)
|
|
#define vmstate_info_uinttl vmstate_info_uint64
|
|
#else
|
|
#define VMSTATE_UINTTL_V(_f, _s, _v) \
|
|
VMSTATE_UINT32_V(_f, _s, _v)
|
|
#define VMSTATE_UINTTL_EQUAL_V(_f, _s, _v) \
|
|
VMSTATE_UINT32_EQUAL_V(_f, _s, _v)
|
|
#define VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, _v) \
|
|
VMSTATE_UINT32_ARRAY_V(_f, _s, _n, _v)
|
|
#define vmstate_info_uinttl vmstate_info_uint32
|
|
#endif
|
|
#define VMSTATE_UINTTL(_f, _s) \
|
|
VMSTATE_UINTTL_V(_f, _s, 0)
|
|
#define VMSTATE_UINTTL_EQUAL(_f, _s) \
|
|
VMSTATE_UINTTL_EQUAL_V(_f, _s, 0)
|
|
#define VMSTATE_UINTTL_ARRAY(_f, _s, _n) \
|
|
VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, 0)
|
|
|
|
#endif
|
|
|
|
#endif
|