Annotation of qemu/sysemu.h, revision 1.1.1.9

1.1       root        1: #ifndef SYSEMU_H
                      2: #define SYSEMU_H
                      3: /* Misc. things related to the system emulator.  */
                      4: 
1.1.1.3   root        5: #include "qemu-common.h"
1.1.1.4   root        6: #include "qemu-option.h"
                      7: #include "qemu-queue.h"
                      8: #include "qemu-timer.h"
1.1.1.8   root        9: #include "qapi-types.h"
1.1.1.5   root       10: #include "notify.h"
1.1.1.8   root       11: #include "main-loop.h"
1.1.1.3   root       12: 
1.1       root       13: /* vl.c */
1.1.1.8   root       14: 
1.1       root       15: extern const char *bios_name;
1.1.1.3   root       16: 
1.1       root       17: extern const char *qemu_name;
1.1.1.2   root       18: extern uint8_t qemu_uuid[];
1.1.1.3   root       19: int qemu_uuid_parse(const char *str, uint8_t *uuid);
1.1.1.2   root       20: #define UUID_FMT "%02hhx%02hhx%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx%02hhx%02hhx%02hhx%02hhx"
1.1       root       21: 
1.1.1.8   root       22: void runstate_init(void);
                     23: bool runstate_check(RunState state);
                     24: void runstate_set(RunState new_state);
                     25: int runstate_is_running(void);
1.1       root       26: typedef struct vm_change_state_entry VMChangeStateEntry;
1.1.1.8   root       27: typedef void VMChangeStateHandler(void *opaque, int running, RunState state);
1.1       root       28: 
                     29: VMChangeStateEntry *qemu_add_vm_change_state_handler(VMChangeStateHandler *cb,
                     30:                                                      void *opaque);
                     31: void qemu_del_vm_change_state_handler(VMChangeStateEntry *e);
1.1.1.8   root       32: void vm_state_notify(int running, RunState state);
1.1.1.7   root       33: 
                     34: #define VMRESET_SILENT   false
                     35: #define VMRESET_REPORT   true
                     36: 
1.1       root       37: void vm_start(void);
1.1.1.8   root       38: void vm_stop(RunState state);
                     39: void vm_stop_force_state(RunState state);
1.1       root       40: 
1.1.1.9 ! root       41: typedef enum WakeupReason {
        !            42:     QEMU_WAKEUP_REASON_OTHER = 0,
        !            43:     QEMU_WAKEUP_REASON_RTC,
        !            44:     QEMU_WAKEUP_REASON_PMTIMER,
        !            45: } WakeupReason;
        !            46: 
1.1       root       47: void qemu_system_reset_request(void);
1.1.1.9 ! root       48: void qemu_system_suspend_request(void);
        !            49: void qemu_register_suspend_notifier(Notifier *notifier);
        !            50: void qemu_system_wakeup_request(WakeupReason reason);
        !            51: void qemu_system_wakeup_enable(WakeupReason reason, bool enabled);
        !            52: void qemu_register_wakeup_notifier(Notifier *notifier);
1.1       root       53: void qemu_system_shutdown_request(void);
                     54: void qemu_system_powerdown_request(void);
1.1.1.7   root       55: void qemu_system_debug_request(void);
1.1.1.8   root       56: void qemu_system_vmstop_request(RunState reason);
1.1.1.7   root       57: int qemu_shutdown_requested_get(void);
                     58: int qemu_reset_requested_get(void);
1.1.1.2   root       59: int qemu_shutdown_requested(void);
                     60: int qemu_reset_requested(void);
                     61: int qemu_powerdown_requested(void);
1.1.1.7   root       62: void qemu_system_killed(int signal, pid_t pid);
                     63: void qemu_kill_report(void);
1.1.1.4   root       64: extern qemu_irq qemu_system_powerdown;
1.1.1.7   root       65: void qemu_system_reset(bool report);
1.1       root       66: 
1.1.1.5   root       67: void qemu_add_exit_notifier(Notifier *notify);
                     68: void qemu_remove_exit_notifier(Notifier *notify);
                     69: 
1.1.1.6   root       70: void qemu_add_machine_init_done_notifier(Notifier *notify);
                     71: 
1.1.1.4   root       72: void do_savevm(Monitor *mon, const QDict *qdict);
1.1.1.5   root       73: int load_vmstate(const char *name);
1.1.1.4   root       74: void do_delvm(Monitor *mon, const QDict *qdict);
1.1.1.3   root       75: void do_info_snapshots(Monitor *mon);
1.1       root       76: 
1.1.1.2   root       77: void qemu_announce_self(void);
                     78: 
1.1.1.9 ! root       79: bool qemu_savevm_state_blocked(Error **errp);
        !            80: int qemu_savevm_state_begin(QEMUFile *f, int blk_enable, int shared);
        !            81: int qemu_savevm_state_iterate(QEMUFile *f);
        !            82: int qemu_savevm_state_complete(QEMUFile *f);
        !            83: void qemu_savevm_state_cancel(QEMUFile *f);
1.1.1.2   root       84: int qemu_loadvm_state(QEMUFile *f);
                     85: 
