[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [qemu patches] Update patches upto changeset 15032:8f510bf078c7.



# HG changeset patch
# User Christian Limpach <Christian.Limpach@xxxxxxxxxxxxx>
# Date 1178809531 -3600
# Node ID 31a3f83d1610180191a440e3cc582d5b7159bbda
# Parent  8f510bf078c7745696547b5245ba95ac5a6192bc
[qemu patches] Update patches upto changeset 15032:8f510bf078c7.

Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxxx>
---
 tools/ioemu/patches/domain-timeoffset              |  177 ----------
 tools/ioemu/patches/ioemu-buffer-pio-ia64          |    8 
 tools/ioemu/patches/ioemu-ia64                     |  338 ---------------------
 tools/ioemu/patches/qemu-bootorder                 |   40 +-
 tools/ioemu/patches/qemu-daemonize                 |    4 
 tools/ioemu/patches/qemu-dm                        |   36 +-
 tools/ioemu/patches/qemu-pci                       |   10 
 tools/ioemu/patches/qemu-pci-vendor-ids            |    8 
 tools/ioemu/patches/qemu-serial-fixes              |    6 
 tools/ioemu/patches/qemu-tunable-ide-write-cache   |   13 
 tools/ioemu/patches/scsi                           |   22 -
 tools/ioemu/patches/series                         |    4 
 tools/ioemu/patches/tpm-tis-device                 |    9 
 tools/ioemu/patches/vnc-backoff-screen-scan        |   30 -
 tools/ioemu/patches/vnc-display-find-unused        |   14 
 tools/ioemu/patches/vnc-fix-signedness             |   34 +-
 tools/ioemu/patches/vnc-fix-version-check          |    4 
 tools/ioemu/patches/vnc-password                   |   32 -
 tools/ioemu/patches/xen-mapcache                   |   24 -
 tools/ioemu/patches/xen-platform-device            |    9 
 tools/ioemu/patches/xen-support-buffered-ioreqs    |    8 
 tools/ioemu/patches/xenstore                       |   13 
 tools/ioemu/patches/xenstore-block-device-config   |   46 +-
 tools/ioemu/patches/xenstore-device-info-functions |    6 
 tools/ioemu/patches/xenstore-write-vnc-port        |   12 
 25 files changed, 211 insertions(+), 696 deletions(-)

diff -r 8f510bf078c7 -r 31a3f83d1610 tools/ioemu/patches/domain-timeoffset
--- a/tools/ioemu/patches/domain-timeoffset     Thu May 10 15:58:35 2007 +0100
+++ b/tools/ioemu/patches/domain-timeoffset     Thu May 10 16:05:31 2007 +0100
@@ -1,168 +1,8 @@ Index: ioemu/hw/mc146818rtc.c
-Index: ioemu/hw/mc146818rtc.c
-===================================================================
---- ioemu.orig/hw/mc146818rtc.c        2007-05-09 14:12:16.000000000 +0100
-+++ ioemu/hw/mc146818rtc.c     2007-05-09 14:12:43.000000000 +0100
-@@ -178,10 +178,27 @@
-     }
- }
- 
-+static void send_timeoffset_msg(time_t delta)
-+{
-+
-+/* This routine is used to inform another entity that the
-+   base time offset has changed. For instance, if you
-+   were using xenstore, you might want to write to the store
-+   at this point.  Or, you might use some other method.
-+   Whatever you might choose, here's a hook point to implement it.
-+
-+   One item of note is that this delta is in addition to
-+   any existing offset you might be already using. */
-+
-+    return;
-+}
-+
- static void rtc_set_time(RTCState *s)
- {
-     struct tm *tm = &s->current_tm;
--
-+    time_t before, after;
-+    
-+    before = mktime(tm);
-     tm->tm_sec = from_bcd(s, s->cmos_data[RTC_SECONDS]);
-     tm->tm_min = from_bcd(s, s->cmos_data[RTC_MINUTES]);
-     tm->tm_hour = from_bcd(s, s->cmos_data[RTC_HOURS] & 0x7f);
-@@ -193,6 +210,12 @@
-     tm->tm_mday = from_bcd(s, s->cmos_data[RTC_DAY_OF_MONTH]);
-     tm->tm_mon = from_bcd(s, s->cmos_data[RTC_MONTH]) - 1;
-     tm->tm_year = from_bcd(s, s->cmos_data[RTC_YEAR]) + 100;
-+
-+    /* Compute, and send, the additional time delta
-+       We could compute the total time delta, but this is
-+       sufficient, and simple. */
-+    after = mktime(tm);
-+    send_timeoffset_msg(after-before);
- }
- 
- static void rtc_copy_date(RTCState *s)
-@@ -392,6 +415,7 @@
- 
-     /* set the CMOS date */
-     time(&ti);
-+    ti += timeoffset;
-     if (rtc_utc)
-         tm = gmtime(&ti);
-     else
-Index: ioemu/hw/pc.c
-===================================================================
---- ioemu.orig/hw/pc.c 2007-05-09 14:12:16.000000000 +0100
-+++ ioemu/hw/pc.c      2007-05-09 14:12:43.000000000 +0100
-@@ -160,7 +160,7 @@
- }
- 
- /* hd_table must contain 4 block drivers */
--static void cmos_init(uint64_t ram_size, int boot_device, BlockDriverState 
**hd_table)
-+static void cmos_init(uint64_t ram_size, int boot_device, BlockDriverState 
**hd_table, time_t timeoffset)
- {
-     RTCState *s = rtc_state;
-     int val;
-@@ -454,7 +454,7 @@
- static void pc_init1(uint64_t 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,
-+                     const char *initrd_filename, time_t timeoffset,
-                      int pci_enabled)
- {
- #ifndef NOBIOS
-@@ -725,7 +725,7 @@
- 
-     floppy_controller = fdctrl_init(6, 2, 0, 0x3f0, fd_table);
- 
--    cmos_init(ram_size, boot_device, bs_table);
-+    cmos_init(ram_size, boot_device, bs_table, timeoffset);
- 
-     /* using PIIX4 acpi model */
-     if (pci_enabled && acpi_enabled)
-@@ -774,12 +774,13 @@
-                         int snapshot, 
-                         const char *kernel_filename, 
-                         const char *kernel_cmdline,
--                        const char *initrd_filename)
-+                        const char *initrd_filename,
-+                        time_t timeoffset)
- {
-     pc_init1(ram_size, vga_ram_size, boot_device,
-              ds, fd_filename, snapshot,
-              kernel_filename, kernel_cmdline,
--             initrd_filename, 1);
-+             initrd_filename, timeoffset, 1);
- }
- 
- static void pc_init_isa(uint64_t ram_size, int vga_ram_size, int boot_device,
-@@ -787,12 +788,13 @@
-                         int snapshot, 
-                         const char *kernel_filename, 
-                         const char *kernel_cmdline,
--                        const char *initrd_filename)
-+                        const char *initrd_filename,
-+                        time_t timeoffset)
- {
-     pc_init1(ram_size, vga_ram_size, boot_device,
-              ds, fd_filename, snapshot,
-              kernel_filename, kernel_cmdline,
--             initrd_filename, 0);
-+             initrd_filename, timeoffset, 0);
- }
- 
- QEMUMachine pc_machine = {
 Index: ioemu/vl.c
 ===================================================================
---- ioemu.orig/vl.c    2007-05-09 14:12:43.000000000 +0100
-+++ ioemu/vl.c 2007-05-09 14:12:43.000000000 +0100
-@@ -184,6 +184,8 @@
- 
- int xc_handle;
- 
-+time_t timeoffset = 0;
-+
- char domain_name[1024] = { 'H','V', 'M', 'X', 'E', 'N', '-'};
- extern int domid;
- 
-@@ -6329,6 +6331,7 @@
-            "-vncviewer      start a vncviewer process for this domain\n"
-            "-vncunused      bind the VNC server to an unused port\n"
-            "-vnclisten      bind the VNC server to this address\n"
-+           "-timeoffset     time offset (in seconds) from local time\n"
- #ifndef _WIN32
-          "-daemonize      daemonize QEMU after initializing\n"
- #endif
-@@ -6425,6 +6428,7 @@
-     ,
-     QEMU_OPTION_d,
-     QEMU_OPTION_vcpus,
-+    QEMU_OPTION_timeoffset,
-     QEMU_OPTION_acpi,
-     QEMU_OPTION_vncviewer,
-     QEMU_OPTION_vncunused,
-@@ -6526,6 +6530,7 @@
-     
-     { "d", HAS_ARG, QEMU_OPTION_d },
-     { "vcpus", 1, QEMU_OPTION_vcpus },
-+    { "timeoffset", HAS_ARG, QEMU_OPTION_timeoffset },
-     { "acpi", 0, QEMU_OPTION_acpi },
-     { NULL },
- };
-@@ -7313,6 +7318,9 @@
-                 vcpus = atoi(optarg);
-                 fprintf(logfile, "qemu: the number of cpus is %d\n", vcpus);
-                 break;
-+            case QEMU_OPTION_timeoffset:
-+                timeoffset = strtol(optarg, NULL, 0);
-+                break;
-             case QEMU_OPTION_acpi:
-                 acpi_enabled = 1;
-                 break;
-@@ -7545,6 +7553,9 @@
+--- ioemu.orig/vl.c    2007-05-10 16:04:24.000000000 +0100
++++ ioemu/vl.c 2007-05-10 16:04:24.000000000 +0100
+@@ -7530,6 +7530,9 @@
      }
      free(page_array);
  #endif
@@ -172,30 +12,11 @@ Index: ioemu/vl.c
  #else  /* !CONFIG_DM */
  
      phys_ram_base = qemu_vmalloc(phys_ram_size);
-@@ -7681,7 +7692,8 @@
- 
-     machine->init(ram_size, vga_ram_size, boot_device,
-                   ds, fd_filename, snapshot,
--                  kernel_filename, kernel_cmdline, initrd_filename);
-+                  kernel_filename, kernel_cmdline, initrd_filename,
-+                  timeoffset);
- 
-     /* init USB devices */
-     if (usb_enabled) {
 Index: ioemu/vl.h
 ===================================================================
---- ioemu.orig/vl.h    2007-05-09 14:12:43.000000000 +0100
-+++ ioemu/vl.h 2007-05-09 14:12:43.000000000 +0100
-@@ -708,7 +708,7 @@
-                                  int boot_device,
-              DisplayState *ds, const char **fd_filename, int snapshot,
-              const char *kernel_filename, const char *kernel_cmdline,
--             const char *initrd_filename);
-+             const char *initrd_filename, time_t timeoffset);
- 
- typedef struct QEMUMachine {
-     const char *name;
-@@ -1435,6 +1435,10 @@
+--- ioemu.orig/vl.h    2007-05-10 16:04:24.000000000 +0100
++++ ioemu/vl.h 2007-05-10 16:04:24.000000000 +0100
+@@ -1433,6 +1433,10 @@
  int xenstore_vm_write(int domid, char *key, char *val);
  char *xenstore_vm_read(int domid, char *key, int *len);
  
@@ -208,8 +29,8 @@ Index: ioemu/vl.h
  extern char domain_name[];
 Index: ioemu/target-i386-dm/helper2.c
 ===================================================================
---- ioemu.orig/target-i386-dm/helper2.c        2007-05-09 14:12:16.000000000 
+0100
-+++ ioemu/target-i386-dm/helper2.c     2007-05-09 14:12:43.000000000 +0100
+--- ioemu.orig/target-i386-dm/helper2.c        2007-05-10 16:04:22.000000000 
+0100
++++ ioemu/target-i386-dm/helper2.c     2007-05-10 16:04:24.000000000 +0100
 @@ -74,6 +74,8 @@
  
  int xc_handle;
diff -r 8f510bf078c7 -r 31a3f83d1610 tools/ioemu/patches/ioemu-buffer-pio-ia64
--- a/tools/ioemu/patches/ioemu-buffer-pio-ia64 Thu May 10 15:58:35 2007 +0100
+++ b/tools/ioemu/patches/ioemu-buffer-pio-ia64 Thu May 10 16:05:31 2007 +0100
@@ -1,8 +1,8 @@ Index: ioemu/vl.c
 Index: ioemu/vl.c
 ===================================================================
---- ioemu.orig/vl.c    2007-05-09 13:47:16.000000000 +0100
-+++ ioemu/vl.c 2007-05-09 13:47:16.000000000 +0100
-@@ -6839,6 +6839,7 @@
+--- ioemu.orig/vl.c    2007-05-10 15:34:24.000000000 +0100
++++ ioemu/vl.c 2007-05-10 15:34:24.000000000 +0100
+@@ -6824,6 +6824,7 @@
      unsigned long ioreq_pfn;
      extern void *shared_page;
      extern void *buffered_io_page;
@@ -10,7 +10,7 @@ Index: ioemu/vl.c
      unsigned long nr_pages;
  
      char qemu_dm_logfilename[64];
-@@ -7544,6 +7545,10 @@
+@@ -7521,6 +7522,10 @@
                                         PROT_READ|PROT_WRITE,
                                         BUFFER_IO_PAGE_START >> PAGE_SHIFT);
  
@@ -23,8 +23,8 @@ Index: ioemu/vl.c
        
 Index: ioemu/hw/ide.c
 ===================================================================
---- ioemu.orig/hw/ide.c        2007-05-09 13:47:15.000000000 +0100
-+++ ioemu/hw/ide.c     2007-05-09 13:47:16.000000000 +0100
+--- ioemu.orig/hw/ide.c        2007-05-10 15:32:53.000000000 +0100
++++ ioemu/hw/ide.c     2007-05-10 15:34:24.000000000 +0100
 @@ -393,6 +393,121 @@
      int type; /* see IDE_TYPE_xxx */
  } PCIIDEState;
diff -r 8f510bf078c7 -r 31a3f83d1610 tools/ioemu/patches/ioemu-ia64
--- a/tools/ioemu/patches/ioemu-ia64    Thu May 10 15:58:35 2007 +0100
+++ b/tools/ioemu/patches/ioemu-ia64    Thu May 10 16:05:31 2007 +0100
@@ -1,7 +1,7 @@ Index: ioemu/hw/iommu.c
 Index: ioemu/hw/iommu.c
 ===================================================================
---- ioemu.orig/hw/iommu.c      2007-05-03 18:18:01.000000000 +0100
-+++ ioemu/hw/iommu.c   2007-05-03 19:09:15.000000000 +0100
+--- ioemu.orig/hw/iommu.c      2007-05-10 15:49:26.000000000 +0100
++++ ioemu/hw/iommu.c   2007-05-10 15:49:53.000000000 +0100
 @@ -82,7 +82,11 @@
  #define IOPTE_VALID         0x00000002 /* IOPTE is valid */
  #define IOPTE_WAZ           0x00000001 /* Write as zeros */
