Annotation of qemu/sysemu.h, revision 1.1.1.7

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

unix.superglobalmegacorp.com