X-Git-Url: http://git.maemo.org/git/?p=qemu;a=blobdiff_plain;f=hw%2Fhw.h;fp=hw%2Fhw.h;h=c83580073cf7b71eec4d6529e82ab0f79a9140a5;hp=d0cf598204500e3437f66dbe652fa400974f1195;hb=759b334a9739814df2883aa4c41b1c0f5670e90a;hpb=7e2198fc87e878b8ce5df965477e21713ebf7834 diff --git a/hw/hw.h b/hw/hw.h index d0cf598..c835800 100644 --- a/hw/hw.h +++ b/hw/hw.h @@ -3,6 +3,13 @@ #define QEMU_HW_H #include "qemu-common.h" + +#if defined(TARGET_PHYS_ADDR_BITS) && !defined(NEED_CPU_H) +#include "targphys.h" +#include "poison.h" +#include "cpu-common.h" +#endif + #include "irq.h" /* VM Load/Save */ @@ -29,14 +36,22 @@ typedef int (QEMUFileCloseFunc)(void *opaque); */ typedef int (QEMUFileRateLimit)(void *opaque); +/* Called to change the current bandwidth allocation. This function must return + * the new actual bandwidth. It should be new_rate if everything goes ok, and + * the old rate otherwise + */ +typedef size_t (QEMUFileSetRateLimit)(void *opaque, size_t new_rate); + QEMUFile *qemu_fopen_ops(void *opaque, QEMUFilePutBufferFunc *put_buffer, QEMUFileGetBufferFunc *get_buffer, QEMUFileCloseFunc *close, - QEMUFileRateLimit *rate_limit); + QEMUFileRateLimit *rate_limit, + QEMUFileSetRateLimit *set_rate_limit); QEMUFile *qemu_fopen(const char *filename, const char *mode); QEMUFile *qemu_fopen_socket(int fd); QEMUFile *qemu_popen(FILE *popen_file, const char *mode); QEMUFile *qemu_popen_cmd(const char *command, const char *mode); +int qemu_popen_fd(QEMUFile *f); void qemu_fflush(QEMUFile *f); int qemu_fclose(QEMUFile *f); void qemu_put_buffer(QEMUFile *f, const uint8_t *buf, int size); @@ -66,6 +81,7 @@ unsigned int qemu_get_be16(QEMUFile *f); unsigned int qemu_get_be32(QEMUFile *f); uint64_t qemu_get_be64(QEMUFile *f); int qemu_file_rate_limit(QEMUFile *f); +size_t qemu_file_set_rate_limit(QEMUFile *f, size_t new_rate); int qemu_file_has_error(QEMUFile *f); void qemu_file_set_error(QEMUFile *f); @@ -243,7 +259,7 @@ void unregister_savevm(const char *idstr, void *opaque); typedef void QEMUResetHandler(void *opaque); -void qemu_register_reset(QEMUResetHandler *func, void *opaque); +void qemu_register_reset(QEMUResetHandler *func, int order, void *opaque); /* handler to set the boot_device for a specific type of QEMUMachine */ /* return 0 if success */