@@ -14,46 +14,10 @@ Index: ioemu/hw/iommu.c
  #define PAGE_SIZE       (1 << PAGE_SHIFT)
  #define PAGE_MASK     (PAGE_SIZE - 1)
  
-Index: ioemu/cpu-all.h
-===================================================================
---- ioemu.orig/cpu-all.h       2007-05-03 19:00:55.000000000 +0100
-+++ ioemu/cpu-all.h    2007-05-03 19:09:15.000000000 +0100
-@@ -843,6 +843,31 @@
-                 :"=m" (*(volatile long *)addr)
-                 :"dIr" (nr));
- }
-+#elif defined(__ia64__)
-+#include "ia64_intrinsic.h"
-+#define atomic_set_bit(nr, addr) ({                                   \
-+      typeof(*addr) bit, old, new;                                    \
-+      volatile typeof(*addr) *m;                                      \
-+                                                                      \
-+      m = (volatile typeof(*addr)*)(addr + nr / (8*sizeof(*addr)));   \
-+      bit = 1 << (nr % (8*sizeof(*addr)));                            \
-+      do {                                                            \
-+              old = *m;                                               \
-+              new = old | bit;                                        \
-+      } while (cmpxchg_acq(m, old, new) != old);                      \
-+})
-+
-+#define atomic_clear_bit(nr, addr) ({                                 \
-+      typeof(*addr) bit, old, new;                                    \
-+      volatile typeof(*addr) *m;                                      \
-+                                                                      \
-+      m = (volatile typeof(*addr)*)(addr + nr / (8*sizeof(*addr)));   \
-+      bit = ~(1 << (nr % (8*sizeof(*addr))));                         \
-+      do {                                                            \
-+              old = *m;                                               \
-+              new = old & bit;                                        \
-+      } while (cmpxchg_acq(m, old, new) != old);                      \
-+})
- #endif
- 
- /* memory API */
 Index: ioemu/vl.c
 ===================================================================
---- ioemu.orig/vl.c    2007-05-03 19:08:57.000000000 +0100
-+++ ioemu/vl.c 2007-05-03 19:09:15.000000000 +0100
+--- ioemu.orig/vl.c    2007-05-10 15:49:53.000000000 +0100
++++ ioemu/vl.c 2007-05-10 15:54:48.000000000 +0100
 @@ -7149,6 +7149,11 @@
      }
  #endif
@@ -111,31 +75,10 @@ Index: ioemu/vl.c
  #else  /* !CONFIG_DM */
  
      phys_ram_base = qemu_vmalloc(phys_ram_size);
-Index: ioemu/exec-all.h
-===================================================================
---- ioemu.orig/exec-all.h      2007-05-03 18:38:09.000000000 +0100
-+++ ioemu/exec-all.h   2007-05-03 19:09:15.000000000 +0100
-@@ -472,12 +472,13 @@
- }
- #endif
- 
--#ifdef __ia64
--#include <ia64intrin.h>
-+#ifdef __ia64__
-+#include "ia64_intrinsic.h"
- 
- static inline int testandset (int *p)
- {
--    return __sync_lock_test_and_set (p, 1);
-+    uint32_t o = 0, n = 1;
-+    return (int)cmpxchg_acq(p, o, n);
- }
- #endif
- 
 Index: ioemu/target-i386-dm/cpu.h
 ===================================================================
---- ioemu.orig/target-i386-dm/cpu.h    2007-05-03 18:49:10.000000000 +0100
-+++ ioemu/target-i386-dm/cpu.h 2007-05-03 19:09:15.000000000 +0100
+--- ioemu.orig/target-i386-dm/cpu.h    2007-05-10 15:49:26.000000000 +0100
++++ ioemu/target-i386-dm/cpu.h 2007-05-10 15:54:46.000000000 +0100
 @@ -78,7 +78,11 @@
  /* helper2.c */
  int main_loop(void);
@@ -148,284 +91,3 @@ Index: ioemu/target-i386-dm/cpu.h
  #include "cpu-all.h"
  
  #endif /* CPU_I386_H */
-Index: ioemu/ia64_intrinsic.h
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ ioemu/ia64_intrinsic.h     2007-05-03 19:09:15.000000000 +0100
-@@ -0,0 +1,276 @@
-+#ifndef IA64_INTRINSIC_H
-+#define IA64_INTRINSIC_H
-+
-+/*
-+ * Compiler-dependent Intrinsics
-+ *
-+ * Copyright (C) 2002,2003 Jun Nakajima <jun.nakajima@xxxxxxxxx>
-+ * Copyright (C) 2002,2003 Suresh Siddha <suresh.b.siddha@xxxxxxxxx>
-+ *
-+ */
-+extern long ia64_cmpxchg_called_with_bad_pointer (void);
-+extern void ia64_bad_param_for_getreg (void);
-+#define ia64_cmpxchg(sem,ptr,o,n,s) ({                                        
\
-+      uint64_t _o, _r;                                                \
-+      switch(s) {                                                     \
-+              case 1: _o = (uint8_t)(long)(o); break;                 \
-+              case 2: _o = (uint16_t)(long)(o); break;                \
-+              case 4: _o = (uint32_t)(long)(o); break;                \
-+              case 8: _o = (uint64_t)(long)(o); break;                \
-+              default: break;                                         \
-+      }                                                               \
-+      switch(s) {                                                     \
-+              case 1:                                                 \
-+              _r = ia64_cmpxchg1_##sem((uint8_t*)ptr,n,_o); break;    \
-+              case 2:                                                 \
-+              _r = ia64_cmpxchg2_##sem((uint16_t*)ptr,n,_o); break;   \
-+              case 4:                                                 \
-+              _r = ia64_cmpxchg4_##sem((uint32_t*)ptr,n,_o); break;   \
-+              case 8:                                                 \
-+              _r = ia64_cmpxchg8_##sem((uint64_t*)ptr,n,_o); break;   \
-+              default:                                                \
-+              _r = ia64_cmpxchg_called_with_bad_pointer(); break;     \
-+      }                                                               \
-+      (__typeof__(o)) _r;                                             \
-+})
-+
-+#define cmpxchg_acq(ptr,o,n) ia64_cmpxchg(acq,ptr,o,n,sizeof(*ptr))
-+#define cmpxchg_rel(ptr,o,n) ia64_cmpxchg(rel,ptr,o,n,sizeof(*ptr))
-+
-+/*
-+ * Register Names for getreg() and setreg().
-+ *
-+ * The "magic" numbers happen to match the values used by the Intel compiler's
-+ * getreg()/setreg() intrinsics.
-+ */
-+
-+/* Special Registers */
-+
-+#define _IA64_REG_IP          1016    /* getreg only */
-+#define _IA64_REG_PSR         1019
-+#define _IA64_REG_PSR_L               1019
-+
-+/* General Integer Registers */
-+
-+#define _IA64_REG_GP          1025    /* R1 */
-+#define _IA64_REG_R8          1032    /* R8 */
-+#define _IA64_REG_R9          1033    /* R9 */
-+#define _IA64_REG_SP          1036    /* R12 */
-+#define _IA64_REG_TP          1037    /* R13 */
-+
-+/* Application Registers */
-+
-+#define _IA64_REG_AR_KR0      3072
-+#define _IA64_REG_AR_KR1      3073
-+#define _IA64_REG_AR_KR2      3074
-+#define _IA64_REG_AR_KR3      3075
-+#define _IA64_REG_AR_KR4      3076
-+#define _IA64_REG_AR_KR5      3077
-+#define _IA64_REG_AR_KR6      3078
-+#define _IA64_REG_AR_KR7      3079
-+#define _IA64_REG_AR_RSC      3088
-+#define _IA64_REG_AR_BSP      3089
-+#define _IA64_REG_AR_BSPSTORE 3090
-+#define _IA64_REG_AR_RNAT     3091
-+#define _IA64_REG_AR_FCR      3093
-+#define _IA64_REG_AR_EFLAG    3096
-+#define _IA64_REG_AR_CSD      3097
-+#define _IA64_REG_AR_SSD      3098
-+#define _IA64_REG_AR_CFLAG    3099
-+#define _IA64_REG_AR_FSR      3100
-+#define _IA64_REG_AR_FIR      3101
-+#define _IA64_REG_AR_FDR      3102
-+#define _IA64_REG_AR_CCV      3104
-+#define _IA64_REG_AR_UNAT     3108
-+#define _IA64_REG_AR_FPSR     3112
-+#define _IA64_REG_AR_ITC      3116
-+#define _IA64_REG_AR_PFS      3136
-+#define _IA64_REG_AR_LC               3137
-+#define _IA64_REG_AR_EC               3138
-+
-+/* Control Registers */
-+
-+#define _IA64_REG_CR_DCR      4096
-+#define _IA64_REG_CR_ITM      4097
-+#define _IA64_REG_CR_IVA      4098
-+#define _IA64_REG_CR_PTA      4104
-+#define _IA64_REG_CR_IPSR     4112
-+#define _IA64_REG_CR_ISR      4113
-+#define _IA64_REG_CR_IIP      4115
-+#define _IA64_REG_CR_IFA      4116
-+#define _IA64_REG_CR_ITIR     4117
-+#define _IA64_REG_CR_IIPA     4118
-+#define _IA64_REG_CR_IFS      4119
-+#define _IA64_REG_CR_IIM      4120
-+#define _IA64_REG_CR_IHA      4121
-+#define _IA64_REG_CR_LID      4160
-+#define _IA64_REG_CR_IVR      4161    /* getreg only */
-+#define _IA64_REG_CR_TPR      4162
-+#define _IA64_REG_CR_EOI      4163
-+#define _IA64_REG_CR_IRR0     4164    /* getreg only */
-+#define _IA64_REG_CR_IRR1     4165    /* getreg only */
-+#define _IA64_REG_CR_IRR2     4166    /* getreg only */
-+#define _IA64_REG_CR_IRR3     4167    /* getreg only */
-+#define _IA64_REG_CR_ITV      4168
-+#define _IA64_REG_CR_PMV      4169
-+#define _IA64_REG_CR_CMCV     4170
-+#define _IA64_REG_CR_LRR0     4176
-+#define _IA64_REG_CR_LRR1     4177
-+
-+/* Indirect Registers for getindreg() and setindreg() */
-+
-+#define _IA64_REG_INDR_CPUID  9000    /* getindreg only */
-+#define _IA64_REG_INDR_DBR    9001
-+#define _IA64_REG_INDR_IBR    9002
-+#define _IA64_REG_INDR_PKR    9003
-+#define _IA64_REG_INDR_PMC    9004
-+#define _IA64_REG_INDR_PMD    9005
-+#define _IA64_REG_INDR_RR     9006
-+
-+#ifdef __INTEL_COMPILER
-+void  __fc(uint64_t *addr);
-+void  __synci(void);
-+void __isrlz(void);
-+void __dsrlz(void);
-+uint64_t __getReg(const int whichReg);
-+uint64_t _InterlockedCompareExchange8_rel(volatile uint8_t *dest, uint64_t 
xchg, uint64_t comp);
-+uint64_t _InterlockedCompareExchange8_acq(volatile uint8_t *dest, uint64_t 
xchg, uint64_t comp);
-+uint64_t _InterlockedCompareExchange16_rel(volatile uint16_t *dest, uint64_t 
xchg, uint64_t comp);
-+uint64_t _InterlockedCompareExchange16_acq(volatile uint16_t *dest, uint64_t 
xchg, uint64_t comp);
-+uint64_t _InterlockedCompareExchange_rel(volatile uint32_t *dest, uint64_t 
xchg, uint64_t comp);
-+uint64_t _InterlockedCompareExchange_acq(volatile uint32_t *dest, uint64_t 
xchg, uint64_t comp);
-+uint64_t _InterlockedCompareExchange64_rel(volatile uint64_t *dest, uint64_t 
xchg, uint64_t comp);
-+u64_t _InterlockedCompareExchange64_acq(volatile uint64_t *dest, uint64_t 
xchg, uint64_t comp);
-+
-+#define ia64_cmpxchg1_rel     _InterlockedCompareExchange8_rel
-+#define ia64_cmpxchg1_acq     _InterlockedCompareExchange8_acq
-+#define ia64_cmpxchg2_rel     _InterlockedCompareExchange16_rel
-+#define ia64_cmpxchg2_acq     _InterlockedCompareExchange16_acq
-+#define ia64_cmpxchg4_rel     _InterlockedCompareExchange_rel
-+#define ia64_cmpxchg4_acq     _InterlockedCompareExchange_acq
-+#define ia64_cmpxchg8_rel     _InterlockedCompareExchange64_rel
-+#define ia64_cmpxchg8_acq     _InterlockedCompareExchange64_acq
-+
-+#define ia64_srlz_d           __dsrlz
-+#define ia64_srlz_i           __isrlz
-+#define __ia64_fc             __fc
-+#define ia64_sync_i           __synci
-+#define __ia64_getreg         __getReg
-+#else /* __INTEL_COMPILER */
-+#define ia64_cmpxchg1_acq(ptr, new, old)                                      
        \
-+({                                                                            
        \
-+      uint64_t ia64_intri_res;                                                
        \
-+      asm volatile ("mov ar.ccv=%0;;" :: "rO"(old));                          
        \
-+      asm volatile ("cmpxchg1.acq %0=[%1],%2,ar.ccv":                         
        \
-+                            "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : 
"memory");    \
-+      ia64_intri_res;                                                         
        \
-+})
-+
-+#define ia64_cmpxchg1_rel(ptr, new, old)                                      
        \
-+({                                                                            
        \
-+      uint64_t ia64_intri_res;                                                
        \
-+      asm volatile ("mov ar.ccv=%0;;" :: "rO"(old));                          
        \
-+      asm volatile ("cmpxchg1.rel %0=[%1],%2,ar.ccv":                         
        \
-+                            "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : 
"memory");    \
-+      ia64_intri_res;                                                         
        \
-+})
-+
-+#define ia64_cmpxchg2_acq(ptr, new, old)                                      
        \
-+({                                                                            
        \
-+      uint64_t ia64_intri_res;                                                
        \
-+      asm volatile ("mov ar.ccv=%0;;" :: "rO"(old));                          
        \
-+      asm volatile ("cmpxchg2.acq %0=[%1],%2,ar.ccv":                         
        \
-+                            "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : 
"memory");    \
-+      ia64_intri_res;                                                         
        \
-+})
-+
-+#define ia64_cmpxchg2_rel(ptr, new, old)                                      
        \
