ia64/xen-unstable

changeset 10801:f20f1e7091a4

[qemu] Fix HVM guests with more than 2G RAM on x86_64,
where "startx" will cause qemu dm to die.

Signed-off-by: Xin Li <xin.b.li@intel.com>
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
author chris@kneesaa.uk.xensource.com
date Wed Jul 26 13:23:05 2006 +0100 (2006-07-26)
parents 14642f36a201
children 7654157278f1
files tools/ioemu/hw/vga.c tools/ioemu/patches/domain-timeoffset tools/ioemu/patches/qemu-64bit tools/ioemu/patches/shadow-vram tools/ioemu/patches/shared-vram
line diff
     1.1 --- a/tools/ioemu/hw/vga.c	Wed Jul 26 11:47:44 2006 +0100
     1.2 +++ b/tools/ioemu/hw/vga.c	Wed Jul 26 13:23:05 2006 +0100
     1.3 @@ -1392,7 +1392,8 @@ void check_sse2(void)
     1.4  static void vga_draw_graphic(VGAState *s, int full_update)
     1.5  {
     1.6      int y1, y, update, page_min, page_max, linesize, y_start, double_scan, mask;
     1.7 -    int width, height, shift_control, line_offset, page0, page1, bwidth;
     1.8 +    int width, height, shift_control, line_offset, bwidth;
     1.9 +    ram_addr_t page0, page1;
    1.10      int disp_width, multi_scan, multi_run;
    1.11      uint8_t *d;
    1.12      uint32_t v, addr1, addr;
     2.1 --- a/tools/ioemu/patches/domain-timeoffset	Wed Jul 26 11:47:44 2006 +0100
     2.2 +++ b/tools/ioemu/patches/domain-timeoffset	Wed Jul 26 13:23:05 2006 +0100
     2.3 @@ -1,7 +1,7 @@
     2.4  Index: ioemu/hw/mc146818rtc.c
     2.5  ===================================================================
     2.6 ---- ioemu.orig/hw/mc146818rtc.c	2006-07-14 15:55:55.450963213 +0100
     2.7 -+++ ioemu/hw/mc146818rtc.c	2006-07-14 15:56:02.195195680 +0100
     2.8 +--- ioemu.orig/hw/mc146818rtc.c	2006-07-26 13:18:13.783025944 +0100
     2.9 ++++ ioemu/hw/mc146818rtc.c	2006-07-26 13:20:34.934314196 +0100
    2.10  @@ -178,10 +178,27 @@
    2.11       }
    2.12   }
    2.13 @@ -46,8 +46,8 @@ Index: ioemu/hw/mc146818rtc.c
    2.14   static void rtc_copy_date(RTCState *s)
    2.15  Index: ioemu/hw/pc.c
    2.16  ===================================================================
    2.17 ---- ioemu.orig/hw/pc.c	2006-07-14 15:56:01.774243586 +0100
    2.18 -+++ ioemu/hw/pc.c	2006-07-14 15:56:02.196195566 +0100
    2.19 +--- ioemu.orig/hw/pc.c	2006-07-26 13:20:34.463363339 +0100
    2.20 ++++ ioemu/hw/pc.c	2006-07-26 13:20:34.935314092 +0100
    2.21  @@ -151,7 +151,7 @@
    2.22   }
    2.23   
    2.24 @@ -117,8 +117,8 @@ Index: ioemu/hw/pc.c
    2.25   QEMUMachine pc_machine = {
    2.26  Index: ioemu/vl.c
    2.27  ===================================================================
    2.28 ---- ioemu.orig/vl.c	2006-07-14 15:56:02.010216731 +0100
    2.29 -+++ ioemu/vl.c	2006-07-14 15:56:02.198195338 +0100
    2.30 +--- ioemu.orig/vl.c	2006-07-26 13:20:34.812326925 +0100
    2.31 ++++ ioemu/vl.c	2006-07-26 13:20:34.937313883 +0100
    2.32  @@ -164,6 +164,8 @@
    2.33   
    2.34   int xc_handle;
    2.35 @@ -174,8 +174,8 @@ Index: ioemu/vl.c
    2.36       qemu_mod_timer(gui_timer, qemu_get_clock(rt_clock));
    2.37  Index: ioemu/vl.h
    2.38  ===================================================================
    2.39 ---- ioemu.orig/vl.h	2006-07-14 15:56:01.779243017 +0100
    2.40 -+++ ioemu/vl.h	2006-07-14 15:56:02.199195224 +0100
    2.41 +--- ioemu.orig/vl.h	2006-07-26 13:20:34.467362921 +0100
    2.42 ++++ ioemu/vl.h	2006-07-26 13:20:34.938313779 +0100
    2.43  @@ -556,7 +556,7 @@
    2.44                                    int boot_device,
    2.45                DisplayState *ds, const char **fd_filename, int snapshot,
     3.1 --- a/tools/ioemu/patches/qemu-64bit	Wed Jul 26 11:47:44 2006 +0100
     3.2 +++ b/tools/ioemu/patches/qemu-64bit	Wed Jul 26 13:23:05 2006 +0100
     3.3 @@ -1,7 +1,8 @@
     3.4 -diff -r 2b3e57b3e1ec cpu-all.h
     3.5 ---- a/cpu-all.h	Mon Jun 26 15:16:39 2006 +0100
     3.6 -+++ b/cpu-all.h	Mon Jun 26 15:16:44 2006 +0100
     3.7 -@@ -822,7 +822,7 @@ int cpu_inl(CPUState *env, int addr);
     3.8 +Index: ioemu/cpu-all.h
     3.9 +===================================================================
    3.10 +--- ioemu.orig/cpu-all.h	2006-07-26 13:19:49.515051864 +0100
    3.11 ++++ ioemu/cpu-all.h	2006-07-26 13:19:49.563046860 +0100
    3.12 +@@ -822,7 +822,7 @@
    3.13   
    3.14   /* memory API */
    3.15   
    3.16 @@ -10,10 +11,11 @@ diff -r 2b3e57b3e1ec cpu-all.h
    3.17   extern int phys_ram_fd;
    3.18   extern uint8_t *phys_ram_base;
    3.19   extern uint8_t *phys_ram_dirty;
    3.20 -diff -r 2b3e57b3e1ec hw/pc.c
    3.21 ---- a/hw/pc.c	Mon Jun 26 15:16:39 2006 +0100
    3.22 -+++ b/hw/pc.c	Mon Jun 26 15:16:44 2006 +0100
    3.23 -@@ -147,7 +147,7 @@ static void cmos_init_hd(int type_ofs, i
    3.24 +Index: ioemu/hw/pc.c
    3.25 +===================================================================
    3.26 +--- ioemu.orig/hw/pc.c	2006-07-26 13:19:49.516051760 +0100
    3.27 ++++ ioemu/hw/pc.c	2006-07-26 13:19:49.564046755 +0100
    3.28 +@@ -147,7 +147,7 @@
    3.29   }
    3.30   
    3.31   /* hd_table must contain 4 block drivers */
    3.32 @@ -22,7 +24,7 @@ diff -r 2b3e57b3e1ec hw/pc.c
    3.33   {
    3.34       RTCState *s = rtc_state;
    3.35       int val;
    3.36 -@@ -604,7 +604,7 @@ static void pc_init_ne2k_isa(NICInfo *nd
    3.37 +@@ -604,7 +604,7 @@
    3.38   }
    3.39   
    3.40   /* PC hardware initialisation */
    3.41 @@ -31,7 +33,7 @@ diff -r 2b3e57b3e1ec hw/pc.c
    3.42                        DisplayState *ds, const char **fd_filename, int snapshot,
    3.43                        const char *kernel_filename, const char *kernel_cmdline,
    3.44                        const char *initrd_filename,
    3.45 -@@ -853,7 +853,7 @@ static void pc_init1(int ram_size, int v
    3.46 +@@ -853,7 +853,7 @@
    3.47       }
    3.48   }
    3.49   
    3.50 @@ -40,7 +42,7 @@ diff -r 2b3e57b3e1ec hw/pc.c
    3.51                           DisplayState *ds, const char **fd_filename, 
    3.52                           int snapshot, 
    3.53                           const char *kernel_filename, 
    3.54 -@@ -866,7 +866,7 @@ static void pc_init_pci(int ram_size, in
    3.55 +@@ -866,7 +866,7 @@
    3.56                initrd_filename, 1);
    3.57   }
    3.58   
    3.59 @@ -49,10 +51,11 @@ diff -r 2b3e57b3e1ec hw/pc.c
    3.60                           DisplayState *ds, const char **fd_filename, 
    3.61                           int snapshot, 
    3.62                           const char *kernel_filename, 
    3.63 -diff -r 2b3e57b3e1ec vl.c
    3.64 ---- a/vl.c	Mon Jun 26 15:16:39 2006 +0100
    3.65 -+++ b/vl.c	Mon Jun 26 15:16:44 2006 +0100
    3.66 -@@ -123,7 +123,7 @@ const char* keyboard_layout = NULL;
    3.67 +Index: ioemu/vl.c
    3.68 +===================================================================
    3.69 +--- ioemu.orig/vl.c	2006-07-26 13:19:49.552048007 +0100
    3.70 ++++ ioemu/vl.c	2006-07-26 13:19:49.566046547 +0100
    3.71 +@@ -123,7 +123,7 @@
    3.72   const char* keyboard_layout = NULL;
    3.73   int64_t ticks_per_sec;
    3.74   int boot_device = 'c';
    3.75 @@ -61,7 +64,7 @@ diff -r 2b3e57b3e1ec vl.c
    3.76   int pit_min_timer_count = 0;
    3.77   int nb_nics;
    3.78   NICInfo nd_table[MAX_NICS];
    3.79 -@@ -5320,7 +5320,7 @@ int main(int argc, char **argv)
    3.80 +@@ -5320,7 +5320,7 @@
    3.81                   help();
    3.82                   break;
    3.83               case QEMU_OPTION_m:
    3.84 @@ -70,10 +73,11 @@ diff -r 2b3e57b3e1ec vl.c
    3.85                   if (ram_size <= 0)
    3.86                       help();
    3.87                   if (ram_size > PHYS_RAM_MAX_SIZE) {
    3.88 -diff -r 2b3e57b3e1ec vl.h
    3.89 ---- a/vl.h	Mon Jun 26 15:16:39 2006 +0100
    3.90 -+++ b/vl.h	Mon Jun 26 15:16:44 2006 +0100
    3.91 -@@ -138,7 +138,7 @@ extern int xc_handle;
    3.92 +Index: ioemu/vl.h
    3.93 +===================================================================
    3.94 +--- ioemu.orig/vl.h	2006-07-26 13:19:49.552048007 +0100
    3.95 ++++ ioemu/vl.h	2006-07-26 13:19:49.567046443 +0100
    3.96 +@@ -138,7 +138,7 @@
    3.97   extern int xc_handle;
    3.98   extern int domid;
    3.99   
   3.100 @@ -82,7 +86,7 @@ diff -r 2b3e57b3e1ec vl.h
   3.101   extern int bios_size;
   3.102   extern int rtc_utc;
   3.103   extern int cirrus_vga_enabled;
   3.104 -@@ -542,7 +542,7 @@ int qcow_compress_cluster(BlockDriverSta
   3.105 +@@ -542,7 +542,7 @@
   3.106   
   3.107   #ifndef QEMU_TOOL
   3.108   
   3.109 @@ -91,3 +95,17 @@ diff -r 2b3e57b3e1ec vl.h
   3.110                                    int boot_device,
   3.111                DisplayState *ds, const char **fd_filename, int snapshot,
   3.112                const char *kernel_filename, const char *kernel_cmdline,
   3.113 +Index: ioemu/hw/vga.c
   3.114 +===================================================================
   3.115 +--- ioemu.orig/hw/vga.c	2006-07-26 13:19:49.549048319 +0100
   3.116 ++++ ioemu/hw/vga.c	2006-07-26 13:20:17.956085603 +0100
   3.117 +@@ -1293,7 +1293,8 @@
   3.118 + static void vga_draw_graphic(VGAState *s, int full_update)
   3.119 + {
   3.120 +     int y1, y, update, page_min, page_max, linesize, y_start, double_scan, mask;
   3.121 +-    int width, height, shift_control, line_offset, page0, page1, bwidth;
   3.122 ++    int width, height, shift_control, line_offset, bwidth;
   3.123 ++    ram_addr_t page0, page1;
   3.124 +     int disp_width, multi_scan, multi_run;
   3.125 +     uint8_t *d;
   3.126 +     uint32_t v, addr1, addr;
     4.1 --- a/tools/ioemu/patches/shadow-vram	Wed Jul 26 11:47:44 2006 +0100
     4.2 +++ b/tools/ioemu/patches/shadow-vram	Wed Jul 26 13:23:05 2006 +0100
     4.3 @@ -1,7 +1,8 @@
     4.4 -diff -r 0ef2ae12258c hw/vga.c
     4.5 ---- a/hw/vga.c	Mon Jun 26 16:07:22 2006 +0100
     4.6 -+++ b/hw/vga.c	Tue Jun 27 09:42:44 2006 +0100
     4.7 -@@ -1287,6 +1287,105 @@ void vga_invalidate_scanlines(VGAState *
     4.8 +Index: ioemu/hw/vga.c
     4.9 +===================================================================
    4.10 +--- ioemu.orig/hw/vga.c	2006-07-26 13:20:34.464363234 +0100
    4.11 ++++ ioemu/hw/vga.c	2006-07-26 13:20:34.660342784 +0100
    4.12 +@@ -1287,6 +1287,105 @@
    4.13       }
    4.14   }
    4.15   
    4.16 @@ -107,7 +108,7 @@ diff -r 0ef2ae12258c hw/vga.c
    4.17   /* 
    4.18    * graphic modes
    4.19    */
    4.20 -@@ -1381,6 +1480,11 @@ static void vga_draw_graphic(VGAState *s
    4.21 +@@ -1382,6 +1481,11 @@
    4.22       printf("w=%d h=%d v=%d line_offset=%d cr[0x09]=0x%02x cr[0x17]=0x%02x linecmp=%d sr[0x01]=0x%02x\n",
    4.23              width, height, v, line_offset, s->cr[9], s->cr[0x17], s->line_compare, s->sr[0x01]);
    4.24   #endif
    4.25 @@ -119,7 +120,7 @@ diff -r 0ef2ae12258c hw/vga.c
    4.26       addr1 = (s->start_addr * 4);
    4.27       bwidth = width * 4;
    4.28       y_start = -1;
    4.29 -@@ -1699,6 +1803,14 @@ void vga_common_init(VGAState *s, Displa
    4.30 +@@ -1700,6 +1804,14 @@
    4.31   
    4.32       vga_reset(s);
    4.33   
    4.34 @@ -134,9 +135,10 @@ diff -r 0ef2ae12258c hw/vga.c
    4.35       s->vram_ptr = qemu_malloc(vga_ram_size);
    4.36       s->vram_offset = vga_ram_offset;
    4.37       s->vram_size = vga_ram_size;
    4.38 -diff -r 0ef2ae12258c hw/vga_int.h
    4.39 ---- a/hw/vga_int.h	Mon Jun 26 16:07:22 2006 +0100
    4.40 -+++ b/hw/vga_int.h	Tue Jun 27 09:42:44 2006 +0100
    4.41 +Index: ioemu/hw/vga_int.h
    4.42 +===================================================================
    4.43 +--- ioemu.orig/hw/vga_int.h	2006-07-26 13:20:34.464363234 +0100
    4.44 ++++ ioemu/hw/vga_int.h	2006-07-26 13:20:34.661342680 +0100
    4.45  @@ -76,6 +76,7 @@
    4.46   
    4.47   #define VGA_STATE_COMMON                                                \
     5.1 --- a/tools/ioemu/patches/shared-vram	Wed Jul 26 11:47:44 2006 +0100
     5.2 +++ b/tools/ioemu/patches/shared-vram	Wed Jul 26 13:23:05 2006 +0100
     5.3 @@ -1,6 +1,7 @@
     5.4 -diff -r 62e05863ec04 hw/cirrus_vga.c
     5.5 ---- a/hw/cirrus_vga.c	Mon Jun 26 15:18:40 2006 +0100
     5.6 -+++ b/hw/cirrus_vga.c	Mon Jun 26 15:19:40 2006 +0100
     5.7 +Index: ioemu/hw/cirrus_vga.c
     5.8 +===================================================================
     5.9 +--- ioemu.orig/hw/cirrus_vga.c	2006-07-26 13:18:13.906013141 +0100
    5.10 ++++ ioemu/hw/cirrus_vga.c	2006-07-26 13:20:34.462363443 +0100
    5.11  @@ -28,6 +28,9 @@
    5.12    */
    5.13   #include "vl.h"
    5.14 @@ -11,7 +12,7 @@ diff -r 62e05863ec04 hw/cirrus_vga.c
    5.15   
    5.16   /*
    5.17    * TODO:
    5.18 -@@ -231,6 +234,8 @@ typedef struct CirrusVGAState {
    5.19 +@@ -231,6 +234,8 @@
    5.20       int cirrus_linear_io_addr;
    5.21       int cirrus_linear_bitblt_io_addr;
    5.22       int cirrus_mmio_io_addr;
    5.23 @@ -20,7 +21,7 @@ diff -r 62e05863ec04 hw/cirrus_vga.c
    5.24       uint32_t cirrus_addr_mask;
    5.25       uint32_t linear_mmio_mask;
    5.26       uint8_t cirrus_shadow_gr0;
    5.27 -@@ -267,6 +272,8 @@ typedef struct CirrusVGAState {
    5.28 +@@ -267,6 +272,8 @@
    5.29       int last_hw_cursor_y_end;
    5.30       int real_vram_size; /* XXX: suppress that */
    5.31       CPUWriteMemoryFunc **cirrus_linear_write;
    5.32 @@ -29,7 +30,7 @@ diff -r 62e05863ec04 hw/cirrus_vga.c
    5.33   } CirrusVGAState;
    5.34   
    5.35   typedef struct PCICirrusVGAState {
    5.36 -@@ -276,6 +283,8 @@ typedef struct PCICirrusVGAState {
    5.37 +@@ -276,6 +283,8 @@
    5.38   
    5.39   static uint8_t rop_to_index[256];
    5.40       
    5.41 @@ -38,7 +39,7 @@ diff -r 62e05863ec04 hw/cirrus_vga.c
    5.42   /***************************************
    5.43    *
    5.44    *  prototypes.
    5.45 -@@ -2520,6 +2529,80 @@ static CPUWriteMemoryFunc *cirrus_linear
    5.46 +@@ -2520,6 +2529,80 @@
    5.47       cirrus_linear_bitblt_writel,
    5.48   };
    5.49   
    5.50 @@ -119,7 +120,7 @@ diff -r 62e05863ec04 hw/cirrus_vga.c
    5.51   /* Compute the memory access functions */
    5.52   static void cirrus_update_memory_access(CirrusVGAState *s)
    5.53   {
    5.54 -@@ -2538,11 +2621,39 @@ static void cirrus_update_memory_access(
    5.55 +@@ -2538,11 +2621,39 @@
    5.56           
    5.57   	mode = s->gr[0x05] & 0x7;
    5.58   	if (mode < 4 || mode > 5 || ((s->gr[0x0B] & 0x4) == 0)) {
    5.59 @@ -159,7 +160,7 @@ diff -r 62e05863ec04 hw/cirrus_vga.c
    5.60               s->cirrus_linear_write[0] = cirrus_linear_writeb;
    5.61               s->cirrus_linear_write[1] = cirrus_linear_writew;
    5.62               s->cirrus_linear_write[2] = cirrus_linear_writel;
    5.63 -@@ -3136,6 +3247,13 @@ static void cirrus_pci_lfb_map(PCIDevice
    5.64 +@@ -3136,6 +3247,13 @@
    5.65       /* XXX: add byte swapping apertures */
    5.66       cpu_register_physical_memory(addr, s->vram_size,
    5.67   				 s->cirrus_linear_io_addr);
    5.68 @@ -173,10 +174,11 @@ diff -r 62e05863ec04 hw/cirrus_vga.c
    5.69       cpu_register_physical_memory(addr + 0x1000000, 0x400000,
    5.70   				 s->cirrus_linear_bitblt_io_addr);
    5.71   }
    5.72 -diff -r 62e05863ec04 hw/pc.c
    5.73 ---- a/hw/pc.c	Mon Jun 26 15:18:40 2006 +0100
    5.74 -+++ b/hw/pc.c	Mon Jun 26 15:19:40 2006 +0100
    5.75 -@@ -783,14 +783,14 @@ static void pc_init1(uint64_t ram_size, 
    5.76 +Index: ioemu/hw/pc.c
    5.77 +===================================================================
    5.78 +--- ioemu.orig/hw/pc.c	2006-07-26 13:20:34.396370329 +0100
    5.79 ++++ ioemu/hw/pc.c	2006-07-26 13:20:34.463363339 +0100
    5.80 +@@ -783,14 +783,14 @@
    5.81       if (cirrus_vga_enabled) {
    5.82           if (pci_enabled) {
    5.83               pci_cirrus_vga_init(pci_bus, 
    5.84 @@ -194,10 +196,11 @@ diff -r 62e05863ec04 hw/pc.c
    5.85                          vga_ram_size, 0, 0);
    5.86       }
    5.87   
    5.88 -diff -r 62e05863ec04 hw/vga.c
    5.89 ---- a/hw/vga.c	Mon Jun 26 15:18:40 2006 +0100
    5.90 -+++ b/hw/vga.c	Mon Jun 26 15:19:40 2006 +0100
    5.91 -@@ -1668,6 +1668,7 @@ static void vga_map(PCIDevice *pci_dev, 
    5.92 +Index: ioemu/hw/vga.c
    5.93 +===================================================================
    5.94 +--- ioemu.orig/hw/vga.c	2006-07-26 13:20:33.293485412 +0100
    5.95 ++++ ioemu/hw/vga.c	2006-07-26 13:20:34.464363234 +0100
    5.96 +@@ -1669,6 +1669,7 @@
    5.97       }
    5.98   }
    5.99   
   5.100 @@ -205,7 +208,7 @@ diff -r 62e05863ec04 hw/vga.c
   5.101   void vga_common_init(VGAState *s, DisplayState *ds, uint8_t *vga_ram_base, 
   5.102                        unsigned long vga_ram_offset, int vga_ram_size)
   5.103   {
   5.104 -@@ -1698,7 +1699,7 @@ void vga_common_init(VGAState *s, Displa
   5.105 +@@ -1699,7 +1700,7 @@
   5.106   
   5.107       vga_reset(s);
   5.108   
   5.109 @@ -214,12 +217,10 @@ diff -r 62e05863ec04 hw/vga.c
   5.110       s->vram_offset = vga_ram_offset;
   5.111       s->vram_size = vga_ram_size;
   5.112       s->ds = ds;
   5.113 -@@ -1808,6 +1809,31 @@ int vga_initialize(PCIBus *bus, DisplayS
   5.114 - #endif
   5.115 -     }
   5.116 +@@ -1811,6 +1812,31 @@
   5.117       return 0;
   5.118 -+}
   5.119 -+
   5.120 + }
   5.121 + 
   5.122  +void *vga_update_vram(VGAState *s, void *vga_ram_base, int vga_ram_size)
   5.123  +{
   5.124  +    uint8_t *old_pointer;
   5.125 @@ -243,27 +244,30 @@ diff -r 62e05863ec04 hw/vga.c
   5.126  +    s->vram_ptr = vga_ram_base;
   5.127  +
   5.128  +    return old_pointer;
   5.129 - }
   5.130 - 
   5.131 ++}
   5.132 ++
   5.133   /********************************************************/
   5.134 -diff -r 62e05863ec04 hw/vga_int.h
   5.135 ---- a/hw/vga_int.h	Mon Jun 26 15:18:40 2006 +0100
   5.136 -+++ b/hw/vga_int.h	Mon Jun 26 15:19:40 2006 +0100
   5.137 -@@ -166,5 +166,6 @@ void vga_draw_cursor_line_32(uint8_t *d1
   5.138 + /* vga screen dump */
   5.139 + 
   5.140 +Index: ioemu/hw/vga_int.h
   5.141 +===================================================================
   5.142 +--- ioemu.orig/hw/vga_int.h	2006-07-26 13:20:33.063509409 +0100
   5.143 ++++ ioemu/hw/vga_int.h	2006-07-26 13:20:34.464363234 +0100
   5.144 +@@ -166,5 +166,6 @@
   5.145                                unsigned int color0, unsigned int color1,
   5.146                                unsigned int color_xor);
   5.147   
   5.148  +void *vga_update_vram(VGAState *s, void *vga_ram_base, int vga_ram_size);
   5.149   extern const uint8_t sr_mask[8];
   5.150   extern const uint8_t gr_mask[16];
   5.151 -diff -r 62e05863ec04 vl.c
   5.152 ---- a/vl.c	Mon Jun 26 15:18:40 2006 +0100
   5.153 -+++ b/vl.c	Mon Jun 26 15:19:40 2006 +0100
   5.154 -@@ -5147,6 +5147,78 @@ static void select_soundhw (const char *
   5.155 - #endif
   5.156 +Index: ioemu/vl.c
   5.157 +===================================================================
   5.158 +--- ioemu.orig/vl.c	2006-07-26 13:20:34.398370121 +0100
   5.159 ++++ ioemu/vl.c	2006-07-26 13:20:34.466363026 +0100
   5.160 +@@ -5148,6 +5148,78 @@
   5.161   
   5.162   #define MAX_NET_CLIENTS 32
   5.163 -+
   5.164 + 
   5.165  +#include <xg_private.h>
   5.166  +
   5.167  +/* FIXME Flush the shadow page */
   5.168 @@ -335,13 +339,15 @@ diff -r 62e05863ec04 vl.c
   5.169  +
   5.170  +    return 0;
   5.171  +}
   5.172 - 
   5.173 ++
   5.174   int main(int argc, char **argv)
   5.175   {
   5.176 -diff -r 62e05863ec04 vl.h
   5.177 ---- a/vl.h	Mon Jun 26 15:18:40 2006 +0100
   5.178 -+++ b/vl.h	Mon Jun 26 15:19:40 2006 +0100
   5.179 -@@ -136,6 +136,13 @@ extern int reset_requested;
   5.180 + #ifdef CONFIG_GDBSTUB
   5.181 +Index: ioemu/vl.h
   5.182 +===================================================================
   5.183 +--- ioemu.orig/vl.h	2006-07-26 13:20:34.268383684 +0100
   5.184 ++++ ioemu/vl.h	2006-07-26 13:20:34.467362921 +0100
   5.185 +@@ -136,6 +136,13 @@
   5.186   
   5.187   void main_loop_wait(int timeout);
   5.188