From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=58596 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q8Ibt-0002yC-Pb for qemu-devel@nongnu.org; Fri, 08 Apr 2011 16:48:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q8Ibs-0000Sz-5M for qemu-devel@nongnu.org; Fri, 08 Apr 2011 16:48:53 -0400 Received: from mail-vw0-f45.google.com ([209.85.212.45]:59695) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q8Ibs-0000Sh-1Y for qemu-devel@nongnu.org; Fri, 08 Apr 2011 16:48:52 -0400 Received: by vws17 with SMTP id 17so3462062vws.4 for ; Fri, 08 Apr 2011 13:48:51 -0700 (PDT) MIME-Version: 1.0 From: Blue Swirl Date: Fri, 8 Apr 2011 23:48:31 +0300 Message-ID: Content-Type: multipart/mixed; boundary=20cf307f3202782c6b04a06e5a97 Subject: [Qemu-devel] [PATCH 08/11] Introduce host state v2 List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel --20cf307f3202782c6b04a06e5a97 Content-Type: text/plain; charset=UTF-8 Move host specific state (not guest visible except for PV, unrelated to any specific target machine, general emulator state, VCPU or devices) declarations to host-state.h. Signed-off-by: Blue Swirl --- host-state.h | 41 +++++++++++++++++++++++++++++++++++++++++ sysemu.h | 30 +----------------------------- 2 files changed, 42 insertions(+), 29 deletions(-) create mode 100644 host-state.h diff --git a/host-state.h b/host-state.h new file mode 100644 index 0000000..6d1b4a1 --- /dev/null +++ b/host-state.h @@ -0,0 +1,41 @@ +#ifndef QEMU_HOST_STATE_H +#define QEMU_HOST_STATE_H +/* + * Host state: All state which is not guest visible except for PV, + * unrelated to any specific target machine, general emulator state, + * VCPU or devices. + */ + +#include "notify.h" + +typedef enum DisplayType +{ + DT_DEFAULT, + DT_CURSES, + DT_SDL, + DT_NOGRAPHIC, + DT_NONE, +} DisplayType; + +extern DisplayType display_type; +extern int alt_grab; +extern int ctrl_grab; +extern int cursor_hide; +extern int no_quit; +extern int no_shutdown; +extern const char *qemu_name; +extern const char *keyboard_layout; + +void qemu_add_exit_notifier(Notifier *notify); +void qemu_remove_exit_notifier(Notifier *notify); +void qemu_system_killed(int signal, pid_t pid); +void qemu_kill_report(void); + +/* SLIRP */ +void do_info_slirp(Monitor *mon); + +void do_usb_add(Monitor *mon, const QDict *qdict); +void do_usb_del(Monitor *mon, const QDict *qdict); +void usb_info(Monitor *mon); + +#endif diff --git a/sysemu.h b/sysemu.h index b0296a0..4bd1543 100644 --- a/sysemu.h +++ b/sysemu.h @@ -7,12 +7,12 @@ #include "qemu-queue.h" #include "qemu-timer.h" #include "notify.h" +#include "host-state.h" /* vl.c */ extern const char *bios_name; extern int vm_running; -extern const char *qemu_name; extern uint8_t qemu_uuid[]; int qemu_uuid_parse(const char *str, uint8_t *uuid); #define UUID_FMT "%02hhx%02hhx%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx%02hhx%02hhx%02hhx%02hhx" @@ -45,14 +45,9 @@ void qemu_system_vmstop_request(int reason); int qemu_shutdown_requested(void); int qemu_reset_requested(void); int qemu_powerdown_requested(void); -void qemu_system_killed(int signal, pid_t pid); -void qemu_kill_report(void); extern qemu_irq qemu_system_powerdown; void qemu_system_reset(void); -void qemu_add_exit_notifier(Notifier *notify); -void qemu_remove_exit_notifier(Notifier *notify); - void qemu_add_machine_init_done_notifier(Notifier *notify); void do_savevm(Monitor *mon, const QDict *qdict); @@ -72,18 +67,6 @@ int qemu_savevm_state_complete(Monitor *mon, QEMUFile *f); void qemu_savevm_state_cancel(Monitor *mon, QEMUFile *f); int qemu_loadvm_state(QEMUFile *f); -/* SLIRP */ -void do_info_slirp(Monitor *mon); - -typedef enum DisplayType -{ - DT_DEFAULT, - DT_CURSES, - DT_SDL, - DT_NOGRAPHIC, - DT_NONE, -} DisplayType; - extern int autostart; extern int bios_size; @@ -102,19 +85,12 @@ extern int graphic_width; extern int graphic_height; extern int graphic_depth; extern uint8_t irq0override; -extern DisplayType display_type; -extern const char *keyboard_layout; extern int win2k_install_hack; extern int rtc_td_hack; -extern int alt_grab; -extern int ctrl_grab; extern int usb_enabled; extern int smp_cpus; extern int max_cpus; -extern int cursor_hide; extern int graphic_rotate; -extern int no_quit; -extern int no_shutdown; extern int semihosting_enabled; extern int old_param; extern int boot_menu; @@ -159,10 +135,6 @@ extern CharDriverState *serial_hds[MAX_SERIAL_PORTS]; extern CharDriverState *parallel_hds[MAX_PARALLEL_PORTS]; -void do_usb_add(Monitor *mon, const QDict *qdict); -void do_usb_del(Monitor *mon, const QDict *qdict); -void usb_info(Monitor *mon); - void rtc_change_mon_event(struct tm *tm); void register_devices(void); -- 1.7.2.5 --20cf307f3202782c6b04a06e5a97 Content-Type: text/x-diff; charset=US-ASCII; name="0008-Introduce-host-state-v2.patch" Content-Disposition: attachment; filename="0008-Introduce-host-state-v2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gm9l8cky0 RnJvbSAyY2I0MjBmY2M0NjYxODNlZTU3YTBkYWMxNTI3YTYyYjQwYzExYjRkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpNZXNzYWdlLUlkOiA8MmNiNDIwZmNjNDY2MTgzZWU1N2EwZGFjMTUyN2E2 MmI0MGMxMWI0ZC4xMzAyMjk1NDE4LmdpdC5ibGF1d2lyYmVsQGdtYWlsLmNvbT4KSW4tUmVwbHkt VG86IDw2YTE3NDhjNTg3ZDM0YjBjZTM3NDg4NTk2YzY4YzRhZWU1OGE0NjM4LjEzMDIyOTU0MTgu Z2l0LmJsYXV3aXJiZWxAZ21haWwuY29tPgpSZWZlcmVuY2VzOiA8NmExNzQ4YzU4N2QzNGIwY2Uz NzQ4ODU5NmM2OGM0YWVlNThhNDYzOC4xMzAyMjk1NDE4LmdpdC5ibGF1d2lyYmVsQGdtYWlsLmNv bT4KRnJvbTogQmx1ZSBTd2lybCA8YmxhdXdpcmJlbEBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMjkg TWFyIDIwMTEgMjA6NDM6MDIgKzAwMDAKU3ViamVjdDogW1BBVENIIDA4LzExXSBJbnRyb2R1Y2Ug aG9zdCBzdGF0ZSB2MgoKTW92ZSBob3N0IHNwZWNpZmljIHN0YXRlIChub3QgZ3Vlc3QgdmlzaWJs ZSBleGNlcHQgZm9yIFBWLCB1bnJlbGF0ZWQgdG8KYW55IHNwZWNpZmljIHRhcmdldCBtYWNoaW5l LCBnZW5lcmFsIGVtdWxhdG9yIHN0YXRlLCBWQ1BVIG9yIGRldmljZXMpCmRlY2xhcmF0aW9ucyB0 byBob3N0LXN0YXRlLmguCgpTaWduZWQtb2ZmLWJ5OiBCbHVlIFN3aXJsIDxibGF1d2lyYmVsQGdt YWlsLmNvbT4KLS0tCiBob3N0LXN0YXRlLmggfCAgIDQxICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCiBzeXNlbXUuaCAgICAgfCAgIDMwICstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspLCAyOSBkZWxl dGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBob3N0LXN0YXRlLmgKCmRpZmYgLS1naXQgYS9o b3N0LXN0YXRlLmggYi9ob3N0LXN0YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uNmQxYjRhMQotLS0gL2Rldi9udWxsCisrKyBiL2hvc3Qtc3RhdGUuaApAQCAtMCwwICsx LDQxIEBACisjaWZuZGVmIFFFTVVfSE9TVF9TVEFURV9ICisjZGVmaW5lIFFFTVVfSE9TVF9TVEFU RV9ICisvKgorICogSG9zdCBzdGF0ZTogQWxsIHN0YXRlIHdoaWNoIGlzIG5vdCBndWVzdCB2aXNp YmxlIGV4Y2VwdCBmb3IgUFYsCisgKiB1bnJlbGF0ZWQgdG8gYW55IHNwZWNpZmljIHRhcmdldCBt YWNoaW5lLCBnZW5lcmFsIGVtdWxhdG9yIHN0YXRlLAorICogVkNQVSBvciBkZXZpY2VzLgorICov CisKKyNpbmNsdWRlICJub3RpZnkuaCIKKwordHlwZWRlZiBlbnVtIERpc3BsYXlUeXBlCit7Cisg ICAgRFRfREVGQVVMVCwKKyAgICBEVF9DVVJTRVMsCisgICAgRFRfU0RMLAorICAgIERUX05PR1JB UEhJQywKKyAgICBEVF9OT05FLAorfSBEaXNwbGF5VHlwZTsKKworZXh0ZXJuIERpc3BsYXlUeXBl IGRpc3BsYXlfdHlwZTsKK2V4dGVybiBpbnQgYWx0X2dyYWI7CitleHRlcm4gaW50IGN0cmxfZ3Jh YjsKK2V4dGVybiBpbnQgY3Vyc29yX2hpZGU7CitleHRlcm4gaW50IG5vX3F1aXQ7CitleHRlcm4g aW50IG5vX3NodXRkb3duOworZXh0ZXJuIGNvbnN0IGNoYXIgKnFlbXVfbmFtZTsKK2V4dGVybiBj b25zdCBjaGFyICprZXlib2FyZF9sYXlvdXQ7CisKK3ZvaWQgcWVtdV9hZGRfZXhpdF9ub3RpZmll cihOb3RpZmllciAqbm90aWZ5KTsKK3ZvaWQgcWVtdV9yZW1vdmVfZXhpdF9ub3RpZmllcihOb3Rp ZmllciAqbm90aWZ5KTsKK3ZvaWQgcWVtdV9zeXN0ZW1fa2lsbGVkKGludCBzaWduYWwsIHBpZF90 IHBpZCk7Cit2b2lkIHFlbXVfa2lsbF9yZXBvcnQodm9pZCk7CisKKy8qIFNMSVJQICovCit2b2lk IGRvX2luZm9fc2xpcnAoTW9uaXRvciAqbW9uKTsKKwordm9pZCBkb191c2JfYWRkKE1vbml0b3Ig Km1vbiwgY29uc3QgUURpY3QgKnFkaWN0KTsKK3ZvaWQgZG9fdXNiX2RlbChNb25pdG9yICptb24s IGNvbnN0IFFEaWN0ICpxZGljdCk7Cit2b2lkIHVzYl9pbmZvKE1vbml0b3IgKm1vbik7CisKKyNl bmRpZgpkaWZmIC0tZ2l0IGEvc3lzZW11LmggYi9zeXNlbXUuaAppbmRleCBiMDI5NmEwLi40YmQx NTQzIDEwMDY0NAotLS0gYS9zeXNlbXUuaAorKysgYi9zeXNlbXUuaApAQCAtNywxMiArNywxMiBA QAogI2luY2x1ZGUgInFlbXUtcXVldWUuaCIKICNpbmNsdWRlICJxZW11LXRpbWVyLmgiCiAjaW5j bHVkZSAibm90aWZ5LmgiCisjaW5jbHVkZSAiaG9zdC1zdGF0ZS5oIgogCiAvKiB2bC5jICovCiBl eHRlcm4gY29uc3QgY2hhciAqYmlvc19uYW1lOwogCiBleHRlcm4gaW50IHZtX3J1bm5pbmc7Ci1l eHRlcm4gY29uc3QgY2hhciAqcWVtdV9uYW1lOwogZXh0ZXJuIHVpbnQ4X3QgcWVtdV91dWlkW107 CiBpbnQgcWVtdV91dWlkX3BhcnNlKGNvbnN0IGNoYXIgKnN0ciwgdWludDhfdCAqdXVpZCk7CiAj ZGVmaW5lIFVVSURfRk1UICIlMDJoaHglMDJoaHglMDJoaHglMDJoaHgtJTAyaGh4JTAyaGh4LSUw MmhoeCUwMmhoeC0lMDJoaHglMDJoaHgtJTAyaGh4JTAyaGh4JTAyaGh4JTAyaGh4JTAyaGh4JTAy aGh4IgpAQCAtNDUsMTQgKzQ1LDkgQEAgdm9pZCBxZW11X3N5c3RlbV92bXN0b3BfcmVxdWVzdChp bnQgcmVhc29uKTsKIGludCBxZW11X3NodXRkb3duX3JlcXVlc3RlZCh2b2lkKTsKIGludCBxZW11 X3Jlc2V0X3JlcXVlc3RlZCh2b2lkKTsKIGludCBxZW11X3Bvd2VyZG93bl9yZXF1ZXN0ZWQodm9p ZCk7Ci12b2lkIHFlbXVfc3lzdGVtX2tpbGxlZChpbnQgc2lnbmFsLCBwaWRfdCBwaWQpOwotdm9p ZCBxZW11X2tpbGxfcmVwb3J0KHZvaWQpOwogZXh0ZXJuIHFlbXVfaXJxIHFlbXVfc3lzdGVtX3Bv d2VyZG93bjsKIHZvaWQgcWVtdV9zeXN0ZW1fcmVzZXQodm9pZCk7CiAKLXZvaWQgcWVtdV9hZGRf ZXhpdF9ub3RpZmllcihOb3RpZmllciAqbm90aWZ5KTsKLXZvaWQgcWVtdV9yZW1vdmVfZXhpdF9u b3RpZmllcihOb3RpZmllciAqbm90aWZ5KTsKLQogdm9pZCBxZW11X2FkZF9tYWNoaW5lX2luaXRf ZG9uZV9ub3RpZmllcihOb3RpZmllciAqbm90aWZ5KTsKIAogdm9pZCBkb19zYXZldm0oTW9uaXRv ciAqbW9uLCBjb25zdCBRRGljdCAqcWRpY3QpOwpAQCAtNzIsMTggKzY3LDYgQEAgaW50IHFlbXVf c2F2ZXZtX3N0YXRlX2NvbXBsZXRlKE1vbml0b3IgKm1vbiwgUUVNVUZpbGUgKmYpOwogdm9pZCBx ZW11X3NhdmV2bV9zdGF0ZV9jYW5jZWwoTW9uaXRvciAqbW9uLCBRRU1VRmlsZSAqZik7CiBpbnQg cWVtdV9sb2Fkdm1fc3RhdGUoUUVNVUZpbGUgKmYpOwogCi0vKiBTTElSUCAqLwotdm9pZCBkb19p bmZvX3NsaXJwKE1vbml0b3IgKm1vbik7Ci0KLXR5cGVkZWYgZW51bSBEaXNwbGF5VHlwZQotewot ICAgIERUX0RFRkFVTFQsCi0gICAgRFRfQ1VSU0VTLAotICAgIERUX1NETCwKLSAgICBEVF9OT0dS QVBISUMsCi0gICAgRFRfTk9ORSwKLX0gRGlzcGxheVR5cGU7Ci0KIGV4dGVybiBpbnQgYXV0b3N0 YXJ0OwogZXh0ZXJuIGludCBiaW9zX3NpemU7CiAKQEAgLTEwMiwxOSArODUsMTIgQEAgZXh0ZXJu IGludCBncmFwaGljX3dpZHRoOwogZXh0ZXJuIGludCBncmFwaGljX2hlaWdodDsKIGV4dGVybiBp bnQgZ3JhcGhpY19kZXB0aDsKIGV4dGVybiB1aW50OF90IGlycTBvdmVycmlkZTsKLWV4dGVybiBE aXNwbGF5VHlwZSBkaXNwbGF5X3R5cGU7Ci1leHRlcm4gY29uc3QgY2hhciAqa2V5Ym9hcmRfbGF5 b3V0OwogZXh0ZXJuIGludCB3aW4ya19pbnN0YWxsX2hhY2s7CiBleHRlcm4gaW50IHJ0Y190ZF9o YWNrOwotZXh0ZXJuIGludCBhbHRfZ3JhYjsKLWV4dGVybiBpbnQgY3RybF9ncmFiOwogZXh0ZXJu IGludCB1c2JfZW5hYmxlZDsKIGV4dGVybiBpbnQgc21wX2NwdXM7CiBleHRlcm4gaW50IG1heF9j cHVzOwotZXh0ZXJuIGludCBjdXJzb3JfaGlkZTsKIGV4dGVybiBpbnQgZ3JhcGhpY19yb3RhdGU7 Ci1leHRlcm4gaW50IG5vX3F1aXQ7Ci1leHRlcm4gaW50IG5vX3NodXRkb3duOwogZXh0ZXJuIGlu dCBzZW1paG9zdGluZ19lbmFibGVkOwogZXh0ZXJuIGludCBvbGRfcGFyYW07CiBleHRlcm4gaW50 IGJvb3RfbWVudTsKQEAgLTE1OSwxMCArMTM1LDYgQEAgZXh0ZXJuIENoYXJEcml2ZXJTdGF0ZSAq c2VyaWFsX2hkc1tNQVhfU0VSSUFMX1BPUlRTXTsKIAogZXh0ZXJuIENoYXJEcml2ZXJTdGF0ZSAq cGFyYWxsZWxfaGRzW01BWF9QQVJBTExFTF9QT1JUU107CiAKLXZvaWQgZG9fdXNiX2FkZChNb25p dG9yICptb24sIGNvbnN0IFFEaWN0ICpxZGljdCk7Ci12b2lkIGRvX3VzYl9kZWwoTW9uaXRvciAq bW9uLCBjb25zdCBRRGljdCAqcWRpY3QpOwotdm9pZCB1c2JfaW5mbyhNb25pdG9yICptb24pOwot CiB2b2lkIHJ0Y19jaGFuZ2VfbW9uX2V2ZW50KHN0cnVjdCB0bSAqdG0pOwogCiB2b2lkIHJlZ2lz dGVyX2RldmljZXModm9pZCk7Ci0tIAoxLjcuMi41Cgo= --20cf307f3202782c6b04a06e5a97--