-+({                                                                            
        \
-+      uint64_t ia64_intri_res;                                                
        \
-+      asm volatile ("mov ar.ccv=%0;;" :: "rO"(old));                          
        \
-+                                                                              
        \
-+      asm volatile ("cmpxchg2.rel %0=[%1],%2,ar.ccv":                         
        \
-+                            "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : 
"memory");    \
-+      ia64_intri_res;                                                         
        \
-+})
-+
-+#define ia64_cmpxchg4_acq(ptr, new, old)                                      
        \
-+({                                                                            
        \
-+      uint64_t ia64_intri_res;                                                
        \
-+      asm volatile ("mov ar.ccv=%0;;" :: "rO"(old));                          
        \
-+      asm volatile ("cmpxchg4.acq %0=[%1],%2,ar.ccv":                         
        \
-+                            "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : 
"memory");    \
-+      ia64_intri_res;                                                         
        \
-+})
-+
-+#define ia64_cmpxchg4_rel(ptr, new, old)                                      
        \
-+({                                                                            
        \
-+      uint64_t ia64_intri_res;                                                
        \
-+      asm volatile ("mov ar.ccv=%0;;" :: "rO"(old));                          
        \
-+      asm volatile ("cmpxchg4.rel %0=[%1],%2,ar.ccv":                         
        \
-+                            "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : 
"memory");    \
-+      ia64_intri_res;                                                         
        \
-+})
-+
-+#define ia64_cmpxchg8_acq(ptr, new, old)                                      
        \
-+({                                                                            
        \
-+      uint64_t ia64_intri_res;                                                
        \
-+      asm volatile ("mov ar.ccv=%0;;" :: "rO"(old));                          
        \
-+      asm volatile ("cmpxchg8.acq %0=[%1],%2,ar.ccv":                         
        \
-+                            "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : 
"memory");    \
-+      ia64_intri_res;                                                         
        \
-+})
-+
-+#define ia64_cmpxchg8_rel(ptr, new, old)                                      
        \
-+({                                                                            
        \
-+      uint64_t ia64_intri_res;                                                
        \
-+      asm volatile ("mov ar.ccv=%0;;" :: "rO"(old));                          
        \
-+                                                                              
        \
-+      asm volatile ("cmpxchg8.rel %0=[%1],%2,ar.ccv":                         
        \
-+                            "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : 
"memory");    \
-+      ia64_intri_res;                                                         
        \
-+})
-+
-+#define ia64_srlz_i() asm volatile (";; srlz.i ;;" ::: "memory")
-+#define ia64_srlz_d() asm volatile (";; srlz.d" ::: "memory");
-+#define __ia64_fc(addr)       asm volatile ("fc %0" :: "r"(addr) : "memory")
-+#define ia64_sync_i() asm volatile (";; sync.i" ::: "memory")
-+
-+register unsigned long ia64_r13 asm ("r13") __attribute_used__;
-+#define __ia64_getreg(regnum)                                                 
\
-+({                                                                            
\
-+      uint64_t ia64_intri_res;                                                
        \
-+                                                                              
\
-+      switch (regnum) {                                                       
\
-+      case _IA64_REG_GP:                                                      
\
-+              asm volatile ("mov %0=gp" : "=r"(ia64_intri_res));              
\
-+              break;                                                          
\
-+      case _IA64_REG_IP:                                                      
\
-+              asm volatile ("mov %0=ip" : "=r"(ia64_intri_res));              
\
-+              break;                                                          
\
-+      case _IA64_REG_PSR:                                                     
\
-+              asm volatile ("mov %0=psr" : "=r"(ia64_intri_res));             
\
-+              break;                                                          
\
-+      case _IA64_REG_TP:      /* for current() */                             
\
-+              ia64_intri_res = ia64_r13;                                      
\
-+              break;                                                          
\
-+      case _IA64_REG_AR_KR0 ... _IA64_REG_AR_EC:                              
\
-+              asm volatile ("mov %0=ar%1" : "=r" (ia64_intri_res)             
\
-+                                    : "i"(regnum - _IA64_REG_AR_KR0));        
\
-+              break;                                                          
\
-+      case _IA64_REG_CR_DCR ... _IA64_REG_CR_LRR1:                            
\
-+              asm volatile ("mov %0=cr%1" : "=r" (ia64_intri_res)             
\
-+                                    : "i" (regnum - _IA64_REG_CR_DCR));       
\
-+              break;                                                          
\
-+      case _IA64_REG_SP:                                                      
\
-+              asm volatile ("mov %0=sp" : "=r" (ia64_intri_res));             
\
-+              break;                                                          
\
-+      default:                                                                
\
-+              ia64_bad_param_for_getreg();                                    
\
-+              break;                                                          
\
-+      }                                                                       
\
-+      ia64_intri_res;                                                         
\
-+})
-+
-+#endif /* __INTEL_COMPILER */
-+#endif /* IA64_INTRINSIC_H */
diff -r 8f510bf078c7 -r 31a3f83d1610 tools/ioemu/patches/qemu-bootorder
--- a/tools/ioemu/patches/qemu-bootorder        Thu May 10 15:58:35 2007 +0100
+++ b/tools/ioemu/patches/qemu-bootorder        Thu May 10 16:05:31 2007 +0100
@@ -1,9 +1,9 @@ Index: ioemu/vl.c
 Index: ioemu/vl.c
 ===================================================================
---- ioemu.orig/vl.c    2007-05-09 13:48:26.000000000 +0100
-+++ ioemu/vl.c 2007-05-09 13:49:06.000000000 +0100
-@@ -136,7 +136,7 @@
- struct sockaddr_in vnclisten_addr;
+--- ioemu.orig/vl.c    2007-05-10 15:34:25.000000000 +0100
++++ ioemu/vl.c 2007-05-10 15:35:16.000000000 +0100
+@@ -135,7 +135,7 @@
+ int vncunused;
  const char* keyboard_layout = NULL;
  int64_t ticks_per_sec;
 -int boot_device = 'c';
@@ -11,7 +11,7 @@ Index: ioemu/vl.c
  uint64_t ram_size;
  int pit_min_timer_count = 0;
  int nb_nics;
-@@ -7068,14 +7068,14 @@
+@@ -7051,14 +7051,14 @@
                  break;
  #endif /* !CONFIG_DM */
              case QEMU_OPTION_boot:
@@ -31,7 +31,7 @@ Index: ioemu/vl.c
                      exit(1);
                  }
                  break;
-@@ -7442,6 +7442,7 @@
+@@ -7419,6 +7419,7 @@
              exit(1);
      }
  
@@ -39,7 +39,7 @@ Index: ioemu/vl.c
  #ifdef TARGET_I386
      if (boot_device == 'n') {
        for (i = 0; i < nb_nics; i++) {
-@@ -7463,6 +7464,7 @@
+@@ -7440,6 +7441,7 @@
        boot_device = 'c'; /* to prevent confusion by the BIOS */
      }
  #endif
@@ -47,7 +47,7 @@ Index: ioemu/vl.c
  
  #if defined (__ia64__)
      if (ram_size > MMIO_START)
-@@ -7472,6 +7474,7 @@
+@@ -7449,6 +7451,7 @@
      /* init the memory */
      phys_ram_size = ram_size + vga_ram_size + bios_size;
  
@@ -55,7 +55,7 @@ Index: ioemu/vl.c
      for (i = 0; i < nb_option_roms; i++) {
        int ret = get_image_size(option_rom[i]);
        if (ret == -1) {
-@@ -7480,6 +7483,7 @@
+@@ -7457,6 +7460,7 @@
        }
        phys_ram_size += ret;
      }
@@ -63,19 +63,19 @@ Index: ioemu/vl.c
  
  #ifdef CONFIG_DM
  
-@@ -7711,6 +7715,7 @@
+@@ -7686,6 +7690,7 @@
+     machine->init(ram_size, vga_ram_size, boot_device,
                    ds, fd_filename, snapshot,
-                   kernel_filename, kernel_cmdline, initrd_filename,
-                   timeoffset);
+                   kernel_filename, kernel_cmdline, initrd_filename);
 +    free(boot_device);
  
      /* init USB devices */
      if (usb_enabled) {
 Index: ioemu/vl.h
 ===================================================================
---- ioemu.orig/vl.h    2007-05-09 13:48:26.000000000 +0100
-+++ ioemu/vl.h 2007-05-09 13:48:55.000000000 +0100
-@@ -705,7 +705,7 @@
+--- ioemu.orig/vl.h    2007-05-10 15:34:25.000000000 +0100
++++ ioemu/vl.h 2007-05-10 15:34:28.000000000 +0100
+@@ -703,7 +703,7 @@
  #ifndef QEMU_TOOL
  
  typedef void QEMUMachineInitFunc(uint64_t ram_size, int vga_ram_size, 
@@ -83,8 +83,8 @@ Index: ioemu/vl.h
 +                                 char *boot_device,
               DisplayState *ds, const char **fd_filename, int snapshot,
               const char *kernel_filename, const char *kernel_cmdline,
-              const char *initrd_filename, time_t timeoffset);
-@@ -1219,7 +1219,7 @@
+              const char *initrd_filename);
+@@ -1217,7 +1217,7 @@
                      uint32_t start, uint32_t count);
  int PPC_NVRAM_set_params (m48t59_t *nvram, uint16_t NVRAM_size,
                            const unsigned char *arch,
@@ -95,8 +95,8 @@ Index: ioemu/vl.h
                            uint32_t initrd_image, uint32_t initrd_size,
 Index: ioemu/hw/pc.c
 ===================================================================
---- ioemu.orig/hw/pc.c 2007-05-09 13:48:26.000000000 +0100
-+++ ioemu/hw/pc.c      2007-05-09 13:48:55.000000000 +0100
+--- ioemu.orig/hw/pc.c 2007-05-10 15:34:25.000000000 +0100
++++ ioemu/hw/pc.c      2007-05-10 15:34:59.000000000 +0100
 @@ -159,8 +159,25 @@
      rtc_set_memory(s, info_ofs + 8, sectors);
  }
@@ -119,8 +119,8 @@ Index: ioemu/hw/pc.c
 +}
 +
  /* hd_table must contain 4 block drivers */
--static void cmos_init(uint64_t ram_size, int boot_device, BlockDriverState 
**hd_table, time_t timeoffset)
-+static void cmos_init(uint64_t ram_size, char *boot_device, BlockDriverState 
**hd_table, time_t timeoffset)
+-static void cmos_init(uint64_t ram_size, int boot_device, BlockDriverState 
**hd_table)
++static void cmos_init(uint64_t ram_size, char *boot_device, BlockDriverState 
**hd_table)
  {
      RTCState *s = rtc_state;
      int val;
@@ -162,7 +162,7 @@ Index: ioemu/hw/pc.c
 +static void pc_init1(uint64_t ram_size, int vga_ram_size, char *boot_device,
                       DisplayState *ds, const char **fd_filename, int snapshot,
                       const char *kernel_filename, const char *kernel_cmdline,
-                      const char *initrd_filename, time_t timeoffset,
+                      const char *initrd_filename,
 @@ -772,7 +782,7 @@
  #endif
  }
@@ -172,8 +172,8 @@ Index: ioemu/hw/pc.c
                          DisplayState *ds, const char **fd_filename, 
                          int snapshot, 
                          const char *kernel_filename, 
-@@ -786,7 +796,7 @@
-              initrd_filename, timeoffset, 1);
+@@ -785,7 +795,7 @@
+              initrd_filename, 1);
  }
  
 -static void pc_init_isa(uint64_t ram_size, int vga_ram_size, int boot_device,
diff -r 8f510bf078c7 -r 31a3f83d1610 tools/ioemu/patches/qemu-daemonize
--- a/tools/ioemu/patches/qemu-daemonize        Thu May 10 15:58:35 2007 +0100
+++ b/tools/ioemu/patches/qemu-daemonize        Thu May 10 16:05:31 2007 +0100
@@ -2,9 +2,9 @@ Changes required because qemu-dm runs da
 
 Index: ioemu/vl.c
 ===================================================================
---- ioemu.orig/vl.c    2007-05-03 20:30:30.000000000 +0100
-+++ ioemu/vl.c 2007-05-03 20:32:07.000000000 +0100
-@@ -7047,10 +7047,11 @@
+--- ioemu.orig/vl.c    2007-05-10 15:34:24.000000000 +0100
++++ ioemu/vl.c 2007-05-10 15:34:25.000000000 +0100
+@@ -7030,10 +7030,11 @@
                  }
                  break;
              case QEMU_OPTION_nographic:
diff -r 8f510bf078c7 -r 31a3f83d1610 tools/ioemu/patches/qemu-dm
--- a/tools/ioemu/patches/qemu-dm       Thu May 10 15:58:35 2007 +0100
+++ b/tools/ioemu/patches/qemu-dm       Thu May 10 16:05:31 2007 +0100
@@ -1,7 +1,7 @@ Index: ioemu/Makefile.target
 Index: ioemu/Makefile.target
 ===================================================================
---- ioemu.orig/Makefile.target 2007-05-09 13:47:24.000000000 +0100
-+++ ioemu/Makefile.target      2007-05-09 14:08:42.000000000 +0100
+--- ioemu.orig/Makefile.target 2007-05-10 15:36:06.000000000 +0100
++++ ioemu/Makefile.target      2007-05-10 15:56:20.000000000 +0100
 @@ -332,7 +332,7 @@
  endif
  
@@ -13,8 +13,8 @@ Index: ioemu/Makefile.target
  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.o
 Index: ioemu/configure
 ===================================================================
---- ioemu.orig/configure       2007-05-09 13:47:24.000000000 +0100
-+++ ioemu/configure    2007-05-09 14:08:42.000000000 +0100
+--- ioemu.orig/configure       2007-05-10 15:36:06.000000000 +0100
++++ ioemu/configure    2007-05-10 15:56:20.000000000 +0100
 @@ -77,8 +77,8 @@
  bigendian="no"
  mingw32="no"
@@ -37,8 +37,8 @@ Index: ioemu/configure
    target_user_only="yes"
 Index: ioemu/cpu-all.h
 ===================================================================
