ia64/xen-unstable

changeset 10806:4c2a281cd1e7

[qemu] sync patches and add file missing from cset 10738:42aa63188a88

Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
author chris@kneesaa.uk.xensource.com
date Wed Jul 26 14:38:00 2006 +0100 (2006-07-26)
parents 2b1a49dd1273
children 3e07ec30c445
files tools/ioemu/ia64_intrinsic.h tools/ioemu/patches/domain-timeoffset tools/ioemu/patches/qemu-bugfixes tools/ioemu/patches/vnc-fixes tools/ioemu/patches/vnc-start-vncviewer
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/tools/ioemu/ia64_intrinsic.h	Wed Jul 26 14:38:00 2006 +0100
     1.3 @@ -0,0 +1,276 @@
     1.4 +#ifndef IA64_INTRINSIC_H
     1.5 +#define IA64_INTRINSIC_H
     1.6 +
     1.7 +/*
     1.8 + * Compiler-dependent Intrinsics
     1.9 + *
    1.10 + * Copyright (C) 2002,2003 Jun Nakajima <jun.nakajima@intel.com>
    1.11 + * Copyright (C) 2002,2003 Suresh Siddha <suresh.b.siddha@intel.com>
    1.12 + *
    1.13 + */
    1.14 +extern long ia64_cmpxchg_called_with_bad_pointer (void);
    1.15 +extern void ia64_bad_param_for_getreg (void);
    1.16 +#define ia64_cmpxchg(sem,ptr,o,n,s) ({					\
    1.17 +	uint64_t _o, _r;						\
    1.18 +	switch(s) {							\
    1.19 +		case 1: _o = (uint8_t)(long)(o); break;			\
    1.20 +		case 2: _o = (uint16_t)(long)(o); break;		\
    1.21 +		case 4: _o = (uint32_t)(long)(o); break;		\
    1.22 +		case 8: _o = (uint64_t)(long)(o); break;		\
    1.23 +		default: break;						\
    1.24 +	}								\
    1.25 +	switch(s) {							\
    1.26 +		case 1:							\
    1.27 +		_r = ia64_cmpxchg1_##sem((uint8_t*)ptr,n,_o); break;	\
    1.28 +		case 2:							\
    1.29 +		_r = ia64_cmpxchg2_##sem((uint16_t*)ptr,n,_o); break;	\
    1.30 +		case 4:							\
    1.31 +		_r = ia64_cmpxchg4_##sem((uint32_t*)ptr,n,_o); break;	\
    1.32 +		case 8:							\
    1.33 +		_r = ia64_cmpxchg8_##sem((uint64_t*)ptr,n,_o); break;	\
    1.34 +		default:						\
    1.35 +		_r = ia64_cmpxchg_called_with_bad_pointer(); break;	\
    1.36 +	}								\
    1.37 +	(__typeof__(o)) _r;						\
    1.38 +})
    1.39 +
    1.40 +#define cmpxchg_acq(ptr,o,n) ia64_cmpxchg(acq,ptr,o,n,sizeof(*ptr))
    1.41 +#define cmpxchg_rel(ptr,o,n) ia64_cmpxchg(rel,ptr,o,n,sizeof(*ptr))
    1.42 +
    1.43 +/*
    1.44 + * Register Names for getreg() and setreg().
    1.45 + *
    1.46 + * The "magic" numbers happen to match the values used by the Intel compiler's
    1.47 + * getreg()/setreg() intrinsics.
    1.48 + */
    1.49 +
    1.50 +/* Special Registers */
    1.51 +
    1.52 +#define _IA64_REG_IP		1016	/* getreg only */
    1.53 +#define _IA64_REG_PSR		1019
    1.54 +#define _IA64_REG_PSR_L		1019
    1.55 +
    1.56 +/* General Integer Registers */
    1.57 +
    1.58 +#define _IA64_REG_GP		1025	/* R1 */
    1.59 +#define _IA64_REG_R8		1032	/* R8 */
    1.60 +#define _IA64_REG_R9		1033	/* R9 */
    1.61 +#define _IA64_REG_SP		1036	/* R12 */
    1.62 +#define _IA64_REG_TP		1037	/* R13 */
    1.63 +
    1.64 +/* Application Registers */
    1.65 +
    1.66 +#define _IA64_REG_AR_KR0	3072
    1.67 +#define _IA64_REG_AR_KR1	3073
    1.68 +#define _IA64_REG_AR_KR2	3074
    1.69 +#define _IA64_REG_AR_KR3	3075
    1.70 +#define _IA64_REG_AR_KR4	3076
    1.71 +#define _IA64_REG_AR_KR5	3077
    1.72 +#define _IA64_REG_AR_KR6	3078
    1.73 +#define _IA64_REG_AR_KR7	3079
    1.74 +#define _IA64_REG_AR_RSC	3088
    1.75 +#define _IA64_REG_AR_BSP	3089
    1.76 +#define _IA64_REG_AR_BSPSTORE	3090
    1.77 +#define _IA64_REG_AR_RNAT	3091
    1.78 +#define _IA64_REG_AR_FCR	3093
    1.79 +#define _IA64_REG_AR_EFLAG	3096
    1.80 +#define _IA64_REG_AR_CSD	3097
    1.81 +#define _IA64_REG_AR_SSD	3098
    1.82 +#define _IA64_REG_AR_CFLAG	3099
    1.83 +#define _IA64_REG_AR_FSR	3100
    1.84 +#define _IA64_REG_AR_FIR	3101
    1.85 +#define _IA64_REG_AR_FDR	3102
    1.86 +#define _IA64_REG_AR_CCV	3104
    1.87 +#define _IA64_REG_AR_UNAT	3108
    1.88 +#define _IA64_REG_AR_FPSR	3112
    1.89 +#define _IA64_REG_AR_ITC	3116
    1.90 +#define _IA64_REG_AR_PFS	3136
    1.91 +#define _IA64_REG_AR_LC		3137
    1.92 +#define _IA64_REG_AR_EC		3138
    1.93 +
    1.94 +/* Control Registers */
    1.95 +
    1.96 +#define _IA64_REG_CR_DCR	4096
    1.97 +#define _IA64_REG_CR_ITM	4097
    1.98 +#define _IA64_REG_CR_IVA	4098
    1.99 +#define _IA64_REG_CR_PTA	4104
   1.100 +#define _IA64_REG_CR_IPSR	4112
   1.101 +#define _IA64_REG_CR_ISR	4113
   1.102 +#define _IA64_REG_CR_IIP	4115
   1.103 +#define _IA64_REG_CR_IFA	4116
   1.104 +#define _IA64_REG_CR_ITIR	4117
   1.105 +#define _IA64_REG_CR_IIPA	4118
   1.106 +#define _IA64_REG_CR_IFS	4119
   1.107 +#define _IA64_REG_CR_IIM	4120
   1.108 +#define _IA64_REG_CR_IHA	4121
   1.109 +#define _IA64_REG_CR_LID	4160
   1.110 +#define _IA64_REG_CR_IVR	4161	/* getreg only */
   1.111 +#define _IA64_REG_CR_TPR	4162
   1.112 +#define _IA64_REG_CR_EOI	4163
   1.113 +#define _IA64_REG_CR_IRR0	4164	/* getreg only */
   1.114 +#define _IA64_REG_CR_IRR1	4165	/* getreg only */
   1.115 +#define _IA64_REG_CR_IRR2	4166	/* getreg only */
   1.116 +#define _IA64_REG_CR_IRR3	4167	/* getreg only */
   1.117 +#define _IA64_REG_CR_ITV	4168
   1.118 +#define _IA64_REG_CR_PMV	4169
   1.119 +#define _IA64_REG_CR_CMCV	4170
   1.120 +#define _IA64_REG_CR_LRR0	4176
   1.121 +#define _IA64_REG_CR_LRR1	4177
   1.122 +
   1.123 +/* Indirect Registers for getindreg() and setindreg() */
   1.124 +
   1.125 +#define _IA64_REG_INDR_CPUID	9000	/* getindreg only */
   1.126 +#define _IA64_REG_INDR_DBR	9001
   1.127 +#define _IA64_REG_INDR_IBR	9002
   1.128 +#define _IA64_REG_INDR_PKR	9003
   1.129 +#define _IA64_REG_INDR_PMC	9004
   1.130 +#define _IA64_REG_INDR_PMD	9005
   1.131 +#define _IA64_REG_INDR_RR	9006
   1.132 +
   1.133 +#ifdef __INTEL_COMPILER
   1.134 +void  __fc(uint64_t *addr);
   1.135 +void  __synci(void);
   1.136 +void __isrlz(void);
   1.137 +void __dsrlz(void);
   1.138 +uint64_t __getReg(const int whichReg);
   1.139 +uint64_t _InterlockedCompareExchange8_rel(volatile uint8_t *dest, uint64_t xchg, uint64_t comp);
   1.140 +uint64_t _InterlockedCompareExchange8_acq(volatile uint8_t *dest, uint64_t xchg, uint64_t comp);
   1.141 +uint64_t _InterlockedCompareExchange16_rel(volatile uint16_t *dest, uint64_t xchg, uint64_t comp);
   1.142 +uint64_t _InterlockedCompareExchange16_acq(volatile uint16_t *dest, uint64_t xchg, uint64_t comp);
   1.143 +uint64_t _InterlockedCompareExchange_rel(volatile uint32_t *dest, uint64_t xchg, uint64_t comp);
   1.144 +uint64_t _InterlockedCompareExchange_acq(volatile uint32_t *dest, uint64_t xchg, uint64_t comp);
   1.145 +uint64_t _InterlockedCompareExchange64_rel(volatile uint64_t *dest, uint64_t xchg, uint64_t comp);
   1.146 +u64_t _InterlockedCompareExchange64_acq(volatile uint64_t *dest, uint64_t xchg, uint64_t comp);
   1.147 +
   1.148 +#define ia64_cmpxchg1_rel	_InterlockedCompareExchange8_rel
   1.149 +#define ia64_cmpxchg1_acq	_InterlockedCompareExchange8_acq
   1.150 +#define ia64_cmpxchg2_rel	_InterlockedCompareExchange16_rel
   1.151 +#define ia64_cmpxchg2_acq	_InterlockedCompareExchange16_acq
   1.152 +#define ia64_cmpxchg4_rel	_InterlockedCompareExchange_rel
   1.153 +#define ia64_cmpxchg4_acq	_InterlockedCompareExchange_acq
   1.154 +#define ia64_cmpxchg8_rel	_InterlockedCompareExchange64_rel
   1.155 +#define ia64_cmpxchg8_acq	_InterlockedCompareExchange64_acq
   1.156 +
   1.157 +#define ia64_srlz_d		__dsrlz
   1.158 +#define ia64_srlz_i		__isrlz
   1.159 +#define __ia64_fc 		__fc
   1.160 +#define ia64_sync_i		__synci
   1.161 +#define __ia64_getreg		__getReg
   1.162 +#else /* __INTEL_COMPILER */
   1.163 +#define ia64_cmpxchg1_acq(ptr, new, old)						\
   1.164 +({											\
   1.165 +	uint64_t ia64_intri_res;							\
   1.166 +	asm volatile ("mov ar.ccv=%0;;" :: "rO"(old));					\
   1.167 +	asm volatile ("cmpxchg1.acq %0=[%1],%2,ar.ccv":					\
   1.168 +			      "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : "memory");	\
   1.169 +	ia64_intri_res;									\
   1.170 +})
   1.171 +
   1.172 +#define ia64_cmpxchg1_rel(ptr, new, old)						\
   1.173 +({											\
   1.174 +	uint64_t ia64_intri_res;							\
   1.175 +	asm volatile ("mov ar.ccv=%0;;" :: "rO"(old));					\
   1.176 +	asm volatile ("cmpxchg1.rel %0=[%1],%2,ar.ccv":					\
   1.177 +			      "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : "memory");	\
   1.178 +	ia64_intri_res;									\
   1.179 +})
   1.180 +
   1.181 +#define ia64_cmpxchg2_acq(ptr, new, old)						\
   1.182 +({											\
   1.183 +	uint64_t ia64_intri_res;							\
   1.184 +	asm volatile ("mov ar.ccv=%0;;" :: "rO"(old));					\
   1.185 +	asm volatile ("cmpxchg2.acq %0=[%1],%2,ar.ccv":					\
   1.186 +			      "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : "memory");	\
   1.187 +	ia64_intri_res;									\
   1.188 +})
   1.189 +
   1.190 +#define ia64_cmpxchg2_rel(ptr, new, old)						\
   1.191 +({											\
   1.192 +	uint64_t ia64_intri_res;							\
   1.193 +	asm volatile ("mov ar.ccv=%0;;" :: "rO"(old));					\
   1.194 +											\
   1.195 +	asm volatile ("cmpxchg2.rel %0=[%1],%2,ar.ccv":					\
   1.196 +			      "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : "memory");	\
   1.197 +	ia64_intri_res;									\
   1.198 +})
   1.199 +
   1.200 +#define ia64_cmpxchg4_acq(ptr, new, old)						\
   1.201 +({											\
   1.202 +	uint64_t ia64_intri_res;							\
   1.203 +	asm volatile ("mov ar.ccv=%0;;" :: "rO"(old));					\
   1.204 +	asm volatile ("cmpxchg4.acq %0=[%1],%2,ar.ccv":					\
   1.205 +			      "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : "memory");	\
   1.206 +	ia64_intri_res;									\
   1.207 +})
   1.208 +
   1.209 +#define ia64_cmpxchg4_rel(ptr, new, old)						\
   1.210 +({											\
   1.211 +	uint64_t ia64_intri_res;							\
   1.212 +	asm volatile ("mov ar.ccv=%0;;" :: "rO"(old));					\
   1.213 +	asm volatile ("cmpxchg4.rel %0=[%1],%2,ar.ccv":					\
   1.214 +			      "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : "memory");	\
   1.215 +	ia64_intri_res;									\
   1.216 +})
   1.217 +
   1.218 +#define ia64_cmpxchg8_acq(ptr, new, old)						\
   1.219 +({											\
   1.220 +	uint64_t ia64_intri_res;							\
   1.221 +	asm volatile ("mov ar.ccv=%0;;" :: "rO"(old));					\
   1.222 +	asm volatile ("cmpxchg8.acq %0=[%1],%2,ar.ccv":					\
   1.223 +			      "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : "memory");	\
   1.224 +	ia64_intri_res;									\
   1.225 +})
   1.226 +
   1.227 +#define ia64_cmpxchg8_rel(ptr, new, old)						\
   1.228 +({											\
   1.229 +	uint64_t ia64_intri_res;							\
   1.230 +	asm volatile ("mov ar.ccv=%0;;" :: "rO"(old));					\
   1.231 +											\
   1.232 +	asm volatile ("cmpxchg8.rel %0=[%1],%2,ar.ccv":					\
   1.233 +			      "=r"(ia64_intri_res) : "r"(ptr), "r"(new) : "memory");	\
   1.234 +	ia64_intri_res;									\
   1.235 +})
   1.236 +
   1.237 +#define ia64_srlz_i()	asm volatile (";; srlz.i ;;" ::: "memory")
   1.238 +#define ia64_srlz_d()	asm volatile (";; srlz.d" ::: "memory");
   1.239 +#define __ia64_fc(addr)	asm volatile ("fc %0" :: "r"(addr) : "memory")
   1.240 +#define ia64_sync_i()	asm volatile (";; sync.i" ::: "memory")
   1.241 +
   1.242 +register unsigned long ia64_r13 asm ("r13") __attribute_used__;
   1.243 +#define __ia64_getreg(regnum)							\
   1.244 +({										\
   1.245 +	uint64_t ia64_intri_res;							\
   1.246 +										\
   1.247 +	switch (regnum) {							\
   1.248 +	case _IA64_REG_GP:							\
   1.249 +		asm volatile ("mov %0=gp" : "=r"(ia64_intri_res));		\
   1.250 +		break;								\
   1.251 +	case _IA64_REG_IP:							\
   1.252 +		asm volatile ("mov %0=ip" : "=r"(ia64_intri_res));		\
   1.253 +		break;								\
   1.254 +	case _IA64_REG_PSR:							\
   1.255 +		asm volatile ("mov %0=psr" : "=r"(ia64_intri_res));		\
   1.256 +		break;								\
   1.257 +	case _IA64_REG_TP:	/* for current() */				\
   1.258 +		ia64_intri_res = ia64_r13;					\
   1.259 +		break;								\
   1.260 +	case _IA64_REG_AR_KR0 ... _IA64_REG_AR_EC:				\
   1.261 +		asm volatile ("mov %0=ar%1" : "=r" (ia64_intri_res)		\
   1.262 +				      : "i"(regnum - _IA64_REG_AR_KR0));	\
   1.263 +		break;								\
   1.264 +	case _IA64_REG_CR_DCR ... _IA64_REG_CR_LRR1:				\
   1.265 +		asm volatile ("mov %0=cr%1" : "=r" (ia64_intri_res)		\
   1.266 +				      : "i" (regnum - _IA64_REG_CR_DCR));	\
   1.267 +		break;								\
   1.268 +	case _IA64_REG_SP:							\
   1.269 +		asm volatile ("mov %0=sp" : "=r" (ia64_intri_res));		\
   1.270 +		break;								\
   1.271 +	default:								\
   1.272 +		ia64_bad_param_for_getreg();					\
   1.273 +		break;								\
   1.274 +	}									\
   1.275 +	ia64_intri_res;								\
   1.276 +})
   1.277 +
   1.278 +#endif /* __INTEL_COMPILER */
   1.279 +#endif /* IA64_INTRINSIC_H */
     2.1 --- a/tools/ioemu/patches/domain-timeoffset	Wed Jul 26 14:26:03 2006 +0100
     2.2 +++ b/tools/ioemu/patches/domain-timeoffset	Wed Jul 26 14:38:00 2006 +0100
     2.3 @@ -1,7 +1,7 @@
     2.4  Index: ioemu/hw/mc146818rtc.c
     2.5  ===================================================================
     2.6 ---- ioemu.orig/hw/mc146818rtc.c	2006-07-26 13:39:11.256088974 +0100
     2.7 -+++ ioemu/hw/mc146818rtc.c	2006-07-26 13:39:18.026364657 +0100
     2.8 +--- ioemu.orig/hw/mc146818rtc.c	2006-07-26 14:33:00.461515790 +0100
     2.9 ++++ ioemu/hw/mc146818rtc.c	2006-07-26 14:33:07.689716710 +0100
    2.10  @@ -178,10 +178,27 @@
    2.11       }
    2.12   }
    2.13 @@ -46,8 +46,8 @@ Index: ioemu/hw/mc146818rtc.c
    2.14   static void rtc_copy_date(RTCState *s)
    2.15  Index: ioemu/hw/pc.c
    2.16  ===================================================================
    2.17 ---- ioemu.orig/hw/pc.c	2006-07-26 13:39:17.773391722 +0100
    2.18 -+++ ioemu/hw/pc.c	2006-07-26 13:39:18.027364550 +0100
    2.19 +--- ioemu.orig/hw/pc.c	2006-07-26 14:33:07.435744787 +0100
    2.20 ++++ ioemu/hw/pc.c	2006-07-26 14:33:07.690716600 +0100
    2.21  @@ -151,7 +151,7 @@
    2.22   }
    2.23   
    2.24 @@ -117,8 +117,8 @@ Index: ioemu/hw/pc.c
    2.25   QEMUMachine pc_machine = {
    2.26  Index: ioemu/vl.c
    2.27  ===================================================================
    2.28 ---- ioemu.orig/vl.c	2006-07-26 13:39:17.903377815 +0100
    2.29 -+++ ioemu/vl.c	2006-07-26 13:39:18.029364336 +0100
    2.30 +--- ioemu.orig/vl.c	2006-07-26 14:33:07.566730307 +0100
    2.31 ++++ ioemu/vl.c	2006-07-26 14:33:07.692716379 +0100
    2.32  @@ -164,6 +164,8 @@
    2.33   
    2.34   int xc_handle;
    2.35 @@ -174,8 +174,8 @@ Index: ioemu/vl.c
    2.36       qemu_mod_timer(gui_timer, qemu_get_clock(rt_clock));
    2.37  Index: ioemu/vl.h
    2.38  ===================================================================
    2.39 ---- ioemu.orig/vl.h	2006-07-26 13:39:17.778391187 +0100
    2.40 -+++ ioemu/vl.h	2006-07-26 13:39:18.030364229 +0100
    2.41 +--- ioemu.orig/vl.h	2006-07-26 14:33:07.439744345 +0100
    2.42 ++++ ioemu/vl.h	2006-07-26 14:33:07.693716268 +0100
    2.43  @@ -556,7 +556,7 @@
    2.44                                    int boot_device,
    2.45                DisplayState *ds, const char **fd_filename, int snapshot,
     3.1 --- a/tools/ioemu/patches/qemu-bugfixes	Wed Jul 26 14:26:03 2006 +0100
     3.2 +++ b/tools/ioemu/patches/qemu-bugfixes	Wed Jul 26 14:38:00 2006 +0100
     3.3 @@ -1,7 +1,8 @@
     3.4 -diff -r d76fb4ee3e48 console.c
     3.5 ---- a/console.c	Mon Jun 26 15:16:44 2006 +0100
     3.6 -+++ b/console.c	Mon Jun 26 15:47:43 2006 +0100
     3.7 -@@ -449,7 +449,7 @@ static void text_console_resize(TextCons
     3.8 +Index: ioemu/console.c
     3.9 +===================================================================
    3.10 +--- ioemu.orig/console.c	2006-07-26 13:39:11.999009495 +0100
    3.11 ++++ ioemu/console.c	2006-07-26 14:15:19.413719225 +0100
    3.12 +@@ -449,7 +449,7 @@
    3.13               c++;
    3.14           }
    3.15       }
    3.16 @@ -10,9 +11,47 @@ diff -r d76fb4ee3e48 console.c
    3.17       s->cells = cells;
    3.18   }
    3.19   
    3.20 -diff -r d76fb4ee3e48 usb-linux.c
    3.21 ---- a/usb-linux.c	Mon Jun 26 15:16:44 2006 +0100
    3.22 -+++ b/usb-linux.c	Mon Jun 26 15:47:43 2006 +0100
    3.23 +@@ -954,11 +954,21 @@
    3.24 +     return !active_console->text_console;
    3.25 + }
    3.26 + 
    3.27 ++void set_color_table(DisplayState *ds) 
    3.28 ++{
    3.29 ++    int i, j;
    3.30 ++    for(j = 0; j < 2; j++) {
    3.31 ++	for(i = 0; i < 8; i++) {
    3.32 ++	    color_table[j][i] =
    3.33 ++		col_expand(ds, vga_get_color(ds, color_table_rgb[j][i]));
    3.34 ++	}
    3.35 ++    }
    3.36 ++}
    3.37 ++
    3.38 + CharDriverState *text_console_init(DisplayState *ds)
    3.39 + {
    3.40 +     CharDriverState *chr;
    3.41 +     TextConsole *s;
    3.42 +-    int i,j;
    3.43 +     static int color_inited;
    3.44 + 
    3.45 +     chr = qemu_mallocz(sizeof(CharDriverState));
    3.46 +@@ -976,12 +986,7 @@
    3.47 + 
    3.48 +     if (!color_inited) {
    3.49 +         color_inited = 1;
    3.50 +-        for(j = 0; j < 2; j++) {
    3.51 +-            for(i = 0; i < 8; i++) {
    3.52 +-                color_table[j][i] = col_expand(s->ds, 
    3.53 +-                        vga_get_color(s->ds, color_table_rgb[j][i]));
    3.54 +-            }
    3.55 +-        }
    3.56 ++        set_color_table(ds);
    3.57 +     }
    3.58 +     s->y_displayed = 0;
    3.59 +     s->y_base = 0;
    3.60 +Index: ioemu/usb-linux.c
    3.61 +===================================================================
    3.62 +--- ioemu.orig/usb-linux.c	2006-07-26 13:39:11.999009495 +0100
    3.63 ++++ ioemu/usb-linux.c	2006-07-26 13:39:16.622514851 +0100
    3.64  @@ -26,6 +26,7 @@
    3.65   #if defined(__linux__)
    3.66   #include <dirent.h>
     4.1 --- a/tools/ioemu/patches/vnc-fixes	Wed Jul 26 14:26:03 2006 +0100
     4.2 +++ b/tools/ioemu/patches/vnc-fixes	Wed Jul 26 14:38:00 2006 +0100
     4.3 @@ -1,7 +1,7 @@
     4.4  Index: ioemu/vl.c
     4.5  ===================================================================
     4.6 ---- ioemu.orig/vl.c	2006-07-26 13:39:18.439320475 +0100
     4.7 -+++ ioemu/vl.c	2006-07-26 14:13:44.488196651 +0100
     4.8 +--- ioemu.orig/vl.c	2006-07-26 14:29:04.481598583 +0100
     4.9 ++++ ioemu/vl.c	2006-07-26 14:31:22.668325993 +0100
    4.10  @@ -6003,8 +6003,10 @@
    4.11                     kernel_filename, kernel_cmdline, initrd_filename,
    4.12                     timeoffset);
    4.13 @@ -17,8 +17,8 @@ Index: ioemu/vl.c
    4.14       if (use_gdbstub) {
    4.15  Index: ioemu/vnc.c
    4.16  ===================================================================
    4.17 ---- ioemu.orig/vnc.c	2006-07-26 13:39:18.437320689 +0100
    4.18 -+++ ioemu/vnc.c	2006-07-26 14:16:51.636538318 +0100
    4.19 +--- ioemu.orig/vnc.c	2006-07-26 14:29:04.479598804 +0100
    4.20 ++++ ioemu/vnc.c	2006-07-26 14:31:22.669325883 +0100
    4.21  @@ -3,6 +3,7 @@
    4.22    * 
    4.23    * Copyright (C) 2006 Anthony Liguori <anthony@codemonkey.ws>
    4.24 @@ -491,3 +491,15 @@ Index: ioemu/vnc.c
    4.25  -
    4.26       vnc_dpy_resize(vs->ds, 640, 400);
    4.27   }
    4.28 +Index: ioemu/vl.h
    4.29 +===================================================================
    4.30 +--- ioemu.orig/vl.h	2006-07-26 14:31:22.669325883 +0100
    4.31 ++++ ioemu/vl.h	2006-07-26 14:32:44.505279724 +0100
    4.32 +@@ -301,6 +301,7 @@
    4.33 + int is_graphic_console(void);
    4.34 + CharDriverState *text_console_init(DisplayState *ds);
    4.35 + void console_select(unsigned int index);
    4.36 ++void set_color_table(DisplayState *ds);
    4.37 + 
    4.38 + /* serial ports */
    4.39 + 
     5.1 --- a/tools/ioemu/patches/vnc-start-vncviewer	Wed Jul 26 14:26:03 2006 +0100
     5.2 +++ b/tools/ioemu/patches/vnc-start-vncviewer	Wed Jul 26 14:38:00 2006 +0100
     5.3 @@ -1,7 +1,7 @@
     5.4  Index: ioemu/vnc.c
     5.5  ===================================================================
     5.6 ---- ioemu.orig/vnc.c	2006-07-26 14:16:51.636538318 +0100
     5.7 -+++ ioemu/vnc.c	2006-07-26 14:18:15.612266329 +0100
     5.8 +--- ioemu.orig/vnc.c	2006-07-26 14:33:08.166663983 +0100
     5.9 ++++ ioemu/vnc.c	2006-07-26 14:33:08.225657462 +0100
    5.10  @@ -1002,3 +1002,25 @@
    5.11   
    5.12       vnc_dpy_resize(vs->ds, 640, 400);
    5.13 @@ -30,8 +30,8 @@ Index: ioemu/vnc.c
    5.14  +}
    5.15  Index: ioemu/vl.c
    5.16  ===================================================================
    5.17 ---- ioemu.orig/vl.c	2006-07-26 14:13:44.488196651 +0100
    5.18 -+++ ioemu/vl.c	2006-07-26 14:18:15.615265998 +0100
    5.19 +--- ioemu.orig/vl.c	2006-07-26 14:33:08.165664094 +0100
    5.20 ++++ ioemu/vl.c	2006-07-26 14:33:08.227657240 +0100
    5.21  @@ -121,6 +121,7 @@
    5.22   int bios_size;
    5.23   static DisplayState display_state;
    5.24 @@ -93,8 +93,8 @@ Index: ioemu/vl.c
    5.25           sdl_display_init(ds, full_screen);
    5.26  Index: ioemu/vl.h
    5.27  ===================================================================
    5.28 ---- ioemu.orig/vl.h	2006-07-26 14:18:05.490383989 +0100
    5.29 -+++ ioemu/vl.h	2006-07-26 14:18:15.616265887 +0100
    5.30 +--- ioemu.orig/vl.h	2006-07-26 14:33:08.167663873 +0100
    5.31 ++++ ioemu/vl.h	2006-07-26 14:33:08.228657130 +0100
    5.32  @@ -733,6 +733,7 @@
    5.33   
    5.34   /* vnc.c */