source: trunk/packages/xen-3.1/xen-3.1/tools/ioemu/patches/qemu-dm @ 34

Last change on this file since 34 was 34, checked in by hartmans, 18 years ago

Add xen and xen-common

File size: 14.0 KB
Line 
1Index: ioemu/Makefile.target
2===================================================================
3--- ioemu.orig/Makefile.target  2007-05-02 15:48:40.000000000 +0100
4+++ ioemu/Makefile.target       2007-05-02 16:04:46.000000000 +0100
5@@ -303,7 +303,7 @@
6 endif
7 
8 # must use static linking to avoid leaving stuff in virtual address space
9-VL_OBJS=vl.o osdep.o block.o readline.o monitor.o pci.o console.o loader.o
10+VL_OBJS=vl.o osdep.o block.o readline.o monitor.o pci.o console.o
11 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
12 ifdef CONFIG_WIN32
13 VL_OBJS+=tap-win32.o
14Index: ioemu/configure
15===================================================================
16--- ioemu.orig/configure        2007-05-02 15:48:40.000000000 +0100
17+++ ioemu/configure     2007-05-02 16:04:46.000000000 +0100
18@@ -75,8 +75,8 @@
19 bigendian="no"
20 mingw32="no"
21 EXESUF=""
22-gdbstub="yes"
23-slirp="yes"
24+gdbstub="no"
25+slirp="no"
26 adlib="no"
27 oss="no"
28 dsound="no"
29@@ -749,6 +749,8 @@
30 if expr $target : '.*-softmmu' > /dev/null ; then
31   target_softmmu="yes"
32 fi
33+#for support 256M guest
34+target_softmmu="yes"
35 target_user_only="no"
36 if expr $target : '.*-user' > /dev/null ; then
37   target_user_only="yes"
38Index: ioemu/cpu-all.h
39===================================================================
40--- ioemu.orig/cpu-all.h        2007-05-02 15:48:36.000000000 +0100
41+++ ioemu/cpu-all.h     2007-05-02 16:04:46.000000000 +0100
42@@ -690,7 +690,9 @@
43 void page_set_flags(target_ulong start, target_ulong end, int flags);
44 void page_unprotect_range(target_ulong data, target_ulong data_size);
45 
46+#ifdef CONFIG_DM
47 #define SINGLE_CPU_DEFINES
48+#endif
49 #ifdef SINGLE_CPU_DEFINES
50 
51 #if defined(TARGET_I386)
52@@ -745,6 +747,12 @@
53 
54 #endif
55 
56+#else /* SINGLE_CPU_DEFINES */
57+
58+#define CPUState CPUX86State
59+#define cpu_init cpu_x86_init
60+int main_loop(void);
61+
62 #endif /* SINGLE_CPU_DEFINES */
63 
64 void cpu_dump_state(CPUState *env, FILE *f,
65Index: ioemu/disas.h
66===================================================================
67--- ioemu.orig/disas.h  2007-05-02 15:48:36.000000000 +0100
68+++ ioemu/disas.h       2007-05-02 15:48:40.000000000 +0100
69@@ -1,6 +1,7 @@
70 #ifndef _QEMU_DISAS_H
71 #define _QEMU_DISAS_H
72 
73+#ifndef CONFIG_DM
74 /* Disassemble this for me please... (debugging). */
75 void disas(FILE *out, void *code, unsigned long size);
76 void target_disas(FILE *out, target_ulong code, target_ulong size, int flags);
77@@ -17,5 +18,6 @@
78     const char *disas_strtab;
79     struct syminfo *next;
80 } *syminfos;
81+#endif /* !CONFIG_DM */
82 
83 #endif /* _QEMU_DISAS_H */
84Index: ioemu/exec-all.h
85===================================================================
86--- ioemu.orig/exec-all.h       2007-05-02 15:48:36.000000000 +0100
87+++ ioemu/exec-all.h    2007-05-02 16:04:45.000000000 +0100
88@@ -509,7 +509,7 @@
89 
90 extern int tb_invalidated_flag;
91 
92-#if !defined(CONFIG_USER_ONLY)
93+#if !defined(CONFIG_USER_ONLY) && !defined(CONFIG_DM)
94 
95 void tlb_fill(target_ulong addr, int is_write, int is_user,
96               void *retaddr);
97@@ -536,7 +536,7 @@
98 
99 #endif
100 
101-#if defined(CONFIG_USER_ONLY)
102+#if defined(CONFIG_USER_ONLY) || defined(CONFIG_DM)
103 static inline target_ulong get_phys_addr_code(CPUState *env, target_ulong addr)
104 {
105     return addr;
106Index: ioemu/hw/pc.c
107===================================================================
108--- ioemu.orig/hw/pc.c  2007-05-02 15:48:36.000000000 +0100
109+++ ioemu/hw/pc.c       2007-05-02 16:04:46.000000000 +0100
110@@ -73,6 +73,7 @@
111     }
112 }
113 
114+#ifndef CONFIG_DM
115 /* IRQ handling */
116 int cpu_get_pic_interrupt(CPUState *env)
117 {
118@@ -89,6 +90,7 @@
119     intno = pic_read_irq(isa_pic);
120     return intno;
121 }
122+#endif /* CONFIG_DM */
123 
124 static void pic_irq_request(void *opaque, int level)
125 {
126@@ -400,6 +402,7 @@
127 
128 /*************************************************/
129 
130+#ifndef CONFIG_DM
131 static void putb(uint8_t **pp, int val)
132 {
133     uint8_t *q;
134@@ -546,6 +549,7 @@
135     float_pointer_struct[10] =
136         -mpf_checksum(float_pointer_struct, q - float_pointer_struct);
137 }
138+#endif /* !CONFIG_DM */
139 
140 
141 static const int ide_iobase[2] = { 0x1f0, 0x170 };
142@@ -626,12 +630,14 @@
143     /* init CPUs */
144     for(i = 0; i < smp_cpus; i++) {
145         env = cpu_init();
146+#ifndef CONFIG_DM
147         if (i != 0)
148             env->hflags |= HF_HALTED_MASK;
149         if (smp_cpus > 1) {
150             /* XXX: enable it in all cases */
151             env->cpuid_features |= CPUID_APIC;
152         }
153+#endif /* !CONFIG_DM */
154         register_savevm("cpu", i, 3, cpu_save, cpu_load, env);
155         qemu_register_reset(main_cpu_reset, env);
156         if (pci_enabled) {
157@@ -690,6 +696,7 @@
158     
159     bochs_bios_init();
160 
161+#ifndef CONFIG_DM
162     if (linux_boot) {
163         uint8_t bootsect[512];
164         uint8_t old_bootsect[512];
165@@ -745,6 +752,7 @@
166         /* loader type */
167         stw_raw(phys_ram_base + KERNEL_PARAMS_ADDR + 0x210, 0x01);
168     }
169+#endif /* !CONFIG_DM */
170 
171     if (pci_enabled) {
172         pci_bus = i440fx_init();
173@@ -783,9 +791,11 @@
174     isa_pic = pic_init(pic_irq_request, first_cpu);
175     pit = pit_init(0x40, 0);
176     pcspk_init(pit);
177+#ifndef CONFIG_DM
178     if (pci_enabled) {
179         pic_set_alt_irq_func(isa_pic, ioapic_set_irq, ioapic);
180     }
181+#endif /* !CONFIG_DM */
182 
183     for(i = 0; i < MAX_SERIAL_PORTS; i++) {
184         if (serial_hds[i]) {
185Index: ioemu/hw/vga_int.h
186===================================================================
187--- ioemu.orig/hw/vga_int.h     2007-05-02 15:48:36.000000000 +0100
188+++ ioemu/hw/vga_int.h  2007-05-02 16:04:45.000000000 +0100
189@@ -28,7 +28,7 @@
190 #define ST01_DISP_ENABLE    0x01
191 
192 /* bochs VBE support */
193-#define CONFIG_BOCHS_VBE
194+//#define CONFIG_BOCHS_VBE
195 
196 #define VBE_DISPI_MAX_XRES              1600
197 #define VBE_DISPI_MAX_YRES              1200
198Index: ioemu/monitor.c
199===================================================================
200--- ioemu.orig/monitor.c        2007-05-02 15:48:36.000000000 +0100
201+++ ioemu/monitor.c     2007-05-02 16:04:46.000000000 +0100
202@@ -68,6 +68,12 @@
203 
204 void term_flush(void)
205 {
206+#ifdef CONFIG_DM
207+    if (term_outbuf_index > 0 && !monitor_hd) {
208+        fwrite(term_outbuf, term_outbuf_index, 1, stderr);
209+        term_outbuf_index = 0;
210+    }
211+#endif
212     if (term_outbuf_index > 0) {
213         qemu_chr_write(monitor_hd, term_outbuf, term_outbuf_index);
214         term_outbuf_index = 0;
215@@ -106,6 +112,7 @@
216     va_end(ap);
217 }
218 
219+#ifndef CONFIG_DM
220 static int monitor_fprintf(FILE *stream, const char *fmt, ...)
221 {
222     va_list ap;
223@@ -114,6 +121,7 @@
224     va_end(ap);
225     return 0;
226 }
227+#endif /* !CONFIG_DM */
228 
229 static int compare_cmd(const char *name, const char *list)
230 {
231@@ -227,6 +235,7 @@
232     return mon_cpu;
233 }
234 
235+#ifndef CONFIG_DM
236 static void do_info_registers(void)
237 {
238     CPUState *env;
239@@ -280,6 +289,7 @@
240 {
241     dump_exec_info(NULL, monitor_fprintf);
242 }
243+#endif /* !CONFIG_DM */
244 
245 static void do_info_history (void)
246 {
247@@ -377,6 +387,7 @@
248     cpu_set_log(mask);
249 }
250 
251+#ifndef CONFIG_DM
252 static void do_savevm(const char *filename)
253 {
254     if (qemu_savevm(filename) < 0)
255@@ -623,6 +634,7 @@
256 #endif
257     term_printf("\n");
258 }
259+#endif /* !CONFIG_DM */
260 
261 static void do_sum(uint32_t start, uint32_t size)
262 {
263@@ -841,6 +853,7 @@
264     kbd_mouse_event(0, 0, 0, mouse_button_state);
265 }
266 
267+#ifndef CONFIG_DM
268 static void do_ioport_read(int count, int format, int size, int addr, int has_index, int index)
269 {
270     uint32_t val;
271@@ -1031,6 +1044,7 @@
272     term_printf("kqemu support: not compiled\n");
273 #endif
274 }
275+#endif /* !CONFIG_DM */
276 
277 #ifdef CONFIG_PROFILER
278 
279@@ -1152,6 +1166,7 @@
280       "filename", "save screen into PPM image 'filename'" },
281     { "log", "s", do_log,
282       "item1[,...]", "activate logging of the specified items to '/tmp/qemu.log'" },
283+#ifndef CONFIG_DM
284     { "savevm", "F", do_savevm,
285       "filename", "save the whole virtual machine state to 'filename'" },
286     { "loadvm", "F", do_loadvm,
287@@ -1172,21 +1187,26 @@
288       "/fmt expr", "print expression value (use $reg for CPU register access)", },
289     { "i", "/ii.", do_ioport_read,
290       "/fmt addr", "I/O port read" },
291+#endif/* !CONFIG_DM */
292 
293     { "sendkey", "s", do_send_key,
294       "keys", "send keys to the VM (e.g. 'sendkey ctrl-alt-f1')" },
295+#ifndef CONFIG_DM
296     { "system_reset", "", do_system_reset,
297       "", "reset the system" },
298     { "system_powerdown", "", do_system_powerdown,
299       "", "send system power down event" },
300+#endif /* !CONFIG_DM */
301     { "sum", "ii", do_sum,
302       "addr size", "compute the checksum of a memory region" },
303     { "usb_add", "s", do_usb_add,
304       "device", "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')" },
305     { "usb_del", "s", do_usb_del,
306       "device", "remove USB device 'bus.addr'" },
307+#ifndef CONFIG_DM
308     { "cpu", "i", do_cpu_set,
309       "index", "set the default CPU" },
310+#endif /* !CONFIG_DM */
311     { "mouse_move", "sss?", do_mouse_move,
312       "dx dy [dz]", "send mouse move events" },
313     { "mouse_button", "i", do_mouse_button,
314@@ -1208,10 +1228,12 @@
315       "", "show the network state" },
316     { "block", "", do_info_block,
317       "", "show the block devices" },
318+#ifndef CONFIG_DM
319     { "registers", "", do_info_registers,
320       "", "show the cpu registers" },
321     { "cpus", "", do_info_cpus,
322       "", "show infos for each CPU" },
323+#endif /* !CONFIG_DM */
324     { "history", "", do_info_history,
325       "", "show the command line history", },
326     { "irq", "", irq_info,
327@@ -1220,6 +1242,7 @@
328       "", "show i8259 (PIC) state", },
329     { "pci", "", pci_info,
330       "", "show PCI info", },
331+#ifndef CONFIG_DM
332 #if defined(TARGET_I386)
333     { "tlb", "", tlb_info,
334       "", "show virtual to physical memory mappings", },
335@@ -1230,6 +1253,7 @@
336       "", "show dynamic compiler info", },
337     { "kqemu", "", do_info_kqemu,
338       "", "show kqemu information", },
339+#endif /* !CONFIG_DM */
340     { "usb", "", usb_info,
341       "", "show guest USB devices", },
342     { "usbhost", "", usb_host_info,
343@@ -1243,6 +1267,7 @@
344 
345 /*******************************************************************/
346 
347+#ifndef CONFIG_DM
348 static const char *pch;
349 static jmp_buf expr_env;
350 
351@@ -1786,6 +1811,7 @@
352     *pp = pch;
353     return 0;
354 }
355+#endif /* !CONFIG_DM */
356 
357 static int get_str(char *buf, int buf_size, const char **pp)
358 {
359@@ -1852,8 +1878,10 @@
360     return 0;
361 }
362 
363+#ifndef CONFIG_DM
364 static int default_fmt_format = 'x';
365 static int default_fmt_size = 4;
366+#endif /* !CONFIG_DM */
367 
368 #define MAX_ARGS 16
369 
370@@ -1861,7 +1889,10 @@
371 {
372     const char *p, *pstart, *typestr;
373     char *q;
374-    int c, nb_args, len, i, has_arg;
375+    int c, nb_args, len, i;
376+#ifndef CONFIG_DM
377+    int has_arg;
378+#endif /* !CONFIG_DM */
379     term_cmd_t *cmd;
380     char cmdname[256];
381     char buf[1024];
382@@ -1953,6 +1984,7 @@
383                 args[nb_args++] = str;
384             }
385             break;
386+#ifndef CONFIG_DM
387         case '/':
388             {
389                 int count, format, size;
390@@ -2085,6 +2117,7 @@
391                 }
392             }
393             break;
394+#endif /* !CONFIG_DM */
395         case '-':
396             {
397                 int has_option;
398@@ -2111,6 +2144,11 @@
399                 args[nb_args++] = (void *)has_option;
400             }
401             break;
402+#ifdef CONFIG_DM
403+        /* TODO: add more commands we need here to support hvm device model */
404+        case '/':
405+        case 'i':
406+#endif /* CONFIG_DM */
407         default:
408         bad_type:
409             term_printf("%s: unknown type '%c'\n", cmdname, c);
410@@ -2161,6 +2199,7 @@
411     return;
412 }
413 
414+#ifndef CONFIG_DM
415 static void cmd_completion(const char *name, const char *list)
416 {
417     const char *p, *pstart;
418@@ -2354,6 +2393,11 @@
419     for(i = 0; i < nb_args; i++)
420         qemu_free(args[i]);
421 }
422+#else
423+void readline_find_completion(const char *cmdline)
424+{
425+}
426+#endif /* !CONFIG_DM */
427 
428 static int term_can_read(void *opaque)
429 {
430Index: ioemu/vl.c
431===================================================================
432--- ioemu.orig/vl.c     2007-05-02 15:48:36.000000000 +0100
433+++ ioemu/vl.c  2007-05-02 16:05:40.000000000 +0100
434@@ -422,12 +422,15 @@
435 void hw_error(const char *fmt, ...)
436 {
437     va_list ap;
438+#ifndef CONFIG_DM
439     CPUState *env;
440+#endif /* !CONFIG_DM */
441 
442     va_start(ap, fmt);
443     fprintf(stderr, "qemu: hardware error: ");
444     vfprintf(stderr, fmt, ap);
445     fprintf(stderr, "\n");
446+#ifndef CONFIG_DM
447     for(env = first_cpu; env != NULL; env = env->next_cpu) {
448         fprintf(stderr, "CPU #%d:\n", env->cpu_index);
449 #ifdef TARGET_I386
450@@ -436,6 +439,7 @@
451         cpu_dump_state(env, stderr, fprintf, 0);
452 #endif
453     }
454+#endif /* !CONFIG_DM */
455     va_end(ap);
456     abort();
457 }
458@@ -4336,6 +4340,7 @@
459     return ret;
460 }
461 
462+#ifndef CONFIG_DM
463 /***********************************************************/
464 /* cpu save/restore */
465 
466@@ -4770,6 +4775,25 @@
467     }
468     return 0;
469 }
470+#else  /* CONFIG_DM */
471+void cpu_save(QEMUFile *f, void *opaque)
472+{
473+}
474+
475+int cpu_load(QEMUFile *f, void *opaque, int version_id)
476+{
477+    return 0;
478+}
479+
480+static void ram_save(QEMUFile *f, void *opaque)
481+{
482+}
483+
484+static int ram_load(QEMUFile *f, void *opaque, int version_id)
485+{
486+    return 0;
487+}
488+#endif /* CONFIG_DM */
489 
490 /***********************************************************/
491 /* machine registration */
492@@ -5664,15 +5688,19 @@
493 #endif
494     cyls = heads = secs = 0;
495     translation = BIOS_ATA_TRANSLATION_AUTO;
496-    pstrcpy(monitor_device, sizeof(monitor_device), "vc");
497+    pstrcpy(monitor_device, sizeof(monitor_device), "null");
498 
499-    pstrcpy(serial_devices[0], sizeof(serial_devices[0]), "vc");
500-    for(i = 1; i < MAX_SERIAL_PORTS; i++)
501+    for(i = 0; i < MAX_SERIAL_PORTS; i++)
502         serial_devices[i][0] = '\0';
503     serial_device_index = 0;
504-   
505+
506+#ifndef CONFIG_DM
507     pstrcpy(parallel_devices[0], sizeof(parallel_devices[0]), "vc");
508     for(i = 1; i < MAX_PARALLEL_PORTS; i++)
509+#else
510+    /* Xen steals IRQ7 for PCI. Disable LPT1 by default. */
511+    for(i = 0; i < MAX_PARALLEL_PORTS; i++)
512+#endif
513         parallel_devices[i][0] = '\0';
514     parallel_device_index = 0;
515     
516@@ -6054,6 +6082,7 @@
517     socket_init();
518 #endif
519 
520+#ifndef CONFIG_DM
521     /* init network clients */
522     if (nb_net_clients == 0) {
523         /* if no clients, we use a default config */
524@@ -6063,6 +6092,7 @@
525                 "user");
526         nb_net_clients = 2;
527     }
528+#endif /* !CONFIG_DM */
529 
530     for(i = 0;i < nb_net_clients; i++) {
531         if (net_client_init(net_clients[i]) < 0)
Note: See TracBrowser for help on using the repository browser.