---- ioemu.orig/cpu-all.h       2007-05-09 13:47:22.000000000 +0100
-+++ ioemu/cpu-all.h    2007-05-09 14:08:42.000000000 +0100
+--- ioemu.orig/cpu-all.h       2007-05-10 15:36:04.000000000 +0100
++++ ioemu/cpu-all.h    2007-05-10 15:56:20.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);
@@ -64,8 +64,8 @@ Index: ioemu/cpu-all.h
  void cpu_dump_state(CPUState *env, FILE *f, 
 Index: ioemu/disas.h
 ===================================================================
---- ioemu.orig/disas.h 2007-05-09 13:47:22.000000000 +0100
-+++ ioemu/disas.h      2007-05-09 13:47:24.000000000 +0100
+--- ioemu.orig/disas.h 2007-05-10 15:36:04.000000000 +0100
++++ ioemu/disas.h      2007-05-10 15:36:06.000000000 +0100
 @@ -1,6 +1,7 @@
  #ifndef _QEMU_DISAS_H
  #define _QEMU_DISAS_H
@@ -83,9 +83,25 @@ Index: ioemu/disas.h
  #endif /* _QEMU_DISAS_H */
 Index: ioemu/exec-all.h
 ===================================================================
---- ioemu.orig/exec-all.h      2007-05-09 13:47:22.000000000 +0100
-+++ ioemu/exec-all.h   2007-05-09 14:08:42.000000000 +0100
-@@ -519,7 +519,7 @@
+--- ioemu.orig/exec-all.h      2007-05-10 15:36:04.000000000 +0100
++++ ioemu/exec-all.h   2007-05-10 15:56:40.000000000 +0100
+@@ -357,6 +357,7 @@
+ extern CPUReadMemoryFunc *io_mem_read[IO_MEM_NB_ENTRIES][4];
+ extern void *io_mem_opaque[IO_MEM_NB_ENTRIES];
+ 
++#ifndef CONFIG_DM
+ #ifdef __powerpc__
+ static inline int testandset (int *p)
+ {
+@@ -480,6 +481,7 @@
+     return __sync_lock_test_and_set (p, 1);
+ }
+ #endif
++#endif /* !CONFIG_DM */
+ 
+ typedef int spinlock_t;
+ 
+@@ -519,7 +521,7 @@
  
  extern int tb_invalidated_flag;
  
@@ -94,7 +110,7 @@ Index: ioemu/exec-all.h
  
  void tlb_fill(target_ulong addr, int is_write, int is_user, 
                void *retaddr);
-@@ -546,7 +546,7 @@
+@@ -546,7 +548,7 @@
  
  #endif
  
@@ -105,8 +121,8 @@ Index: ioemu/exec-all.h
      return addr;
 Index: ioemu/hw/pc.c
 ===================================================================
---- ioemu.orig/hw/pc.c 2007-05-09 13:47:22.000000000 +0100
-+++ ioemu/hw/pc.c      2007-05-09 14:08:42.000000000 +0100
+--- ioemu.orig/hw/pc.c 2007-05-10 15:36:04.000000000 +0100
++++ ioemu/hw/pc.c      2007-05-10 15:56:20.000000000 +0100
 @@ -74,6 +74,7 @@
      }
  }