1.1       root       86: /* SLIRP */
1.1.1.3   root       87: void do_info_slirp(Monitor *mon);
1.1       root       88: 
1.1.1.3   root       89: typedef enum DisplayType
                     90: {
                     91:     DT_DEFAULT,
                     92:     DT_CURSES,
                     93:     DT_SDL,
                     94:     DT_NOGRAPHIC,
1.1.1.7   root       95:     DT_NONE,
1.1.1.3   root       96: } DisplayType;
                     97: 
                     98: extern int autostart;
1.1       root       99: extern int bios_size;
1.1.1.3   root      100: 
                    101: typedef enum {
1.1.1.6   root      102:     VGA_NONE, VGA_STD, VGA_CIRRUS, VGA_VMWARE, VGA_XENFB, VGA_QXL,
1.1.1.3   root      103: } VGAInterfaceType;
                    104: 
                    105: extern int vga_interface_type;
                    106: #define cirrus_vga_enabled (vga_interface_type == VGA_CIRRUS)
                    107: #define std_vga_enabled (vga_interface_type == VGA_STD)
                    108: #define xenfb_enabled (vga_interface_type == VGA_XENFB)
                    109: #define vmsvga_enabled (vga_interface_type == VGA_VMWARE)
1.1.1.6   root      110: #define qxl_enabled (vga_interface_type == VGA_QXL)
1.1.1.3   root      111: 
1.1       root      112: extern int graphic_width;
                    113: extern int graphic_height;
                    114: extern int graphic_depth;
1.1.1.3   root      115: extern DisplayType display_type;
1.1       root      116: extern const char *keyboard_layout;
                    117: extern int win2k_install_hack;
                    118: extern int alt_grab;
1.1.1.4   root      119: extern int ctrl_grab;
1.1       root      120: extern int usb_enabled;
                    121: extern int smp_cpus;
1.1.1.4   root      122: extern int max_cpus;
1.1       root      123: extern int cursor_hide;
                    124: extern int graphic_rotate;
                    125: extern int no_quit;
1.1.1.5   root      126: extern int no_shutdown;
1.1       root      127: extern int semihosting_enabled;
                    128: extern int old_param;
1.1.1.3   root      129: extern int boot_menu;
1.1.1.8   root      130: extern uint8_t *boot_splash_filedata;
                    131: extern int boot_splash_filedata_size;
                    132: extern uint8_t qemu_extra_params_fw[2];
1.1.1.4   root      133: extern QEMUClock *rtc_clock;
1.1       root      134: 
1.1.1.3   root      135: #define MAX_NODES 64
                    136: extern int nb_numa_nodes;
                    137: extern uint64_t node_mem[MAX_NODES];
1.1.1.4   root      138: extern uint64_t node_cpumask[MAX_NODES];
1.1.1.3   root      139: 
1.1       root      140: #define MAX_OPTION_ROMS 16
1.1.1.6   root      141: typedef struct QEMUOptionRom {
                    142:     const char *name;
                    143:     int32_t bootindex;
                    144: } QEMUOptionRom;
                    145: extern QEMUOptionRom option_rom[MAX_OPTION_ROMS];
1.1       root      146: extern int nb_option_roms;
                    147: 
                    148: #define MAX_PROM_ENVS 128
                    149: extern const char *prom_envs[MAX_PROM_ENVS];
                    150: extern unsigned int nb_prom_envs;
1.1.1.2   root      151: 
                    152: /* pci-hotplug */
1.1.1.5   root      153: void pci_device_hot_add(Monitor *mon, const QDict *qdict);
1.1.1.9 ! root      154: int pci_drive_hot_add(Monitor *mon, const QDict *qdict,
        !           155:                       DriveInfo *dinfo, int type);
1.1.1.5   root      156: void do_pci_device_hot_remove(Monitor *mon, const QDict *qdict);
1.1       root      157: 
1.1.1.9 ! root      158: /* generic hotplug */
        !           159: void drive_hot_add(Monitor *mon, const QDict *qdict);
        !           160: 
1.1.1.6   root      161: /* pcie aer error injection */
                    162: void pcie_aer_inject_error_print(Monitor *mon, const QObject *data);
1.1.1.9 ! root      163: int do_pcie_aer_inject_error(Monitor *mon,
1.1.1.6   root      164:                              const QDict *qdict, QObject **ret_data);
                    165: 
1.1       root      166: /* serial ports */
                    167: 
                    168: #define MAX_SERIAL_PORTS 4
                    169: 
                    170: extern CharDriverState *serial_hds[MAX_SERIAL_PORTS];
                    171: 
                    172: /* parallel ports */
                    173: 
                    174: #define MAX_PARALLEL_PORTS 3
                    175: 
                    176: extern CharDriverState *parallel_hds[MAX_PARALLEL_PORTS];
                    177: 
1.1.1.4   root      178: void do_usb_add(Monitor *mon, const QDict *qdict);
                    179: void do_usb_del(Monitor *mon, const QDict *qdict);
1.1.1.3   root      180: void usb_info(Monitor *mon);
1.1       root      181: 
1.1.1.5   root      182: void rtc_change_mon_event(struct tm *tm);
                    183: 
1.1.1.3   root      184: void register_devices(void);
                    185: 
1.1.1.6   root      186: void add_boot_device_path(int32_t bootindex, DeviceState *dev,
                    187:                           const char *suffix);
                    188: char *get_boot_devices_list(uint32_t *size);
1.1       root      189: #endif

unix.superglobalmegacorp.com