WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] [qemu patches] Update patches upto change

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [qemu patches] Update patches upto changeset 15032:8f510bf078c7.
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 15 May 2007 08:20:35 -0700
Delivery-date: Tue, 15 May 2007 08:20:52 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# 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

<Prev in Thread] Current Thread [Next in Thread>