@@ -168,8 +184,8 @@ Index: ioemu/hw/pc.c
          if (serial_hds[i]) {
 Index: ioemu/hw/vga_int.h
 ===================================================================
---- ioemu.orig/hw/vga_int.h    2007-05-09 13:47:22.000000000 +0100
-+++ ioemu/hw/vga_int.h 2007-05-09 14:08:41.000000000 +0100
+--- ioemu.orig/hw/vga_int.h    2007-05-10 15:36:04.000000000 +0100
++++ ioemu/hw/vga_int.h 2007-05-10 15:56:19.000000000 +0100
 @@ -28,7 +28,7 @@
  #define ST01_DISP_ENABLE    0x01
  
@@ -181,8 +197,8 @@ Index: ioemu/hw/vga_int.h
  #define VBE_DISPI_MAX_YRES              1200
 Index: ioemu/monitor.c
 ===================================================================
---- ioemu.orig/monitor.c       2007-05-09 13:47:22.000000000 +0100
-+++ ioemu/monitor.c    2007-05-09 14:08:59.000000000 +0100
+--- ioemu.orig/monitor.c       2007-05-10 15:36:04.000000000 +0100
++++ ioemu/monitor.c    2007-05-10 15:56:20.000000000 +0100
 @@ -69,6 +69,12 @@
  
  void term_flush(void)
@@ -424,8 +440,8 @@ Index: ioemu/monitor.c
  {
 Index: ioemu/vl.c
 ===================================================================
---- ioemu.orig/vl.c    2007-05-09 13:47:22.000000000 +0100
-+++ ioemu/vl.c 2007-05-09 14:08:42.000000000 +0100
+--- ioemu.orig/vl.c    2007-05-10 15:36:04.000000000 +0100
++++ ioemu/vl.c 2007-05-10 15:56:20.000000000 +0100
 @@ -396,12 +396,15 @@
  void hw_error(const char *fmt, ...)
  {
diff -r 8f510bf078c7 -r 31a3f83d1610 tools/ioemu/patches/qemu-pci
--- a/tools/ioemu/patches/qemu-pci      Thu May 10 15:58:35 2007 +0100
+++ b/tools/ioemu/patches/qemu-pci      Thu May 10 16:05:31 2007 +0100
@@ -1,7 +1,7 @@ Index: ioemu/hw/pci.c
 Index: ioemu/hw/pci.c
 ===================================================================
---- ioemu.orig/hw/pci.c        2007-05-09 14:10:16.000000000 +0100
-+++ ioemu/hw/pci.c     2007-05-09 14:10:38.000000000 +0100
+--- ioemu.orig/hw/pci.c        2007-05-10 15:17:54.000000000 +0100
++++ ioemu/hw/pci.c     2007-05-10 15:19:29.000000000 +0100
 @@ -314,6 +314,7 @@
              case 0x0b:
              case 0x0e:
@@ -31,8 +31,8 @@ Index: ioemu/hw/pci.c
          if (++addr > 0xff)
 Index: ioemu/hw/rtl8139.c
 ===================================================================
---- ioemu.orig/hw/rtl8139.c    2007-05-09 14:10:36.000000000 +0100
-+++ ioemu/hw/rtl8139.c 2007-05-09 14:10:38.000000000 +0100
+--- ioemu.orig/hw/rtl8139.c    2007-05-10 15:17:54.000000000 +0100
++++ ioemu/hw/rtl8139.c 2007-05-10 15:19:29.000000000 +0100
 @@ -3432,6 +3432,8 @@
      pci_conf[0x0e] = 0x00; /* header_type */
      pci_conf[0x3d] = 1;    /* interrupt pin 0 */
@@ -44,8 +44,8 @@ Index: ioemu/hw/rtl8139.c
  
 Index: ioemu/hw/usb-uhci.c
 ===================================================================
---- ioemu.orig/hw/usb-uhci.c   2007-05-09 14:10:34.000000000 +0100
-+++ ioemu/hw/usb-uhci.c        2007-05-09 14:10:38.000000000 +0100
+--- ioemu.orig/hw/usb-uhci.c   2007-05-10 15:17:54.000000000 +0100
++++ ioemu/hw/usb-uhci.c        2007-05-10 15:19:29.000000000 +0100
 @@ -832,6 +832,8 @@
      pci_conf[0x0e] = 0x00; // header_type
      pci_conf[0x3d] = 4; // interrupt pin 3
@@ -57,9 +57,9 @@ Index: ioemu/hw/usb-uhci.c
          qemu_register_usb_port(&s->ports[i].port, s, i, uhci_attach);
 Index: ioemu/vl.h
 ===================================================================
---- ioemu.orig/vl.h    2007-05-09 14:10:38.000000000 +0100
-+++ ioemu/vl.h 2007-05-09 14:10:38.000000000 +0100
-@@ -779,8 +779,11 @@
+--- ioemu.orig/vl.h    2007-05-10 15:19:28.000000000 +0100
++++ ioemu/vl.h 2007-05-10 15:19:29.000000000 +0100
+@@ -777,8 +777,11 @@
  #define PCI_MAX_LAT           0x3f    /* 8 bits */
  
  struct PCIDevice {
diff -r 8f510bf078c7 -r 31a3f83d1610 tools/ioemu/patches/qemu-pci-vendor-ids
--- a/tools/ioemu/patches/qemu-pci-vendor-ids   Thu May 10 15:58:35 2007 +0100
+++ b/tools/ioemu/patches/qemu-pci-vendor-ids   Thu May 10 16:05:31 2007 +0100
@@ -1,7 +1,7 @@ Index: ioemu/hw/cirrus_vga.c
 Index: ioemu/hw/cirrus_vga.c
 ===================================================================
---- ioemu.orig/hw/cirrus_vga.c 2007-05-03 19:16:30.000000000 +0100
-+++ ioemu/hw/cirrus_vga.c      2007-05-03 20:36:50.000000000 +0100
+--- ioemu.orig/hw/cirrus_vga.c 2007-05-10 15:04:56.000000000 +0100
++++ ioemu/hw/cirrus_vga.c      2007-05-10 15:05:07.000000000 +0100
 @@ -3354,6 +3354,10 @@
      pci_conf[0x0a] = PCI_CLASS_SUB_VGA;
      pci_conf[0x0b] = PCI_CLASS_BASE_DISPLAY;
@@ -15,8 +15,8 @@ Index: ioemu/hw/cirrus_vga.c
      s = &d->cirrus_vga;
 Index: ioemu/hw/rtl8139.c
 ===================================================================
---- ioemu.orig/hw/rtl8139.c    2007-05-03 20:36:46.000000000 +0100
-+++ ioemu/hw/rtl8139.c 2007-05-03 20:36:50.000000000 +0100
+--- ioemu.orig/hw/rtl8139.c    2007-05-10 15:05:06.000000000 +0100
++++ ioemu/hw/rtl8139.c 2007-05-10 15:05:07.000000000 +0100
 @@ -3432,8 +3432,10 @@
      pci_conf[0x0e] = 0x00; /* header_type */
      pci_conf[0x3d] = 1;    /* interrupt pin 0 */
@@ -32,9 +32,9 @@ Index: ioemu/hw/rtl8139.c
  
 Index: ioemu/hw/ide.c
 ===================================================================
---- ioemu.orig/hw/ide.c        2007-05-03 20:35:19.000000000 +0100
-+++ ioemu/hw/ide.c     2007-05-03 20:36:50.000000000 +0100
-@@ -2747,6 +2747,10 @@
+--- ioemu.orig/hw/ide.c        2007-05-10 15:05:02.000000000 +0100
++++ ioemu/hw/ide.c     2007-05-10 15:05:07.000000000 +0100
+@@ -2750,6 +2750,10 @@
      pci_conf[0x0a] = 0x01; // class_sub = PCI_IDE
      pci_conf[0x0b] = 0x01; // class_base = PCI_mass_storage
      pci_conf[0x0e] = 0x00; // header_type
diff -r 8f510bf078c7 -r 31a3f83d1610 tools/ioemu/patches/qemu-serial-fixes
--- a/tools/ioemu/patches/qemu-serial-fixes     Thu May 10 15:58:35 2007 +0100
+++ b/tools/ioemu/patches/qemu-serial-fixes     Thu May 10 16:05:31 2007 +0100
@@ -13,9 +13,9 @@ Signed-off-by: Keir Fraser <keir@xensour
 
 Index: ioemu/vl.c
 ===================================================================
---- ioemu.orig/vl.c    2007-05-03 20:38:49.000000000 +0100
-+++ ioemu/vl.c 2007-05-03 20:39:06.000000000 +0100
-@@ -1874,7 +1874,7 @@
+--- ioemu.orig/vl.c    2007-05-10 15:35:24.000000000 +0100
++++ ioemu/vl.c 2007-05-10 15:35:25.000000000 +0100
+@@ -1871,7 +1871,7 @@
  
      tty.c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP
                            |INLCR|IGNCR|ICRNL|IXON);
@@ -26,8 +26,8 @@ Index: ioemu/vl.c
      switch(data_bits) {
 Index: ioemu/hw/serial.c
 ===================================================================
---- ioemu.orig/hw/serial.c     2007-05-03 20:36:58.000000000 +0100
-+++ ioemu/hw/serial.c  2007-05-03 20:39:06.000000000 +0100
+--- ioemu.orig/hw/serial.c     2007-05-10 15:35:24.000000000 +0100
++++ ioemu/hw/serial.c  2007-05-10 15:35:25.000000000 +0100
 @@ -73,6 +73,11 @@
  #define UART_LSR_OE   0x02    /* Overrun error indicator */
  #define UART_LSR_DR   0x01    /* Receiver data ready */
diff -r 8f510bf078c7 -r 31a3f83d1610 
tools/ioemu/patches/qemu-tunable-ide-write-cache
--- a/tools/ioemu/patches/qemu-tunable-ide-write-cache  Thu May 10 15:58:35 
2007 +0100
+++ b/tools/ioemu/patches/qemu-tunable-ide-write-cache  Thu May 10 16:05:31 
2007 +0100
@@ -1,7 +1,7 @@ Index: ioemu/hw/ide.c
 Index: ioemu/hw/ide.c
 ===================================================================
---- ioemu.orig/hw/ide.c        2007-05-03 20:31:55.000000000 +0100
-+++ ioemu/hw/ide.c     2007-05-03 20:35:19.000000000 +0100
+--- ioemu.orig/hw/ide.c        2007-05-10 15:04:31.000000000 +0100
++++ ioemu/hw/ide.c     2007-05-10 15:05:02.000000000 +0100
 @@ -306,6 +306,7 @@
      PCIDevice *pci_dev;
      struct BMDMAState *bmdma;
@@ -20,7 +20,17 @@ Index: ioemu/hw/ide.c
  #ifdef TARGET_I386
      if (win2k_install_hack && ((++s->irq_count % 16) == 0)) {
          /* It seems there is a bug in the Windows 2000 installer HDD
-@@ -1849,7 +1853,15 @@
+@@ -956,6 +960,9 @@
+ 
+     /* end of transfer ? */
+     if (s->nsector == 0) {
++        /* Ensure the data hit disk before telling the guest OS so. */
++        if (!s->write_cache)
++            bdrv_flush(s->bs);
+         s->status = READY_STAT | SEEK_STAT;
+         ide_set_irq(s);
+     eot:
+@@ -1849,7 +1856,15 @@
              /* XXX: valid for CDROM ? */
              switch(s->feature) {
              case 0x02: /* write cache enable */
@@ -36,7 +46,7 @@ Index: ioemu/hw/ide.c
              case 0xaa: /* read look-ahead enable */
              case 0x55: /* read look-ahead disable */
                  s->status = READY_STAT | SEEK_STAT;
-@@ -2282,6 +2294,7 @@
+@@ -2282,6 +2297,7 @@
          s->irq = irq;
          s->sector_write_timer = qemu_new_timer(vm_clock, 
                                                 ide_sector_write_timer_cb, s);
diff -r 8f510bf078c7 -r 31a3f83d1610 tools/ioemu/patches/scsi
--- a/tools/ioemu/patches/scsi  Thu May 10 15:58:35 2007 +0100
+++ b/tools/ioemu/patches/scsi  Thu May 10 16:05:31 2007 +0100
@@ -1,7 +1,7 @@ Index: ioemu/vl.c
 Index: ioemu/vl.c
 ===================================================================
---- ioemu.orig/vl.c    2007-05-09 13:49:10.000000000 +0100
-+++ ioemu/vl.c 2007-05-09 13:49:10.000000000 +0100
+--- ioemu.orig/vl.c    2007-05-10 15:35:25.000000000 +0100
++++ ioemu/vl.c 2007-05-10 15:35:25.000000000 +0100
 @@ -124,7 +124,7 @@
  IOPortWriteFunc *ioport_write_table[3][MAX_IOPORTS];
  /* Note: bs_table[MAX_DISKS] is a dummy block driver if none available
@@ -11,7 +11,7 @@ Index: ioemu/vl.c
  /* point to the block driver where the snapshots are managed */
  BlockDriverState *bs_snapshots;
  int vga_ram_size;
-@@ -1529,7 +1529,7 @@
+@@ -1526,7 +1526,7 @@
          case 's': 
              {
                  int i;
@@ -20,7 +20,7 @@ Index: ioemu/vl.c
                      if (bs_table[i])
                          bdrv_commit(bs_table[i]);
                  }
-@@ -6969,7 +6969,7 @@
+@@ -6954,7 +6954,7 @@
      int snapshot, linux_boot;
      const char *initrd_filename;
  #ifndef CONFIG_DM
@@ -29,7 +29,7 @@ Index: ioemu/vl.c
  #endif /* !CONFIG_DM */
      const char *fd_filename[MAX_FD];
      const char *kernel_filename, *kernel_cmdline;
-@@ -7038,7 +7038,7 @@
+@@ -7023,7 +7023,7 @@
      for(i = 0; i < MAX_FD; i++)
          fd_filename[i] = NULL;
  #ifndef CONFIG_DM
@@ -38,7 +38,7 @@ Index: ioemu/vl.c
          hd_filename[i] = NULL;
  #endif /* !CONFIG_DM */
      ram_size = DEFAULT_RAM_SIZE * 1024 * 1024;
-@@ -7737,7 +7737,7 @@
+@@ -7714,7 +7714,7 @@
      }
  
      /* open the virtual block devices */
@@ -49,9 +49,9 @@ Index: ioemu/vl.c
                  char buf[64];
 Index: ioemu/vl.h
 ===================================================================
---- ioemu.orig/vl.h    2007-05-09 13:49:10.000000000 +0100
-+++ ioemu/vl.h 2007-05-09 13:51:28.000000000 +0100
-@@ -965,8 +965,9 @@
+--- ioemu.orig/vl.h    2007-05-10 15:35:25.000000000 +0100
++++ ioemu/vl.h 2007-05-10 15:35:25.000000000 +0100
+@@ -963,8 +963,9 @@
  
  /* ide.c */
  #define MAX_DISKS 4
@@ -64,8 +64,8 @@ Index: ioemu/vl.h
                    BlockDriverState *hd0, BlockDriverState *hd1);
 Index: ioemu/hw/pc.c
 ===================================================================
---- ioemu.orig/hw/pc.c 2007-05-09 13:49:09.000000000 +0100
-+++ ioemu/hw/pc.c      2007-05-09 13:49:10.000000000 +0100
+--- ioemu.orig/hw/pc.c 2007-05-10 15:35:25.000000000 +0100
++++ ioemu/hw/pc.c      2007-05-10 15:35:25.000000000 +0100
 @@ -761,7 +761,6 @@
              piix4_smbus_register_device(eeprom, 0x50 + i);
          }
@@ -95,8 +95,8 @@ Index: ioemu/hw/pc.c
  static void pc_init_pci(uint64_t ram_size, int vga_ram_size, char 
*boot_device,
 Index: ioemu/xenstore.c
 ===================================================================
---- ioemu.orig/xenstore.c      2007-05-09 13:49:10.000000000 +0100
-+++ ioemu/xenstore.c   2007-05-09 13:49:10.000000000 +0100
+--- ioemu.orig/xenstore.c      2007-05-10 15:35:25.000000000 +0100
++++ ioemu/xenstore.c   2007-05-10 15:35:25.000000000 +0100
 @@ -18,7 +18,7 @@
  #include <fcntl.h>
  
@@ -163,8 +163,8 @@ Index: ioemu/xenstore.c
          }
 Index: ioemu/monitor.c
 ===================================================================
---- ioemu.orig/monitor.c       2007-05-09 13:48:54.000000000 +0100
-+++ ioemu/monitor.c    2007-05-09 13:49:19.000000000 +0100
+--- ioemu.orig/monitor.c       2007-05-10 15:32:53.000000000 +0100
++++ ioemu/monitor.c    2007-05-10 15:35:25.000000000 +0100
 @@ -209,7 +209,7 @@
      int i, all_devices;
      
@@ -176,8 +176,8 @@ Index: ioemu/monitor.c
                  !strcmp(bdrv_get_device_name(bs_table[i]), device))
 Index: ioemu/hw/lsi53c895a.c
 ===================================================================
---- ioemu.orig/hw/lsi53c895a.c 2007-05-09 13:48:54.000000000 +0100
-+++ ioemu/hw/lsi53c895a.c      2007-05-09 13:49:10.000000000 +0100
+--- ioemu.orig/hw/lsi53c895a.c 2007-05-10 15:32:53.000000000 +0100
++++ ioemu/hw/lsi53c895a.c      2007-05-10 15:35:25.000000000 +0100
 @@ -1351,8 +1351,13 @@
          shift = (offset & 3) * 8;
          return (s->scratch[n] >> shift) & 0xff;
diff -r 8f510bf078c7 -r 31a3f83d1610 tools/ioemu/patches/series
--- a/tools/ioemu/patches/series        Thu May 10 15:58:35 2007 +0100
+++ b/tools/ioemu/patches/series        Thu May 10 16:05:31 2007 +0100
@@ -5,7 +5,6 @@ qemu-64bit
 qemu-64bit
 qemu-bugfixes
 qemu-logging
-qemu-infrastructure
 qemu-hvm-banner
 xen-domain-name
 xen-domid
@@ -41,9 +40,7 @@ vnc-protocol-fixes
 vnc-protocol-fixes
 vnc-start-vncviewer
 vnc-title-domain-name
-vnc-access-monitor-vt
 vnc-display-find-unused
-vnc-listen-specific-interface
 vnc-backoff-screen-scan
 xenstore
 xenstore-block-device-config
@@ -79,3 +76,4 @@ qemu-cirrus-bounds-checks
 qemu-cirrus-bounds-checks
 qemu-block-device-bounds-checks
 qemu-dma-null-pointer-check
+vnc-fix-text-display-shift-key
diff -r 8f510bf078c7 -r 31a3f83d1610 tools/ioemu/patches/tpm-tis-device
--- a/tools/ioemu/patches/tpm-tis-device        Thu May 10 15:58:35 2007 +0100
+++ b/tools/ioemu/patches/tpm-tis-device        Thu May 10 16:05:31 2007 +0100
@@ -22,8 +22,8 @@ Signed-off-by: Stefan Berger <stefanb@us
 
 Index: ioemu/Makefile.target
 ===================================================================
---- ioemu.orig/Makefile.target 2007-05-03 20:38:49.000000000 +0100
-+++ ioemu/Makefile.target      2007-05-03 20:39:04.000000000 +0100
+--- ioemu.orig/Makefile.target 2007-05-10 15:19:29.000000000 +0100
++++ ioemu/Makefile.target      2007-05-10 15:19:29.000000000 +0100
 @@ -400,6 +400,7 @@
  VL_OBJS+= piix4acpi.o
  VL_OBJS+= xenstore.o
@@ -34,8 +34,8 @@ Index: ioemu/Makefile.target
  ifeq ($(TARGET_BASE_ARCH), ppc)
 Index: ioemu/hw/pc.c
 ===================================================================
---- ioemu.orig/hw/pc.c 2007-05-03 20:32:20.000000000 +0100
-+++ ioemu/hw/pc.c      2007-05-03 20:38:55.000000000 +0100
+--- ioemu.orig/hw/pc.c 2007-05-10 15:19:28.000000000 +0100
++++ ioemu/hw/pc.c      2007-05-10 15:19:29.000000000 +0100
 @@ -730,6 +730,9 @@
          }
      }
@@ -49,7 +49,7 @@ Index: ioemu/hw/tpm_tis.c
 Index: ioemu/hw/tpm_tis.c
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ ioemu/hw/tpm_tis.c 2007-05-03 20:38:55.000000000 +0100
++++ ioemu/hw/tpm_tis.c 2007-05-10 15:19:29.000000000 +0100
 @@ -0,0 +1,1128 @@
 +/*
 + * tpm_tis.c - QEMU emulator for a 1.2 TPM with TIS interface
@@ -1181,9 +1181,9 @@ Index: ioemu/hw/tpm_tis.c
 +}
 Index: ioemu/vl.h
 ===================================================================
---- ioemu.orig/vl.h    2007-05-03 20:38:53.000000000 +0100
-+++ ioemu/vl.h 2007-05-03 20:38:55.000000000 +0100
-@@ -1088,6 +1088,10 @@
+--- ioemu.orig/vl.h    2007-05-10 15:19:29.000000000 +0100
++++ ioemu/vl.h 2007-05-10 15:19:29.000000000 +0100
+@@ -1086,6 +1086,10 @@
  /* smbus_eeprom.c */
  SMBusDevice *smbus_eeprom_device_init(uint8_t addr, uint8_t *buf);
  
diff -r 8f510bf078c7 -r 31a3f83d1610 tools/ioemu/patches/vnc-backoff-screen-scan
--- a/tools/ioemu/patches/vnc-backoff-screen-scan       Thu May 10 15:58:35 
2007 +0100
+++ b/tools/ioemu/patches/vnc-backoff-screen-scan       Thu May 10 16:05:31 
2007 +0100
@@ -1,7 +1,7 @@ Index: ioemu/vnc.c
 Index: ioemu/vnc.c
 ===================================================================
---- ioemu.orig/vnc.c   2007-05-03 20:22:19.000000000 +0100
-+++ ioemu/vnc.c        2007-05-03 20:23:38.000000000 +0100
+--- ioemu.orig/vnc.c   2007-05-10 15:18:01.000000000 +0100
++++ ioemu/vnc.c        2007-05-10 15:18:58.000000000 +0100
 @@ -28,7 +28,19 @@
  #include "qemu_socket.h"
  #include <assert.h>
@@ -23,7 +23,7 @@ Index: ioemu/vnc.c
  
  #include "vnc_keysym.h"
  #include "keymaps.c"
-@@ -65,10 +77,11 @@
+@@ -61,10 +73,11 @@
  struct VncState
  {
      QEMUTimer *timer;
@@ -36,7 +36,7 @@ Index: ioemu/vnc.c
      int width;
      int height;
      uint64_t *dirty_row;      /* screen regions which are possibly dirty */
-@@ -106,8 +119,6 @@
+@@ -102,8 +115,6 @@
      int visible_w;
      int visible_h;
  
@@ -45,7 +45,7 @@ Index: ioemu/vnc.c
      /* input */
      uint8_t modifiers_state[256];
  };
-@@ -412,7 +423,7 @@
+@@ -408,7 +419,7 @@
      int y = 0;
      int pitch = ds->linesize;
      VncState *vs = ds->opaque;
@@ -54,7 +54,7 @@ Index: ioemu/vnc.c
  
      if (src_x < vs->visible_x || src_y < vs->visible_y ||
        dst_x < vs->visible_x || dst_y < vs->visible_y ||
-@@ -422,10 +433,8 @@
+@@ -418,10 +429,8 @@
        (dst_y + h) > (vs->visible_y + vs->visible_h))
        updating_client = 0;
  
@@ -66,7 +66,7 @@ Index: ioemu/vnc.c
  
      if (dst_y > src_y) {
        y = h - 1;
-@@ -477,110 +486,149 @@
+@@ -473,110 +482,149 @@
  static void _vnc_update_client(void *opaque)
  {
      VncState *vs = opaque;
@@ -299,7 +299,7 @@ Index: ioemu/vnc.c
  }
  
  static void vnc_update_client(void *opaque)
-@@ -593,8 +641,10 @@
+@@ -589,8 +637,10 @@
  
  static void vnc_timer_init(VncState *vs)
  {
@@ -311,7 +311,7 @@ Index: ioemu/vnc.c
  }
  
  static void vnc_dpy_refresh(DisplayState *ds)
-@@ -654,7 +704,6 @@
+@@ -650,7 +700,6 @@
        vs->csock = -1;
        buffer_reset(&vs->input);
        buffer_reset(&vs->output);
@@ -319,7 +319,7 @@ Index: ioemu/vnc.c
        return 0;
      }
      return ret;
-@@ -961,7 +1010,6 @@
+@@ -957,7 +1006,6 @@
                                       int x_position, int y_position,
                                       int w, int h)
  {
@@ -327,7 +327,7 @@ Index: ioemu/vnc.c
      if (!incremental)
        framebuffer_set_updated(vs, x_position, y_position, w, h);
      vs->visible_x = x_position;
-@@ -1091,6 +1139,7 @@
+@@ -1087,6 +1135,7 @@
  {
      int i;
      uint16_t limit;
@@ -335,7 +335,7 @@ Index: ioemu/vnc.c
  
      switch (data[0]) {
      case 0:
-@@ -1134,12 +1183,18 @@
+@@ -1130,12 +1179,18 @@
        if (len == 1)
            return 8;
  
@@ -356,9 +356,9 @@ Index: ioemu/vnc.c
      case 6:
 Index: ioemu/vl.c
 ===================================================================
---- ioemu.orig/vl.c    2007-05-03 20:23:03.000000000 +0100
-+++ ioemu/vl.c 2007-05-03 20:23:30.000000000 +0100
-@@ -812,6 +812,12 @@
+--- ioemu.orig/vl.c    2007-05-10 15:18:01.000000000 +0100
++++ ioemu/vl.c 2007-05-10 15:18:58.000000000 +0100
+@@ -811,6 +811,12 @@
      }
  }
  
@@ -373,9 +373,9 @@ Index: ioemu/vl.c
  void qemu_mod_timer(QEMUTimer *ts, int64_t expire_time)
 Index: ioemu/vl.h
 ===================================================================
---- ioemu.orig/vl.h    2007-05-03 20:23:25.000000000 +0100
-+++ ioemu/vl.h 2007-05-03 20:23:30.000000000 +0100
-@@ -443,6 +443,7 @@
+--- ioemu.orig/vl.h    2007-05-10 15:18:01.000000000 +0100
++++ ioemu/vl.h 2007-05-10 15:18:58.000000000 +0100
+@@ -441,6 +441,7 @@
  void qemu_free_timer(QEMUTimer *ts);
  void qemu_del_timer(QEMUTimer *ts);
  void qemu_mod_timer(QEMUTimer *ts, int64_t expire_time);
diff -r 8f510bf078c7 -r 31a3f83d1610 tools/ioemu/patches/vnc-display-find-unused
--- a/tools/ioemu/patches/vnc-display-find-unused       Thu May 10 15:58:35 
2007 +0100
+++ b/tools/ioemu/patches/vnc-display-find-unused       Thu May 10 16:05:31 
2007 +0100
@@ -1,8 +1,8 @@ Index: ioemu/vnc.c
 Index: ioemu/vnc.c
 ===================================================================
---- ioemu.orig/vnc.c   2007-05-09 14:12:04.000000000 +0100
-+++ ioemu/vnc.c        2007-05-09 14:12:21.000000000 +0100
-@@ -1270,7 +1270,7 @@
+--- ioemu.orig/vnc.c   2007-05-10 15:11:41.000000000 +0100
++++ ioemu/vnc.c        2007-05-10 15:11:41.000000000 +0100
+@@ -1266,7 +1266,7 @@
  
  extern int parse_host_port(struct sockaddr_in *saddr, const char *str);
  
@@ -11,7 +11,7 @@ Index: ioemu/vnc.c
  {
      struct sockaddr *addr;
      struct sockaddr_in iaddr;
-@@ -1312,6 +1312,9 @@
+@@ -1308,6 +1308,9 @@
  
      vnc_dpy_resize(vs->ds, 640, 400);
  
@@ -21,7 +21,7 @@ Index: ioemu/vnc.c
  #ifndef _WIN32
      if (strstart(arg, "unix:", &p)) {
        addr = (struct sockaddr *)&uaddr;
-@@ -1356,7 +1359,11 @@
+@@ -1352,7 +1355,11 @@
        }
      }
  
@@ -34,7 +34,7 @@ Index: ioemu/vnc.c
        fprintf(stderr, "bind() failed\n");
        exit(1);
      }
