⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vl.h

📁 qemu虚拟机代码
💻 H
📖 第 1 页 / 共 3 页
字号:
int64_t qemu_get_clock(QEMUClock *clock);QEMUTimer *qemu_new_timer(QEMUClock *clock, QEMUTimerCB *cb, void *opaque);void qemu_free_timer(QEMUTimer *ts);void qemu_del_timer(QEMUTimer *ts);void qemu_mod_timer(QEMUTimer *ts, int64_t expire_time);int qemu_timer_pending(QEMUTimer *ts);extern int64_t ticks_per_sec;extern int pit_min_timer_count;void cpu_enable_ticks(void);void cpu_disable_ticks(void);/* VM Load/Save */typedef FILE QEMUFile;void qemu_put_buffer(QEMUFile *f, const uint8_t *buf, int size);void qemu_put_byte(QEMUFile *f, int v);void qemu_put_be16(QEMUFile *f, unsigned int v);void qemu_put_be32(QEMUFile *f, unsigned int v);void qemu_put_be64(QEMUFile *f, uint64_t v);int qemu_get_buffer(QEMUFile *f, uint8_t *buf, int size);int qemu_get_byte(QEMUFile *f);unsigned int qemu_get_be16(QEMUFile *f);unsigned int qemu_get_be32(QEMUFile *f);uint64_t qemu_get_be64(QEMUFile *f);static inline void qemu_put_be64s(QEMUFile *f, const uint64_t *pv){    qemu_put_be64(f, *pv);}static inline void qemu_put_be32s(QEMUFile *f, const uint32_t *pv){    qemu_put_be32(f, *pv);}static inline void qemu_put_be16s(QEMUFile *f, const uint16_t *pv){    qemu_put_be16(f, *pv);}static inline void qemu_put_8s(QEMUFile *f, const uint8_t *pv){    qemu_put_byte(f, *pv);}static inline void qemu_get_be64s(QEMUFile *f, uint64_t *pv){    *pv = qemu_get_be64(f);}static inline void qemu_get_be32s(QEMUFile *f, uint32_t *pv){    *pv = qemu_get_be32(f);}static inline void qemu_get_be16s(QEMUFile *f, uint16_t *pv){    *pv = qemu_get_be16(f);}static inline void qemu_get_8s(QEMUFile *f, uint8_t *pv){    *pv = qemu_get_byte(f);}#if TARGET_LONG_BITS == 64#define qemu_put_betl qemu_put_be64#define qemu_get_betl qemu_get_be64#define qemu_put_betls qemu_put_be64s#define qemu_get_betls qemu_get_be64s#else#define qemu_put_betl qemu_put_be32#define qemu_get_betl qemu_get_be32#define qemu_put_betls qemu_put_be32s#define qemu_get_betls qemu_get_be32s#endifint64_t qemu_ftell(QEMUFile *f);int64_t qemu_fseek(QEMUFile *f, int64_t pos, int whence);typedef void SaveStateHandler(QEMUFile *f, void *opaque);typedef int LoadStateHandler(QEMUFile *f, void *opaque, int version_id);int qemu_loadvm(const char *filename);int qemu_savevm(const char *filename);int register_savevm(const char *idstr,                     int instance_id,                     int version_id,                    SaveStateHandler *save_state,                    LoadStateHandler *load_state,                    void *opaque);void qemu_get_timer(QEMUFile *f, QEMUTimer *ts);void qemu_put_timer(QEMUFile *f, QEMUTimer *ts);void cpu_save(QEMUFile *f, void *opaque);int cpu_load(QEMUFile *f, void *opaque, int version_id);/* block.c */typedef struct BlockDriverState BlockDriverState;typedef struct BlockDriver BlockDriver;extern BlockDriver bdrv_raw;extern BlockDriver bdrv_cow;extern BlockDriver bdrv_qcow;extern BlockDriver bdrv_vmdk;extern BlockDriver bdrv_cloop;extern BlockDriver bdrv_dmg;extern BlockDriver bdrv_bochs;extern BlockDriver bdrv_vpc;extern BlockDriver bdrv_vvfat;void bdrv_init(void);BlockDriver *bdrv_find_format(const char *format_name);int bdrv_create(BlockDriver *drv,                 const char *filename, int64_t size_in_sectors,                const char *backing_file, int flags);BlockDriverState *bdrv_new(const char *device_name);void bdrv_delete(BlockDriverState *bs);int bdrv_open(BlockDriverState *bs, const char *filename, int snapshot);int bdrv_open2(BlockDriverState *bs, const char *filename, int snapshot,               BlockDriver *drv);void bdrv_close(BlockDriverState *bs);int bdrv_read(BlockDriverState *bs, int64_t sector_num,               uint8_t *buf, int nb_sectors);int bdrv_write(BlockDriverState *bs, int64_t sector_num,                const uint8_t *buf, int nb_sectors);void bdrv_get_geometry(BlockDriverState *bs, int64_t *nb_sectors_ptr);int bdrv_commit(BlockDriverState *bs);void bdrv_set_boot_sector(BlockDriverState *bs, const uint8_t *data, int size);#define BDRV_TYPE_HD     0#define BDRV_TYPE_CDROM  1#define BDRV_TYPE_FLOPPY 2#define BIOS_ATA_TRANSLATION_AUTO 0#define BIOS_ATA_TRANSLATION_NONE 1#define BIOS_ATA_TRANSLATION_LBA  2void bdrv_set_geometry_hint(BlockDriverState *bs,                             int cyls, int heads, int secs);void bdrv_set_type_hint(BlockDriverState *bs, int type);void bdrv_set_translation_hint(BlockDriverState *bs, int translation);void bdrv_get_geometry_hint(BlockDriverState *bs,                             int *pcyls, int *pheads, int *psecs);int bdrv_get_type_hint(BlockDriverState *bs);int bdrv_get_translation_hint(BlockDriverState *bs);int bdrv_is_removable(BlockDriverState *bs);int bdrv_is_read_only(BlockDriverState *bs);int bdrv_is_inserted(BlockDriverState *bs);int bdrv_is_locked(BlockDriverState *bs);void bdrv_set_locked(BlockDriverState *bs, int locked);void bdrv_set_change_cb(BlockDriverState *bs,                         void (*change_cb)(void *opaque), void *opaque);void bdrv_get_format(BlockDriverState *bs, char *buf, int buf_size);void bdrv_info(void);BlockDriverState *bdrv_find(const char *name);void bdrv_iterate(void (*it)(void *opaque, const char *name), void *opaque);int bdrv_is_encrypted(BlockDriverState *bs);int bdrv_set_key(BlockDriverState *bs, const char *key);void bdrv_iterate_format(void (*it)(void *opaque, const char *name),                          void *opaque);const char *bdrv_get_device_name(BlockDriverState *bs);int qcow_get_cluster_size(BlockDriverState *bs);int qcow_compress_cluster(BlockDriverState *bs, int64_t sector_num,                          const uint8_t *buf);#ifndef QEMU_TOOLtypedef void QEMUMachineInitFunc(int ram_size, int vga_ram_size,                                  int boot_device,             DisplayState *ds, const char **fd_filename, int snapshot,             const char *kernel_filename, const char *kernel_cmdline,             const char *initrd_filename);typedef struct QEMUMachine {    const char *name;    const char *desc;    QEMUMachineInitFunc *init;    struct QEMUMachine *next;} QEMUMachine;int qemu_register_machine(QEMUMachine *m);typedef void SetIRQFunc(void *opaque, int irq_num, int level);typedef void IRQRequestFunc(void *opaque, int level);/* ISA bus */extern target_phys_addr_t isa_mem_base;typedef void (IOPortWriteFunc)(void *opaque, uint32_t address, uint32_t data);typedef uint32_t (IOPortReadFunc)(void *opaque, uint32_t address);int register_ioport_read(int start, int length, int size,                          IOPortReadFunc *func, void *opaque);int register_ioport_write(int start, int length, int size,                           IOPortWriteFunc *func, void *opaque);void isa_unassign_ioport(int start, int length);/* PCI bus */extern target_phys_addr_t pci_mem_base;typedef struct PCIBus PCIBus;typedef struct PCIDevice PCIDevice;typedef void PCIConfigWriteFunc(PCIDevice *pci_dev,                                 uint32_t address, uint32_t data, int len);typedef uint32_t PCIConfigReadFunc(PCIDevice *pci_dev,                                    uint32_t address, int len);typedef void PCIMapIORegionFunc(PCIDevice *pci_dev, int region_num,                                 uint32_t addr, uint32_t size, int type);#define PCI_ADDRESS_SPACE_MEM		0x00#define PCI_ADDRESS_SPACE_IO		0x01#define PCI_ADDRESS_SPACE_MEM_PREFETCH	0x08typedef struct PCIIORegion {    uint32_t addr; /* current PCI mapping address. -1 means not mapped */    uint32_t size;    uint8_t type;    PCIMapIORegionFunc *map_func;} PCIIORegion;#define PCI_ROM_SLOT 6#define PCI_NUM_REGIONS 7struct PCIDevice {    /* PCI config space */    uint8_t config[256];    /* the following fields are read only */    PCIBus *bus;    int devfn;    char name[64];    PCIIORegion io_regions[PCI_NUM_REGIONS];        /* do not access the following fields */    PCIConfigReadFunc *config_read;    PCIConfigWriteFunc *config_write;    int irq_index;};PCIDevice *pci_register_device(PCIBus *bus, const char *name,                               int instance_size, int devfn,                               PCIConfigReadFunc *config_read,                                PCIConfigWriteFunc *config_write);void pci_register_io_region(PCIDevice *pci_dev, int region_num,                             uint32_t size, int type,                             PCIMapIORegionFunc *map_func);void pci_set_irq(PCIDevice *pci_dev, int irq_num, int level);uint32_t pci_default_read_config(PCIDevice *d,                                  uint32_t address, int len);void pci_default_write_config(PCIDevice *d,                               uint32_t address, uint32_t val, int len);void generic_pci_save(QEMUFile* f, void *opaque);int generic_pci_load(QEMUFile* f, void *opaque, int version_id);extern struct PIIX3State *piix3_state;PCIBus *i440fx_init(void);void piix3_init(PCIBus *bus);void pci_bios_init(void);void pci_info(void);/* temporary: will be moved in platform specific file */void pci_set_pic(PCIBus *bus, SetIRQFunc *set_irq, void *irq_opaque);PCIBus *pci_prep_init(void);PCIBus *pci_grackle_init(uint32_t base);PCIBus *pci_pmac_init(void);PCIBus *pci_apb_init(target_ulong special_base, target_ulong mem_base);void pci_nic_init(PCIBus *bus, NICInfo *nd);/* openpic.c */typedef struct openpic_t openpic_t;void openpic_set_irq(void *opaque, int n_IRQ, int level);openpic_t *openpic_init (PCIBus *bus, int *pmem_index, int nb_cpus,                         CPUState **envp);/* heathrow_pic.c */typedef struct HeathrowPICS HeathrowPICS;void heathrow_pic_set_irq(void *opaque, int num, int level);HeathrowPICS *heathrow_pic_init(int *pmem_index);#ifdef HAS_AUDIOstruct soundhw {    const char *name;    const char *descr;    int enabled;    int isa;    union {        int (*init_isa) (AudioState *s);        int (*init_pci) (PCIBus *bus, AudioState *s);    } init;};extern struct soundhw soundhw[];#endif/* vga.c */#define VGA_RAM_SIZE (4096 * 1024)struct DisplayState {    uint8_t *data;    int linesize;    int depth;    int width;    int height;    void *opaque;    void (*dpy_update)(struct DisplayState *s, int x, int y, int w, int h);    void (*dpy_resize)(struct DisplayState *s, int w, int h);    void (*dpy_refresh)(struct DisplayState *s);    void (*dpy_copy)(struct DisplayState *s, int src_x, int src_y, int dst_x, int dst_y, int w, int h);};static inline void dpy_update(DisplayState *s, int x, int y, int w, int h){    s->dpy_update(s, x, y, w, h);}static inline void dpy_resize(DisplayState *s, int w, int h){    s->dpy_resize(s, w, h);}int vga_initialize(PCIBus *bus, DisplayState *ds, uint8_t *vga_ram_base,                    unsigned long vga_ram_offset, int vga_ram_size,                   unsigned long vga_bios_offset, int vga_bios_size);/* cirrus_vga.c */void pci_cirrus_vga_init(PCIBus *bus, DisplayState *ds, uint8_t *vga_ram_base,                          unsigned long vga_ram_offset, int vga_ram_size);void isa_cirrus_vga_init(DisplayState *ds, uint8_t *vga_ram_base,                          unsigned long vga_ram_offset, int vga_ram_size);/* sdl.c */void sdl_display_init(DisplayState *ds, int full_screen);/* cocoa.m */void cocoa_display_init(DisplayState *ds, int full_screen);/* vnc.c */void vnc_display_init(DisplayState *ds, int display);/* ide.c */#define MAX_DISKS 4extern BlockDriverState *bs_table[MAX_DISKS];void isa_ide_init(int iobase, int iobase2, int irq,                  BlockDriverState *hd0, BlockDriverState *hd1);void pci_cmd646_ide_init(PCIBus *bus, BlockDriverState **hd_table,                         int secondary_ide_enabled);void pci_piix3_ide_init(PCIBus *bus, BlockDriverState **hd_table);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -