hw.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /* Declarations for use by hardware emulation. */
  2. #ifndef QEMU_HW_H
  3. #define QEMU_HW_H
  4. #include "qemu-common.h"
  5. #if defined(TARGET_PHYS_ADDR_BITS) && !defined(NEED_CPU_H)
  6. #include "cpu-common.h"
  7. #endif
  8. #include "ioport.h"
  9. #include "irq.h"
  10. #include "qemu-file.h"
  11. #include "vmstate.h"
  12. #ifdef NEED_CPU_H
  13. #if TARGET_LONG_BITS == 64
  14. #define qemu_put_betl qemu_put_be64
  15. #define qemu_get_betl qemu_get_be64
  16. #define qemu_put_betls qemu_put_be64s
  17. #define qemu_get_betls qemu_get_be64s
  18. #define qemu_put_sbetl qemu_put_sbe64
  19. #define qemu_get_sbetl qemu_get_sbe64
  20. #define qemu_put_sbetls qemu_put_sbe64s
  21. #define qemu_get_sbetls qemu_get_sbe64s
  22. #else
  23. #define qemu_put_betl qemu_put_be32
  24. #define qemu_get_betl qemu_get_be32
  25. #define qemu_put_betls qemu_put_be32s
  26. #define qemu_get_betls qemu_get_be32s
  27. #define qemu_put_sbetl qemu_put_sbe32
  28. #define qemu_get_sbetl qemu_get_sbe32
  29. #define qemu_put_sbetls qemu_put_sbe32s
  30. #define qemu_get_sbetls qemu_get_sbe32s
  31. #endif
  32. #endif
  33. typedef void QEMUResetHandler(void *opaque);
  34. void qemu_register_reset(QEMUResetHandler *func, void *opaque);
  35. void qemu_unregister_reset(QEMUResetHandler *func, void *opaque);
  36. /* handler to set the boot_device order for a specific type of QEMUMachine */
  37. /* return 0 if success */
  38. typedef int QEMUBootSetHandler(void *opaque, const char *boot_devices);
  39. void qemu_register_boot_set(QEMUBootSetHandler *func, void *opaque);
  40. int qemu_boot_set(const char *boot_devices);
  41. #ifdef NEED_CPU_H
  42. #if TARGET_LONG_BITS == 64
  43. #define VMSTATE_UINTTL_V(_f, _s, _v) \
  44. VMSTATE_UINT64_V(_f, _s, _v)
  45. #define VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, _v) \
  46. VMSTATE_UINT64_ARRAY_V(_f, _s, _n, _v)
  47. #else
  48. #define VMSTATE_UINTTL_V(_f, _s, _v) \
  49. VMSTATE_UINT32_V(_f, _s, _v)
  50. #define VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, _v) \
  51. VMSTATE_UINT32_ARRAY_V(_f, _s, _n, _v)
  52. #endif
  53. #define VMSTATE_UINTTL(_f, _s) \
  54. VMSTATE_UINTTL_V(_f, _s, 0)
  55. #define VMSTATE_UINTTL_ARRAY(_f, _s, _n) \
  56. VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, 0)
  57. #endif
  58. #endif