-@@ -1370,6 +1377,8 @@
+@@ -1366,6 +1373,8 @@
      if (ret == -1) {
        exit(1);
      }
@@ -45,8 +45,8 @@ Index: ioemu/vnc.c
  int vnc_start_viewer(int port)
 Index: ioemu/vl.c
 ===================================================================
---- ioemu.orig/vl.c    2007-05-09 14:12:03.000000000 +0100
-+++ ioemu/vl.c 2007-05-09 14:12:16.000000000 +0100
+--- ioemu.orig/vl.c    2007-05-10 15:11:41.000000000 +0100
++++ ioemu/vl.c 2007-05-10 15:11:41.000000000 +0100
 @@ -132,6 +132,7 @@
  static DisplayState display_state;
  int nographic;
@@ -130,8 +130,8 @@ Index: ioemu/vl.c
      }
 Index: ioemu/vl.h
 ===================================================================
---- ioemu.orig/vl.h    2007-05-09 14:12:03.000000000 +0100
-+++ ioemu/vl.h 2007-05-09 14:12:16.000000000 +0100
+--- ioemu.orig/vl.h    2007-05-10 15:11:41.000000000 +0100
++++ ioemu/vl.h 2007-05-10 15:11:41.000000000 +0100
 @@ -928,7 +928,7 @@
  void cocoa_display_init(DisplayState *ds, int full_screen);
  
diff -r 8f510bf078c7 -r 31a3f83d1610 tools/ioemu/patches/vnc-fix-signedness
--- a/tools/ioemu/patches/vnc-fix-signedness    Thu May 10 15:58:35 2007 +0100
+++ b/tools/ioemu/patches/vnc-fix-signedness    Thu May 10 16:05:31 2007 +0100
@@ -8,9 +8,9 @@ Signed-off-by:  Anthony Liguori <aliguor
 
 Index: ioemu/vnc.c
 ===================================================================
---- ioemu.orig/vnc.c   2007-05-09 14:12:44.000000000 +0100
-+++ ioemu/vnc.c        2007-05-09 14:12:45.000000000 +0100
-@@ -54,12 +54,12 @@
+--- ioemu.orig/vnc.c   2007-05-10 15:19:29.000000000 +0100
++++ ioemu/vnc.c        2007-05-10 15:19:30.000000000 +0100
+@@ -50,12 +50,12 @@
  {
      size_t capacity;
      size_t offset;
@@ -25,7 +25,7 @@ Index: ioemu/vnc.c
  
  typedef void VncWritePixels(VncState *vs, void *data, int size);
  
-@@ -90,7 +90,7 @@
+@@ -86,7 +86,7 @@
      uint64_t *update_row;     /* outstanding updates */
      int has_update;           /* there's outstanding updates in the
                                 * visible area */
@@ -34,7 +34,7 @@ Index: ioemu/vnc.c
      int depth; /* internal VNC frame buffer byte per pixel */
      int has_resize;
      int has_hextile;
-@@ -165,7 +165,7 @@
+@@ -161,7 +161,7 @@
  static void vnc_update_client(void *opaque);
  static void vnc_client_read(void *opaque);
  static void framebuffer_set_updated(VncState *vs, int x, int y, int w, int h);
@@ -43,7 +43,7 @@ Index: ioemu/vnc.c
  static void set_seed(unsigned int *seedp);
  static void get_random(int len, unsigned char *buf);
  
-@@ -357,7 +357,7 @@
+@@ -353,7 +353,7 @@
  static void send_framebuffer_update_raw(VncState *vs, int x, int y, int w, 
int h)
  {
      int i;
@@ -52,7 +52,7 @@ Index: ioemu/vnc.c
  
      vnc_framebuffer_update(vs, x, y, w, h, 0);
  
-@@ -421,9 +421,9 @@
+@@ -417,9 +417,9 @@
  static void vnc_copy(DisplayState *ds, int src_x, int src_y, int dst_x, int 
dst_y, int w, int h)
  {
      int src, dst;
@@ -65,7 +65,7 @@ Index: ioemu/vnc.c
      int y = 0;
      int pitch = ds->linesize;
      VncState *vs = ds->opaque;
-@@ -492,8 +492,8 @@
+@@ -488,8 +488,8 @@
      VncState *vs = opaque;
      int64_t now;
      int y;
@@ -76,7 +76,7 @@ Index: ioemu/vnc.c
      uint64_t width_mask;
      int n_rectangles;
      int saved_offset;
-@@ -518,7 +518,7 @@
+@@ -514,7 +514,7 @@
      for (y = 0; y < vs->ds->height; y++) {
        if (vs->dirty_row[y] & width_mask) {
            int x;
@@ -85,7 +85,7 @@ Index: ioemu/vnc.c
  
            ptr = row;
            old_ptr = old_row;
-@@ -681,7 +681,7 @@
+@@ -677,7 +677,7 @@
      return buffer->offset == 0;
  }
  
@@ -94,7 +94,7 @@ Index: ioemu/vnc.c
  {
      return buffer->buffer + buffer->offset;
  }
-@@ -815,7 +815,7 @@
+@@ -811,7 +811,7 @@
  
  static void vnc_write_u8(VncState *vs, uint8_t value)
  {
@@ -103,7 +103,7 @@ Index: ioemu/vnc.c
  }
  
  static void vnc_flush(VncState *vs)
-@@ -1139,11 +1139,10 @@
+@@ -1135,11 +1135,10 @@
      vga_hw_update();
  }
  
@@ -116,7 +116,7 @@ Index: ioemu/vnc.c
  
      switch (data[0]) {
      case 0:
-@@ -1212,7 +1211,7 @@
+@@ -1208,7 +1207,7 @@
                return 8 + v;
        }
  
@@ -125,7 +125,7 @@ Index: ioemu/vnc.c
        break;
      default:
        printf("Msg: %d\n", data[0]);
-@@ -1224,7 +1223,7 @@
+@@ -1220,7 +1219,7 @@
      return 0;
  }
  
@@ -134,7 +134,7 @@ Index: ioemu/vnc.c
  {
      size_t l;
      char pad[3] = { 0, 0, 0 };
-@@ -1285,7 +1284,7 @@
+@@ -1281,7 +1280,7 @@
      return 0;
  }
  
@@ -143,7 +143,7 @@ Index: ioemu/vnc.c
  {
      extern char vncpasswd[64];
      extern unsigned char challenge[AUTHCHALLENGESIZE];
-@@ -1323,7 +1322,7 @@
+@@ -1319,7 +1318,7 @@
      return 0;
  }
  
@@ -152,7 +152,7 @@ Index: ioemu/vnc.c
  {
      extern char vncpasswd[64];
      extern unsigned char challenge[AUTHCHALLENGESIZE];
-@@ -1538,7 +1537,7 @@
+@@ -1535,7 +1534,7 @@
  
  unsigned int seed;
  
@@ -163,8 +163,8 @@ Index: ioemu/vnc.c
      set_seed(&seed);
 Index: ioemu/vnchextile.h
 ===================================================================
---- ioemu.orig/vnchextile.h    2007-05-09 14:12:15.000000000 +0100
-+++ ioemu/vnchextile.h 2007-05-09 14:12:45.000000000 +0100
+--- ioemu.orig/vnchextile.h    2007-05-10 15:17:54.000000000 +0100
++++ ioemu/vnchextile.h 2007-05-10 15:19:30.000000000 +0100
 @@ -13,7 +13,7 @@
                                               uint32_t *last_fg32,
                                               int *has_bg, int *has_fg)
diff -r 8f510bf078c7 -r 31a3f83d1610 tools/ioemu/patches/vnc-fix-version-check
--- a/tools/ioemu/patches/vnc-fix-version-check Thu May 10 15:58:35 2007 +0100
+++ b/tools/ioemu/patches/vnc-fix-version-check Thu May 10 16:05:31 2007 +0100
@@ -1,8 +1,8 @@ Index: ioemu/vnc.c
 Index: ioemu/vnc.c
 ===================================================================
---- ioemu.orig/vnc.c   2007-05-03 20:53:32.000000000 +0100
-+++ ioemu/vnc.c        2007-05-03 20:53:59.000000000 +0100
-@@ -1341,7 +1341,7 @@
+--- ioemu.orig/vnc.c   2007-05-10 15:11:44.000000000 +0100
++++ ioemu/vnc.c        2007-05-10 15:11:44.000000000 +0100
+@@ -1337,7 +1337,7 @@
  
  
      support = 0;
diff -r 8f510bf078c7 -r 31a3f83d1610 tools/ioemu/patches/vnc-password
--- a/tools/ioemu/patches/vnc-password  Thu May 10 15:58:35 2007 +0100
+++ b/tools/ioemu/patches/vnc-password  Thu May 10 16:05:31 2007 +0100
@@ -17,8 +17,8 @@ Signed-off-by: Masami Watanabe <masami.w
 
 Index: ioemu/Makefile.target
 ===================================================================
---- ioemu.orig/Makefile.target 2007-05-09 14:12:44.000000000 +0100
-+++ ioemu/Makefile.target      2007-05-09 14:12:44.000000000 +0100
+--- ioemu.orig/Makefile.target 2007-05-10 15:35:24.000000000 +0100
++++ ioemu/Makefile.target      2007-05-10 15:35:24.000000000 +0100
 @@ -443,6 +443,7 @@
  VL_OBJS+=sdl.o x_keymap.o
  endif
@@ -39,9 +39,9 @@ Index: ioemu/Makefile.target
  
 Index: ioemu/vl.c
 ===================================================================
---- ioemu.orig/vl.c    2007-05-09 14:12:44.000000000 +0100
-+++ ioemu/vl.c 2007-05-09 14:12:44.000000000 +0100
-@@ -189,6 +189,9 @@
+--- ioemu.orig/vl.c    2007-05-10 15:35:16.000000000 +0100
++++ ioemu/vl.c 2007-05-10 15:35:24.000000000 +0100
+@@ -186,6 +186,9 @@
  char domain_name[1024] = { 'H','V', 'M', 'X', 'E', 'N', '-'};
  extern int domid;
  
@@ -51,7 +51,7 @@ Index: ioemu/vl.c
  /***********************************************************/
  /* x86 ISA bus support */
  
-@@ -6897,6 +6900,7 @@
+@@ -6882,6 +6885,7 @@
      vncunused = 0;
      kernel_filename = NULL;
      kernel_cmdline = "";
@@ -59,7 +59,7 @@ Index: ioemu/vl.c
  #ifndef CONFIG_DM
  #ifdef TARGET_PPC
      cdrom_index = 1;
-@@ -7644,6 +7648,10 @@
+@@ -7621,6 +7625,10 @@
  
      init_ioports();
  
@@ -72,9 +72,9 @@ Index: ioemu/vl.c
          dumb_display_init(ds);
 Index: ioemu/vl.h
 ===================================================================
---- ioemu.orig/vl.h    2007-05-09 14:12:44.000000000 +0100
-+++ ioemu/vl.h 2007-05-09 14:12:44.000000000 +0100
-@@ -1434,6 +1434,7 @@
+--- ioemu.orig/vl.h    2007-05-10 15:35:24.000000000 +0100
++++ ioemu/vl.h 2007-05-10 15:35:24.000000000 +0100
+@@ -1432,6 +1432,7 @@
  void xenstore_process_event(void *opaque);
  void xenstore_check_new_media_present(int timeout);
  void xenstore_write_vncport(int vnc_display);
@@ -82,7 +82,7 @@ Index: ioemu/vl.h
  
  int xenstore_vm_write(int domid, char *key, char *val);
  char *xenstore_vm_read(int domid, char *key, int *len);
-@@ -1452,4 +1453,7 @@
+@@ -1450,4 +1451,7 @@
  
  void destroy_hvm_domain(void);
  
@@ -92,17 +92,17 @@ Index: ioemu/vl.h
  #endif /* VL_H */
 Index: ioemu/vnc.c
 ===================================================================
---- ioemu.orig/vnc.c   2007-05-09 14:12:43.000000000 +0100
-+++ ioemu/vnc.c        2007-05-09 14:12:44.000000000 +0100
+--- ioemu.orig/vnc.c   2007-05-10 15:32:53.000000000 +0100
++++ ioemu/vnc.c        2007-05-10 15:35:24.000000000 +0100
 @@ -44,6 +44,7 @@
  
  #include "vnc_keysym.h"
  #include "keymaps.c"
 +#include "d3des.h"
  
- #define XK_MISCELLANY
- #define XK_LATIN1
-@@ -164,6 +165,9 @@
+ typedef struct Buffer
+ {
+@@ -160,6 +161,9 @@
  static void vnc_update_client(void *opaque);
  static void vnc_client_read(void *opaque);
  static void framebuffer_set_updated(VncState *vs, int x, int y, int w, int h);
@@ -112,7 +112,7 @@ Index: ioemu/vnc.c
  
  #if 0
  static inline void vnc_set_bit(uint32_t *d, int k)
-@@ -1281,23 +1285,92 @@
+@@ -1277,23 +1281,92 @@
      return 0;
  }
  
@@ -209,7 +209,7 @@ Index: ioemu/vnc.c
  
      return 0;
  }
-@@ -1462,3 +1535,32 @@
+@@ -1459,3 +1532,32 @@
        return pid;
      }
  }
