[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [qemu patches] Update patches for changesets 10957:08a11694b109 - 10959:06e2a95d3395.
# HG changeset patch # User chris@xxxxxxxxxxxxxxxxxxxxxxxx # Node ID ec8dd0528fc69fc643268493d5a3d722a5650cd7 # Parent 06e2a95d33952a03c8b2d2b665b325c4d2343de0 [qemu patches] Update patches for changesets 10957:08a11694b109 - 10959:06e2a95d3395. Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxxx> --- tools/ioemu/patches/acpi-poweroff-support | 8 - tools/ioemu/patches/acpi-support | 129 ++++++----------- tools/ioemu/patches/acpi-timer-support | 2 tools/ioemu/patches/domain-destroy | 21 +- tools/ioemu/patches/domain-reset | 12 - tools/ioemu/patches/domain-timeoffset | 40 ++--- tools/ioemu/patches/hypervisor-pit | 18 +- tools/ioemu/patches/ide-hd-multithread | 24 +-- tools/ioemu/patches/ioemu-ia64 | 21 +- tools/ioemu/patches/qemu-64bit | 28 +-- tools/ioemu/patches/qemu-allow-disable-sdl | 6 tools/ioemu/patches/qemu-bugfixes | 25 --- tools/ioemu/patches/qemu-cleanup | 22 +- tools/ioemu/patches/qemu-dm | 126 ++++++++-------- tools/ioemu/patches/qemu-fix-memset-args | 4 tools/ioemu/patches/qemu-fix-write-to-disk-synchronous | 14 - tools/ioemu/patches/qemu-hvm-banner | 4 tools/ioemu/patches/qemu-init-vgabios | 6 tools/ioemu/patches/qemu-logging | 28 +-- tools/ioemu/patches/qemu-no-apic | 16 +- tools/ioemu/patches/qemu-nobios | 19 +- tools/ioemu/patches/qemu-smp | 20 +- tools/ioemu/patches/qemu-target-i386-dm | 48 ++---- tools/ioemu/patches/qemu-timer | 14 - tools/ioemu/patches/serial-non-block | 4 tools/ioemu/patches/series | 1 tools/ioemu/patches/shadow-vram | 12 - tools/ioemu/patches/shared-vram | 26 +-- tools/ioemu/patches/support-xm-console | 6 tools/ioemu/patches/vnc-access-monitor-vt | 16 +- tools/ioemu/patches/vnc-cleanup | 19 +- tools/ioemu/patches/vnc-fixes | 101 +++++++++---- tools/ioemu/patches/vnc-start-vncviewer | 46 +++--- tools/ioemu/patches/vnc-title-domain-name | 6 tools/ioemu/patches/xen-build | 57 ++++--- tools/ioemu/patches/xen-domain-name | 30 +-- tools/ioemu/patches/xen-domid | 18 +- tools/ioemu/patches/xen-mm | 27 +-- tools/ioemu/patches/xen-network | 12 - tools/ioemu/patches/xenstore-block-device-config | 75 ++++----- tools/ioemu/patches/xenstore-write-vnc-port | 10 - 41 files changed, 557 insertions(+), 564 deletions(-) diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/acpi-poweroff-support --- a/tools/ioemu/patches/acpi-poweroff-support Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/acpi-poweroff-support Mon Aug 07 18:28:50 2006 +0100 @@ -1,10 +1,10 @@ Index: ioemu/hw/piix4acpi.c Index: ioemu/hw/piix4acpi.c =================================================================== ---- ioemu.orig/hw/piix4acpi.c 2006-07-12 11:35:03.574468946 +0100 -+++ ioemu/hw/piix4acpi.c 2006-07-12 11:35:03.631461806 +0100 +--- ioemu.orig/hw/piix4acpi.c 2006-08-06 02:30:29.288761563 +0100 ++++ ioemu/hw/piix4acpi.c 2006-08-06 02:30:42.131331446 +0100 @@ -45,6 +45,10 @@ #define GBL_RLS (1 << 2) - #define SLP_EN (1 << 13) + #define SLP_EN (1 << 13) +/* Bits of PM1a register define here */ +#define SLP_TYP_MASK 0x1C00 @@ -13,7 +13,7 @@ Index: ioemu/hw/piix4acpi.c typedef struct AcpiDeviceState AcpiDeviceState; AcpiDeviceState *acpi_device_table; -@@ -270,7 +274,14 @@ +@@ -190,7 +194,14 @@ s->pm1_control = (val<<8)||(s->pm1_control); /* printf("acpiPm1ControlP1_writeb \n addr %x val:%x\n", addr, val); */ @@ -29,7 +29,7 @@ Index: ioemu/hw/piix4acpi.c static uint32_t acpiPm1ControlP1_readb(void *opaque, uint32_t addr) { -@@ -337,7 +348,14 @@ +@@ -257,7 +268,14 @@ s->pm1_control = val; /* printf("acpiPm1Control_writew \n addr %x val:%x\n", addr, val); */ diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/acpi-support --- a/tools/ioemu/patches/acpi-support Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/acpi-support Mon Aug 07 18:28:50 2006 +0100 @@ -1,94 +1,50 @@ Index: ioemu/Makefile.target Index: ioemu/Makefile.target =================================================================== ---- ioemu.orig/Makefile.target 2006-08-03 19:19:39.000000000 +0100 -+++ ioemu/Makefile.target 2006-08-04 10:35:36.445703379 +0100 -@@ -335,6 +335,7 @@ - VL_OBJS+= ide.o pckbd.o ps2.o vga.o $(SOUND_HW) dma.o $(AUDIODRV) +--- ioemu.orig/Makefile.target 2006-08-06 02:23:23.000000000 +0100 ++++ ioemu/Makefile.target 2006-08-07 17:38:47.698306442 +0100 +@@ -357,6 +357,7 @@ VL_OBJS+= fdc.o mc146818rtc.o serial.o pc.o - VL_OBJS+= cirrus_vga.o mixeng.o parallel.o + VL_OBJS+= cirrus_vga.o mixeng.o parallel.o acpi.o piix_pci.o + VL_OBJS+= usb-uhci.o +VL_OBJS+= piix4acpi.o DEFINES += -DHAS_AUDIO endif ifeq ($(TARGET_BASE_ARCH), ppc) Index: ioemu/hw/pc.c =================================================================== ---- ioemu.orig/hw/pc.c 2006-08-03 19:19:39.000000000 +0100 -+++ ioemu/hw/pc.c 2006-08-04 10:38:05.559415853 +0100 -@@ -566,6 +566,9 @@ +--- ioemu.orig/hw/pc.c 2006-08-06 02:23:45.000000000 +0100 ++++ ioemu/hw/pc.c 2006-08-07 17:42:00.939426374 +0100 +@@ -572,6 +572,9 @@ static int parallel_io[MAX_PARALLEL_PORTS] = { 0x378, 0x278, 0x3bc }; static int parallel_irq[MAX_PARALLEL_PORTS] = { 7, 7, 7 }; +/* PIIX4 acpi pci configuration space, func 3 */ -+extern void pci_piix4_acpi_init(PCIBus *bus); ++extern void pci_piix4_acpi_init(PCIBus *bus, int devfn); + #ifdef HAS_AUDIO static void audio_init (PCIBus *pci_bus) { -@@ -867,6 +870,10 @@ +@@ -874,11 +877,15 @@ cmos_init(ram_size, boot_device, bs_table, timeoffset); + /* using PIIX4 acpi model */ + if (pci_enabled && acpi_enabled) -+ pci_piix4_acpi_init(pci_bus); ++ pci_piix4_acpi_init(pci_bus, piix3_devfn + 3); + if (pci_enabled && usb_enabled) { - usb_uhci_init(pci_bus, usb_root_ports); - usb_attach(usb_root_ports[0], vm_usb_hub); -Index: ioemu/hw/pci.c -=================================================================== ---- ioemu.orig/hw/pci.c 2006-08-03 19:19:35.000000000 +0100 -+++ ioemu/hw/pci.c 2006-08-03 19:19:39.000000000 +0100 -@@ -1697,7 +1697,7 @@ - static uint32_t pci_bios_io_addr; - static uint32_t pci_bios_mem_addr; - /* host irqs corresponding to PCI irqs A-D */ --static uint8_t pci_irqs[4] = { 11, 9, 11, 9 }; -+static uint8_t pci_irqs[4] = { 10, 11, 10, 11 }; - - static void pci_set_io_region_addr(PCIDevice *d, int region_num, uint32_t addr) - { -@@ -1750,12 +1750,22 @@ - pci_set_io_region_addr(d, 3, 0x374); - } - break; -+ case 0x0680: -+ if (vendor_id == 0x8086 && device_id == 0x7113) { -+ // PIIX4 ACPI PM -+ pci_config_writew(d, 0x20, 0x0000); // NO smb bus IO enable in PIIX4 -+ pci_config_writew(d, 0x22, 0x0000); -+ goto default_map; -+ } -+ break; -+ - case 0x0300: - if (vendor_id != 0x1234) - goto default_map; - /* VGA: map frame buffer to default Bochs VBE address */ - pci_set_io_region_addr(d, 0, 0xE0000000); - break; -+ - case 0x0800: - /* PIC */ - vendor_id = pci_config_readw(d, PCI_VENDOR_ID); -@@ -1800,6 +1810,13 @@ - pic_irq = pci_irqs[pin]; - pci_config_writeb(d, PCI_INTERRUPT_LINE, pic_irq); + usb_uhci_init(pci_bus, piix3_devfn + 2); } -+ if (class== 0x0680&& vendor_id == 0x8086 && device_id == 0x7113) { -+ // PIIX4 ACPI PM -+ pci_config_writew(d, 0x20, 0x0000); // NO smb bus IO enable in PIIX4 -+ pci_config_writew(d, 0x22, 0x0000); -+ pci_config_writew(d, 0x3c, 0x0009); // Hardcodeed IRQ9 -+ pci_config_writew(d, 0x3d, 0x0001); -+ } - } - - /* + +- if (pci_enabled && acpi_enabled) { ++ if (pci_enabled && acpi_enabled && 0) { + piix4_pm_init(pci_bus, piix3_devfn + 3); + } + Index: ioemu/hw/piix4acpi.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ ioemu/hw/piix4acpi.c 2006-08-04 10:35:36.762666604 +0100 ++++ ioemu/hw/piix4acpi.c 2006-08-07 17:41:41.932577728 +0100 @@ -0,0 +1,388 @@ +/* + * PIIX4 ACPI controller emulation @@ -450,7 +406,7 @@ Index: ioemu/hw/piix4acpi.c + + +/* PIIX4 acpi pci configuration space, func 3 */ -+void pci_piix4_acpi_init(PCIBus *bus) ++void pci_piix4_acpi_init(PCIBus *bus, int devfn) +{ + PCIAcpiState *d; + uint8_t *pci_conf; @@ -458,7 +414,7 @@ Index: ioemu/hw/piix4acpi.c + /* register a function 3 of PIIX4 */ + d = (PCIAcpiState *)pci_register_device( + bus, "PIIX4 ACPI", sizeof(PCIAcpiState), -+ ((PCIDevice *)piix3_state)->devfn + 3, NULL, NULL); ++ devfn, NULL, NULL); + + acpi_state = d; + pci_conf = d->dev.config; @@ -480,18 +436,18 @@ Index: ioemu/hw/piix4acpi.c +} Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-08-04 10:35:36.697674145 +0100 -+++ ioemu/vl.c 2006-08-04 10:37:38.001608828 +0100 -@@ -166,6 +166,8 @@ - - time_t timeoffset = 0; - +--- ioemu.orig/vl.c 2006-08-06 02:23:45.000000000 +0100 ++++ ioemu/vl.c 2006-08-07 17:41:40.613727012 +0100 +@@ -156,7 +156,7 @@ + #else + #define MAX_CPUS 1 + #endif +-int acpi_enabled = 1; +int acpi_enabled = 0; -+ - char domain_name[1024] = { 'H','V', 'M', 'X', 'E', 'N', '-'}; - extern int domid; - -@@ -4803,6 +4805,7 @@ + int fd_bootchk = 1; + + extern int vcpus; +@@ -5341,6 +5341,7 @@ "-loadvm file start right away with a saved state (loadvm in monitor)\n" "-vnc display start a VNC server on display\n" "-timeoffset time offset (in seconds) from local time\n" @@ -499,7 +455,7 @@ Index: ioemu/vl.c "\n" "During emulation, the following keys are useful:\n" "ctrl-alt-f toggle full screen\n" -@@ -4894,6 +4897,7 @@ +@@ -5426,6 +5427,7 @@ QEMU_OPTION_d, QEMU_OPTION_vcpus, QEMU_OPTION_timeoffset, @@ -507,7 +463,7 @@ Index: ioemu/vl.c }; typedef struct QEMUOption { -@@ -4973,6 +4977,7 @@ +@@ -5509,6 +5511,7 @@ { "d", HAS_ARG, QEMU_OPTION_d }, { "vcpus", 1, QEMU_OPTION_vcpus }, { "timeoffset", HAS_ARG, QEMU_OPTION_timeoffset }, @@ -515,7 +471,7 @@ Index: ioemu/vl.c { NULL }, }; -@@ -5678,6 +5683,9 @@ +@@ -6256,6 +6259,9 @@ case QEMU_OPTION_timeoffset: timeoffset = strtol(optarg, NULL, 0); break; @@ -527,9 +483,9 @@ Index: ioemu/vl.c } Index: ioemu/vl.h =================================================================== ---- ioemu.orig/vl.h 2006-08-04 10:35:36.629682033 +0100 -+++ ioemu/vl.h 2006-08-04 10:36:21.513475699 +0100 -@@ -159,6 +159,7 @@ +--- ioemu.orig/vl.h 2006-08-06 02:23:45.000000000 +0100 ++++ ioemu/vl.h 2006-08-07 17:38:47.847289567 +0100 +@@ -167,6 +167,7 @@ extern int kqemu_allowed; extern int win2k_install_hack; extern int usb_enabled; @@ -537,3 +493,46 @@ Index: ioemu/vl.h extern int smp_cpus; /* XXX: make it dynamic */ +Index: ioemu/hw/piix_pci.c +=================================================================== +--- ioemu.orig/hw/piix_pci.c 2006-08-06 02:29:41.000000000 +0100 ++++ ioemu/hw/piix_pci.c 2006-08-07 17:38:57.480198468 +0100 +@@ -241,7 +241,7 @@ + static uint32_t pci_bios_io_addr; + static uint32_t pci_bios_mem_addr; + /* host irqs corresponding to PCI irqs A-D */ +-static uint8_t pci_irqs[4] = { 11, 9, 11, 9 }; ++static uint8_t pci_irqs[4] = { 10, 11, 10, 11 }; + + static void pci_config_writel(PCIDevice *d, uint32_t addr, uint32_t val) + { +@@ -336,6 +336,14 @@ + pci_set_io_region_addr(d, 3, 0x374); + } + break; ++ case 0x0680: ++ if (vendor_id == 0x8086 && device_id == 0x7113) { ++ /* PIIX4 ACPI PM */ ++ pci_config_writew(d, 0x20, 0x0000); /* NO smb bus IO enable in PIIX4 */ ++ pci_config_writew(d, 0x22, 0x0000); ++ goto default_map; ++ } ++ break; + case 0x0300: + if (vendor_id != 0x1234) + goto default_map; +@@ -386,6 +394,14 @@ + pic_irq = pci_irqs[pin]; + pci_config_writeb(d, PCI_INTERRUPT_LINE, pic_irq); + } ++ ++ if (class== 0x0680&& vendor_id == 0x8086 && device_id == 0x7113) { ++ // PIIX4 ACPI PM ++ pci_config_writew(d, 0x20, 0x0000); // NO smb bus IO enable in PIIX4 ++ pci_config_writew(d, 0x22, 0x0000); ++ pci_config_writew(d, 0x3c, 0x0009); // Hardcodeed IRQ9 ++ pci_config_writew(d, 0x3d, 0x0001); ++ } + } + + /* diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/acpi-timer-support --- a/tools/ioemu/patches/acpi-timer-support Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/acpi-timer-support Mon Aug 07 18:28:50 2006 +0100 @@ -1,7 +1,7 @@ Index: ioemu/hw/piix4acpi.c Index: ioemu/hw/piix4acpi.c =================================================================== ---- ioemu.orig/hw/piix4acpi.c 2006-08-04 10:57:28.922994985 +0100 -+++ ioemu/hw/piix4acpi.c 2006-08-04 11:35:15.177574467 +0100 +--- ioemu.orig/hw/piix4acpi.c 2006-08-06 02:24:54.262068457 +0100 ++++ ioemu/hw/piix4acpi.c 2006-08-06 02:30:29.288761563 +0100 @@ -24,31 +24,30 @@ */ diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/domain-destroy --- a/tools/ioemu/patches/domain-destroy Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/domain-destroy Mon Aug 07 18:28:50 2006 +0100 @@ -1,7 +1,8 @@ diff -r e1dce5114e92 monitor.c -diff -r e1dce5114e92 monitor.c ---- a/monitor.c Mon Jun 26 16:04:15 2006 +0100 -+++ b/monitor.c Mon Jun 26 16:04:26 2006 +0100 -@@ -306,6 +306,7 @@ static void do_info_history (void) +Index: ioemu/monitor.c +=================================================================== +--- ioemu.orig/monitor.c 2006-08-06 02:22:01.487319736 +0100 ++++ ioemu/monitor.c 2006-08-06 02:23:02.269544103 +0100 +@@ -308,6 +308,7 @@ static void do_quit(void) { @@ -9,10 +10,11 @@ diff -r e1dce5114e92 monitor.c exit(0); } -diff -r e1dce5114e92 target-i386-dm/helper2.c ---- a/target-i386-dm/helper2.c Mon Jun 26 16:04:15 2006 +0100 -+++ b/target-i386-dm/helper2.c Mon Jun 26 16:04:26 2006 +0100 -@@ -483,5 +483,25 @@ int main_loop(void) +Index: ioemu/target-i386-dm/helper2.c +=================================================================== +--- ioemu.orig/target-i386-dm/helper2.c 2006-08-06 02:22:59.251880493 +0100 ++++ ioemu/target-i386-dm/helper2.c 2006-08-06 02:23:02.270543991 +0100 +@@ -483,5 +483,25 @@ shared_page->vcpu_iodata[send_vcpu].dm_eport); } } @@ -38,10 +40,11 @@ diff -r e1dce5114e92 target-i386-dm/help + xc_interface_close(xcHandle); + } +} -diff -r e1dce5114e92 vl.h ---- a/vl.h Mon Jun 26 16:04:15 2006 +0100 -+++ b/vl.h Mon Jun 26 16:04:26 2006 +0100 -@@ -1098,4 +1098,7 @@ void kqemu_record_dump(void); +Index: ioemu/vl.h +=================================================================== +--- ioemu.orig/vl.h 2006-08-06 02:22:59.255880047 +0100 ++++ ioemu/vl.h 2006-08-06 02:23:02.271543880 +0100 +@@ -1189,4 +1189,7 @@ void kqemu_record_dump(void); extern char domain_name[]; diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/domain-reset --- a/tools/ioemu/patches/domain-reset Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/domain-reset Mon Aug 07 18:28:50 2006 +0100 @@ -1,7 +1,7 @@ Index: ioemu/target-i386-dm/helper2.c Index: ioemu/target-i386-dm/helper2.c =================================================================== ---- ioemu.orig/target-i386-dm/helper2.c 2006-07-27 11:16:57.527492229 +0100 -+++ ioemu/target-i386-dm/helper2.c 2006-07-27 11:16:59.381287013 +0100 +--- ioemu.orig/target-i386-dm/helper2.c 2006-08-06 02:21:15.779415007 +0100 ++++ ioemu/target-i386-dm/helper2.c 2006-08-06 02:22:59.251880493 +0100 @@ -123,6 +123,25 @@ /* called from main_cpu_reset */ void cpu_reset(CPUX86State *env) @@ -41,9 +41,9 @@ Index: ioemu/target-i386-dm/helper2.c /* Wait up to 10 msec. */ Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-07-27 11:16:59.317294097 +0100 -+++ ioemu/vl.c 2006-07-27 11:16:59.384286681 +0100 -@@ -4412,7 +4412,7 @@ +--- ioemu.orig/vl.c 2006-08-06 02:22:56.618174081 +0100 ++++ ioemu/vl.c 2006-08-06 02:22:59.254880158 +0100 +@@ -4948,7 +4948,7 @@ } QEMUResetEntry; static QEMUResetEntry *first_reset_entry; @@ -54,9 +54,9 @@ Index: ioemu/vl.c Index: ioemu/vl.h =================================================================== ---- ioemu.orig/vl.h 2006-07-27 11:16:58.127425816 +0100 -+++ ioemu/vl.h 2006-07-27 11:16:59.384286681 +0100 -@@ -122,6 +122,7 @@ +--- ioemu.orig/vl.h 2006-08-06 02:22:01.501318175 +0100 ++++ ioemu/vl.h 2006-08-06 02:22:59.255880047 +0100 +@@ -130,6 +130,7 @@ void qemu_register_reset(QEMUResetHandler *func, void *opaque); void qemu_system_reset_request(void); @@ -64,7 +64,7 @@ Index: ioemu/vl.h void qemu_system_shutdown_request(void); void qemu_system_powerdown_request(void); #if !defined(TARGET_SPARC) -@@ -131,6 +132,8 @@ +@@ -139,6 +140,8 @@ void qemu_system_powerdown(void); #endif diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/domain-timeoffset --- a/tools/ioemu/patches/domain-timeoffset Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/domain-timeoffset Mon Aug 07 18:28:50 2006 +0100 @@ -1,7 +1,7 @@ Index: ioemu/hw/mc146818rtc.c Index: ioemu/hw/mc146818rtc.c =================================================================== ---- ioemu.orig/hw/mc146818rtc.c 2006-08-04 10:57:22.049787220 +0100 -+++ ioemu/hw/mc146818rtc.c 2006-08-04 10:57:28.677023336 +0100 +--- ioemu.orig/hw/mc146818rtc.c 2006-08-07 17:44:43.593604340 +0100 ++++ ioemu/hw/mc146818rtc.c 2006-08-07 17:44:47.594168708 +0100 @@ -178,10 +178,27 @@ } } @@ -46,9 +46,9 @@ Index: ioemu/hw/mc146818rtc.c static void rtc_copy_date(RTCState *s) Index: ioemu/hw/pc.c =================================================================== ---- ioemu.orig/hw/pc.c 2006-08-04 10:57:28.406054568 +0100 -+++ ioemu/hw/pc.c 2006-08-04 10:57:28.678023221 +0100 -@@ -151,7 +151,7 @@ +--- ioemu.orig/hw/pc.c 2006-08-07 17:44:47.324198106 +0100 ++++ ioemu/hw/pc.c 2006-08-07 17:44:54.830380715 +0100 +@@ -159,7 +159,7 @@ } /* hd_table must contain 4 block drivers */ @@ -57,7 +57,7 @@ Index: ioemu/hw/pc.c { RTCState *s = rtc_state; int val; -@@ -162,6 +162,7 @@ +@@ -170,6 +170,7 @@ /* set the CMOS date */ time(&ti); @@ -65,7 +65,7 @@ Index: ioemu/hw/pc.c if (rtc_utc) tm = gmtime(&ti); else -@@ -613,7 +614,7 @@ +@@ -619,7 +620,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, @@ -74,7 +74,7 @@ Index: ioemu/hw/pc.c int pci_enabled) { #ifndef NOBIOS -@@ -864,7 +865,7 @@ +@@ -871,7 +872,7 @@ floppy_controller = fdctrl_init(6, 2, 0, 0x3f0, fd_table); @@ -82,8 +82,8 @@ Index: ioemu/hw/pc.c + cmos_init(ram_size, boot_device, bs_table, timeoffset); if (pci_enabled && usb_enabled) { - usb_uhci_init(pci_bus, usb_root_ports); -@@ -883,12 +884,13 @@ + usb_uhci_init(pci_bus, piix3_devfn + 2); +@@ -912,12 +913,13 @@ int snapshot, const char *kernel_filename, const char *kernel_cmdline, @@ -99,7 +99,7 @@ Index: ioemu/hw/pc.c } static void pc_init_isa(uint64_t ram_size, int vga_ram_size, int boot_device, -@@ -896,12 +898,13 @@ +@@ -925,12 +927,13 @@ int snapshot, const char *kernel_filename, const char *kernel_cmdline, @@ -117,9 +117,9 @@ Index: ioemu/hw/pc.c QEMUMachine pc_machine = { Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-08-04 10:57:28.545038549 +0100 -+++ ioemu/vl.c 2006-08-04 10:57:28.680022990 +0100 -@@ -164,6 +164,8 @@ +--- ioemu.orig/vl.c 2006-08-07 17:44:47.464182863 +0100 ++++ ioemu/vl.c 2006-08-07 17:44:54.830380715 +0100 +@@ -163,6 +163,8 @@ int xc_handle; @@ -128,7 +128,7 @@ Index: ioemu/vl.c char domain_name[1024] = { 'H','V', 'M', 'X', 'E', 'N', '-'}; extern int domid; -@@ -4800,6 +4802,7 @@ +@@ -5338,6 +5340,7 @@ #endif "-loadvm file start right away with a saved state (loadvm in monitor)\n" "-vnc display start a VNC server on display\n" @@ -136,7 +136,7 @@ Index: ioemu/vl.c "\n" "During emulation, the following keys are useful:\n" "ctrl-alt-f toggle full screen\n" -@@ -4890,6 +4893,7 @@ +@@ -5422,6 +5425,7 @@ QEMU_OPTION_d, QEMU_OPTION_vcpus, @@ -144,7 +144,7 @@ Index: ioemu/vl.c }; typedef struct QEMUOption { -@@ -4968,6 +4972,7 @@ +@@ -5504,6 +5508,7 @@ { "d", HAS_ARG, QEMU_OPTION_d }, { "vcpus", 1, QEMU_OPTION_vcpus }, @@ -152,7 +152,7 @@ Index: ioemu/vl.c { NULL }, }; -@@ -5670,6 +5675,9 @@ +@@ -6248,6 +6253,9 @@ vcpus = atoi(optarg); fprintf(logfile, "qemu: the number of cpus is %d\n", vcpus); break; @@ -162,7 +162,7 @@ Index: ioemu/vl.c } } } -@@ -6007,7 +6015,8 @@ +@@ -6489,7 +6497,8 @@ machine->init(ram_size, vga_ram_size, boot_device, ds, fd_filename, snapshot, @@ -170,13 +170,13 @@ Index: ioemu/vl.c + kernel_filename, kernel_cmdline, initrd_filename, + timeoffset); - gui_timer = qemu_new_timer(rt_clock, gui_update, NULL); - qemu_mod_timer(gui_timer, qemu_get_clock(rt_clock)); + /* init USB devices */ + if (usb_enabled) { Index: ioemu/vl.h =================================================================== ---- ioemu.orig/vl.h 2006-08-04 10:57:28.411053992 +0100 -+++ ioemu/vl.h 2006-08-04 10:57:28.681022875 +0100 -@@ -556,7 +556,7 @@ +--- ioemu.orig/vl.h 2006-08-07 17:44:47.329197562 +0100 ++++ ioemu/vl.h 2006-08-07 17:44:54.830380715 +0100 +@@ -575,7 +575,7 @@ int boot_device, DisplayState *ds, const char **fd_filename, int snapshot, const char *kernel_filename, const char *kernel_cmdline, diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/hypervisor-pit --- a/tools/ioemu/patches/hypervisor-pit Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/hypervisor-pit Mon Aug 07 18:28:50 2006 +0100 @@ -1,20 +1,20 @@ Index: ioemu/Makefile.target Index: ioemu/Makefile.target =================================================================== ---- ioemu.orig/Makefile.target 2006-07-27 11:16:58.970332506 +0100 -+++ ioemu/Makefile.target 2006-07-27 11:16:59.758245283 +0100 -@@ -333,7 +333,7 @@ +--- ioemu.orig/Makefile.target 2006-08-06 02:22:26.380544784 +0100 ++++ ioemu/Makefile.target 2006-08-06 02:23:23.059226607 +0100 +@@ -354,7 +354,7 @@ ifeq ($(TARGET_BASE_ARCH), i386) # Hardware support VL_OBJS+= ide.o pckbd.o ps2.o vga.o $(SOUND_HW) dma.o $(AUDIODRV) -VL_OBJS+= fdc.o mc146818rtc.o serial.o i8254.o pcspk.o pc.o +VL_OBJS+= fdc.o mc146818rtc.o serial.o pc.o - VL_OBJS+= cirrus_vga.o mixeng.o parallel.o + VL_OBJS+= cirrus_vga.o mixeng.o parallel.o acpi.o piix_pci.o + VL_OBJS+= usb-uhci.o DEFINES += -DHAS_AUDIO - endif Index: ioemu/hw/pc.c =================================================================== ---- ioemu.orig/hw/pc.c 2006-07-27 11:16:59.036325200 +0100 -+++ ioemu/hw/pc.c 2006-07-27 11:16:59.759245173 +0100 +--- ioemu.orig/hw/pc.c 2006-08-06 02:22:35.588518336 +0100 ++++ ioemu/hw/pc.c 2006-08-06 02:23:07.875919141 +0100 @@ -38,7 +38,9 @@ static fdctrl_t *floppy_controller; @@ -25,7 +25,7 @@ Index: ioemu/hw/pc.c #ifndef CONFIG_DM static IOAPICState *ioapic; #endif /* !CONFIG_DM */ -@@ -803,8 +805,10 @@ +@@ -810,8 +812,10 @@ } #endif /* !CONFIG_DM */ isa_pic = pic_init(pic_irq_request, first_cpu); @@ -38,9 +38,9 @@ Index: ioemu/hw/pc.c pic_set_alt_irq_func(isa_pic, ioapic_set_irq, ioapic); Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-07-27 11:16:59.614261222 +0100 -+++ ioemu/vl.c 2006-07-27 11:16:59.762244841 +0100 -@@ -5034,6 +5034,7 @@ +--- ioemu.orig/vl.c 2006-08-06 02:23:05.216215627 +0100 ++++ ioemu/vl.c 2006-08-06 02:23:07.878918807 +0100 +@@ -5570,6 +5570,7 @@ #ifdef HAS_AUDIO struct soundhw soundhw[] = { @@ -48,7 +48,7 @@ Index: ioemu/vl.c #ifdef TARGET_I386 { "pcspk", -@@ -5043,6 +5044,7 @@ +@@ -5579,6 +5580,7 @@ { .init_isa = pcspk_audio_init } }, #endif diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/ide-hd-multithread --- a/tools/ioemu/patches/ide-hd-multithread Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/ide-hd-multithread Mon Aug 07 18:28:50 2006 +0100 @@ -1,6 +1,7 @@ diff -r d711aa4fa261 hw/ide.c -diff -r d711aa4fa261 hw/ide.c ---- a/hw/ide.c Fri Jun 16 10:13:37 2006 +0200 -+++ b/hw/ide.c Fri Jun 16 10:30:28 2006 +0200 +Index: ioemu/hw/ide.c +=================================================================== +--- ioemu.orig/hw/ide.c 2006-08-06 02:03:50.520919718 +0100 ++++ ioemu/hw/ide.c 2006-08-06 02:23:41.153209614 +0100 @@ -22,6 +22,7 @@ * THE SOFTWARE. */ @@ -9,7 +10,7 @@ diff -r d711aa4fa261 hw/ide.c /* debug IDE devices */ //#define DEBUG_IDE -@@ -390,6 +391,48 @@ typedef struct PCIIDEState { +@@ -390,6 +391,48 @@ int type; /* see IDE_TYPE_xxx */ } PCIIDEState; @@ -58,7 +59,7 @@ diff -r d711aa4fa261 hw/ide.c static void ide_dma_start(IDEState *s, IDEDMAFunc *dma_cb); static void padstr(char *str, const char *src, int len) -@@ -695,7 +738,9 @@ static int ide_read_dma_cb(IDEState *s, +@@ -695,7 +738,9 @@ } if (s->io_buffer_index >= s->io_buffer_size && s->nsector == 0) { s->status = READY_STAT | SEEK_STAT; @@ -68,7 +69,7 @@ diff -r d711aa4fa261 hw/ide.c #ifdef DEBUG_IDE_ATAPI printf("dma status=0x%x\n", s->status); #endif -@@ -795,7 +840,11 @@ static int ide_write_dma_cb(IDEState *s, +@@ -795,7 +840,11 @@ qemu_get_clock(vm_clock) + (ticks_per_sec / 1000)); } else #endif @@ -80,7 +81,7 @@ diff -r d711aa4fa261 hw/ide.c return 0; } if (n > MAX_MULT_SECTORS) -@@ -1046,7 +1095,9 @@ static int ide_atapi_cmd_read_dma_cb(IDE +@@ -1046,7 +1095,9 @@ if (s->packet_transfer_size <= 0) { s->status = READY_STAT; s->nsector = (s->nsector & ~7) | ATAPI_INT_REASON_IO | ATAPI_INT_REASON_CD; @@ -90,7 +91,7 @@ diff -r d711aa4fa261 hw/ide.c #ifdef DEBUG_IDE_ATAPI printf("dma status=0x%x\n", s->status); #endif -@@ -2219,9 +2270,30 @@ static void ide_map(PCIDevice *pci_dev, +@@ -2103,9 +2154,30 @@ } } @@ -110,18 +111,18 @@ diff -r d711aa4fa261 hw/ide.c /* XXX: full callback usage to prepare non blocking I/Os support - error handling */ +#ifdef DMA_MULTI_THREAD - static void ide_dma_loop(BMDMAState *bm) ++static void ide_dma_loop(BMDMAState *bm) +{ + write(file_pipes[1], &bm, sizeof(bm)); +} +static void dma_thread_loop(BMDMAState *bm) +#else /* DMA_MULTI_THREAD */ -+static void ide_dma_loop(BMDMAState *bm) + static void ide_dma_loop(BMDMAState *bm) +#endif /* !DMA_MULTI_THREAD */ { struct { uint32_t addr; -@@ -2257,10 +2329,7 @@ static void ide_dma_loop(BMDMAState *bm) +@@ -2141,10 +2213,7 @@ } /* end of transfer */ the_end: @@ -133,7 +134,7 @@ diff -r d711aa4fa261 hw/ide.c } static void ide_dma_start(IDEState *s, IDEDMAFunc *dma_cb) -@@ -2486,6 +2555,9 @@ void pci_cmd646_ide_init(PCIBus *bus, Bl +@@ -2370,6 +2439,9 @@ cmd646_set_irq, d, 0); ide_init2(&d->ide_if[2], hd_table[2], hd_table[3], cmd646_set_irq, d, 1); @@ -143,7 +144,7 @@ diff -r d711aa4fa261 hw/ide.c } /* hd_table must contain 4 block drivers */ -@@ -2521,6 +2593,9 @@ void pci_piix3_ide_init(PCIBus *bus, Blo +@@ -2405,6 +2477,9 @@ pic_set_irq_new, isa_pic, 15); ide_init_ioport(&d->ide_if[0], 0x1f0, 0x3f6); ide_init_ioport(&d->ide_if[2], 0x170, 0x376); diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/ioemu-ia64 --- a/tools/ioemu/patches/ioemu-ia64 Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/ioemu-ia64 Mon Aug 07 18:28:50 2006 +0100 @@ -1,7 +1,7 @@ Index: ioemu/hw/iommu.c Index: ioemu/hw/iommu.c =================================================================== ---- ioemu.orig/hw/iommu.c 2006-08-04 10:57:22.606723023 +0100 -+++ ioemu/hw/iommu.c 2006-08-04 10:57:27.489160251 +0100 +--- ioemu.orig/hw/iommu.c 2006-08-06 01:55:03.240628184 +0100 ++++ ioemu/hw/iommu.c 2006-08-06 02:18:54.843126039 +0100 @@ -82,7 +82,11 @@ #define IOPTE_VALID 0x00000002 /* IOPTE is valid */ #define IOPTE_WAZ 0x00000001 /* Write as zeros */ @@ -16,8 +16,8 @@ Index: ioemu/hw/iommu.c Index: ioemu/cpu-all.h =================================================================== ---- ioemu.orig/cpu-all.h 2006-08-04 10:57:27.123202432 +0100 -+++ ioemu/cpu-all.h 2006-08-04 10:57:27.490160136 +0100 +--- ioemu.orig/cpu-all.h 2006-08-06 02:17:09.392881406 +0100 ++++ ioemu/cpu-all.h 2006-08-06 02:18:54.844125928 +0100 @@ -835,6 +835,31 @@ :"=m" (*(volatile long *)addr) :"dIr" (nr)); @@ -52,9 +52,9 @@ Index: ioemu/cpu-all.h /* memory API */ Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-08-04 10:57:27.419168318 +0100 -+++ ioemu/vl.c 2006-08-04 10:57:27.493159790 +0100 -@@ -5567,6 +5567,11 @@ +--- ioemu.orig/vl.c 2006-08-06 02:18:45.608155528 +0100 ++++ ioemu/vl.c 2006-08-06 02:18:54.847125593 +0100 +@@ -6140,6 +6140,11 @@ /* init the memory */ phys_ram_size = ram_size + vga_ram_size + bios_size; @@ -66,7 +66,7 @@ Index: ioemu/vl.c #ifdef CONFIG_DM nr_pages = ram_size/PAGE_SIZE; -@@ -5578,6 +5583,7 @@ +@@ -6151,6 +6156,7 @@ exit(-1); } @@ -74,7 +74,7 @@ Index: ioemu/vl.c if (xc_get_pfn_list(xc_handle, domid, page_array, nr_pages) != nr_pages) { fprintf(logfile, "xc_get_pfn_list returned error %d\n", errno); exit(-1); -@@ -5600,6 +5606,41 @@ +@@ -6173,6 +6179,41 @@ free(page_array); @@ -115,11 +115,11 @@ Index: ioemu/vl.c +#endif #else /* !CONFIG_DM */ - #ifdef CONFIG_SOFTMMU + phys_ram_base = qemu_vmalloc(phys_ram_size); Index: ioemu/target-i386-dm/exec-dm.c =================================================================== ---- ioemu.orig/target-i386-dm/exec-dm.c 2006-08-04 10:57:26.738246803 +0100 -+++ ioemu/target-i386-dm/exec-dm.c 2006-08-04 10:57:27.493159790 +0100 +--- ioemu.orig/target-i386-dm/exec-dm.c 2006-08-06 02:15:01.776108064 +0100 ++++ ioemu/target-i386-dm/exec-dm.c 2006-08-06 02:18:54.848125482 +0100 @@ -341,6 +341,23 @@ return io_mem_read[io_index >> IO_MEM_SHIFT]; } @@ -156,8 +156,8 @@ Index: ioemu/target-i386-dm/exec-dm.c memset(buf, 0xff, len); Index: ioemu/exec-all.h =================================================================== ---- ioemu.orig/exec-all.h 2006-08-04 10:57:26.651256830 +0100 -+++ ioemu/exec-all.h 2006-08-04 10:57:27.494159675 +0100 +--- ioemu.orig/exec-all.h 2006-08-06 02:14:09.796902750 +0100 ++++ ioemu/exec-all.h 2006-08-06 02:18:54.848125482 +0100 @@ -462,12 +462,13 @@ } #endif @@ -177,8 +177,8 @@ Index: ioemu/exec-all.h Index: ioemu/target-i386-dm/cpu.h =================================================================== ---- ioemu.orig/target-i386-dm/cpu.h 2006-08-04 10:57:26.737246918 +0100 -+++ ioemu/target-i386-dm/cpu.h 2006-08-04 10:57:27.494159675 +0100 +--- ioemu.orig/target-i386-dm/cpu.h 2006-08-06 02:15:01.776108064 +0100 ++++ ioemu/target-i386-dm/cpu.h 2006-08-06 02:18:54.848125482 +0100 @@ -80,7 +80,11 @@ /* helper2.c */ int main_loop(void); @@ -194,7 +194,7 @@ Index: ioemu/ia64_intrinsic.h Index: ioemu/ia64_intrinsic.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ ioemu/ia64_intrinsic.h 2006-08-04 10:57:27.495159560 +0100 ++++ ioemu/ia64_intrinsic.h 2006-08-06 02:18:54.849125370 +0100 @@ -0,0 +1,276 @@ +#ifndef IA64_INTRINSIC_H +#define IA64_INTRINSIC_H diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/qemu-64bit --- a/tools/ioemu/patches/qemu-64bit Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/qemu-64bit Mon Aug 07 18:28:50 2006 +0100 @@ -1,7 +1,7 @@ Index: ioemu/cpu-all.h Index: ioemu/cpu-all.h =================================================================== ---- ioemu.orig/cpu-all.h 2006-07-26 13:19:49.515051864 +0100 -+++ ioemu/cpu-all.h 2006-07-26 13:19:49.563046860 +0100 +--- ioemu.orig/cpu-all.h 2006-08-06 02:14:09.796902750 +0100 ++++ ioemu/cpu-all.h 2006-08-06 02:15:39.707879423 +0100 @@ -822,7 +822,7 @@ /* memory API */ @@ -13,9 +13,9 @@ Index: ioemu/cpu-all.h extern uint8_t *phys_ram_dirty; Index: ioemu/hw/pc.c =================================================================== ---- ioemu.orig/hw/pc.c 2006-07-26 13:19:49.516051760 +0100 -+++ ioemu/hw/pc.c 2006-07-26 13:19:49.564046755 +0100 -@@ -147,7 +147,7 @@ +--- ioemu.orig/hw/pc.c 2006-08-06 02:14:09.797902638 +0100 ++++ ioemu/hw/pc.c 2006-08-06 02:15:39.708879311 +0100 +@@ -155,7 +155,7 @@ } /* hd_table must contain 4 block drivers */ @@ -24,7 +24,7 @@ Index: ioemu/hw/pc.c { RTCState *s = rtc_state; int val; -@@ -604,7 +604,7 @@ +@@ -610,7 +610,7 @@ } /* PC hardware initialisation */ @@ -33,7 +33,7 @@ Index: ioemu/hw/pc.c DisplayState *ds, const char **fd_filename, int snapshot, const char *kernel_filename, const char *kernel_cmdline, const char *initrd_filename, -@@ -853,7 +853,7 @@ +@@ -882,7 +882,7 @@ } } @@ -42,7 +42,7 @@ Index: ioemu/hw/pc.c DisplayState *ds, const char **fd_filename, int snapshot, const char *kernel_filename, -@@ -866,7 +866,7 @@ +@@ -895,7 +895,7 @@ initrd_filename, 1); } @@ -53,9 +53,9 @@ Index: ioemu/hw/pc.c const char *kernel_filename, Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-07-26 13:19:49.552048007 +0100 -+++ ioemu/vl.c 2006-07-26 13:19:49.566046547 +0100 -@@ -123,7 +123,7 @@ +--- ioemu.orig/vl.c 2006-08-06 02:15:31.040845624 +0100 ++++ ioemu/vl.c 2006-08-06 02:15:39.711878977 +0100 +@@ -122,7 +122,7 @@ const char* keyboard_layout = NULL; int64_t ticks_per_sec; int boot_device = 'c'; @@ -64,7 +64,7 @@ Index: ioemu/vl.c int pit_min_timer_count = 0; int nb_nics; NICInfo nd_table[MAX_NICS]; -@@ -5320,7 +5320,7 @@ +@@ -5895,7 +5895,7 @@ help(); break; case QEMU_OPTION_m: @@ -75,9 +75,9 @@ Index: ioemu/vl.c if (ram_size > PHYS_RAM_MAX_SIZE) { Index: ioemu/vl.h =================================================================== ---- ioemu.orig/vl.h 2006-07-26 13:19:49.552048007 +0100 -+++ ioemu/vl.h 2006-07-26 13:19:49.567046443 +0100 -@@ -138,7 +138,7 @@ +--- ioemu.orig/vl.h 2006-08-06 02:15:10.368150219 +0100 ++++ ioemu/vl.h 2006-08-06 02:15:39.711878977 +0100 +@@ -146,7 +146,7 @@ extern int xc_handle; extern int domid; @@ -86,7 +86,7 @@ Index: ioemu/vl.h extern int bios_size; extern int rtc_utc; extern int cirrus_vga_enabled; -@@ -542,7 +542,7 @@ +@@ -561,7 +561,7 @@ #ifndef QEMU_TOOL @@ -97,9 +97,9 @@ Index: ioemu/vl.h const char *kernel_filename, const char *kernel_cmdline, Index: ioemu/hw/vga.c =================================================================== ---- ioemu.orig/hw/vga.c 2006-07-26 13:19:49.549048319 +0100 -+++ ioemu/hw/vga.c 2006-07-26 13:20:17.956085603 +0100 -@@ -1293,7 +1293,8 @@ +--- ioemu.orig/hw/vga.c 2006-08-06 02:15:10.364150665 +0100 ++++ ioemu/hw/vga.c 2006-08-06 02:15:39.712878866 +0100 +@@ -1365,7 +1365,8 @@ static void vga_draw_graphic(VGAState *s, int full_update) { int y1, y, update, page_min, page_max, linesize, y_start, double_scan, mask; diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/qemu-allow-disable-sdl --- a/tools/ioemu/patches/qemu-allow-disable-sdl Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/qemu-allow-disable-sdl Mon Aug 07 18:28:50 2006 +0100 @@ -1,8 +1,8 @@ Index: ioemu/configure Index: ioemu/configure =================================================================== ---- ioemu.orig/configure 2006-08-03 19:19:38.000000000 +0100 -+++ ioemu/configure 2006-08-03 23:38:19.000000000 +0100 -@@ -226,8 +226,6 @@ +--- ioemu.orig/configure 2006-08-06 02:15:01.771108621 +0100 ++++ ioemu/configure 2006-08-06 02:42:26.213918476 +0100 +@@ -228,8 +228,6 @@ ;; --enable-cocoa) cocoa="yes" ; coreaudio="yes" ; sdl="no" ;; @@ -11,7 +11,7 @@ Index: ioemu/configure --disable-gcc-check) check_gcc="no" ;; --disable-system) softmmu="no" -@@ -736,14 +734,6 @@ +@@ -758,14 +756,6 @@ target_user_only="yes" fi diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/qemu-bugfixes --- a/tools/ioemu/patches/qemu-bugfixes Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/qemu-bugfixes Mon Aug 07 18:28:50 2006 +0100 @@ -1,8 +1,8 @@ Index: ioemu/console.c Index: ioemu/console.c =================================================================== ---- ioemu.orig/console.c 2006-07-27 11:16:53.732912290 +0100 -+++ ioemu/console.c 2006-07-27 11:16:57.753467214 +0100 -@@ -449,7 +449,7 @@ +--- ioemu.orig/console.c 2006-08-06 02:03:45.803444993 +0100 ++++ ioemu/console.c 2006-08-06 02:15:48.546894051 +0100 +@@ -505,7 +505,7 @@ c++; } } @@ -11,7 +11,7 @@ Index: ioemu/console.c s->cells = cells; } -@@ -954,11 +954,21 @@ +@@ -1032,11 +1032,21 @@ return !active_console->text_console; } @@ -34,8 +34,8 @@ Index: ioemu/console.c static int color_inited; chr = qemu_mallocz(sizeof(CharDriverState)); -@@ -976,12 +986,7 @@ - +@@ -1058,12 +1068,7 @@ + if (!color_inited) { color_inited = 1; - for(j = 0; j < 2; j++) { @@ -48,23 +48,11 @@ Index: ioemu/console.c } s->y_displayed = 0; s->y_base = 0; -Index: ioemu/usb-linux.c -=================================================================== ---- ioemu.orig/usb-linux.c 2006-07-27 11:16:53.732912290 +0100 -+++ ioemu/usb-linux.c 2006-07-27 11:16:57.754467103 +0100 -@@ -26,6 +26,7 @@ - #if defined(__linux__) - #include <dirent.h> - #include <sys/ioctl.h> -+#define __user /* new versions of usbdevice_fs.h use this private attribute */ - #include <linux/usbdevice_fs.h> - #include <linux/version.h> - Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-07-27 11:16:57.681475183 +0100 -+++ ioemu/vl.c 2006-07-27 11:17:33.279534373 +0100 -@@ -3201,6 +3201,7 @@ +--- ioemu.orig/vl.c 2006-08-06 02:15:39.711878977 +0100 ++++ ioemu/vl.c 2006-08-06 02:15:48.550893605 +0100 +@@ -3671,6 +3671,7 @@ if (net_tap_fd_init(vlan, fd)) ret = 0; } else { diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/qemu-cleanup --- a/tools/ioemu/patches/qemu-cleanup Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/qemu-cleanup Mon Aug 07 18:28:50 2006 +0100 @@ -1,8 +1,8 @@ Index: ioemu/hw/vga.c Index: ioemu/hw/vga.c =================================================================== ---- ioemu.orig/hw/vga.c 2006-07-12 11:33:54.853085901 +0100 -+++ ioemu/hw/vga.c 2006-07-12 11:35:00.780818943 +0100 -@@ -1563,7 +1563,9 @@ +--- ioemu.orig/hw/vga.c 2006-08-06 02:03:51.906765409 +0100 ++++ ioemu/hw/vga.c 2006-08-06 02:15:10.364150665 +0100 +@@ -1622,7 +1622,9 @@ static void vga_save(QEMUFile *f, void *opaque) { VGAState *s = opaque; @@ -12,7 +12,7 @@ Index: ioemu/hw/vga.c qemu_put_be32s(f, &s->latch); qemu_put_8s(f, &s->sr_index); -@@ -1604,7 +1606,10 @@ +@@ -1663,7 +1665,10 @@ static int vga_load(QEMUFile *f, void *opaque, int version_id) { VGAState *s = opaque; @@ -26,8 +26,8 @@ Index: ioemu/hw/vga.c return -EINVAL; Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-07-12 11:35:00.708827963 +0100 -+++ ioemu/vl.c 2006-07-12 11:35:00.783818568 +0100 +--- ioemu.orig/vl.c 2006-08-06 02:15:01.774108287 +0100 ++++ ioemu/vl.c 2006-08-06 02:15:31.040845624 +0100 @@ -39,6 +39,7 @@ #include <sys/ioctl.h> #include <sys/socket.h> @@ -36,7 +36,7 @@ Index: ioemu/vl.c #include <dirent.h> #include <netdb.h> #ifdef _BSD -@@ -4777,7 +4778,9 @@ +@@ -5308,7 +5309,9 @@ QEMU_OPTION_d, QEMU_OPTION_hdachs, QEMU_OPTION_L, @@ -46,7 +46,7 @@ Index: ioemu/vl.c QEMU_OPTION_k, QEMU_OPTION_localtime, QEMU_OPTION_cirrusvga, -@@ -4844,7 +4847,9 @@ +@@ -5379,7 +5382,9 @@ { "d", HAS_ARG, QEMU_OPTION_d }, { "hdachs", HAS_ARG, QEMU_OPTION_hdachs }, { "L", HAS_ARG, QEMU_OPTION_L }, @@ -56,10 +56,10 @@ Index: ioemu/vl.c #ifdef USE_KQEMU { "no-kqemu", 0, QEMU_OPTION_no_kqemu }, { "kernel-kqemu", 0, QEMU_OPTION_kernel_kqemu }, -@@ -5274,9 +5279,11 @@ - case QEMU_OPTION_fdb: - fd_filename[1] = optarg; +@@ -5849,9 +5854,11 @@ + fd_bootchk = 0; break; + #endif +#ifdef USE_CODE_COPY case QEMU_OPTION_no_code_copy: code_copy_enabled = 0; @@ -70,9 +70,9 @@ Index: ioemu/vl.c fprintf(stderr, "qemu: too many network clients\n"); Index: ioemu/vl.h =================================================================== ---- ioemu.orig/vl.h 2006-07-12 11:35:00.709827838 +0100 -+++ ioemu/vl.h 2006-07-12 11:35:00.784818442 +0100 -@@ -892,7 +892,7 @@ +--- ioemu.orig/vl.h 2006-08-06 02:15:01.775108175 +0100 ++++ ioemu/vl.h 2006-08-06 02:15:10.368150219 +0100 +@@ -957,7 +957,7 @@ unsigned long vram_offset, int vram_size, int width, int height); /* slavio_intctl.c */ diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/qemu-dm --- a/tools/ioemu/patches/qemu-dm Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/qemu-dm Mon Aug 07 18:28:50 2006 +0100 @@ -1,8 +1,8 @@ Index: ioemu/Makefile.target Index: ioemu/Makefile.target =================================================================== ---- ioemu.orig/Makefile.target 2006-07-14 15:50:41.320748096 +0100 -+++ ioemu/Makefile.target 2006-07-14 15:55:04.753733845 +0100 -@@ -285,7 +285,7 @@ +--- ioemu.orig/Makefile.target 2006-08-06 02:14:04.797460093 +0100 ++++ ioemu/Makefile.target 2006-08-06 02:14:09.794902973 +0100 +@@ -302,7 +302,7 @@ endif # must use static linking to avoid leaving stuff in virtual address space @@ -13,8 +13,8 @@ Index: ioemu/Makefile.target VL_OBJS+=tap-win32.o Index: ioemu/configure =================================================================== ---- ioemu.orig/configure 2006-07-14 15:50:41.320748096 +0100 -+++ ioemu/configure 2006-07-14 15:55:04.753733845 +0100 +--- ioemu.orig/configure 2006-08-06 02:14:04.797460093 +0100 ++++ ioemu/configure 2006-08-06 02:14:09.795902861 +0100 @@ -75,8 +75,8 @@ bigendian="no" mingw32="no" @@ -26,7 +26,7 @@ Index: ioemu/configure adlib="no" oss="no" dsound="no" -@@ -727,6 +727,8 @@ +@@ -749,6 +749,8 @@ if expr $target : '.*-softmmu' > /dev/null ; then target_softmmu="yes" fi @@ -37,8 +37,8 @@ Index: ioemu/configure target_user_only="yes" Index: ioemu/cpu-all.h =================================================================== ---- ioemu.orig/cpu-all.h 2006-07-14 15:50:30.488983278 +0100 -+++ ioemu/cpu-all.h 2006-07-14 15:55:04.544757636 +0100 +--- ioemu.orig/cpu-all.h 2006-08-06 02:14:04.797460093 +0100 ++++ ioemu/cpu-all.h 2006-08-06 02:14:09.796902750 +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 2006-07-14 15:50:30.489983164 +0100 -+++ ioemu/disas.h 2006-07-14 15:50:41.334746500 +0100 +--- ioemu.orig/disas.h 2006-08-06 02:14:04.797460093 +0100 ++++ ioemu/disas.h 2006-08-06 02:14:09.796902750 +0100 @@ -1,6 +1,7 @@ #ifndef _QEMU_DISAS_H #define _QEMU_DISAS_H @@ -83,8 +83,8 @@ Index: ioemu/disas.h #endif /* _QEMU_DISAS_H */ Index: ioemu/exec-all.h =================================================================== ---- ioemu.orig/exec-all.h 2006-07-14 15:50:30.490983050 +0100 -+++ ioemu/exec-all.h 2006-07-14 15:50:41.335746386 +0100 +--- ioemu.orig/exec-all.h 2006-08-06 02:14:04.798459982 +0100 ++++ ioemu/exec-all.h 2006-08-06 02:14:09.796902750 +0100 @@ -509,7 +509,7 @@ extern int tb_invalidated_flag; @@ -105,17 +105,17 @@ Index: ioemu/exec-all.h return addr; Index: ioemu/hw/pc.c =================================================================== ---- ioemu.orig/hw/pc.c 2006-07-14 15:50:30.491982936 +0100 -+++ ioemu/hw/pc.c 2006-07-14 15:55:04.543757750 +0100 -@@ -65,6 +65,7 @@ - return qemu_get_clock(vm_clock); +--- ioemu.orig/hw/pc.c 2006-08-06 02:14:04.797460093 +0100 ++++ ioemu/hw/pc.c 2006-08-06 02:14:09.797902638 +0100 +@@ -73,6 +73,7 @@ + } } +#ifndef CONFIG_DM /* IRQ handling */ int cpu_get_pic_interrupt(CPUState *env) { -@@ -81,6 +82,7 @@ +@@ -89,6 +90,7 @@ intno = pic_read_irq(isa_pic); return intno; } @@ -123,7 +123,7 @@ Index: ioemu/hw/pc.c static void pic_irq_request(void *opaque, int level) { -@@ -394,6 +396,7 @@ +@@ -400,6 +402,7 @@ /*************************************************/ @@ -131,7 +131,7 @@ Index: ioemu/hw/pc.c static void putb(uint8_t **pp, int val) { uint8_t *q; -@@ -540,6 +543,7 @@ +@@ -546,6 +549,7 @@ float_pointer_struct[10] = -mpf_checksum(float_pointer_struct, q - float_pointer_struct); } @@ -139,7 +139,7 @@ Index: ioemu/hw/pc.c static const int ide_iobase[2] = { 0x1f0, 0x170 }; -@@ -619,12 +623,14 @@ +@@ -626,12 +630,14 @@ /* init CPUs */ for(i = 0; i < smp_cpus; i++) { env = cpu_init(); @@ -154,7 +154,7 @@ Index: ioemu/hw/pc.c register_savevm("cpu", i, 3, cpu_save, cpu_load, env); qemu_register_reset(main_cpu_reset, env); if (pci_enabled) { -@@ -683,6 +689,7 @@ +@@ -690,6 +696,7 @@ bochs_bios_init(); @@ -162,7 +162,7 @@ Index: ioemu/hw/pc.c if (linux_boot) { uint8_t bootsect[512]; uint8_t old_bootsect[512]; -@@ -738,6 +745,7 @@ +@@ -745,6 +752,7 @@ /* loader type */ stw_raw(phys_ram_base + KERNEL_PARAMS_ADDR + 0x210, 0x01); } @@ -170,7 +170,7 @@ Index: ioemu/hw/pc.c if (pci_enabled) { pci_bus = i440fx_init(); -@@ -776,9 +784,11 @@ +@@ -783,9 +791,11 @@ isa_pic = pic_init(pic_irq_request, first_cpu); pit = pit_init(0x40, 0); pcspk_init(pit); @@ -184,8 +184,8 @@ Index: ioemu/hw/pc.c if (serial_hds[i]) { Index: ioemu/hw/vga_int.h =================================================================== ---- ioemu.orig/hw/vga_int.h 2006-07-14 15:50:30.491982936 +0100 -+++ ioemu/hw/vga_int.h 2006-07-14 15:55:02.931941245 +0100 +--- ioemu.orig/hw/vga_int.h 2006-08-06 02:14:04.797460093 +0100 ++++ ioemu/hw/vga_int.h 2006-08-06 02:14:09.797902638 +0100 @@ -28,7 +28,7 @@ #define ST01_DISP_ENABLE 0x01 @@ -193,12 +193,12 @@ Index: ioemu/hw/vga_int.h -#define CONFIG_BOCHS_VBE +//#define CONFIG_BOCHS_VBE - #define VBE_DISPI_MAX_XRES 1024 - #define VBE_DISPI_MAX_YRES 768 + #define VBE_DISPI_MAX_XRES 1600 + #define VBE_DISPI_MAX_YRES 1200 Index: ioemu/monitor.c =================================================================== ---- ioemu.orig/monitor.c 2006-07-14 15:50:30.493982708 +0100 -+++ ioemu/monitor.c 2006-07-14 15:55:04.754733732 +0100 +--- ioemu.orig/monitor.c 2006-08-06 02:14:04.798459982 +0100 ++++ ioemu/monitor.c 2006-08-06 02:14:49.574468309 +0100 @@ -68,6 +68,12 @@ void term_flush(void) @@ -212,7 +212,7 @@ Index: ioemu/monitor.c if (term_outbuf_index > 0) { qemu_chr_write(monitor_hd, term_outbuf, term_outbuf_index); term_outbuf_index = 0; -@@ -104,6 +110,7 @@ +@@ -106,6 +112,7 @@ va_end(ap); } @@ -220,7 +220,7 @@ Index: ioemu/monitor.c static int monitor_fprintf(FILE *stream, const char *fmt, ...) { va_list ap; -@@ -112,6 +119,7 @@ +@@ -114,6 +121,7 @@ va_end(ap); return 0; } @@ -228,7 +228,7 @@ Index: ioemu/monitor.c static int compare_cmd(const char *name, const char *list) { -@@ -225,6 +233,7 @@ +@@ -227,6 +235,7 @@ return mon_cpu; } @@ -236,7 +236,7 @@ Index: ioemu/monitor.c static void do_info_registers(void) { CPUState *env; -@@ -278,6 +287,7 @@ +@@ -280,6 +289,7 @@ { dump_exec_info(NULL, monitor_fprintf); } @@ -244,7 +244,7 @@ Index: ioemu/monitor.c static void do_info_history (void) { -@@ -375,6 +385,7 @@ +@@ -377,6 +387,7 @@ cpu_set_log(mask); } @@ -252,7 +252,7 @@ Index: ioemu/monitor.c static void do_savevm(const char *filename) { if (qemu_savevm(filename) < 0) -@@ -621,6 +632,7 @@ +@@ -623,6 +634,7 @@ #endif term_printf("\n"); } @@ -260,23 +260,23 @@ Index: ioemu/monitor.c static void do_sum(uint32_t start, uint32_t size) { -@@ -792,6 +804,7 @@ - } +@@ -841,6 +853,7 @@ + kbd_mouse_event(0, 0, 0, mouse_button_state); } +#ifndef CONFIG_DM static void do_ioport_read(int count, int format, int size, int addr, int has_index, int index) { uint32_t val; -@@ -952,6 +965,7 @@ - } - } - #endif -+#endif /* !CONFIG_DM */ - - static void do_info_kqemu(void) - { -@@ -1045,6 +1059,7 @@ +@@ -1031,6 +1044,7 @@ + term_printf("kqemu support: not compiled\n"); + #endif + } ++#endif /* !CONFIG_DM */ + + #ifdef CONFIG_PROFILER + +@@ -1152,6 +1166,7 @@ "filename", "save screen into PPM image 'filename'" }, { "log", "s", do_log, "item1[,...]", "activate logging of the specified items to '/tmp/qemu.log'" }, @@ -284,7 +284,7 @@ Index: ioemu/monitor.c { "savevm", "F", do_savevm, "filename", "save the whole virtual machine state to 'filename'" }, { "loadvm", "F", do_loadvm, -@@ -1065,21 +1080,26 @@ +@@ -1172,21 +1187,26 @@ "/fmt expr", "print expression value (use $reg for CPU register access)", }, { "i", "/ii.", do_ioport_read, "/fmt addr", "I/O port read" }, @@ -308,10 +308,10 @@ Index: ioemu/monitor.c { "cpu", "i", do_cpu_set, "index", "set the default CPU" }, +#endif /* !CONFIG_DM */ - { NULL, NULL, }, - }; - -@@ -1090,10 +1110,12 @@ + { "mouse_move", "sss?", do_mouse_move, + "dx dy [dz]", "send mouse move events" }, + { "mouse_button", "i", do_mouse_button, +@@ -1208,10 +1228,12 @@ "", "show the network state" }, { "block", "", do_info_block, "", "show the block devices" }, @@ -324,7 +324,7 @@ Index: ioemu/monitor.c { "history", "", do_info_history, "", "show the command line history", }, { "irq", "", irq_info, -@@ -1102,6 +1124,7 @@ +@@ -1220,6 +1242,7 @@ "", "show i8259 (PIC) state", }, { "pci", "", pci_info, "", "show PCI info", }, @@ -332,15 +332,15 @@ Index: ioemu/monitor.c #if defined(TARGET_I386) { "tlb", "", tlb_info, "", "show virtual to physical memory mappings", }, -@@ -1110,6 +1133,7 @@ - #endif - { "jit", "", do_info_jit, +@@ -1230,6 +1253,7 @@ "", "show dynamic compiler info", }, -+#endif /* !CONFIG_DM */ { "kqemu", "", do_info_kqemu, "", "show kqemu information", }, ++#endif /* !CONFIG_DM */ { "usb", "", usb_info, -@@ -1123,6 +1147,7 @@ + "", "show guest USB devices", }, + { "usbhost", "", usb_host_info, +@@ -1243,6 +1267,7 @@ /*******************************************************************/ @@ -348,7 +348,7 @@ Index: ioemu/monitor.c static const char *pch; static jmp_buf expr_env; -@@ -1663,6 +1688,7 @@ +@@ -1786,6 +1811,7 @@ *pp = pch; return 0; } @@ -356,7 +356,7 @@ Index: ioemu/monitor.c static int get_str(char *buf, int buf_size, const char **pp) { -@@ -1729,8 +1755,10 @@ +@@ -1852,8 +1878,10 @@ return 0; } @@ -367,7 +367,7 @@ Index: ioemu/monitor.c #define MAX_ARGS 16 -@@ -1738,7 +1766,10 @@ +@@ -1861,7 +1889,10 @@ { const char *p, *pstart, *typestr; char *q; @@ -379,7 +379,7 @@ Index: ioemu/monitor.c term_cmd_t *cmd; char cmdname[256]; char buf[1024]; -@@ -1830,6 +1861,7 @@ +@@ -1953,6 +1984,7 @@ args[nb_args++] = str; } break; @@ -387,7 +387,7 @@ Index: ioemu/monitor.c case '/': { int count, format, size; -@@ -1962,6 +1994,7 @@ +@@ -2085,6 +2117,7 @@ } } break; @@ -395,7 +395,7 @@ Index: ioemu/monitor.c case '-': { int has_option; -@@ -1988,6 +2021,11 @@ +@@ -2111,6 +2144,11 @@ args[nb_args++] = (void *)has_option; } break; @@ -407,7 +407,7 @@ Index: ioemu/monitor.c default: bad_type: term_printf("%s: unknown type '%c'\n", cmdname, c); -@@ -2035,6 +2073,7 @@ +@@ -2161,6 +2199,7 @@ return; } @@ -415,7 +415,7 @@ Index: ioemu/monitor.c static void cmd_completion(const char *name, const char *list) { const char *p, *pstart; -@@ -2222,6 +2261,11 @@ +@@ -2354,6 +2393,11 @@ for(i = 0; i < nb_args; i++) qemu_free(args[i]); } @@ -429,9 +429,9 @@ Index: ioemu/monitor.c { Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-07-14 15:50:30.496982366 +0100 -+++ ioemu/vl.c 2006-07-14 15:55:07.676401124 +0100 -@@ -423,12 +423,15 @@ +--- ioemu.orig/vl.c 2006-08-06 02:14:04.797460093 +0100 ++++ ioemu/vl.c 2006-08-06 02:14:09.802902081 +0100 +@@ -422,12 +422,15 @@ void hw_error(const char *fmt, ...) { va_list ap; @@ -447,7 +447,7 @@ Index: ioemu/vl.c for(env = first_cpu; env != NULL; env = env->next_cpu) { fprintf(stderr, "CPU #%d:\n", env->cpu_index); #ifdef TARGET_I386 -@@ -437,6 +440,7 @@ +@@ -436,6 +439,7 @@ cpu_dump_state(env, stderr, fprintf, 0); #endif } @@ -455,7 +455,7 @@ Index: ioemu/vl.c va_end(ap); abort(); } -@@ -3800,6 +3804,7 @@ +@@ -4336,6 +4340,7 @@ return ret; } @@ -463,7 +463,7 @@ Index: ioemu/vl.c /***********************************************************/ /* cpu save/restore */ -@@ -4234,6 +4239,25 @@ +@@ -4770,6 +4775,25 @@ } return 0; } @@ -489,7 +489,7 @@ Index: ioemu/vl.c /***********************************************************/ /* machine registration */ -@@ -5481,6 +5505,7 @@ +@@ -6054,6 +6078,7 @@ socket_init(); #endif @@ -497,7 +497,7 @@ Index: ioemu/vl.c /* init network clients */ if (nb_net_clients == 0) { /* if no clients, we use a default config */ -@@ -5490,6 +5515,7 @@ +@@ -6063,6 +6088,7 @@ "user"); nb_net_clients = 2; } diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/qemu-fix-memset-args --- a/tools/ioemu/patches/qemu-fix-memset-args Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/qemu-fix-memset-args Mon Aug 07 18:28:50 2006 +0100 @@ -1,8 +1,8 @@ Index: ioemu/audio/audio.c Index: ioemu/audio/audio.c =================================================================== ---- ioemu.orig/audio/audio.c 2006-07-14 13:43:45.000000000 +0100 -+++ ioemu/audio/audio.c 2006-08-04 10:18:17.243240246 +0100 -@@ -597,11 +597,11 @@ +--- ioemu.orig/audio/audio.c 2006-08-06 02:03:50.013976165 +0100 ++++ ioemu/audio/audio.c 2006-08-06 02:42:28.991609008 +0100 +@@ -605,11 +605,11 @@ } if (info->sign) { diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/qemu-fix-write-to-disk-synchronous --- a/tools/ioemu/patches/qemu-fix-write-to-disk-synchronous Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/qemu-fix-write-to-disk-synchronous Mon Aug 07 18:28:50 2006 +0100 @@ -1,7 +1,7 @@ Index: ioemu/block-vmdk.c Index: ioemu/block-vmdk.c =================================================================== ---- ioemu.orig/block-vmdk.c 2006-07-14 13:43:45.000000000 +0100 -+++ ioemu/block-vmdk.c 2006-08-04 10:27:15.368803650 +0100 +--- ioemu.orig/block-vmdk.c 2006-08-06 02:03:45.756450226 +0100 ++++ ioemu/block-vmdk.c 2006-08-06 02:42:31.884286728 +0100 @@ -96,7 +96,7 @@ uint32_t magic; int l1_size; @@ -13,8 +13,8 @@ Index: ioemu/block-vmdk.c if (fd < 0) Index: ioemu/block-qcow.c =================================================================== ---- ioemu.orig/block-qcow.c 2006-07-14 13:43:45.000000000 +0100 -+++ ioemu/block-qcow.c 2006-08-04 10:27:15.367803766 +0100 +--- ioemu.orig/block-qcow.c 2006-08-06 02:03:45.754450449 +0100 ++++ ioemu/block-qcow.c 2006-08-06 02:42:31.885286616 +0100 @@ -95,7 +95,7 @@ int fd, len, i, shift; QCowHeader header; @@ -26,8 +26,8 @@ Index: ioemu/block-qcow.c if (fd < 0) Index: ioemu/block-bochs.c =================================================================== ---- ioemu.orig/block-bochs.c 2006-07-14 13:43:45.000000000 +0100 -+++ ioemu/block-bochs.c 2006-08-04 10:27:15.345806311 +0100 +--- ioemu.orig/block-bochs.c 2006-08-06 01:55:02.225741179 +0100 ++++ ioemu/block-bochs.c 2006-08-06 02:42:31.885286616 +0100 @@ -91,7 +91,7 @@ int fd, i; struct bochs_header bochs; @@ -39,9 +39,9 @@ Index: ioemu/block-bochs.c if (fd < 0) Index: ioemu/block.c =================================================================== ---- ioemu.orig/block.c 2006-08-03 19:19:39.000000000 +0100 -+++ ioemu/block.c 2006-08-04 10:27:15.357804923 +0100 -@@ -677,7 +677,7 @@ +--- ioemu.orig/block.c 2006-08-06 02:42:18.880735483 +0100 ++++ ioemu/block.c 2006-08-06 02:42:31.886286505 +0100 +@@ -685,7 +685,7 @@ int rv; #endif @@ -52,8 +52,8 @@ Index: ioemu/block.c if (fd < 0) Index: ioemu/block-cow.c =================================================================== ---- ioemu.orig/block-cow.c 2006-07-14 13:43:45.000000000 +0100 -+++ ioemu/block-cow.c 2006-08-04 10:27:15.366803882 +0100 +--- ioemu.orig/block-cow.c 2006-08-06 02:03:45.751450783 +0100 ++++ ioemu/block-cow.c 2006-08-06 02:42:31.886286505 +0100 @@ -69,7 +69,7 @@ struct cow_header_v2 cow_header; int64_t size; @@ -65,8 +65,8 @@ Index: ioemu/block-cow.c if (fd < 0) Index: ioemu/block-cloop.c =================================================================== ---- ioemu.orig/block-cloop.c 2006-07-14 13:43:45.000000000 +0100 -+++ ioemu/block-cloop.c 2006-08-04 10:27:15.365803997 +0100 +--- ioemu.orig/block-cloop.c 2006-08-06 01:55:02.226741067 +0100 ++++ ioemu/block-cloop.c 2006-08-06 02:42:31.886286505 +0100 @@ -55,7 +55,7 @@ BDRVCloopState *s = bs->opaque; uint32_t offsets_size,max_compressed_block_size=1,i; diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/qemu-hvm-banner --- a/tools/ioemu/patches/qemu-hvm-banner Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/qemu-hvm-banner Mon Aug 07 18:28:50 2006 +0100 @@ -1,8 +1,8 @@ Index: ioemu/monitor.c Index: ioemu/monitor.c =================================================================== ---- ioemu.orig/monitor.c 2006-07-12 11:35:00.705828339 +0100 -+++ ioemu/monitor.c 2006-07-12 11:35:01.307752925 +0100 -@@ -2293,15 +2293,14 @@ +--- ioemu.orig/monitor.c 2006-08-06 02:15:01.772108510 +0100 ++++ ioemu/monitor.c 2006-08-06 02:17:10.847719223 +0100 +@@ -2425,15 +2425,14 @@ static void monitor_start_input(void) { diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/qemu-init-vgabios --- a/tools/ioemu/patches/qemu-init-vgabios Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/qemu-init-vgabios Mon Aug 07 18:28:50 2006 +0100 @@ -1,8 +1,8 @@ Index: ioemu/hw/vga.c Index: ioemu/hw/vga.c =================================================================== ---- ioemu.orig/hw/vga.c 2006-07-27 11:10:44.847738090 +0100 -+++ ioemu/hw/vga.c 2006-07-27 11:11:02.008839258 +0100 -@@ -1669,6 +1669,136 @@ +--- ioemu.orig/hw/vga.c 2006-08-06 02:22:01.441324863 +0100 ++++ ioemu/hw/vga.c 2006-08-06 02:22:46.606290142 +0100 +@@ -1728,6 +1728,136 @@ } } @@ -139,7 +139,7 @@ Index: ioemu/hw/vga.c void vga_common_init(VGAState *s, DisplayState *ds, uint8_t *vga_ram_base, unsigned long vga_ram_offset, int vga_ram_size) { -@@ -1710,6 +1840,8 @@ +@@ -1769,6 +1899,8 @@ vga_screen_dump, s); /* XXX: currently needed for display */ vga_state = s; diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/qemu-logging --- a/tools/ioemu/patches/qemu-logging Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/qemu-logging Mon Aug 07 18:28:50 2006 +0100 @@ -1,8 +1,8 @@ Index: ioemu/vl.c Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-07-27 11:16:57.756466882 +0100 -+++ ioemu/vl.c 2006-07-27 11:16:57.828458912 +0100 -@@ -4698,7 +4698,7 @@ +--- ioemu.orig/vl.c 2006-08-06 02:15:48.550893605 +0100 ++++ ioemu/vl.c 2006-08-06 02:16:31.246133963 +0100 +@@ -5234,7 +5234,7 @@ "-S freeze CPU at startup (use 'c' to start execution)\n" "-s wait gdb connection to port %d\n" "-p port change gdb connection port\n" @@ -11,7 +11,7 @@ Index: ioemu/vl.c "-hdachs c,h,s[,t] force hard disk 0 physical geometry and the optional BIOS\n" " translation (t=none or lba) (usually qemu can guess them)\n" "-L path set the directory for the BIOS and VGA BIOS\n" -@@ -4776,7 +4776,7 @@ +@@ -5307,7 +5307,7 @@ QEMU_OPTION_S, QEMU_OPTION_s, QEMU_OPTION_p, @@ -20,7 +20,7 @@ Index: ioemu/vl.c QEMU_OPTION_hdachs, QEMU_OPTION_L, #ifdef USE_CODE_COPY -@@ -4845,7 +4845,7 @@ +@@ -5380,7 +5380,7 @@ { "S", 0, QEMU_OPTION_S }, { "s", 0, QEMU_OPTION_s }, { "p", HAS_ARG, QEMU_OPTION_p }, @@ -29,16 +29,16 @@ Index: ioemu/vl.c { "hdachs", HAS_ARG, QEMU_OPTION_hdachs }, { "L", HAS_ARG, QEMU_OPTION_L }, #ifdef USE_CODE_COPY -@@ -5096,6 +5096,8 @@ - char usb_devices[MAX_VM_USB_PORTS][128]; +@@ -5640,6 +5640,8 @@ + char usb_devices[MAX_USB_CMDLINE][128]; int usb_devices_index; + char qemu_dm_logfilename[64]; + LIST_INIT (&vm_change_state_head); - #if !defined(CONFIG_SOFTMMU) - /* we never want that malloc() uses mmap() */ -@@ -5145,6 +5147,11 @@ + #ifndef _WIN32 + { +@@ -5715,6 +5717,11 @@ nb_nics = 0; /* default mac address of the first network interface */ @@ -50,7 +50,7 @@ Index: ioemu/vl.c optind = 1; for(;;) { if (optind >= argc) -@@ -5330,7 +5337,7 @@ +@@ -5905,7 +5912,7 @@ exit(1); } break; @@ -59,12 +59,3 @@ Index: ioemu/vl.c { int mask; CPULogItem *item; -@@ -5701,7 +5708,7 @@ - stk.ss_flags = 0; - - if (sigaltstack(&stk, NULL) < 0) { -- perror("sigaltstack"); -+ fprintf(logfile, "sigaltstack returned error %d\n", errno); - exit(1); - } - } diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/qemu-no-apic --- a/tools/ioemu/patches/qemu-no-apic Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/qemu-no-apic Mon Aug 07 18:28:50 2006 +0100 @@ -1,20 +1,20 @@ Index: ioemu/Makefile.target Index: ioemu/Makefile.target =================================================================== ---- ioemu.orig/Makefile.target 2006-07-12 11:35:00.704828464 +0100 -+++ ioemu/Makefile.target 2006-07-12 11:35:01.899678766 +0100 -@@ -334,7 +334,7 @@ +--- ioemu.orig/Makefile.target 2006-08-06 02:21:42.270461924 +0100 ++++ ioemu/Makefile.target 2006-08-06 02:22:26.380544784 +0100 +@@ -355,7 +355,7 @@ # Hardware support VL_OBJS+= ide.o pckbd.o ps2.o vga.o $(SOUND_HW) dma.o $(AUDIODRV) VL_OBJS+= fdc.o mc146818rtc.o serial.o i8254.o pcspk.o pc.o --VL_OBJS+= cirrus_vga.o mixeng.o apic.o parallel.o -+VL_OBJS+= cirrus_vga.o mixeng.o parallel.o +-VL_OBJS+= cirrus_vga.o mixeng.o apic.o parallel.o acpi.o piix_pci.o ++VL_OBJS+= cirrus_vga.o mixeng.o parallel.o acpi.o piix_pci.o + VL_OBJS+= usb-uhci.o DEFINES += -DHAS_AUDIO endif - ifeq ($(TARGET_BASE_ARCH), ppc) Index: ioemu/hw/pc.c =================================================================== ---- ioemu.orig/hw/pc.c 2006-07-12 11:35:01.685705573 +0100 -+++ ioemu/hw/pc.c 2006-07-12 11:35:01.900678640 +0100 +--- ioemu.orig/hw/pc.c 2006-08-06 02:22:01.524315611 +0100 ++++ ioemu/hw/pc.c 2006-08-06 02:22:11.875161758 +0100 @@ -39,7 +39,9 @@ static fdctrl_t *floppy_controller; static RTCState *rtc_state; @@ -22,10 +22,10 @@ Index: ioemu/hw/pc.c +#ifndef CONFIG_DM static IOAPICState *ioapic; +#endif /* !CONFIG_DM */ - static USBPort *usb_root_ports[2]; static void ioport80_write(void *opaque, uint32_t addr, uint32_t data) -@@ -633,9 +635,11 @@ + { +@@ -640,9 +642,11 @@ #endif /* !CONFIG_DM */ register_savevm("cpu", i, 3, cpu_save, cpu_load, env); qemu_register_reset(main_cpu_reset, env); @@ -37,7 +37,7 @@ Index: ioemu/hw/pc.c } /* allocate RAM */ -@@ -782,9 +786,11 @@ +@@ -789,9 +793,11 @@ register_ioport_read(0x92, 1, 1, ioport92_read, NULL); register_ioport_write(0x92, 1, 1, ioport92_write, NULL); diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/qemu-nobios --- a/tools/ioemu/patches/qemu-nobios Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/qemu-nobios Mon Aug 07 18:28:50 2006 +0100 @@ -1,7 +1,8 @@ diff -r 77a889b0aef8 hw/pc.c -diff -r 77a889b0aef8 hw/pc.c ---- a/hw/pc.c Wed Jun 14 19:29:20 2006 +0200 -+++ b/hw/pc.c Wed Jun 14 19:29:35 2006 +0200 -@@ -605,6 +605,8 @@ static void pc_init_ne2k_isa(NICInfo *nd +Index: ioemu/hw/pc.c +=================================================================== +--- ioemu.orig/hw/pc.c 2006-08-06 02:22:11.875161758 +0100 ++++ ioemu/hw/pc.c 2006-08-06 02:22:35.588518336 +0100 +@@ -611,6 +611,8 @@ nb_ne2k++; } @@ -10,7 +11,7 @@ diff -r 77a889b0aef8 hw/pc.c /* PC hardware initialisation */ static void pc_init1(uint64_t ram_size, int vga_ram_size, int boot_device, DisplayState *ds, const char **fd_filename, int snapshot, -@@ -612,10 +614,15 @@ static void pc_init1(uint64_t ram_size, +@@ -618,10 +620,15 @@ const char *initrd_filename, int pci_enabled) { @@ -25,9 +26,9 @@ diff -r 77a889b0aef8 hw/pc.c int bios_size, isa_bios_size; +#endif /* !NOBIOS */ PCIBus *pci_bus; + int piix3_devfn = -1; CPUState *env; - NICInfo *nd; -@@ -647,6 +654,7 @@ static void pc_init1(uint64_t ram_size, +@@ -654,6 +661,7 @@ cpu_register_physical_memory(0, ram_size, 0); #endif @@ -35,7 +36,7 @@ diff -r 77a889b0aef8 hw/pc.c /* BIOS load */ bios_offset = ram_size + vga_ram_size; vga_bios_offset = bios_offset + 256 * 1024; -@@ -675,6 +683,7 @@ static void pc_init1(uint64_t ram_size, +@@ -682,6 +690,7 @@ snprintf(buf, sizeof(buf), "%s/%s", bios_dir, VGABIOS_FILENAME); } ret = load_image(buf, phys_ram_base + vga_bios_offset); @@ -43,7 +44,7 @@ diff -r 77a889b0aef8 hw/pc.c /* setup basic memory access */ #ifndef CONFIG_DM /* HVM domain owns memory */ -@@ -682,6 +691,7 @@ static void pc_init1(uint64_t ram_size, +@@ -689,6 +698,7 @@ vga_bios_offset | IO_MEM_ROM); #endif @@ -51,7 +52,7 @@ diff -r 77a889b0aef8 hw/pc.c /* map the last 128KB of the BIOS in ISA space */ isa_bios_size = bios_size; if (isa_bios_size > (128 * 1024)) -@@ -694,6 +704,7 @@ static void pc_init1(uint64_t ram_size, +@@ -701,6 +711,7 @@ /* map all the bios at the top of memory */ cpu_register_physical_memory((uint32_t)(-bios_size), bios_size, bios_offset | IO_MEM_ROM); diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/qemu-smp --- a/tools/ioemu/patches/qemu-smp Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/qemu-smp Mon Aug 07 18:28:50 2006 +0100 @@ -1,17 +1,17 @@ Index: ioemu/vl.c Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-07-27 11:16:58.619371357 +0100 -+++ ioemu/vl.c 2006-07-27 11:16:58.823348777 +0100 -@@ -159,6 +159,8 @@ - #define MAX_CPUS 1 - #endif +--- ioemu.orig/vl.c 2006-08-06 02:18:54.847125593 +0100 ++++ ioemu/vl.c 2006-08-06 02:19:00.413505070 +0100 +@@ -158,6 +158,8 @@ + int acpi_enabled = 1; + int fd_bootchk = 1; +extern int vcpus; + int xc_handle; char domain_name[1024] = { 'H','V', 'M', 'X', 'E', 'N', '-'}; -@@ -4636,6 +4638,7 @@ +@@ -5172,6 +5174,7 @@ "-m megs set virtual RAM size to megs MB [default=%d]\n" "-smp n set the number of CPUs to 'n' [default=1]\n" "-nographic disable graphical output and redirect serial I/Os to console\n" @@ -19,23 +19,23 @@ Index: ioemu/vl.c #ifndef _WIN32 "-k language use keyboard layout (for example \"fr\" for French)\n" #endif -@@ -4810,6 +4813,7 @@ - QEMU_OPTION_vnc, +@@ -5342,6 +5345,7 @@ + QEMU_OPTION_no_acpi, QEMU_OPTION_d, + QEMU_OPTION_vcpus, }; typedef struct QEMUOption { -@@ -4887,6 +4891,7 @@ - { "cirrusvga", 0, QEMU_OPTION_cirrusvga }, +@@ -5423,6 +5427,7 @@ + { "no-acpi", 0, QEMU_OPTION_no_acpi }, { "d", HAS_ARG, QEMU_OPTION_d }, + { "vcpus", 1, QEMU_OPTION_vcpus }, { NULL }, }; -@@ -5509,6 +5514,10 @@ +@@ -6087,6 +6092,10 @@ domid = atoi(optarg); fprintf(logfile, "domid: %d\n", domid); break; diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/qemu-target-i386-dm --- a/tools/ioemu/patches/qemu-target-i386-dm Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/qemu-target-i386-dm Mon Aug 07 18:28:50 2006 +0100 @@ -1,8 +1,8 @@ Index: ioemu/Makefile.target Index: ioemu/Makefile.target =================================================================== ---- ioemu.orig/Makefile.target 2006-07-28 09:56:49.468301708 +0100 -+++ ioemu/Makefile.target 2006-07-28 09:56:58.486281629 +0100 -@@ -57,6 +57,8 @@ +--- ioemu.orig/Makefile.target 2006-08-06 02:14:09.794902973 +0100 ++++ ioemu/Makefile.target 2006-08-06 02:21:42.270461924 +0100 +@@ -62,6 +62,8 @@ QEMU_SYSTEM=qemu-fast endif @@ -11,7 +11,7 @@ Index: ioemu/Makefile.target ifdef CONFIG_USER_ONLY PROGS=$(QEMU_USER) else -@@ -274,6 +276,9 @@ +@@ -291,6 +293,9 @@ OBJS+=gdbstub.o endif @@ -21,20 +21,20 @@ Index: ioemu/Makefile.target all: $(PROGS) $(QEMU_USER): $(OBJS) -@@ -328,7 +333,7 @@ +@@ -349,7 +354,7 @@ ifeq ($(TARGET_BASE_ARCH), i386) # Hardware support VL_OBJS+= ide.o pckbd.o ps2.o vga.o $(SOUND_HW) dma.o $(AUDIODRV) -VL_OBJS+= fdc.o mc146818rtc.o serial.o i8259.o i8254.o pcspk.o pc.o +VL_OBJS+= fdc.o mc146818rtc.o serial.o i8254.o pcspk.o pc.o - VL_OBJS+= cirrus_vga.o mixeng.o apic.o parallel.o + VL_OBJS+= cirrus_vga.o mixeng.o apic.o parallel.o acpi.o piix_pci.o + VL_OBJS+= usb-uhci.o DEFINES += -DHAS_AUDIO - endif Index: ioemu/configure =================================================================== ---- ioemu.orig/configure 2006-07-28 09:56:49.469301595 +0100 -+++ ioemu/configure 2006-07-28 09:56:49.486299672 +0100 -@@ -359,6 +359,8 @@ +--- ioemu.orig/configure 2006-08-06 02:14:09.795902861 +0100 ++++ ioemu/configure 2006-08-06 02:15:01.771108621 +0100 +@@ -373,6 +373,8 @@ if [ "$user" = "yes" ] ; then target_list="i386-user arm-user armeb-user sparc-user ppc-user mips-user mipsel-user $target_list" fi @@ -45,12 +45,12 @@ Index: ioemu/configure fi Index: ioemu/monitor.c =================================================================== ---- ioemu.orig/monitor.c 2006-07-28 09:56:49.472301255 +0100 -+++ ioemu/monitor.c 2006-07-28 09:56:58.720255164 +0100 -@@ -1142,6 +1142,10 @@ - "", "show host USB devices", }, - { "profile", "", do_info_profile, +--- ioemu.orig/monitor.c 2006-08-06 02:14:49.574468309 +0100 ++++ ioemu/monitor.c 2006-08-06 02:21:16.172371202 +0100 +@@ -1262,6 +1262,10 @@ "", "show profiling information", }, + { "capture", "", do_info_capture, + "show capture information" }, +#ifdef CONFIG_DM + { "hvmiopage", "", sp_info, + "", "show HVM device model shared page info", }, @@ -60,8 +60,8 @@ Index: ioemu/monitor.c Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-07-28 09:56:49.475300916 +0100 -+++ ioemu/vl.c 2006-07-28 09:56:58.917232883 +0100 +--- ioemu.orig/vl.c 2006-08-06 02:14:09.802902081 +0100 ++++ ioemu/vl.c 2006-08-06 02:21:16.369349244 +0100 @@ -87,7 +87,7 @@ #include "exec-all.h" @@ -71,7 +71,7 @@ Index: ioemu/vl.c //#define DEBUG_UNUSED_IOPORT //#define DEBUG_IOPORT -@@ -4382,7 +4382,7 @@ +@@ -4918,7 +4918,7 @@ static QEMUResetEntry *first_reset_entry; static int reset_requested; @@ -80,7 +80,7 @@ Index: ioemu/vl.c static int powerdown_requested; void qemu_register_reset(QEMUResetHandler *func, void *opaque) -@@ -4534,6 +4534,7 @@ +@@ -5067,6 +5067,7 @@ qemu_get_clock(rt_clock)); } @@ -88,7 +88,7 @@ Index: ioemu/vl.c static CPUState *cur_cpu; int main_loop(void) -@@ -4608,6 +4609,7 @@ +@@ -5141,6 +5142,7 @@ cpu_disable_ticks(); return ret; } @@ -98,18 +98,18 @@ Index: ioemu/vl.c { Index: ioemu/vl.h =================================================================== ---- ioemu.orig/vl.h 2006-07-28 09:56:49.281322859 +0100 -+++ ioemu/vl.h 2006-07-28 09:56:58.917232883 +0100 -@@ -38,6 +38,8 @@ +--- ioemu.orig/vl.h 2006-08-06 02:13:56.733359091 +0100 ++++ ioemu/vl.h 2006-08-06 02:21:16.369349244 +0100 +@@ -37,6 +37,8 @@ + #include <unistd.h> #include <fcntl.h> #include <sys/stat.h> - #include "audio/audio.h" +#include "xenctrl.h" +#include "xs.h" #ifndef O_LARGEFILE #define O_LARGEFILE 0 -@@ -131,6 +133,11 @@ +@@ -139,6 +141,11 @@ void main_loop_wait(int timeout); @@ -121,7 +121,7 @@ Index: ioemu/vl.h extern int ram_size; extern int bios_size; extern int rtc_utc; -@@ -814,6 +821,7 @@ +@@ -873,6 +880,7 @@ uint32_t pic_intack_read(PicState2 *s); void pic_info(void); void irq_info(void); @@ -132,7 +132,7 @@ Index: ioemu/target-i386-dm/cpu.h Index: ioemu/target-i386-dm/cpu.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ ioemu/target-i386-dm/cpu.h 2006-07-28 09:56:58.572271903 +0100 ++++ ioemu/target-i386-dm/cpu.h 2006-08-06 02:21:16.023387810 +0100 @@ -0,0 +1,86 @@ +/* + * i386 virtual CPU header @@ -223,7 +223,7 @@ Index: ioemu/target-i386-dm/exec-dm.c Index: ioemu/target-i386-dm/exec-dm.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ ioemu/target-i386-dm/exec-dm.c 2006-07-28 09:58:22.882736989 +0100 ++++ ioemu/target-i386-dm/exec-dm.c 2006-08-06 02:21:16.024387698 +0100 @@ -0,0 +1,516 @@ +/* + * virtual page mapping and translated block handling @@ -744,7 +744,7 @@ Index: ioemu/target-i386-dm/helper2.c Index: ioemu/target-i386-dm/helper2.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ ioemu/target-i386-dm/helper2.c 2006-07-28 09:56:58.312301309 +0100 ++++ ioemu/target-i386-dm/helper2.c 2006-08-06 02:21:15.779415007 +0100 @@ -0,0 +1,464 @@ +/* + * i386 helpers (without register variable usage) @@ -1213,7 +1213,7 @@ Index: ioemu/target-i386-dm/i8259-dm.c Index: ioemu/target-i386-dm/i8259-dm.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ ioemu/target-i386-dm/i8259-dm.c 2006-07-28 09:56:49.492298993 +0100 ++++ ioemu/target-i386-dm/i8259-dm.c 2006-08-06 02:15:01.777107952 +0100 @@ -0,0 +1,107 @@ +/* Xen 8259 stub for interrupt controller emulation + * @@ -1325,7 +1325,7 @@ Index: ioemu/target-i386-dm/qemu-dm.debu Index: ioemu/target-i386-dm/qemu-dm.debug =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ ioemu/target-i386-dm/qemu-dm.debug 2006-07-28 09:56:49.493298880 +0100 ++++ ioemu/target-i386-dm/qemu-dm.debug 2006-08-06 02:15:01.778107841 +0100 @@ -0,0 +1,5 @@ +#!/bin/sh + @@ -1335,7 +1335,7 @@ Index: ioemu/target-i386-dm/qemu-ifup Index: ioemu/target-i386-dm/qemu-ifup =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ ioemu/target-i386-dm/qemu-ifup 2006-07-28 09:56:49.493298880 +0100 ++++ ioemu/target-i386-dm/qemu-ifup 2006-08-06 02:15:01.778107841 +0100 @@ -0,0 +1,10 @@ +#!/bin/sh + diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/qemu-timer --- a/tools/ioemu/patches/qemu-timer Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/qemu-timer Mon Aug 07 18:28:50 2006 +0100 @@ -1,8 +1,8 @@ Index: ioemu/vl.c Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-07-12 11:35:02.126650330 +0100 -+++ ioemu/vl.c 2006-07-12 11:35:02.273631916 +0100 -@@ -861,6 +861,16 @@ +--- ioemu.orig/vl.c 2006-08-06 02:22:53.925474246 +0100 ++++ ioemu/vl.c 2006-08-06 02:22:56.618174081 +0100 +@@ -824,6 +824,16 @@ } } @@ -19,16 +19,16 @@ Index: ioemu/vl.c static void timer_save(QEMUFile *f, void *opaque) { if (cpu_ticks_enabled) { -@@ -977,6 +987,8 @@ +@@ -940,6 +950,8 @@ #endif /* !defined(_WIN32) */ +#endif /* !CONFIG_DM */ + - static void init_timers(void) + static void init_timer_alarm(void) { - rt_clock = qemu_new_clock(QEMU_TIMER_REALTIME); -@@ -1011,12 +1023,15 @@ + #ifdef _WIN32 +@@ -971,12 +983,15 @@ pit_min_timer_count = ((uint64_t)10000 * PIT_FREQ) / 1000000; #else { @@ -44,7 +44,7 @@ Index: ioemu/vl.c /* timer signal */ sigfillset(&act.sa_mask); act.sa_flags = 0; -@@ -1062,6 +1077,7 @@ +@@ -1022,6 +1037,7 @@ pit_min_timer_count = ((uint64_t)itv.it_interval.tv_usec * PIT_FREQ) / 1000000; } diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/serial-non-block --- a/tools/ioemu/patches/serial-non-block Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/serial-non-block Mon Aug 07 18:28:50 2006 +0100 @@ -1,8 +1,8 @@ Index: ioemu/vl.c Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-07-12 11:35:02.880555879 +0100 -+++ ioemu/vl.c 2006-07-12 11:35:03.004540346 +0100 -@@ -1215,19 +1215,34 @@ +--- ioemu.orig/vl.c 2006-08-06 02:23:29.827472129 +0100 ++++ ioemu/vl.c 2006-08-06 02:23:36.856688561 +0100 +@@ -1175,19 +1175,34 @@ static int unix_write(int fd, const uint8_t *buf, int len1) { diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/series --- a/tools/ioemu/patches/series Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/series Mon Aug 07 18:28:50 2006 +0100 @@ -26,7 +26,6 @@ serial-non-block serial-non-block ide-hd-multithread domain-timeoffset -sdl-mouse-invisible-wall acpi-support acpi-timer-support acpi-poweroff-support diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/shadow-vram --- a/tools/ioemu/patches/shadow-vram Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/shadow-vram Mon Aug 07 18:28:50 2006 +0100 @@ -1,8 +1,8 @@ Index: ioemu/hw/vga.c Index: ioemu/hw/vga.c =================================================================== ---- ioemu.orig/hw/vga.c 2006-07-26 15:17:39.821306797 +0100 -+++ ioemu/hw/vga.c 2006-07-26 15:17:40.017285449 +0100 -@@ -1287,6 +1287,105 @@ +--- ioemu.orig/hw/vga.c 2006-08-06 02:23:29.824472464 +0100 ++++ ioemu/hw/vga.c 2006-08-06 02:23:33.873021159 +0100 +@@ -1359,6 +1359,105 @@ } } @@ -108,7 +108,7 @@ Index: ioemu/hw/vga.c /* * graphic modes */ -@@ -1382,6 +1481,11 @@ +@@ -1454,6 +1553,11 @@ printf("w=%d h=%d v=%d line_offset=%d cr[0x09]=0x%02x cr[0x17]=0x%02x linecmp=%d sr[0x01]=0x%02x\n", width, height, v, line_offset, s->cr[9], s->cr[0x17], s->line_compare, s->sr[0x01]); #endif @@ -120,7 +120,7 @@ Index: ioemu/hw/vga.c addr1 = (s->start_addr * 4); bwidth = width * 4; y_start = -1; -@@ -1830,6 +1934,14 @@ +@@ -1889,6 +1993,14 @@ vga_reset(s); @@ -137,9 +137,9 @@ Index: ioemu/hw/vga.c s->vram_size = vga_ram_size; Index: ioemu/hw/vga_int.h =================================================================== ---- ioemu.orig/hw/vga_int.h 2006-07-26 15:17:39.822306688 +0100 -+++ ioemu/hw/vga_int.h 2006-07-26 15:17:40.017285449 +0100 -@@ -76,6 +76,7 @@ +--- ioemu.orig/hw/vga_int.h 2006-08-06 02:23:29.824472464 +0100 ++++ ioemu/hw/vga_int.h 2006-08-06 02:23:33.874021048 +0100 +@@ -79,6 +79,7 @@ #define VGA_STATE_COMMON \ uint8_t *vram_ptr; \ diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/shared-vram --- a/tools/ioemu/patches/shared-vram Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/shared-vram Mon Aug 07 18:28:50 2006 +0100 @@ -1,7 +1,7 @@ Index: ioemu/hw/cirrus_vga.c Index: ioemu/hw/cirrus_vga.c =================================================================== ---- ioemu.orig/hw/cirrus_vga.c 2006-07-27 11:16:53.059986783 +0100 -+++ ioemu/hw/cirrus_vga.c 2006-07-27 11:16:59.923227020 +0100 +--- ioemu.orig/hw/cirrus_vga.c 2006-08-06 01:55:02.822674718 +0100 ++++ ioemu/hw/cirrus_vga.c 2006-08-06 02:23:29.822472686 +0100 @@ -28,6 +28,9 @@ */ #include "vl.h" @@ -176,9 +176,9 @@ Index: ioemu/hw/cirrus_vga.c } Index: ioemu/hw/pc.c =================================================================== ---- ioemu.orig/hw/pc.c 2006-07-27 11:16:59.759245173 +0100 -+++ ioemu/hw/pc.c 2006-07-27 11:16:59.924226909 +0100 -@@ -783,14 +783,14 @@ +--- ioemu.orig/hw/pc.c 2006-08-06 02:23:07.875919141 +0100 ++++ ioemu/hw/pc.c 2006-08-06 02:23:29.823472575 +0100 +@@ -790,14 +790,14 @@ if (cirrus_vga_enabled) { if (pci_enabled) { pci_cirrus_vga_init(pci_bus, @@ -198,9 +198,9 @@ Index: ioemu/hw/pc.c Index: ioemu/hw/vga.c =================================================================== ---- ioemu.orig/hw/vga.c 2006-07-27 11:16:59.103317784 +0100 -+++ ioemu/hw/vga.c 2006-07-27 11:16:59.925226798 +0100 -@@ -1799,6 +1799,7 @@ +--- ioemu.orig/hw/vga.c 2006-08-06 02:22:46.606290142 +0100 ++++ ioemu/hw/vga.c 2006-08-06 02:23:29.824472464 +0100 +@@ -1858,6 +1858,7 @@ /* TODO: add vbe support if enabled */ } @@ -208,7 +208,7 @@ Index: ioemu/hw/vga.c void vga_common_init(VGAState *s, DisplayState *ds, uint8_t *vga_ram_base, unsigned long vga_ram_offset, int vga_ram_size) { -@@ -1829,7 +1830,7 @@ +@@ -1888,7 +1889,7 @@ vga_reset(s); @@ -217,7 +217,7 @@ Index: ioemu/hw/vga.c s->vram_offset = vga_ram_offset; s->vram_size = vga_ram_size; s->ds = ds; -@@ -1943,6 +1944,31 @@ +@@ -2002,6 +2003,31 @@ return 0; } @@ -251,9 +251,9 @@ Index: ioemu/hw/vga.c Index: ioemu/hw/vga_int.h =================================================================== ---- ioemu.orig/hw/vga_int.h 2006-07-27 11:16:57.447501084 +0100 -+++ ioemu/hw/vga_int.h 2006-07-27 11:16:59.925226798 +0100 -@@ -166,5 +166,6 @@ +--- ioemu.orig/hw/vga_int.h 2006-08-06 02:14:09.797902638 +0100 ++++ ioemu/hw/vga_int.h 2006-08-06 02:23:29.824472464 +0100 +@@ -169,5 +169,6 @@ unsigned int color0, unsigned int color1, unsigned int color_xor); @@ -262,9 +262,9 @@ Index: ioemu/hw/vga_int.h extern const uint8_t gr_mask[16]; Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-07-27 11:16:59.762244841 +0100 -+++ ioemu/vl.c 2006-07-27 11:16:59.928226466 +0100 -@@ -5149,6 +5149,78 @@ +--- ioemu.orig/vl.c 2006-08-06 02:23:07.878918807 +0100 ++++ ioemu/vl.c 2006-08-06 02:23:29.827472129 +0100 +@@ -5693,6 +5693,78 @@ #define MAX_NET_CLIENTS 32 @@ -345,9 +345,9 @@ Index: ioemu/vl.c #ifdef CONFIG_GDBSTUB Index: ioemu/vl.h =================================================================== ---- ioemu.orig/vl.h 2006-07-27 11:16:59.549268417 +0100 -+++ ioemu/vl.h 2006-07-27 11:16:59.929226356 +0100 -@@ -136,6 +136,13 @@ +--- ioemu.orig/vl.h 2006-08-06 02:23:02.271543880 +0100 ++++ ioemu/vl.h 2006-08-06 02:23:29.828472018 +0100 +@@ -144,6 +144,13 @@ void main_loop_wait(int timeout); diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/support-xm-console --- a/tools/ioemu/patches/support-xm-console Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/support-xm-console Mon Aug 07 18:28:50 2006 +0100 @@ -1,8 +1,8 @@ Index: ioemu/vl.c Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-07-27 11:16:59.384286681 +0100 -+++ ioemu/vl.c 2006-07-27 11:16:59.614261222 +0100 -@@ -1535,26 +1535,65 @@ +--- ioemu.orig/vl.c 2006-08-06 02:22:59.254880158 +0100 ++++ ioemu/vl.c 2006-08-06 02:23:05.216215627 +0100 +@@ -1536,26 +1536,65 @@ return chr; } @@ -77,7 +77,7 @@ Index: ioemu/vl.c return qemu_chr_open_fd(master_fd, master_fd); } -@@ -5298,7 +5337,9 @@ +@@ -5868,7 +5907,9 @@ break; case QEMU_OPTION_nographic: pstrcpy(monitor_device, sizeof(monitor_device), "stdio"); diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/vnc-access-monitor-vt --- a/tools/ioemu/patches/vnc-access-monitor-vt Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/vnc-access-monitor-vt Mon Aug 07 18:28:50 2006 +0100 @@ -1,7 +1,7 @@ Index: ioemu/vnc.c Index: ioemu/vnc.c =================================================================== ---- ioemu.orig/vnc.c 2006-07-26 14:33:57.906165040 +0100 -+++ ioemu/vnc.c 2006-07-26 14:44:09.972552689 +0100 +--- ioemu.orig/vnc.c 2006-08-07 17:44:33.084748631 +0100 ++++ ioemu/vnc.c 2006-08-07 17:44:33.224733389 +0100 @@ -32,6 +32,10 @@ #include "vnc_keysym.h" #include "keymaps.c" @@ -13,15 +13,16 @@ Index: ioemu/vnc.c typedef struct Buffer { size_t capacity; -@@ -64,6 +68,7 @@ - Buffer output; - Buffer input; - kbd_layout_t *kbd_layout; +@@ -95,6 +99,8 @@ + int visible_h; + + int slow_client; ++ + int ctl_keys; /* Ctrl+Alt starts calibration */ + }; - VncReadEvent *read_handler; - size_t read_handler_expect; -@@ -679,16 +684,80 @@ + #define DIRTY_PIXEL_BITS 64 +@@ -794,16 +800,80 @@ static void do_key_event(VncState *vs, int down, uint32_t sym) { diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/vnc-cleanup --- a/tools/ioemu/patches/vnc-cleanup Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/vnc-cleanup Mon Aug 07 18:28:50 2006 +0100 @@ -1,8 +1,8 @@ Index: ioemu/vnc.c Index: ioemu/vnc.c =================================================================== ---- ioemu.orig/vnc.c 2006-08-04 10:42:19.575024607 +0100 -+++ ioemu/vnc.c 2006-08-04 10:42:26.918176009 +0100 -@@ -83,13 +83,16 @@ +--- ioemu.orig/vnc.c 2006-08-07 17:42:21.888055419 +0100 ++++ ioemu/vnc.c 2006-08-07 17:42:28.001363557 +0100 +@@ -143,13 +143,16 @@ static void vnc_dpy_update(DisplayState *ds, int x, int y, int w, int h) { VncState *vs = ds->opaque; @@ -17,12 +17,12 @@ Index: ioemu/vnc.c for (; y < h; y++) - for (i = 0; i < w; i += 16) -- vs->dirty_row[y] |= (1ULL << ((x + i) / 16)); +- vnc_set_bit(vs->dirty_row[y], (x + i) / 16); + vs->dirty_row[y] |= mask; } static void vnc_framebuffer_update(VncState *vs, int x, int y, int w, int h, -@@ -262,6 +265,7 @@ +@@ -373,6 +376,7 @@ static void vnc_update_client(void *opaque) { VncState *vs = opaque; @@ -30,16 +30,16 @@ Index: ioemu/vnc.c if (vs->need_update && vs->csock != -1) { int y; -@@ -282,7 +286,7 @@ +@@ -390,7 +394,7 @@ row = vs->ds->data; old_row = vs->old_data; - for (y = 0; y < vs->height; y++) { + for (y = 0; y < vs->ds->height; y++) { - if (vs->dirty_row[y] & width_mask) { + if (vnc_and_bits(vs->dirty_row[y], width_mask, VNC_DIRTY_WORDS)) { int x; char *ptr, *old_ptr; -@@ -307,10 +311,8 @@ +@@ -415,10 +419,8 @@ old_row += vs->ds->linesize; } @@ -52,7 +52,7 @@ Index: ioemu/vnc.c /* Count rectangles */ n_rectangles = 0; -@@ -348,7 +350,9 @@ +@@ -456,7 +458,9 @@ vnc_flush(vs); } @@ -65,9 +65,9 @@ Index: ioemu/vnc.c static void vnc_timer_init(VncState *vs) Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-08-04 10:42:26.723198541 +0100 -+++ ioemu/vl.c 2006-08-04 10:42:26.921175663 +0100 -@@ -4589,10 +4589,10 @@ +--- ioemu.orig/vl.c 2006-08-07 17:42:27.807385506 +0100 ++++ ioemu/vl.c 2006-08-07 17:42:28.004363230 +0100 +@@ -5120,10 +5120,10 @@ /* XXX: better handling of removal */ for(ioh = first_io_handler; ioh != NULL; ioh = ioh_next) { ioh_next = ioh->next; diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/vnc-fixes --- a/tools/ioemu/patches/vnc-fixes Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/vnc-fixes Mon Aug 07 18:28:50 2006 +0100 @@ -1,10 +1,10 @@ Index: ioemu/vl.c Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-08-04 10:57:29.116972627 +0100 -+++ ioemu/vl.c 2006-08-04 10:57:29.186964560 +0100 -@@ -6026,8 +6026,10 @@ - kernel_filename, kernel_cmdline, initrd_filename, - timeoffset); +--- ioemu.orig/vl.c 2006-08-07 17:42:28.004363230 +0100 ++++ ioemu/vl.c 2006-08-07 17:43:16.361100898 +0100 +@@ -6516,8 +6516,10 @@ + } + } - gui_timer = qemu_new_timer(rt_clock, gui_update, NULL); - qemu_mod_timer(gui_timer, qemu_get_clock(rt_clock)); @@ -17,8 +17,8 @@ Index: ioemu/vl.c if (use_gdbstub) { Index: ioemu/vnc.c =================================================================== ---- ioemu.orig/vnc.c 2006-08-04 10:57:29.114972858 +0100 -+++ ioemu/vnc.c 2006-08-04 10:57:29.187964445 +0100 +--- ioemu.orig/vnc.c 2006-08-07 17:42:28.001363557 +0100 ++++ ioemu/vnc.c 2006-08-07 17:43:33.593225293 +0100 @@ -3,6 +3,7 @@ * * Copyright (C) 2006 Anthony Liguori <anthony@xxxxxxxxxxxxx> @@ -27,20 +27,32 @@ Index: ioemu/vnc.c * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal -@@ -51,7 +52,11 @@ +@@ -50,9 +51,11 @@ + uint32_t *last_fg, + int *has_bg, int *has_fg); + ++#if 0 + #define VNC_MAX_WIDTH 2048 + #define VNC_MAX_HEIGHT 2048 + #define VNC_DIRTY_WORDS (VNC_MAX_WIDTH / (16 * 32)) ++#endif + + struct VncState + { +@@ -63,7 +66,11 @@ int need_update; int width; int height; -- uint64_t dirty_row[768]; +- uint32_t dirty_row[VNC_MAX_HEIGHT][VNC_DIRTY_WORDS]; + uint64_t *dirty_row; /* screen regions which are possibly dirty */ + int dirty_pixel_shift; + uint64_t *update_row; /* outstanding updates */ + int has_update; /* there's outstanding updates in the + * visible area */ char *old_data; - int depth; + int depth; /* internal VNC frame buffer byte per pixel */ int has_resize; -@@ -62,13 +67,25 @@ +@@ -81,13 +88,25 @@ VncReadEvent *read_handler; size_t read_handler_expect; @@ -67,7 +79,7 @@ Index: ioemu/vnc.c */ static void vnc_write(VncState *vs, const void *data, size_t len); -@@ -77,22 +94,38 @@ +@@ -96,9 +115,12 @@ static void vnc_write_u16(VncState *vs, uint16_t value); static void vnc_write_u8(VncState *vs, uint8_t value); static void vnc_flush(VncState *vs); @@ -76,6 +88,16 @@ Index: ioemu/vnc.c static void vnc_client_read(void *opaque); +static void framebuffer_set_updated(VncState *vs, int x, int y, int w, int h); ++#if 0 + static inline void vnc_set_bit(uint32_t *d, int k) + { + d[k >> 5] |= 1 << (k & 0x1f); +@@ -139,20 +161,35 @@ + } + return 0; + } ++#endif + -static void vnc_dpy_update(DisplayState *ds, int x, int y, int w, int h) +static void set_bits_in_row(VncState *vs, uint64_t *row, + int x, int y, int w, int h) @@ -112,7 +134,7 @@ Index: ioemu/vnc.c } static void vnc_framebuffer_update(VncState *vs, int x, int y, int w, int h, -@@ -109,16 +142,23 @@ +@@ -169,16 +206,23 @@ static void vnc_dpy_resize(DisplayState *ds, int w, int h) { VncState *vs = ds->opaque; @@ -138,7 +160,7 @@ Index: ioemu/vnc.c ds->width = w; ds->height = h; ds->linesize = w * vs->depth; -@@ -131,6 +171,10 @@ +@@ -191,6 +235,10 @@ vs->width = ds->width; vs->height = ds->height; } @@ -148,8 +170,8 @@ Index: ioemu/vnc.c + framebuffer_set_updated(vs, 0, 0, ds->width, ds->height); } - static void send_framebuffer_update_raw(VncState *vs, int x, int y, int w, int h) -@@ -215,8 +259,20 @@ + /* fastest code */ +@@ -326,8 +374,20 @@ int y = 0; int pitch = ds->linesize; VncState *vs = ds->opaque; @@ -171,7 +193,7 @@ Index: ioemu/vnc.c if (dst_y > src_y) { y = h - 1; -@@ -238,31 +294,34 @@ +@@ -349,31 +409,34 @@ old_row += pitch; } @@ -202,11 +224,11 @@ Index: ioemu/vnc.c - for (h = 1; h < (vs->height - y); h++) { + for (h = 1; y + h < maxy; h++) { int tmp_x; -- if (!(vs->dirty_row[y + h] & (1ULL << last_x))) +- if (!vnc_get_bit(vs->dirty_row[y + h], last_x)) + if (!(vs->update_row[y + h] & (1ULL << last_x))) break; for (tmp_x = last_x; tmp_x < x; tmp_x++) -- vs->dirty_row[y + h] &= ~(1ULL << tmp_x); +- vnc_clear_bit(vs->dirty_row[y + h], tmp_x); + vs->update_row[y + h] &= ~(1ULL << tmp_x); } @@ -218,30 +240,41 @@ Index: ioemu/vnc.c { VncState *vs = opaque; int64_t now = qemu_get_clock(rt_clock); -@@ -274,11 +333,12 @@ - uint64_t width_mask; +@@ -382,12 +445,16 @@ + int y; + char *row; + char *old_row; +- uint32_t width_mask[VNC_DIRTY_WORDS]; ++ uint64_t width_mask; int n_rectangles; int saved_offset; - int has_dirty = 0; -- -- width_mask = (1ULL << (vs->width / 16)) - 1; + int maxx, maxy; + int tile_bytes = vs->depth * DP2X(vs, 1); -- if (vs->width == 1024) +- vnc_set_bits(width_mask, (vs->width / 16), VNC_DIRTY_WORDS); + if (vs->width != DP2X(vs, DIRTY_PIXEL_BITS)) + width_mask = (1ULL << X2DP_UP(vs, vs->ds->width)) - 1; + else - width_mask = ~(0ULL); ++ width_mask = ~(0ULL); /* Walk through the dirty map and eliminate tiles that -@@ -294,16 +354,18 @@ + really aren't dirty */ +@@ -395,23 +462,25 @@ + old_row = vs->old_data; + + for (y = 0; y < vs->ds->height; y++) { +- if (vnc_and_bits(vs->dirty_row[y], width_mask, VNC_DIRTY_WORDS)) { ++ if (vs->dirty_row[y] & width_mask) { + int x; + char *ptr, *old_ptr; + ptr = row; old_ptr = old_row; - for (x = 0; x < vs->ds->width; x += 16) { - if (memcmp(old_ptr, ptr, 16 * vs->depth) == 0) { -- vs->dirty_row[y] &= ~(1ULL << (x / 16)); +- vnc_clear_bit(vs->dirty_row[y], (x / 16)); - } else { - has_dirty = 1; - memcpy(old_ptr, ptr, 16 * vs->depth); @@ -262,7 +295,7 @@ Index: ioemu/vnc.c } } -@@ -311,7 +373,8 @@ +@@ -419,7 +488,8 @@ old_row += vs->ds->linesize; } @@ -272,7 +305,7 @@ Index: ioemu/vnc.c goto out; /* Count rectangles */ -@@ -321,40 +384,61 @@ +@@ -429,40 +499,61 @@ saved_offset = vs->output.offset; vnc_write_u16(vs, 0); @@ -288,7 +321,7 @@ Index: ioemu/vnc.c int x; int last_x = -1; - for (x = 0; x < vs->width / 16; x++) { -- if (vs->dirty_row[y] & (1ULL << x)) { +- if (vnc_get_bit(vs->dirty_row[y], x)) { - if (last_x == -1) { + for (x = X2DP_DOWN(vs, vs->visible_x); + x < X2DP_UP(vs, maxx); x++) { @@ -296,7 +329,7 @@ Index: ioemu/vnc.c + if (last_x == -1) last_x = x; - } -- vs->dirty_row[y] &= ~(1ULL << x); +- vnc_clear_bit(vs->dirty_row[y], x); + vs->update_row[y] &= ~(1ULL << x); } else { if (last_x != -1) { @@ -346,7 +379,7 @@ Index: ioemu/vnc.c static void vnc_timer_init(VncState *vs) { if (vs->timer == NULL) { -@@ -365,8 +449,6 @@ +@@ -473,8 +564,6 @@ static void vnc_dpy_refresh(DisplayState *ds) { @@ -355,7 +388,7 @@ Index: ioemu/vnc.c vga_hw_update(); } -@@ -402,7 +484,7 @@ +@@ -510,7 +599,7 @@ static void buffer_reset(Buffer *buffer) { @@ -364,7 +397,7 @@ Index: ioemu/vnc.c } static void buffer_append(Buffer *buffer, const void *data, size_t len) -@@ -443,12 +525,12 @@ +@@ -551,12 +640,12 @@ if (!ret) return; @@ -380,7 +413,7 @@ Index: ioemu/vnc.c } static void vnc_read_when(VncState *vs, VncReadEvent *func, size_t expecting) -@@ -480,11 +562,11 @@ +@@ -588,11 +677,11 @@ return; if (!ret) { @@ -395,7 +428,7 @@ Index: ioemu/vnc.c } } -@@ -492,9 +574,9 @@ +@@ -600,9 +689,9 @@ { buffer_reserve(&vs->output, len); @@ -408,7 +441,7 @@ Index: ioemu/vnc.c buffer_append(&vs->output, data, len); } -@@ -616,24 +698,25 @@ +@@ -724,22 +813,25 @@ do_key_event(vs, down, sym); } @@ -430,10 +463,8 @@ Index: ioemu/vnc.c - char *old_row = vs->old_data + y_position * vs->ds->linesize; - - for (i = 0; i < h; i++) { -- vs->dirty_row[y_position + i] = (1ULL << (vs->ds->width / 16)) - 1; -- if (vs->ds->width == 1024) { -- vs->dirty_row[y_position + i] = ~(0ULL); -- } +- vnc_set_bits(vs->dirty_row[y_position + i], +- (vs->ds->width / 16), VNC_DIRTY_WORDS); - memset(old_row, 42, vs->ds->width * vs->depth); - old_row += vs->ds->linesize; - } @@ -447,8 +478,8 @@ Index: ioemu/vnc.c } static void set_encodings(VncState *vs, int32_t *encodings, size_t n_encodings) -@@ -690,8 +773,6 @@ - vnc_client_error(vs); +@@ -845,8 +937,6 @@ + } vnc_dpy_resize(vs->ds, vs->ds->width, vs->ds->height); - memset(vs->dirty_row, 0xFF, sizeof(vs->dirty_row)); @@ -456,7 +487,7 @@ Index: ioemu/vnc.c vga_hw_invalidate(); vga_hw_update(); -@@ -848,11 +929,11 @@ +@@ -1012,11 +1102,11 @@ vnc_write(vs, "RFB 003.003\n", 12); vnc_flush(vs); vnc_read_when(vs, protocol_version, 12); @@ -470,7 +501,7 @@ Index: ioemu/vnc.c } } -@@ -909,17 +990,15 @@ +@@ -1073,17 +1163,15 @@ exit(1); } @@ -493,9 +524,9 @@ Index: ioemu/vnc.c } Index: ioemu/vl.h =================================================================== ---- ioemu.orig/vl.h 2006-08-04 10:57:28.925994639 +0100 -+++ ioemu/vl.h 2006-08-04 10:57:29.187964445 +0100 -@@ -302,6 +302,7 @@ +--- ioemu.orig/vl.h 2006-08-07 17:42:27.807385506 +0100 ++++ ioemu/vl.h 2006-08-07 17:43:16.361100898 +0100 +@@ -318,6 +318,7 @@ int is_graphic_console(void); CharDriverState *text_console_init(DisplayState *ds); void console_select(unsigned int index); diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/vnc-start-vncviewer --- a/tools/ioemu/patches/vnc-start-vncviewer Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/vnc-start-vncviewer Mon Aug 07 18:28:50 2006 +0100 @@ -1,8 +1,8 @@ Index: ioemu/vnc.c Index: ioemu/vnc.c =================================================================== ---- ioemu.orig/vnc.c 2006-08-04 10:57:29.187964445 +0100 -+++ ioemu/vnc.c 2006-08-04 10:57:29.351945544 +0100 -@@ -1002,3 +1002,25 @@ +--- ioemu.orig/vnc.c 2006-08-07 17:44:32.852773890 +0100 ++++ ioemu/vnc.c 2006-08-07 17:44:32.915767031 +0100 +@@ -1175,3 +1175,25 @@ vnc_dpy_resize(vs->ds, 640, 400); } @@ -30,9 +30,9 @@ Index: ioemu/vnc.c +} Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-08-04 10:57:29.186964560 +0100 -+++ ioemu/vl.c 2006-08-04 10:57:29.354945198 +0100 -@@ -121,6 +121,7 @@ +--- ioemu.orig/vl.c 2006-08-07 17:44:32.851773999 +0100 ++++ ioemu/vl.c 2006-08-07 17:44:32.918766704 +0100 +@@ -120,6 +120,7 @@ int bios_size; static DisplayState display_state; int nographic; @@ -40,7 +40,7 @@ Index: ioemu/vl.c const char* keyboard_layout = NULL; int64_t ticks_per_sec; int boot_device = 'c'; -@@ -4804,6 +4805,7 @@ +@@ -5340,6 +5341,7 @@ #endif "-loadvm file start right away with a saved state (loadvm in monitor)\n" "-vnc display start a VNC server on display\n" @@ -48,15 +48,15 @@ Index: ioemu/vl.c "-timeoffset time offset (in seconds) from local time\n" "-acpi disable or enable ACPI of HVM domain \n" "\n" -@@ -4893,6 +4895,7 @@ - QEMU_OPTION_usbdevice, - QEMU_OPTION_smp, - QEMU_OPTION_vnc, +@@ -5428,6 +5430,7 @@ + QEMU_OPTION_vcpus, + QEMU_OPTION_timeoffset, + QEMU_OPTION_acpi, + QEMU_OPTION_vncviewer, + }; - QEMU_OPTION_d, - QEMU_OPTION_vcpus, -@@ -4969,6 +4972,7 @@ + typedef struct QEMUOption { +@@ -5502,6 +5505,7 @@ { "usbdevice", HAS_ARG, QEMU_OPTION_usbdevice }, { "smp", HAS_ARG, QEMU_OPTION_smp }, { "vnc", HAS_ARG, QEMU_OPTION_vnc }, @@ -64,7 +64,7 @@ Index: ioemu/vl.c /* temporary options */ { "usb", 0, QEMU_OPTION_usb }, -@@ -5300,6 +5304,7 @@ +@@ -5868,6 +5872,7 @@ #endif snapshot = 0; nographic = 0; @@ -72,17 +72,17 @@ Index: ioemu/vl.c kernel_filename = NULL; kernel_cmdline = ""; #ifdef TARGET_PPC -@@ -5669,6 +5674,9 @@ - exit(1); - } - break; +@@ -6262,6 +6267,9 @@ + case QEMU_OPTION_acpi: + acpi_enabled = 1; + break; + case QEMU_OPTION_vncviewer: + vncviewer++; + break; - case QEMU_OPTION_domainname: - strncat(domain_name, optarg, sizeof(domain_name) - 20); - break; -@@ -5933,6 +5941,8 @@ + } + } + } +@@ -6458,6 +6466,8 @@ dumb_display_init(ds); } else if (vnc_display != -1) { vnc_display_init(ds, vnc_display); @@ -93,9 +93,9 @@ Index: ioemu/vl.c sdl_display_init(ds, full_screen); Index: ioemu/vl.h =================================================================== ---- ioemu.orig/vl.h 2006-08-04 10:57:29.187964445 +0100 -+++ ioemu/vl.h 2006-08-04 10:57:29.355945083 +0100 -@@ -734,6 +734,7 @@ +--- ioemu.orig/vl.h 2006-08-07 17:44:32.853773781 +0100 ++++ ioemu/vl.h 2006-08-07 17:44:32.919766595 +0100 +@@ -785,6 +785,7 @@ /* vnc.c */ void vnc_display_init(DisplayState *ds, int display); diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/vnc-title-domain-name --- a/tools/ioemu/patches/vnc-title-domain-name Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/vnc-title-domain-name Mon Aug 07 18:28:50 2006 +0100 @@ -1,8 +1,8 @@ Index: ioemu/vnc.c Index: ioemu/vnc.c =================================================================== ---- ioemu.orig/vnc.c 2006-07-26 14:23:52.426074956 +0100 -+++ ioemu/vnc.c 2006-07-26 14:24:15.210558295 +0100 -@@ -850,6 +850,7 @@ +--- ioemu.orig/vnc.c 2006-08-07 17:44:32.915767031 +0100 ++++ ioemu/vnc.c 2006-08-07 17:44:33.084748631 +0100 +@@ -1014,6 +1014,7 @@ static int protocol_client_init(VncState *vs, char *data, size_t len) { @@ -10,7 +10,7 @@ Index: ioemu/vnc.c char pad[3] = { 0, 0, 0 }; vs->width = vs->ds->width; -@@ -886,8 +887,10 @@ +@@ -1059,8 +1060,10 @@ vnc_write(vs, pad, 3); /* padding */ diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/xen-build --- a/tools/ioemu/patches/xen-build Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/xen-build Mon Aug 07 18:28:50 2006 +0100 @@ -1,29 +1,38 @@ Index: ioemu/Makefile Index: ioemu/Makefile =================================================================== ---- ioemu.orig/Makefile 2006-07-25 14:18:33.163941149 +0100 -+++ ioemu/Makefile 2006-07-25 14:24:31.695096861 +0100 -@@ -1,6 +1,9 @@ +--- ioemu.orig/Makefile 2006-08-06 02:03:44.915543858 +0100 ++++ ioemu/Makefile 2006-08-06 02:11:33.461331417 +0100 +@@ -1,11 +1,14 @@ + # Makefile for QEMU. + -include config-host.mak +XEN_ROOT=../.. +include $(XEN_ROOT)/tools/Rules.mk ++ ++-include config-host.mak + + .PHONY: all clean distclean dvi info install install-doc tar tarbin \ + speed test test2 html dvi info -CFLAGS=-Wall -O2 -g -fno-strict-aliasing -I. -+-include config-host.mak -+ +CFLAGS+=-Wall -O2 -g -fno-strict-aliasing -I. ifdef CONFIG_DARWIN CFLAGS+= -mdynamic-no-pic endif -@@ -17,7 +20,7 @@ +@@ -25,9 +28,11 @@ DOCS= endif --all: dyngen$(EXESUF) $(TOOLS) $(DOCS) -+all: $(DOCS) - for d in $(TARGET_DIRS); do \ - $(MAKE) -C $$d $@ || exit 1 ; \ - done -@@ -34,7 +37,7 @@ ++TOOLS= ++ + all: $(TOOLS) $(DOCS) recurse-all + +-subdir-%: dyngen$(EXESUF) ++subdir-%: + $(MAKE) -C $(subst subdir-,,$@) all + + recurse-all: $(patsubst %,subdir-%, $(TARGET_DIRS)) +@@ -44,7 +49,7 @@ rm -f *.o *.a $(TOOLS) dyngen$(EXESUF) TAGS *.pod *~ */*~ $(MAKE) -C tests clean for d in $(TARGET_DIRS); do \ @@ -32,26 +41,26 @@ Index: ioemu/Makefile done distclean: clean -@@ -57,12 +60,12 @@ +@@ -68,12 +73,12 @@ install: all $(if $(BUILD_DOCS),install-doc) mkdir -p "$(DESTDIR)$(bindir)" - $(INSTALL) -m 755 -s $(TOOLS) "$(DESTDIR)$(bindir)" - mkdir -p "$(DESTDIR)$(datadir)" - for x in bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \ -- video.x proll.elf linux_boot.bin; do \ +- video.x openbios-sparc32 linux_boot.bin; do \ - $(INSTALL) -m 644 $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \ - done +# $(INSTALL) -m 755 -s $(TOOLS) "$(DESTDIR)$(bindir)" +# mkdir -p "$(DESTDIR)$(datadir)" +# for x in bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \ -+# video.x proll.elf linux_boot.bin; do \ ++# video.x openbios-sparc32 linux_boot.bin; do \ +# $(INSTALL) -m 644 $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \ +# done ifndef CONFIG_WIN32 mkdir -p "$(DESTDIR)$(datadir)/keymaps" for x in $(KEYMAPS); do \ -@@ -96,11 +99,11 @@ +@@ -107,11 +112,11 @@ texi2dvi $< qemu.1: qemu-doc.texi @@ -64,11 +73,11 @@ Index: ioemu/Makefile + perl -w $(SRC_PATH)/texi2pod.pl $< qemu-img.pod pod2man --section=1 --center=" " --release=" " qemu-img.pod > $@ - FILE=qemu-$(shell cat VERSION) + info: qemu-doc.info qemu-tech.info Index: ioemu/Makefile.target =================================================================== ---- ioemu.orig/Makefile.target 2006-07-25 14:18:33.163941149 +0100 -+++ ioemu/Makefile.target 2006-07-25 14:24:17.501562050 +0100 +--- ioemu.orig/Makefile.target 2006-08-06 02:03:44.922543079 +0100 ++++ ioemu/Makefile.target 2006-08-06 02:09:22.320951557 +0100 @@ -1,5 +1,8 @@ include config.mak @@ -102,7 +111,7 @@ Index: ioemu/Makefile.target #CFLAGS+=-Werror LDFLAGS=-g LIBS= -@@ -155,6 +165,9 @@ +@@ -167,6 +177,9 @@ DEFINES+=-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE LIBS+=-lm @@ -112,7 +121,7 @@ Index: ioemu/Makefile.target ifndef CONFIG_USER_ONLY LIBS+=-lz endif -@@ -264,7 +277,7 @@ +@@ -281,7 +294,7 @@ all: $(PROGS) $(QEMU_USER): $(OBJS) @@ -121,7 +130,7 @@ Index: ioemu/Makefile.target ifeq ($(ARCH),alpha) # Mark as 32 bit binary, i. e. it will be mapped into the low 31 bit of # the address space (31 bit so sign extending doesn't matter) -@@ -490,10 +503,16 @@ +@@ -528,10 +541,16 @@ clean: rm -f *.o *.a *~ $(PROGS) gen-op.h opc.h op.h nwfpe/*.o slirp/*.o fpu/*.o @@ -140,8 +149,8 @@ Index: ioemu/Makefile.target include .depend Index: ioemu/configure =================================================================== ---- ioemu.orig/configure 2006-07-25 14:18:33.163941149 +0100 -+++ ioemu/configure 2006-07-25 14:24:17.501562050 +0100 +--- ioemu.orig/configure 2006-08-06 02:03:45.783447220 +0100 ++++ ioemu/configure 2006-08-06 02:09:41.076860544 +0100 @@ -18,8 +18,8 @@ # default parameters @@ -169,7 +178,7 @@ Index: ioemu/configure softmmu="yes" user="no" build_docs="no" -@@ -366,6 +367,8 @@ +@@ -380,6 +381,8 @@ exit 1 fi @@ -178,7 +187,7 @@ Index: ioemu/configure if test -z "$cross_prefix" ; then # --- -@@ -491,14 +494,16 @@ +@@ -505,14 +508,16 @@ datadir="$prefix" docdir="$prefix" bindir="$prefix" @@ -197,7 +206,7 @@ Index: ioemu/configure fi echo "Install prefix $prefix" -@@ -567,6 +572,8 @@ +@@ -583,6 +588,8 @@ echo "mandir=$mandir" >> $config_mak echo "datadir=$datadir" >> $config_mak echo "docdir=$docdir" >> $config_mak @@ -206,7 +215,7 @@ Index: ioemu/configure echo "#define CONFIG_QEMU_SHAREDIR \"$datadir\"" >> $config_h echo "MAKE=$make" >> $config_mak echo "INSTALL=$install" >> $config_mak -@@ -748,7 +755,7 @@ +@@ -770,7 +777,7 @@ # don't use ln -sf as not all "ln -sf" over write the file/link # rm -f $target_dir/Makefile @@ -215,7 +224,7 @@ Index: ioemu/configure echo "# Automatically generated by configure - do not modify" > $config_mak -@@ -761,6 +768,12 @@ +@@ -784,6 +791,12 @@ interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"` echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h @@ -228,7 +237,7 @@ Index: ioemu/configure if test "$target_cpu" = "i386" ; then echo "TARGET_ARCH=i386" >> $config_mak echo "#define TARGET_ARCH \"i386\"" >> $config_h -@@ -823,6 +836,10 @@ +@@ -850,6 +863,10 @@ echo "#define CONFIG_USER_ONLY 1" >> $config_h fi @@ -236,6 +245,6 @@ Index: ioemu/configure + echo "#define CONFIG_DM 1" >> $config_h +fi + - if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then + if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" -o "$target_cpu" = "sparc" -o "$target_cpu" = "sparc64"; then echo "CONFIG_SOFTFLOAT=yes" >> $config_mak echo "#define CONFIG_SOFTFLOAT 1" >> $config_h diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/xen-domain-name --- a/tools/ioemu/patches/xen-domain-name Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/xen-domain-name Mon Aug 07 18:28:50 2006 +0100 @@ -1,8 +1,8 @@ Index: ioemu/sdl.c Index: ioemu/sdl.c =================================================================== ---- ioemu.orig/sdl.c 2006-07-27 11:16:53.590928008 +0100 -+++ ioemu/sdl.c 2006-07-27 11:16:58.124426148 +0100 -@@ -268,14 +268,14 @@ +--- ioemu.orig/sdl.c 2006-08-06 02:03:48.563137711 +0100 ++++ ioemu/sdl.c 2006-08-06 02:17:16.063137816 +0100 +@@ -273,14 +273,14 @@ static void sdl_update_caption(void) { char buf[1024]; @@ -21,18 +21,18 @@ Index: ioemu/sdl.c static void sdl_hide_cursor(void) Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-07-27 11:16:57.828458912 +0100 -+++ ioemu/vl.c 2006-07-27 11:16:58.126425927 +0100 -@@ -159,6 +159,8 @@ - #define MAX_CPUS 1 - #endif +--- ioemu.orig/vl.c 2006-08-06 02:16:31.246133963 +0100 ++++ ioemu/vl.c 2006-08-06 02:17:31.428424918 +0100 +@@ -158,6 +158,8 @@ + int acpi_enabled = 1; + int fd_bootchk = 1; +char domain_name[1024] = { 'H','V', 'M', 'X', 'E', 'N', '-'}; + /***********************************************************/ /* x86 ISA bus support */ -@@ -4699,6 +4701,7 @@ +@@ -5235,6 +5237,7 @@ "-s wait gdb connection to port %d\n" "-p port change gdb connection port\n" "-l item1,... output log to %s (use -d ? for a list of log items)\n" @@ -40,7 +40,7 @@ Index: ioemu/vl.c "-hdachs c,h,s[,t] force hard disk 0 physical geometry and the optional BIOS\n" " translation (t=none or lba) (usually qemu can guess them)\n" "-L path set the directory for the BIOS and VGA BIOS\n" -@@ -4788,6 +4791,7 @@ +@@ -5319,6 +5322,7 @@ QEMU_OPTION_g, QEMU_OPTION_std_vga, QEMU_OPTION_monitor, @@ -48,7 +48,7 @@ Index: ioemu/vl.c QEMU_OPTION_serial, QEMU_OPTION_parallel, QEMU_OPTION_loadvm, -@@ -4861,6 +4865,7 @@ +@@ -5396,6 +5400,7 @@ { "localtime", 0, QEMU_OPTION_localtime }, { "std-vga", 0, QEMU_OPTION_std_vga }, { "monitor", 1, QEMU_OPTION_monitor }, @@ -56,10 +56,10 @@ Index: ioemu/vl.c { "serial", 1, QEMU_OPTION_serial }, { "parallel", 1, QEMU_OPTION_parallel }, { "loadvm", HAS_ARG, QEMU_OPTION_loadvm }, -@@ -5484,6 +5489,9 @@ - exit(1); - } - break; +@@ -6062,6 +6067,9 @@ + case QEMU_OPTION_no_acpi: + acpi_enabled = 0; + break; + case QEMU_OPTION_domainname: + strncat(domain_name, optarg, sizeof(domain_name) - 20); + break; @@ -68,9 +68,9 @@ Index: ioemu/vl.c } Index: ioemu/vl.h =================================================================== ---- ioemu.orig/vl.h 2006-07-27 11:16:57.682475072 +0100 -+++ ioemu/vl.h 2006-07-27 11:16:58.127425816 +0100 -@@ -1094,4 +1094,5 @@ +--- ioemu.orig/vl.h 2006-08-06 02:15:39.711878977 +0100 ++++ ioemu/vl.h 2006-08-06 02:17:16.068137258 +0100 +@@ -1185,4 +1185,5 @@ void kqemu_record_dump(void); diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/xen-domid --- a/tools/ioemu/patches/xen-domid Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/xen-domid Mon Aug 07 18:28:50 2006 +0100 @@ -1,16 +1,16 @@ Index: ioemu/vl.c Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-07-27 11:16:58.126425927 +0100 -+++ ioemu/vl.c 2006-07-27 11:16:58.296407110 +0100 -@@ -160,6 +160,7 @@ - #endif +--- ioemu.orig/vl.c 2006-08-06 02:17:31.428424918 +0100 ++++ ioemu/vl.c 2006-08-06 02:18:12.550840673 +0100 +@@ -159,6 +159,7 @@ + int fd_bootchk = 1; char domain_name[1024] = { 'H','V', 'M', 'X', 'E', 'N', '-'}; +extern int domid; /***********************************************************/ /* x86 ISA bus support */ -@@ -4701,6 +4702,7 @@ +@@ -5237,6 +5238,7 @@ "-s wait gdb connection to port %d\n" "-p port change gdb connection port\n" "-l item1,... output log to %s (use -d ? for a list of log items)\n" @@ -18,25 +18,25 @@ Index: ioemu/vl.c "-domain-name domain name that we're serving\n" "-hdachs c,h,s[,t] force hard disk 0 physical geometry and the optional BIOS\n" " translation (t=none or lba) (usually qemu can guess them)\n" -@@ -4804,6 +4806,8 @@ - QEMU_OPTION_usbdevice, +@@ -5336,6 +5338,8 @@ QEMU_OPTION_smp, QEMU_OPTION_vnc, + QEMU_OPTION_no_acpi, + + QEMU_OPTION_d, }; typedef struct QEMUOption { -@@ -4879,6 +4883,8 @@ - /* temporary options */ +@@ -5415,6 +5419,8 @@ { "usb", 0, QEMU_OPTION_usb }, { "cirrusvga", 0, QEMU_OPTION_cirrusvga }, + { "no-acpi", 0, QEMU_OPTION_no_acpi }, + + { "d", HAS_ARG, QEMU_OPTION_d }, { NULL }, }; -@@ -5492,6 +5498,10 @@ +@@ -6070,6 +6076,10 @@ case QEMU_OPTION_domainname: strncat(domain_name, optarg, sizeof(domain_name) - 20); break; diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/xen-mm --- a/tools/ioemu/patches/xen-mm Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/xen-mm Mon Aug 07 18:28:50 2006 +0100 @@ -1,8 +1,8 @@ Index: ioemu/hw/pc.c Index: ioemu/hw/pc.c =================================================================== ---- ioemu.orig/hw/pc.c 2006-08-04 10:53:02.019794255 +0100 -+++ ioemu/hw/pc.c 2006-08-04 10:54:56.876531492 +0100 -@@ -639,7 +639,9 @@ +--- ioemu.orig/hw/pc.c 2006-08-06 02:15:39.708879311 +0100 ++++ ioemu/hw/pc.c 2006-08-06 02:18:18.875135656 +0100 +@@ -646,7 +646,9 @@ } /* allocate RAM */ @@ -12,7 +12,7 @@ Index: ioemu/hw/pc.c /* BIOS load */ bios_offset = ram_size + vga_ram_size; -@@ -671,8 +673,10 @@ +@@ -678,8 +680,10 @@ ret = load_image(buf, phys_ram_base + vga_bios_offset); /* setup basic memory access */ @@ -25,20 +25,20 @@ Index: ioemu/hw/pc.c isa_bios_size = bios_size; Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-08-04 10:53:02.472741926 +0100 -+++ ioemu/vl.c 2006-08-04 10:55:48.361590787 +0100 -@@ -159,6 +159,8 @@ - #define MAX_CPUS 1 - #endif +--- ioemu.orig/vl.c 2006-08-06 02:18:12.550840673 +0100 ++++ ioemu/vl.c 2006-08-06 02:18:45.608155528 +0100 +@@ -158,6 +158,8 @@ + int acpi_enabled = 1; + int fd_bootchk = 1; +int xc_handle; + char domain_name[1024] = { 'H','V', 'M', 'X', 'E', 'N', '-'}; extern int domid; -@@ -5106,6 +5108,9 @@ +@@ -5650,6 +5652,9 @@ QEMUMachine *machine; - char usb_devices[MAX_VM_USB_PORTS][128]; + char usb_devices[MAX_USB_CMDLINE][128]; int usb_devices_index; + unsigned long nr_pages; + xen_pfn_t *page_array; @@ -46,7 +46,7 @@ Index: ioemu/vl.c char qemu_dm_logfilename[64]; -@@ -5342,11 +5347,13 @@ +@@ -5917,11 +5922,13 @@ ram_size = atol(optarg) * 1024 * 1024; if (ram_size <= 0) help(); @@ -60,7 +60,7 @@ Index: ioemu/vl.c break; case QEMU_OPTION_l: { -@@ -5560,6 +5567,41 @@ +@@ -6133,12 +6140,49 @@ /* init the memory */ phys_ram_size = ram_size + vga_ram_size + bios_size; @@ -99,12 +99,11 @@ Index: ioemu/vl.c + +#else /* !CONFIG_DM */ + - #ifdef CONFIG_SOFTMMU phys_ram_base = qemu_vmalloc(phys_ram_size); if (!phys_ram_base) { -@@ -5600,6 +5642,8 @@ + fprintf(stderr, "Could not allocate physical memory\n"); + exit(1); } - #endif +#endif /* !CONFIG_DM */ + diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/xen-network --- a/tools/ioemu/patches/xen-network Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/xen-network Mon Aug 07 18:28:50 2006 +0100 @@ -1,7 +1,7 @@ Index: ioemu/vl.c Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-07-27 11:16:58.823348777 +0100 -+++ ioemu/vl.c 2006-07-27 11:16:59.169310479 +0100 +--- ioemu.orig/vl.c 2006-08-06 02:22:01.556312045 +0100 ++++ ioemu/vl.c 2006-08-06 02:22:53.925474246 +0100 @@ -89,6 +89,7 @@ #include "exec-all.h" @@ -10,7 +10,7 @@ Index: ioemu/vl.c //#define DEBUG_UNUSED_IOPORT //#define DEBUG_IOPORT -@@ -2621,11 +2622,11 @@ +@@ -3090,11 +3091,11 @@ #endif static int net_tap_init(VLANState *vlan, const char *ifname1, @@ -24,7 +24,7 @@ Index: ioemu/vl.c char **parg; char ifname[128]; -@@ -2647,6 +2648,7 @@ +@@ -3116,6 +3117,7 @@ parg = args; *parg++ = (char *)setup_script; *parg++ = ifname; @@ -32,7 +32,7 @@ Index: ioemu/vl.c *parg++ = NULL; execv(setup_script, args); _exit(1); -@@ -3201,6 +3203,7 @@ +@@ -3671,6 +3673,7 @@ if (!strcmp(device, "tap")) { char ifname[64]; char setup_script[1024]; @@ -40,7 +40,7 @@ Index: ioemu/vl.c int fd; if (get_param_value(buf, sizeof(buf), "fd", p) > 0) { fd = strtol(buf, NULL, 0); -@@ -3213,7 +3216,10 @@ +@@ -3683,7 +3686,10 @@ if (get_param_value(setup_script, sizeof(setup_script), "script", p) == 0) { pstrcpy(setup_script, sizeof(setup_script), DEFAULT_NETWORK_SCRIPT); } @@ -52,7 +52,7 @@ Index: ioemu/vl.c } } else #endif -@@ -4672,7 +4678,7 @@ +@@ -5208,7 +5214,7 @@ "-net tap[,vlan=n],ifname=name\n" " connect the host TAP network interface to VLAN 'n'\n" #else diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/xenstore-block-device-config --- a/tools/ioemu/patches/xenstore-block-device-config Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/xenstore-block-device-config Mon Aug 07 18:28:50 2006 +0100 @@ -1,10 +1,10 @@ Index: ioemu/Makefile.target Index: ioemu/Makefile.target =================================================================== ---- ioemu.orig/Makefile.target 2006-08-04 10:57:28.920995216 +0100 -+++ ioemu/Makefile.target 2006-08-04 10:57:29.641912123 +0100 -@@ -336,6 +336,7 @@ - VL_OBJS+= fdc.o mc146818rtc.o serial.o pc.o - VL_OBJS+= cirrus_vga.o mixeng.o parallel.o +--- ioemu.orig/Makefile.target 2006-08-07 17:42:27.802386071 +0100 ++++ ioemu/Makefile.target 2006-08-07 17:42:28.683289358 +0100 +@@ -358,6 +358,7 @@ + VL_OBJS+= cirrus_vga.o mixeng.o parallel.o acpi.o piix_pci.o + VL_OBJS+= usb-uhci.o VL_OBJS+= piix4acpi.o +VL_OBJS+= xenstore.o DEFINES += -DHAS_AUDIO @@ -13,7 +13,7 @@ Index: ioemu/xenstore.c Index: ioemu/xenstore.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ ioemu/xenstore.c 2006-08-04 10:57:29.641912123 +0100 ++++ ioemu/xenstore.c 2006-08-07 17:42:28.684289249 +0100 @@ -0,0 +1,187 @@ +/* + * This file is subject to the terms and conditions of the GNU General @@ -204,9 +204,9 @@ Index: ioemu/xenstore.c +} Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-08-04 10:57:29.354945198 +0100 -+++ ioemu/vl.c 2006-08-04 10:57:29.644911777 +0100 -@@ -4711,9 +4711,11 @@ +--- ioemu.orig/vl.c 2006-08-07 17:42:28.393320909 +0100 ++++ ioemu/vl.c 2006-08-07 17:42:28.687288922 +0100 +@@ -5242,9 +5242,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" @@ -217,8 +217,8 @@ Index: ioemu/vl.c +#endif /* !CONFIG_DM */ "-boot [a|c|d] boot on floppy (a), hard disk (c) or CD-ROM (d)\n" "-snapshot write to temporary files instead of disk image files\n" - "-m megs set virtual RAM size to megs MB [default=%d]\n" -@@ -4844,11 +4846,13 @@ + #ifdef TARGET_I386 +@@ -5370,11 +5372,13 @@ QEMU_OPTION_M, QEMU_OPTION_fda, QEMU_OPTION_fdb, @@ -231,8 +231,8 @@ Index: ioemu/vl.c +#endif /* !CONFIG_DM */ QEMU_OPTION_boot, QEMU_OPTION_snapshot, - QEMU_OPTION_m, -@@ -4915,11 +4919,13 @@ + #ifdef TARGET_I386 +@@ -5445,11 +5449,13 @@ { "M", HAS_ARG, QEMU_OPTION_M }, { "fda", HAS_ARG, QEMU_OPTION_fda }, { "fdb", HAS_ARG, QEMU_OPTION_fdb }, @@ -245,8 +245,8 @@ Index: ioemu/vl.c +#endif /* !CONFIG_DM */ { "boot", HAS_ARG, QEMU_OPTION_boot }, { "snapshot", 0, QEMU_OPTION_snapshot }, - { "m", HAS_ARG, QEMU_OPTION_m }, -@@ -5255,10 +5261,16 @@ + #ifdef TARGET_I386 +@@ -5797,10 +5803,16 @@ #ifdef CONFIG_GDBSTUB int use_gdbstub, gdbstub_port; #endif @@ -265,7 +265,7 @@ Index: ioemu/vl.c const char *kernel_filename, *kernel_cmdline; DisplayState *ds = &display_state; int cyls, heads, secs, translation; -@@ -5293,8 +5305,10 @@ +@@ -5861,8 +5873,10 @@ initrd_filename = NULL; for(i = 0; i < MAX_FD; i++) fd_filename[i] = NULL; @@ -276,7 +276,7 @@ Index: ioemu/vl.c ram_size = DEFAULT_RAM_SIZE * 1024 * 1024; vga_ram_size = VGA_RAM_SIZE; bios_size = BIOS_SIZE; -@@ -5307,11 +5321,13 @@ +@@ -5875,11 +5889,13 @@ vncviewer = 0; kernel_filename = NULL; kernel_cmdline = ""; @@ -290,7 +290,7 @@ Index: ioemu/vl.c cyls = heads = secs = 0; translation = BIOS_ATA_TRANSLATION_AUTO; pstrcpy(monitor_device, sizeof(monitor_device), "vc"); -@@ -5344,7 +5360,11 @@ +@@ -5912,7 +5928,11 @@ break; r = argv[optind]; if (r[0] != '-') { @@ -302,7 +302,7 @@ Index: ioemu/vl.c } else { const QEMUOption *popt; -@@ -5388,6 +5408,7 @@ +@@ -5956,6 +5976,7 @@ case QEMU_OPTION_initrd: initrd_filename = optarg; break; @@ -310,7 +310,7 @@ Index: ioemu/vl.c case QEMU_OPTION_hda: case QEMU_OPTION_hdb: case QEMU_OPTION_hdc: -@@ -5400,6 +5421,7 @@ +@@ -5968,6 +5989,7 @@ cdrom_index = -1; } break; @@ -318,7 +318,7 @@ Index: ioemu/vl.c case QEMU_OPTION_snapshot: snapshot = 1; break; -@@ -5452,11 +5474,13 @@ +@@ -6020,11 +6042,13 @@ case QEMU_OPTION_append: kernel_cmdline = optarg; break; @@ -332,7 +332,7 @@ Index: ioemu/vl.c case QEMU_OPTION_boot: boot_device = optarg[0]; if (boot_device != 'a' && -@@ -5698,12 +5722,18 @@ +@@ -6274,12 +6298,18 @@ } } @@ -351,15 +351,15 @@ Index: ioemu/vl.c if (!linux_boot && hd_filename[0] == '\0' && (cdrom_index >= 0 && hd_filename[cdrom_index] == '\0') && -@@ -5717,6 +5747,7 @@ +@@ -6293,6 +6323,7 @@ else boot_device = 'd'; } +#endif /* !CONFIG_DM */ - #if !defined(CONFIG_SOFTMMU) - /* must avoid mmap() usage of glibc by setting a buffer "by hand" */ -@@ -5870,6 +5901,7 @@ + setvbuf(stdout, NULL, _IOLBF, 0); + +@@ -6407,6 +6438,7 @@ #endif /* !CONFIG_DM */ @@ -367,7 +367,7 @@ Index: ioemu/vl.c /* we always create the cdrom drive, even if no disk is there */ bdrv_init(); if (cdrom_index >= 0) { -@@ -5896,6 +5928,7 @@ +@@ -6433,6 +6465,7 @@ } } } @@ -375,9 +375,9 @@ Index: ioemu/vl.c /* we always create at least one floppy disk */ fd_table[0] = bdrv_new("fda"); -@@ -6031,6 +6064,8 @@ - #endif - init_timers(); +@@ -6511,6 +6544,8 @@ + } + } + qemu_set_fd_handler(xenstore_fd(), xenstore_process_event, NULL, NULL); + @@ -386,8 +386,8 @@ Index: ioemu/vl.c kernel_filename, kernel_cmdline, initrd_filename, Index: ioemu/monitor.c =================================================================== ---- ioemu.orig/monitor.c 2006-08-04 10:57:28.195078886 +0100 -+++ ioemu/monitor.c 2006-08-04 10:57:29.645911662 +0100 +--- ioemu.orig/monitor.c 2006-08-07 17:42:27.132461888 +0100 ++++ ioemu/monitor.c 2006-08-07 17:42:28.688288814 +0100 @@ -24,6 +24,7 @@ #include "vl.h" #include "disas.h" @@ -396,7 +396,7 @@ Index: ioemu/monitor.c //#define DEBUG //#define DEBUG_COMPLETION -@@ -328,7 +329,7 @@ +@@ -330,7 +331,7 @@ return 0; } @@ -405,7 +405,7 @@ Index: ioemu/monitor.c { BlockDriverState *bs; -@@ -340,7 +341,7 @@ +@@ -342,7 +343,7 @@ eject_device(bs, force); } @@ -416,9 +416,9 @@ Index: ioemu/monitor.c int i; Index: ioemu/block.c =================================================================== ---- ioemu.orig/block.c 2006-08-04 10:57:21.718825369 +0100 -+++ ioemu/block.c 2006-08-04 10:57:29.646911546 +0100 -@@ -750,6 +750,7 @@ +--- ioemu.orig/block.c 2006-08-07 17:42:21.704076241 +0100 ++++ ioemu/block.c 2006-08-07 17:42:28.689288705 +0100 +@@ -758,6 +758,7 @@ static void raw_close(BlockDriverState *bs) { BDRVRawState *s = bs->opaque; @@ -428,9 +428,9 @@ Index: ioemu/block.c Index: ioemu/vl.h =================================================================== ---- ioemu.orig/vl.h 2006-08-04 10:57:29.355945083 +0100 -+++ ioemu/vl.h 2006-08-04 10:57:29.647911431 +0100 -@@ -1093,6 +1093,8 @@ +--- ioemu.orig/vl.h 2006-08-07 17:42:28.394320800 +0100 ++++ ioemu/vl.h 2006-08-07 17:42:28.689288705 +0100 +@@ -1184,6 +1184,8 @@ void term_print_help(void); void monitor_readline(const char *prompt, int is_password, char *buf, int buf_size); @@ -439,7 +439,7 @@ Index: ioemu/vl.h /* readline.c */ typedef void ReadLineFunc(void *opaque, const char *str); -@@ -1105,6 +1107,13 @@ +@@ -1196,6 +1198,13 @@ void readline_start(const char *prompt, int is_password, ReadLineFunc *readline_func, void *opaque); @@ -455,9 +455,9 @@ Index: ioemu/vl.h extern char domain_name[]; Index: ioemu/hw/ide.c =================================================================== ---- ioemu.orig/hw/ide.c 2006-08-04 10:57:28.612030827 +0100 -+++ ioemu/hw/ide.c 2006-08-04 10:57:29.648911316 +0100 -@@ -1279,6 +1279,7 @@ +--- ioemu.orig/hw/ide.c 2006-08-07 17:42:27.552414361 +0100 ++++ ioemu/hw/ide.c 2006-08-07 17:42:28.691288487 +0100 +@@ -1158,6 +1158,7 @@ } else { ide_atapi_cmd_error(s, SENSE_NOT_READY, ASC_MEDIUM_NOT_PRESENT); diff -r 06e2a95d3395 -r ec8dd0528fc6 tools/ioemu/patches/xenstore-write-vnc-port --- a/tools/ioemu/patches/xenstore-write-vnc-port Mon Aug 07 18:27:27 2006 +0100 +++ b/tools/ioemu/patches/xenstore-write-vnc-port Mon Aug 07 18:28:50 2006 +0100 @@ -1,7 +1,7 @@ Index: ioemu/xenstore.c Index: ioemu/xenstore.c =================================================================== ---- ioemu.orig/xenstore.c 2006-08-04 10:57:29.641912123 +0100 -+++ ioemu/xenstore.c 2006-08-04 10:57:30.244842629 +0100 +--- ioemu.orig/xenstore.c 2006-08-07 17:42:28.684289249 +0100 ++++ ioemu/xenstore.c 2006-08-07 17:42:28.891266728 +0100 @@ -185,3 +185,31 @@ free(image); free(vec); @@ -36,9 +36,9 @@ Index: ioemu/xenstore.c +} Index: ioemu/vl.c =================================================================== ---- ioemu.orig/vl.c 2006-08-04 10:57:29.644911777 +0100 -+++ ioemu/vl.c 2006-08-04 10:57:30.246842399 +0100 -@@ -5976,6 +5976,7 @@ +--- ioemu.orig/vl.c 2006-08-07 17:42:28.687288922 +0100 ++++ ioemu/vl.c 2006-08-07 17:42:28.894266401 +0100 +@@ -6501,6 +6501,7 @@ vnc_display_init(ds, vnc_display); if (vncviewer) vnc_start_viewer(vnc_display); @@ -48,9 +48,9 @@ Index: ioemu/vl.c sdl_display_init(ds, full_screen); Index: ioemu/vl.h =================================================================== ---- ioemu.orig/vl.h 2006-08-04 10:57:29.647911431 +0100 -+++ ioemu/vl.h 2006-08-04 10:57:30.247842283 +0100 -@@ -1112,6 +1112,7 @@ +--- ioemu.orig/vl.h 2006-08-07 17:42:28.689288705 +0100 ++++ ioemu/vl.h 2006-08-07 17:42:28.895266293 +0100 +@@ -1203,6 +1203,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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |