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

📄 qemu-dm

📁 xen 3.2.2 源码
💻
字号:
Index: ioemu/Makefile.target===================================================================--- ioemu.orig/Makefile.target	2007-05-10 16:22:45.000000000 +0100+++ ioemu/Makefile.target	2007-05-11 10:00:33.000000000 +0100@@ -332,7 +332,7 @@ endif  # must use static linking to avoid leaving stuff in virtual address space-VL_OBJS=vl.o osdep.o readline.o monitor.o pci.o console.o loader.o isa_mmio.o+VL_OBJS=vl.o osdep.o readline.o monitor.o pci.o console.o isa_mmio.o VL_OBJS+=cutils.o VL_OBJS+=block.o block-raw.o VL_OBJS+=block-cow.o block-qcow.o aes.o block-vmdk.o block-cloop.o block-dmg.o block-bochs.o block-vpc.o block-vvfat.o block-qcow2.oIndex: ioemu/configure===================================================================--- ioemu.orig/configure	2007-05-10 16:22:45.000000000 +0100+++ ioemu/configure	2007-05-11 10:00:33.000000000 +0100@@ -77,8 +77,8 @@ bigendian="no" mingw32="no" EXESUF=""-gdbstub="yes"-slirp="yes"+gdbstub="no"+slirp="no" adlib="no" oss="no" dsound="no"@@ -812,6 +812,8 @@ if expr $target : '.*-softmmu' > /dev/null ; then   target_softmmu="yes" fi+#for support 256M guest+target_softmmu="yes" target_user_only="no" if expr $target : '.*-user' > /dev/null ; then   target_user_only="yes"Index: ioemu/cpu-all.h===================================================================--- ioemu.orig/cpu-all.h	2007-05-10 16:22:44.000000000 +0100+++ ioemu/cpu-all.h	2007-05-11 10:00:33.000000000 +0100@@ -690,7 +690,9 @@ void page_set_flags(target_ulong start, target_ulong end, int flags); void page_unprotect_range(target_ulong data, target_ulong data_size); +#ifdef CONFIG_DM #define SINGLE_CPU_DEFINES+#endif #ifdef SINGLE_CPU_DEFINES  #if defined(TARGET_I386)@@ -752,6 +754,12 @@  #endif +#else /* SINGLE_CPU_DEFINES */++#define CPUState CPUX86State+#define cpu_init cpu_x86_init+int main_loop(void);+ #endif /* SINGLE_CPU_DEFINES */  void cpu_dump_state(CPUState *env, FILE *f, Index: ioemu/disas.h===================================================================--- ioemu.orig/disas.h	2007-05-10 16:22:44.000000000 +0100+++ ioemu/disas.h	2007-05-10 16:22:45.000000000 +0100@@ -1,6 +1,7 @@ #ifndef _QEMU_DISAS_H #define _QEMU_DISAS_H +#ifndef CONFIG_DM /* Disassemble this for me please... (debugging). */ void disas(FILE *out, void *code, unsigned long size); void target_disas(FILE *out, target_ulong code, target_ulong size, int flags);@@ -17,5 +18,6 @@     const char *disas_strtab;     struct syminfo *next; } *syminfos;+#endif /* !CONFIG_DM */  #endif /* _QEMU_DISAS_H */Index: ioemu/exec-all.h===================================================================--- ioemu.orig/exec-all.h	2007-05-10 16:22:44.000000000 +0100+++ ioemu/exec-all.h	2007-05-11 10:00:54.000000000 +0100@@ -519,7 +519,7 @@  extern int tb_invalidated_flag; -#if !defined(CONFIG_USER_ONLY)+#if !defined(CONFIG_USER_ONLY) && !defined(CONFIG_DM)  void tlb_fill(target_ulong addr, int is_write, int is_user,                void *retaddr);@@ -546,7 +546,7 @@  #endif -#if defined(CONFIG_USER_ONLY)+#if defined(CONFIG_USER_ONLY) || defined(CONFIG_DM) static inline target_ulong get_phys_addr_code(CPUState *env, target_ulong addr) {     return addr;Index: ioemu/hw/pc.c===================================================================--- ioemu.orig/hw/pc.c	2007-05-10 16:22:44.000000000 +0100+++ ioemu/hw/pc.c	2007-05-11 10:00:33.000000000 +0100@@ -74,6 +74,7 @@     } } +#ifndef CONFIG_DM /* SMM support */ void cpu_smm_update(CPUState *env) {@@ -98,6 +99,7 @@     intno = pic_read_irq(isa_pic);     return intno; }+#endif /* CONFIG_DM */  static void pic_irq_request(void *opaque, int level) {@@ -463,12 +465,14 @@     /* init CPUs */     for(i = 0; i < smp_cpus; i++) {         env = cpu_init();+#ifndef CONFIG_DM         if (i != 0)             env->hflags |= HF_HALTED_MASK;         if (smp_cpus > 1) {             /* XXX: enable it in all cases */             env->cpuid_features |= CPUID_APIC;         }+#endif /* !CONFIG_DM */         register_savevm("cpu", i, 4, cpu_save, cpu_load, env);         qemu_register_reset(main_cpu_reset, env);         if (pci_enabled) {@@ -541,6 +545,7 @@          bochs_bios_init(); +#ifndef CONFIG_DM     if (linux_boot) {         uint8_t bootsect[512];         uint8_t old_bootsect[512];@@ -596,6 +601,7 @@         /* loader type */         stw_raw(phys_ram_base + KERNEL_PARAMS_ADDR + 0x210, 0x01);     }+#endif /* !CONFIG_DM */      if (pci_enabled) {         pci_bus = i440fx_init(&i440fx_state);@@ -639,9 +645,11 @@     isa_pic = pic_init(pic_irq_request, first_cpu);     pit = pit_init(0x40, 0);     pcspk_init(pit);+#ifndef CONFIG_DM     if (pci_enabled) {         pic_set_alt_irq_func(isa_pic, ioapic_set_irq, ioapic);     }+#endif /* !CONFIG_DM */      for(i = 0; i < MAX_SERIAL_PORTS; i++) {         if (serial_hds[i]) {Index: ioemu/hw/vga_int.h===================================================================--- ioemu.orig/hw/vga_int.h	2007-05-10 16:22:44.000000000 +0100+++ ioemu/hw/vga_int.h	2007-05-11 10:00:32.000000000 +0100@@ -28,7 +28,7 @@ #define ST01_DISP_ENABLE    0x01  /* bochs VBE support */-#define CONFIG_BOCHS_VBE+//#define CONFIG_BOCHS_VBE  #define VBE_DISPI_MAX_XRES              1600 #define VBE_DISPI_MAX_YRES              1200Index: ioemu/monitor.c===================================================================--- ioemu.orig/monitor.c	2007-05-10 16:22:44.000000000 +0100+++ ioemu/monitor.c	2007-05-11 10:00:33.000000000 +0100@@ -69,6 +69,12 @@  void term_flush(void) {+#ifdef CONFIG_DM+    if (term_outbuf_index > 0 && !monitor_hd) {+        fwrite(term_outbuf, term_outbuf_index, 1, stderr);+        term_outbuf_index = 0;+    }+#endif     if (term_outbuf_index > 0) {         qemu_chr_write(monitor_hd, term_outbuf, term_outbuf_index);         term_outbuf_index = 0;@@ -134,6 +140,7 @@     } } +#ifndef CONFIG_DM static int monitor_fprintf(FILE *stream, const char *fmt, ...) {     va_list ap;@@ -142,6 +149,7 @@     va_end(ap);     return 0; }+#endif /* !CONFIG_DM */  static int compare_cmd(const char *name, const char *list) {@@ -258,6 +266,7 @@     return mon_cpu; } +#ifndef CONFIG_DM static void do_info_registers(void) {     CPUState *env;@@ -311,6 +320,7 @@ {     dump_exec_info(NULL, monitor_fprintf); }+#endif /* !CONFIG_DM */  static void do_info_history (void) {@@ -408,6 +418,7 @@     cpu_set_log(mask); } +#ifndef CONFIG_DM static void do_stop(void) {     vm_stop(EXCP_INTERRUPT);@@ -672,6 +683,7 @@     }     fclose(f); }+#endif /* !CONFIG_DM */  static void do_sum(uint32_t start, uint32_t size) {@@ -890,6 +902,7 @@     kbd_mouse_event(0, 0, 0, mouse_button_state); } +#ifndef CONFIG_DM static void do_ioport_read(int count, int format, int size, int addr, int has_index, int index) {     uint32_t val;@@ -1080,6 +1093,7 @@     term_printf("kqemu support: not compiled\n"); #endif } +#endif /* !CONFIG_DM */  #ifdef CONFIG_PROFILER @@ -1201,6 +1215,7 @@       "filename", "save screen into PPM image 'filename'" },     { "log", "s", do_log,       "item1[,...]", "activate logging of the specified items to '/tmp/qemu.log'" }, +#ifndef CONFIG_DM     { "savevm", "s?", do_savevm,       "tag|id", "save a VM snapshot. If no tag or id are provided, a new snapshot is created" },      { "loadvm", "s", do_loadvm,@@ -1223,21 +1238,26 @@       "/fmt expr", "print expression value (use $reg for CPU register access)", },     { "i", "/ii.", do_ioport_read,        "/fmt addr", "I/O port read" },+#endif/* !CONFIG_DM */      { "sendkey", "s", do_send_key,        "keys", "send keys to the VM (e.g. 'sendkey ctrl-alt-f1')" },+#ifndef CONFIG_DM     { "system_reset", "", do_system_reset,        "", "reset the system" },     { "system_powerdown", "", do_system_powerdown,        "", "send system power down event" },+#endif /* !CONFIG_DM */     { "sum", "ii", do_sum,        "addr size", "compute the checksum of a memory region" },     { "usb_add", "s", do_usb_add,       "device", "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')" },     { "usb_del", "s", do_usb_del,       "device", "remove USB device 'bus.addr'" },+#ifndef CONFIG_DM     { "cpu", "i", do_cpu_set,        "index", "set the default CPU" },+#endif /* !CONFIG_DM */     { "mouse_move", "sss?", do_mouse_move,        "dx dy [dz]", "send mouse move events" },     { "mouse_button", "i", do_mouse_button, @@ -1251,8 +1271,10 @@ #endif      { "stopcapture", "i", do_stop_capture,        "capture index", "stop capture" },+#ifndef CONFIG_DM     { "memsave", "lis", do_memory_save,        "addr size file", "save to disk virtual memory dump starting at 'addr' of size 'size'", },+#endif /* !CONFIG_DM */     { NULL, NULL, },  }; @@ -1263,10 +1285,12 @@       "", "show the network state" },     { "block", "", do_info_block,       "", "show the block devices" },+#ifndef CONFIG_DM     { "registers", "", do_info_registers,       "", "show the cpu registers" },     { "cpus", "", do_info_cpus,       "", "show infos for each CPU" },+#endif /* !CONFIG_DM */     { "history", "", do_info_history,       "", "show the command line history", },     { "irq", "", irq_info,@@ -1275,6 +1299,7 @@       "", "show i8259 (PIC) state", },     { "pci", "", pci_info,       "", "show PCI info", },+#ifndef CONFIG_DM #if defined(TARGET_I386)     { "tlb", "", tlb_info,       "", "show virtual to physical memory mappings", },@@ -1285,6 +1310,7 @@       "", "show dynamic compiler info", },     { "kqemu", "", do_info_kqemu,       "", "show kqemu information", },+#endif /* !CONFIG_DM */     { "usb", "", usb_info,       "", "show guest USB devices", },     { "usbhost", "", usb_host_info,@@ -1304,6 +1330,7 @@  /*******************************************************************/ +#ifndef CONFIG_DM static const char *pch; static jmp_buf expr_env; @@ -1847,6 +1874,7 @@     *pp = pch;     return 0; }+#endif /* !CONFIG_DM */  static int get_str(char *buf, int buf_size, const char **pp) {@@ -1913,8 +1941,10 @@     return 0; } +#ifndef CONFIG_DM static int default_fmt_format = 'x'; static int default_fmt_size = 4;+#endif /* !CONFIG_DM */  #define MAX_ARGS 16 @@ -1922,7 +1952,10 @@ {     const char *p, *pstart, *typestr;     char *q;-    int c, nb_args, len, i, has_arg;+    int c, nb_args, len, i;+#ifndef CONFIG_DM+    int has_arg;+#endif /* !CONFIG_DM */     term_cmd_t *cmd;     char cmdname[256];     char buf[1024];@@ -2014,6 +2047,7 @@                 args[nb_args++] = str;             }             break;+#ifndef CONFIG_DM         case '/':             {                 int count, format, size;@@ -2146,6 +2180,7 @@                 }             }             break;+#endif /* !CONFIG_DM */         case '-':             {                 int has_option;@@ -2172,6 +2207,11 @@                 args[nb_args++] = (void *)has_option;             }             break;+#ifdef CONFIG_DM+        /* TODO: add more commands we need here to support hvm device model */+        case '/':+        case 'i':+#endif /* CONFIG_DM */         default:         bad_type:             term_printf("%s: unknown type '%c'\n", cmdname, c);@@ -2222,6 +2262,7 @@     return; } +#ifndef CONFIG_DM static void cmd_completion(const char *name, const char *list) {     const char *p, *pstart;@@ -2415,6 +2456,11 @@     for(i = 0; i < nb_args; i++)         qemu_free(args[i]); }+#else+void readline_find_completion(const char *cmdline)+{+}+#endif /* !CONFIG_DM */  static int term_can_read(void *opaque) {Index: ioemu/vl.c===================================================================--- ioemu.orig/vl.c	2007-05-10 16:22:44.000000000 +0100+++ ioemu/vl.c	2007-05-11 10:00:33.000000000 +0100@@ -396,12 +396,15 @@ void hw_error(const char *fmt, ...) {     va_list ap;+#ifndef CONFIG_DM     CPUState *env;+#endif /* !CONFIG_DM */      va_start(ap, fmt);     fprintf(stderr, "qemu: hardware error: ");     vfprintf(stderr, fmt, ap);     fprintf(stderr, "\n");+#ifndef CONFIG_DM     for(env = first_cpu; env != NULL; env = env->next_cpu) {         fprintf(stderr, "CPU #%d:\n", env->cpu_index); #ifdef TARGET_I386@@ -410,6 +413,7 @@         cpu_dump_state(env, stderr, fprintf, 0); #endif     }+#endif /* !CONFIG_DM */     va_end(ap);     abort(); }@@ -4953,6 +4957,7 @@     qemu_free(sn_tab); } +#ifndef CONFIG_DM /***********************************************************/ /* cpu save/restore */ @@ -5582,6 +5587,25 @@     ram_decompress_close(s);     return 0; }+#else  /* CONFIG_DM */+void cpu_save(QEMUFile *f, void *opaque)+{+}++int cpu_load(QEMUFile *f, void *opaque, int version_id)+{+    return 0;+}++static void ram_save(QEMUFile *f, void *opaque)+{+}++static int ram_load(QEMUFile *f, void *opaque, int version_id)+{+    return 0;+}+#endif /* CONFIG_DM */  /***********************************************************/ /* bottom halves (can be seen as timers which expire ASAP) */@@ -6580,15 +6604,19 @@ #endif     cyls = heads = secs = 0;     translation = BIOS_ATA_TRANSLATION_AUTO;-    pstrcpy(monitor_device, sizeof(monitor_device), "vc");+    pstrcpy(monitor_device, sizeof(monitor_device), "null"); -    pstrcpy(serial_devices[0], sizeof(serial_devices[0]), "vc");-    for(i = 1; i < MAX_SERIAL_PORTS; i++)+    for(i = 0; i < MAX_SERIAL_PORTS; i++)         serial_devices[i][0] = '\0';     serial_device_index = 0;-    ++#ifndef CONFIG_DM     pstrcpy(parallel_devices[0], sizeof(parallel_devices[0]), "vc");     for(i = 1; i < MAX_PARALLEL_PORTS; i++)+#else+    /* Xen steals IRQ7 for PCI. Disable LPT1 by default. */+    for(i = 0; i < MAX_PARALLEL_PORTS; i++)+#endif         parallel_devices[i][0] = '\0';     parallel_device_index = 0;     @@ -7040,6 +7068,7 @@     socket_init(); #endif +#ifndef CONFIG_DM     /* init network clients */     if (nb_net_clients == 0) {         /* if no clients, we use a default config */@@ -7049,6 +7078,7 @@                 "user");         nb_net_clients = 2;     }+#endif /* !CONFIG_DM */      for(i = 0;i < nb_net_clients; i++) {         if (net_client_init(net_clients[i]) < 0)

⌨️ 快捷键说明

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