@@ -244,8 +244,8 @@ Index: ioemu/vnc.c
 +}
 Index: ioemu/xenstore.c
 ===================================================================
---- ioemu.orig/xenstore.c      2007-05-09 14:12:43.000000000 +0100
-+++ ioemu/xenstore.c   2007-05-09 14:12:44.000000000 +0100
+--- ioemu.orig/xenstore.c      2007-05-10 15:32:53.000000000 +0100
++++ ioemu/xenstore.c   2007-05-10 15:35:24.000000000 +0100
 @@ -253,6 +253,57 @@
      free(buf);
  }
@@ -307,7 +307,7 @@ Index: ioemu/d3des.c
 Index: ioemu/d3des.c
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ ioemu/d3des.c      2007-05-09 14:12:44.000000000 +0100
++++ ioemu/d3des.c      2007-05-10 15:35:24.000000000 +0100
 @@ -0,0 +1,434 @@
 +/*
 + * This is D3DES (V5.09) by Richard Outerbridge with the double and
@@ -746,7 +746,7 @@ Index: ioemu/d3des.h
 Index: ioemu/d3des.h
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ ioemu/d3des.h      2007-05-09 14:12:44.000000000 +0100
++++ ioemu/d3des.h      2007-05-10 15:35:24.000000000 +0100
 @@ -0,0 +1,51 @@
 +/*
 + * This is D3DES (V5.09) by Richard Outerbridge with the double and
diff -r 8f510bf078c7 -r 31a3f83d1610 tools/ioemu/patches/xen-mapcache
--- a/tools/ioemu/patches/xen-mapcache  Thu May 10 15:58:35 2007 +0100
+++ b/tools/ioemu/patches/xen-mapcache  Thu May 10 16:05:31 2007 +0100
@@ -17,9 +17,9 @@ Signed-off-by: Keir Fraser <keir@xensour
 
 Index: ioemu/vl.c
 ===================================================================
---- ioemu.orig/vl.c    2007-05-09 13:49:09.000000000 +0100
-+++ ioemu/vl.c 2007-05-09 13:49:10.000000000 +0100
-@@ -278,7 +278,7 @@
+--- ioemu.orig/vl.c    2007-05-10 15:35:25.000000000 +0100
++++ ioemu/vl.c 2007-05-10 15:35:25.000000000 +0100
+@@ -275,7 +275,7 @@
      for(i = start; i < start + length; i += size) {
          ioport_read_table[bsize][i] = func;
          if (ioport_opaque[i] != NULL && ioport_opaque[i] != opaque)
@@ -28,7 +28,7 @@ Index: ioemu/vl.c
          ioport_opaque[i] = opaque;
      }
      return 0;
-@@ -6806,6 +6806,157 @@
+@@ -6791,6 +6791,157 @@
      suspend_requested = 1;
  }
  
@@ -186,7 +186,7 @@ Index: ioemu/vl.c
  int main(int argc, char **argv)
  {
  #ifdef CONFIG_GDBSTUB
-@@ -6842,8 +6993,11 @@
+@@ -6827,8 +6978,11 @@
      unsigned long ioreq_pfn;
      extern void *shared_page;
      extern void *buffered_io_page;
@@ -199,7 +199,7 @@ Index: ioemu/vl.c
  
      char qemu_dm_logfilename[64];
  
-@@ -7136,6 +7290,7 @@
+@@ -7119,6 +7273,7 @@
                  break;
              case QEMU_OPTION_m:
                  ram_size = atol(optarg) * 1024 * 1024;
@@ -207,7 +207,7 @@ Index: ioemu/vl.c
                  if (ram_size <= 0)
                      help();
  #ifndef CONFIG_DM
-@@ -7495,30 +7650,15 @@
+@@ -7472,30 +7627,15 @@
  
  #if defined(__i386__) || defined(__x86_64__)
  
@@ -241,7 +241,7 @@ Index: ioemu/vl.c
      if (shared_page == NULL) {
          fprintf(logfile, "map shared IO page returned error %d\n", errno);
          exit(-1);
-@@ -7527,15 +7667,12 @@
+@@ -7504,15 +7644,12 @@
      xc_get_hvm_param(xc_handle, domid, HVM_PARAM_BUFIOREQ_PFN, &ioreq_pfn);
      fprintf(logfile, "buffered io page at pfn %lx\n", ioreq_pfn);
      buffered_io_page = xc_map_foreign_range(xc_handle, domid, PAGE_SIZE,
@@ -260,8 +260,8 @@ Index: ioemu/vl.c
      nr_pages = ram_size/PAGE_SIZE;
 Index: ioemu/target-i386-dm/exec-dm.c
 ===================================================================
---- ioemu.orig/target-i386-dm/exec-dm.c        2007-05-09 13:48:54.000000000 
+0100
-+++ ioemu/target-i386-dm/exec-dm.c     2007-05-09 13:49:10.000000000 +0100
+--- ioemu.orig/target-i386-dm/exec-dm.c        2007-05-10 15:32:53.000000000 
+0100
++++ ioemu/target-i386-dm/exec-dm.c     2007-05-10 15:35:25.000000000 +0100
 @@ -36,6 +36,7 @@
  
  #include "cpu.h"
@@ -380,9 +380,9 @@ Index: ioemu/target-i386-dm/exec-dm.c
  
 Index: ioemu/vl.h
 ===================================================================
---- ioemu.orig/vl.h    2007-05-09 13:49:09.000000000 +0100
-+++ ioemu/vl.h 2007-05-09 13:49:10.000000000 +0100
-@@ -161,6 +161,28 @@
+--- ioemu.orig/vl.h    2007-05-10 15:35:25.000000000 +0100
++++ ioemu/vl.h 2007-05-10 15:35:25.000000000 +0100
+@@ -159,6 +159,28 @@
  
  extern FILE *logfile;
  
@@ -413,8 +413,8 @@ Index: ioemu/vl.h
  
 Index: ioemu/target-i386-dm/cpu.h
 ===================================================================
---- ioemu.orig/target-i386-dm/cpu.h    2007-05-09 13:48:54.000000000 +0100
-+++ ioemu/target-i386-dm/cpu.h 2007-05-09 13:49:10.000000000 +0100
+--- ioemu.orig/target-i386-dm/cpu.h    2007-05-10 15:32:53.000000000 +0100
++++ ioemu/target-i386-dm/cpu.h 2007-05-10 15:35:25.000000000 +0100
 @@ -25,7 +25,8 @@
  #ifdef TARGET_X86_64
  #define TARGET_LONG_BITS 64
@@ -427,8 +427,8 @@ Index: ioemu/target-i386-dm/cpu.h
  /* target supports implicit self modifying code */
 Index: ioemu/target-i386-dm/helper2.c
 ===================================================================
---- ioemu.orig/target-i386-dm/helper2.c        2007-05-09 13:48:54.000000000 
+0100
-+++ ioemu/target-i386-dm/helper2.c     2007-05-09 13:49:10.000000000 +0100
+--- ioemu.orig/target-i386-dm/helper2.c        2007-05-10 15:34:24.000000000 
+0100
++++ ioemu/target-i386-dm/helper2.c     2007-05-10 15:35:25.000000000 +0100
 @@ -526,6 +526,9 @@
      case IOREQ_TYPE_TIMEOFFSET:
          cpu_ioreq_timeoffset(env, req);
diff -r 8f510bf078c7 -r 31a3f83d1610 tools/ioemu/patches/xen-platform-device
--- a/tools/ioemu/patches/xen-platform-device   Thu May 10 15:58:35 2007 +0100
+++ b/tools/ioemu/patches/xen-platform-device   Thu May 10 16:05:31 2007 +0100
@@ -3,8 +3,8 @@ will come later.
 
 Index: ioemu/Makefile.target
 ===================================================================
---- ioemu.orig/Makefile.target 2007-05-09 13:56:21.000000000 +0100
-+++ ioemu/Makefile.target      2007-05-09 13:56:35.000000000 +0100
+--- ioemu.orig/Makefile.target 2007-05-10 15:19:05.000000000 +0100
++++ ioemu/Makefile.target      2007-05-10 15:19:28.000000000 +0100
 @@ -391,6 +391,7 @@
  VL_OBJS+= usb-uhci.o smbus_eeprom.o
  VL_OBJS+= piix4acpi.o
@@ -15,8 +15,8 @@ Index: ioemu/Makefile.target
  ifeq ($(TARGET_BASE_ARCH), ppc)
 Index: ioemu/hw/pc.c
 ===================================================================
---- ioemu.orig/hw/pc.c 2007-05-09 13:56:21.000000000 +0100
-+++ ioemu/hw/pc.c      2007-05-09 13:56:35.000000000 +0100
+--- ioemu.orig/hw/pc.c 2007-05-10 15:19:11.000000000 +0100
++++ ioemu/hw/pc.c      2007-05-10 15:19:28.000000000 +0100
 @@ -676,6 +676,9 @@
      }
  #endif /* !CONFIG_DM */
@@ -30,7 +30,7 @@ Index: ioemu/hw/xen_platform.c
 Index: ioemu/hw/xen_platform.c
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ ioemu/hw/xen_platform.c    2007-05-09 13:56:47.000000000 +0100
++++ ioemu/hw/xen_platform.c    2007-05-10 15:19:28.000000000 +0100
 @@ -0,0 +1,150 @@
 +/*
 + * XEN platform fake pci device, formerly known as the event channel device
@@ -184,9 +184,9 @@ Index: ioemu/hw/xen_platform.c
 +}
 Index: ioemu/vl.h
 ===================================================================
---- ioemu.orig/vl.h    2007-05-09 13:56:21.000000000 +0100
-+++ ioemu/vl.h 2007-05-09 13:56:35.000000000 +0100
-@@ -1439,6 +1439,10 @@
+--- ioemu.orig/vl.h    2007-05-10 15:19:11.000000000 +0100
++++ ioemu/vl.h 2007-05-10 15:19:28.000000000 +0100
+@@ -1437,6 +1437,10 @@
  extern long time_offset;
  void timeoffset_get(void);
  
diff -r 8f510bf078c7 -r 31a3f83d1610 
tools/ioemu/patches/xen-support-buffered-ioreqs
--- a/tools/ioemu/patches/xen-support-buffered-ioreqs   Thu May 10 15:58:35 
2007 +0100
+++ b/tools/ioemu/patches/xen-support-buffered-ioreqs   Thu May 10 16:05:31 
2007 +0100
@@ -1,8 +1,8 @@ Index: ioemu/vl.c
 Index: ioemu/vl.c
 ===================================================================
---- ioemu.orig/vl.c    2007-05-09 13:47:16.000000000 +0100
-+++ ioemu/vl.c 2007-05-09 13:47:16.000000000 +0100
-@@ -6838,6 +6838,7 @@
+--- ioemu.orig/vl.c    2007-05-10 15:34:19.000000000 +0100
++++ ioemu/vl.c 2007-05-10 15:34:24.000000000 +0100
+@@ -6823,6 +6823,7 @@
      int fds[2];
      unsigned long ioreq_pfn;
      extern void *shared_page;
@@ -10,7 +10,7 @@ Index: ioemu/vl.c
      unsigned long nr_pages;
  
      char qemu_dm_logfilename[64];
-@@ -7513,6 +7514,16 @@
+@@ -7490,6 +7491,16 @@
          exit(-1);
      }
  
@@ -29,8 +29,8 @@ Index: ioemu/vl.c
  #elif defined(__ia64__)
 Index: ioemu/target-i386-dm/helper2.c
 ===================================================================
---- ioemu.orig/target-i386-dm/helper2.c        2007-05-09 13:47:16.000000000 
+0100
-+++ ioemu/target-i386-dm/helper2.c     2007-05-09 13:47:16.000000000 +0100
+--- ioemu.orig/target-i386-dm/helper2.c        2007-05-10 15:34:19.000000000 
+0100
++++ ioemu/target-i386-dm/helper2.c     2007-05-10 15:34:24.000000000 +0100
 @@ -78,6 +78,10 @@
  
  shared_iopage_t *shared_page = NULL;
diff -r 8f510bf078c7 -r 31a3f83d1610 tools/ioemu/patches/xenstore
--- a/tools/ioemu/patches/xenstore      Thu May 10 15:58:35 2007 +0100
+++ b/tools/ioemu/patches/xenstore      Thu May 10 16:05:31 2007 +0100
@@ -1,7 +1,7 @@ Index: ioemu/xenstore.c
 Index: ioemu/xenstore.c
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ ioemu/xenstore.c   2007-05-09 13:47:15.000000000 +0100
++++ ioemu/xenstore.c   2007-05-10 15:19:05.000000000 +0100
 @@ -0,0 +1,139 @@
 +/*
 + * This file is subject to the terms and conditions of the GNU General
@@ -144,9 +144,9 @@ Index: ioemu/xenstore.c
 +}
 Index: ioemu/vl.h
 ===================================================================
---- ioemu.orig/vl.h    2007-05-09 13:47:15.000000000 +0100
-+++ ioemu/vl.h 2007-05-09 13:47:15.000000000 +0100
-@@ -1423,6 +1423,12 @@
+--- ioemu.orig/vl.h    2007-05-10 15:18:58.000000000 +0100
++++ ioemu/vl.h 2007-05-10 15:19:05.000000000 +0100
+@@ -1421,6 +1421,12 @@
  void readline_start(const char *prompt, int is_password,
                      ReadLineFunc *readline_func, void *opaque);
  
@@ -161,8 +161,8 @@ Index: ioemu/vl.h
  extern char domain_name[];
 Index: ioemu/Makefile.target
 ===================================================================
---- ioemu.orig/Makefile.target 2007-05-09 13:44:51.000000000 +0100
-+++ ioemu/Makefile.target      2007-05-09 13:47:15.000000000 +0100
+--- ioemu.orig/Makefile.target 2007-05-10 15:17:54.000000000 +0100
++++ ioemu/Makefile.target      2007-05-10 15:19:05.000000000 +0100
 @@ -390,6 +390,7 @@
  VL_OBJS+= cirrus_vga.o mixeng.o parallel.o acpi.o piix_pci.o
  VL_OBJS+= usb-uhci.o smbus_eeprom.o
@@ -173,9 +173,9 @@ Index: ioemu/Makefile.target
  ifeq ($(TARGET_BASE_ARCH), ppc)
 Index: ioemu/vl.c
 ===================================================================
---- ioemu.orig/vl.c    2007-05-09 13:47:15.000000000 +0100
-+++ ioemu/vl.c 2007-05-09 13:47:15.000000000 +0100
-@@ -7353,6 +7353,10 @@
+--- ioemu.orig/vl.c    2007-05-10 15:18:58.000000000 +0100
++++ ioemu/vl.c 2007-05-10 15:19:05.000000000 +0100
+@@ -7338,6 +7338,10 @@
      }
  #endif
  
@@ -186,7 +186,7 @@ Index: ioemu/vl.c
  #ifdef USE_KQEMU
      if (smp_cpus > 1)
          kqemu_allowed = 0;
-@@ -7643,6 +7647,8 @@
+@@ -7627,6 +7631,8 @@
          }
      }
  
diff -r 8f510bf078c7 -r 31a3f83d1610 
tools/ioemu/patches/xenstore-block-device-config
--- a/tools/ioemu/patches/xenstore-block-device-config  Thu May 10 15:58:35 
2007 +0100
+++ b/tools/ioemu/patches/xenstore-block-device-config  Thu May 10 16:05:31 
2007 +0100
@@ -1,7 +1,7 @@ Index: ioemu/xenstore.c
 Index: ioemu/xenstore.c
 ===================================================================
---- ioemu.orig/xenstore.c      2007-05-09 13:47:15.000000000 +0100
-+++ ioemu/xenstore.c   2007-05-09 13:47:15.000000000 +0100
+--- ioemu.orig/xenstore.c      2007-05-10 15:19:05.000000000 +0100
++++ ioemu/xenstore.c   2007-05-10 15:19:05.000000000 +0100
 @@ -9,8 +9,15 @@
   */
  
@@ -206,9 +206,9 @@ Index: ioemu/xenstore.c
  
 Index: ioemu/vl.c
 ===================================================================
---- ioemu.orig/vl.c    2007-05-09 13:47:15.000000000 +0100
-+++ ioemu/vl.c 2007-05-09 13:47:15.000000000 +0100
-@@ -6220,9 +6220,11 @@
+--- ioemu.orig/vl.c    2007-05-10 15:19:05.000000000 +0100
++++ ioemu/vl.c 2007-05-10 15:19:05.000000000 +0100
+@@ -6213,9 +6213,11 @@
             "Standard options:\n"
             "-M machine      select emulated machine (-M ? for list)\n"
             "-fda/-fdb file  use 'file' as floppy disk 0/1 image\n"
@@ -220,7 +220,7 @@ Index: ioemu/vl.c
             "-boot [a|c|d|n] boot on floppy (a), hard disk (c), CD-ROM (d), or 
network (n)\n"
             "-snapshot       write to temporary files instead of disk image 
files\n"
  #ifdef CONFIG_SDL
-@@ -6358,11 +6360,13 @@
+@@ -6350,11 +6352,13 @@
      QEMU_OPTION_M,
      QEMU_OPTION_fda,
      QEMU_OPTION_fdb,
@@ -234,7 +234,7 @@ Index: ioemu/vl.c
      QEMU_OPTION_boot,
      QEMU_OPTION_snapshot,
  #ifdef TARGET_I386
-@@ -6440,11 +6444,13 @@
+@@ -6431,11 +6435,13 @@
      { "M", HAS_ARG, QEMU_OPTION_M },
      { "fda", HAS_ARG, QEMU_OPTION_fda },
      { "fdb", HAS_ARG, QEMU_OPTION_fdb },
@@ -248,7 +248,7 @@ Index: ioemu/vl.c
      { "boot", HAS_ARG, QEMU_OPTION_boot },
      { "snapshot", 0, QEMU_OPTION_snapshot },
  #ifdef TARGET_I386
-@@ -6797,10 +6803,16 @@
+@@ -6787,10 +6793,16 @@
  #ifdef CONFIG_GDBSTUB
      int use_gdbstub, gdbstub_port;
  #endif
@@ -267,7 +267,7 @@ Index: ioemu/vl.c
      const char *kernel_filename, *kernel_cmdline;
      DisplayState *ds = &display_state;
      int cyls, heads, secs, translation;
-@@ -6861,8 +6873,10 @@
+@@ -6851,8 +6863,10 @@
      initrd_filename = NULL;
      for(i = 0; i < MAX_FD; i++)
          fd_filename[i] = NULL;
@@ -278,7 +278,7 @@ Index: ioemu/vl.c
      ram_size = DEFAULT_RAM_SIZE * 1024 * 1024;
      vga_ram_size = VGA_RAM_SIZE;
      bios_size = BIOS_SIZE;
-@@ -6876,11 +6890,13 @@
+@@ -6866,11 +6880,13 @@
      vncunused = 0;
      kernel_filename = NULL;
      kernel_cmdline = "";
@@ -292,7 +292,7 @@ Index: ioemu/vl.c
      cyls = heads = secs = 0;
      translation = BIOS_ATA_TRANSLATION_AUTO;
      pstrcpy(monitor_device, sizeof(monitor_device), "null");
-@@ -6919,7 +6935,11 @@
+@@ -6907,7 +6923,11 @@
              break;
          r = argv[optind];
          if (r[0] != '-') {
@@ -304,7 +304,7 @@ Index: ioemu/vl.c
          } else {
              const QEMUOption *popt;
  
-@@ -6966,6 +6986,7 @@
+@@ -6954,6 +6974,7 @@
              case QEMU_OPTION_initrd:
                  initrd_filename = optarg;
                  break;
@@ -312,7 +312,7 @@ Index: ioemu/vl.c
              case QEMU_OPTION_hda:
              case QEMU_OPTION_hdb:
              case QEMU_OPTION_hdc:
-@@ -6978,6 +6999,7 @@
+@@ -6966,6 +6987,7 @@
                          cdrom_index = -1;
                  }
                  break;
@@ -320,7 +320,7 @@ Index: ioemu/vl.c
              case QEMU_OPTION_snapshot:
                  snapshot = 1;
                  break;
-@@ -7030,11 +7052,13 @@
+@@ -7018,11 +7040,13 @@
              case QEMU_OPTION_append:
                  kernel_cmdline = optarg;
                  break;
@@ -334,7 +334,7 @@ Index: ioemu/vl.c
              case QEMU_OPTION_boot:
                  boot_device = optarg[0];
                  if (boot_device != 'a' && 
-@@ -7354,6 +7378,7 @@
+@@ -7339,6 +7363,7 @@
  #endif
  
  #ifdef CONFIG_DM
@@ -342,7 +342,7 @@ Index: ioemu/vl.c
      xenstore_parse_domain_config(domid);
  #endif /* CONFIG_DM */
  
-@@ -7363,6 +7388,7 @@
+@@ -7348,6 +7373,7 @@
  #endif
      linux_boot = (kernel_filename != NULL);
  
@@ -350,7 +350,7 @@ Index: ioemu/vl.c
      if (!linux_boot &&
          hd_filename[0] == '\0' && 
          (cdrom_index >= 0 && hd_filename[cdrom_index] == '\0') &&
-@@ -7376,6 +7402,7 @@
+@@ -7361,6 +7387,7 @@
          else
              boot_device = 'd';
      }
@@ -358,7 +358,7 @@ Index: ioemu/vl.c
  
      setvbuf(stdout, NULL, _IOLBF, 0);
      
-@@ -7528,6 +7555,7 @@
+@@ -7513,6 +7540,7 @@
  
  #endif /* !CONFIG_DM */
  
@@ -366,7 +366,7 @@ Index: ioemu/vl.c
      /* we always create the cdrom drive, even if no disk is there */
      bdrv_init();
      if (cdrom_index >= 0) {
-@@ -7554,6 +7582,7 @@
+@@ -7539,6 +7567,7 @@
              }
          }
      }
@@ -376,8 +376,8 @@ Index: ioemu/vl.c
      fd_table[0] = bdrv_new("fda");
 Index: ioemu/monitor.c
 ===================================================================
---- ioemu.orig/monitor.c       2007-05-09 13:44:51.000000000 +0100
-+++ ioemu/monitor.c    2007-05-09 13:47:15.000000000 +0100
+--- ioemu.orig/monitor.c       2007-05-10 15:17:54.000000000 +0100
++++ ioemu/monitor.c    2007-05-10 15:19:05.000000000 +0100
 @@ -24,6 +24,7 @@
  #include "vl.h"
  #include "disas.h"
@@ -406,9 +406,9 @@ Index: ioemu/monitor.c
      int i;
 Index: ioemu/vl.h
 ===================================================================
---- ioemu.orig/vl.h    2007-05-09 13:47:15.000000000 +0100
-+++ ioemu/vl.h 2007-05-09 13:47:15.000000000 +0100
-@@ -1411,6 +1411,8 @@
+--- ioemu.orig/vl.h    2007-05-10 15:19:05.000000000 +0100
++++ ioemu/vl.h 2007-05-10 15:19:05.000000000 +0100
+@@ -1409,6 +1409,8 @@
  void term_print_help(void);
  void monitor_readline(const char *prompt, int is_password,
                        char *buf, int buf_size);
@@ -417,7 +417,7 @@ Index: ioemu/vl.h
  
  /* readline.c */
  typedef void ReadLineFunc(void *opaque, const char *str);
-@@ -1425,6 +1427,9 @@
+@@ -1423,6 +1425,9 @@
  
  /* xenstore.c */
  void xenstore_parse_domain_config(int domid);
@@ -429,8 +429,8 @@ Index: ioemu/vl.h
  char *xenstore_vm_read(int domid, char *key, int *len);
 Index: ioemu/hw/ide.c
 ===================================================================
---- ioemu.orig/hw/ide.c        2007-05-09 13:44:51.000000000 +0100
-+++ ioemu/hw/ide.c     2007-05-09 13:47:15.000000000 +0100
+--- ioemu.orig/hw/ide.c        2007-05-10 15:17:54.000000000 +0100
++++ ioemu/hw/ide.c     2007-05-10 15:19:05.000000000 +0100
 @@ -1221,6 +1221,7 @@
          } else {
              ide_atapi_cmd_error(s, SENSE_NOT_READY, 
@@ -441,8 +441,8 @@ Index: ioemu/hw/ide.c
      case GPCMD_MODE_SENSE_10:
 Index: ioemu/block-raw.c
 ===================================================================
---- ioemu.orig/block-raw.c     2007-05-09 13:44:51.000000000 +0100
-+++ ioemu/block-raw.c  2007-05-09 13:47:15.000000000 +0100
+--- ioemu.orig/block-raw.c     2007-05-10 15:17:54.000000000 +0100
++++ ioemu/block-raw.c  2007-05-10 15:19:05.000000000 +0100
 @@ -383,6 +383,7 @@
  static void raw_close(BlockDriverState *bs)
  {
diff -r 8f510bf078c7 -r 31a3f83d1610 
tools/ioemu/patches/xenstore-device-info-functions
--- a/tools/ioemu/patches/xenstore-device-info-functions        Thu May 10 
15:58:35 2007 +0100
+++ b/tools/ioemu/patches/xenstore-device-info-functions        Thu May 10 
16:05:31 2007 +0100
@@ -15,8 +15,8 @@ Signed-off-by: Stefan Berger <stefanb@us
 
 Index: ioemu/xenstore.c
 ===================================================================
---- ioemu.orig/xenstore.c      2007-05-03 20:38:49.000000000 +0100
-+++ ioemu/xenstore.c   2007-05-03 20:38:53.000000000 +0100
+--- ioemu.orig/xenstore.c      2007-05-10 15:19:29.000000000 +0100
++++ ioemu/xenstore.c   2007-05-10 15:19:29.000000000 +0100
 @@ -304,6 +304,143 @@
      return rc;
  }
@@ -163,9 +163,9 @@ Index: ioemu/xenstore.c
      char *buf = NULL, *path = NULL, *value = NULL;
 Index: ioemu/vl.h
 ===================================================================
---- ioemu.orig/vl.h    2007-05-03 20:38:49.000000000 +0100
-+++ ioemu/vl.h 2007-05-03 20:38:53.000000000 +0100
-@@ -1436,6 +1436,24 @@
+--- ioemu.orig/vl.h    2007-05-10 15:19:29.000000000 +0100
++++ ioemu/vl.h 2007-05-10 15:19:29.000000000 +0100
+@@ -1434,6 +1434,24 @@
  void xenstore_write_vncport(int vnc_display);
  int xenstore_read_vncpasswd(int domid);
  
diff -r 8f510bf078c7 -r 31a3f83d1610 tools/ioemu/patches/xenstore-write-vnc-port
--- a/tools/ioemu/patches/xenstore-write-vnc-port       Thu May 10 15:58:35 
2007 +0100
+++ b/tools/ioemu/patches/xenstore-write-vnc-port       Thu May 10 16:05:31 
2007 +0100
@@ -1,7 +1,7 @@ Index: ioemu/xenstore.c
 Index: ioemu/xenstore.c
 ===================================================================
---- ioemu.orig/xenstore.c      2007-05-09 13:47:15.000000000 +0100
-+++ ioemu/xenstore.c   2007-05-09 13:47:15.000000000 +0100
+--- ioemu.orig/xenstore.c      2007-05-10 15:19:05.000000000 +0100
++++ ioemu/xenstore.c   2007-05-10 15:19:05.000000000 +0100
 @@ -225,6 +225,34 @@
      free(vec);
  }
@@ -39,10 +39,10 @@ Index: ioemu/xenstore.c
      char *buf = NULL, *path = NULL, *value = NULL;
 Index: ioemu/vl.c
 ===================================================================
---- ioemu.orig/vl.c    2007-05-09 13:47:15.000000000 +0100
-+++ ioemu/vl.c 2007-05-09 13:47:15.000000000 +0100
-@@ -7621,6 +7621,7 @@
-                                           &vnclisten_addr);
+--- ioemu.orig/vl.c    2007-05-10 15:19:05.000000000 +0100
++++ ioemu/vl.c 2007-05-10 15:19:05.000000000 +0100
+@@ -7605,6 +7605,7 @@
+       vnc_display_port = vnc_display_init(ds, vnc_display, vncunused);
        if (vncviewer)
            vnc_start_viewer(vnc_display_port);
 +      xenstore_write_vncport(vnc_display_port);
@@ -51,9 +51,9 @@ Index: ioemu/vl.c
          sdl_display_init(ds, full_screen);
 Index: ioemu/vl.h
 ===================================================================
---- ioemu.orig/vl.h    2007-05-09 13:47:15.000000000 +0100
-+++ ioemu/vl.h 2007-05-09 13:47:15.000000000 +0100
-@@ -1430,6 +1430,7 @@
+--- ioemu.orig/vl.h    2007-05-10 15:19:05.000000000 +0100
++++ ioemu/vl.h 2007-05-10 15:19:05.000000000 +0100
+@@ -1428,6 +1428,7 @@
  int xenstore_fd(void);
  void xenstore_process_event(void *opaque);
  void xenstore_check_new_media_present(int timeout);

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.