mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
[qemu patches] Update patches for changesets 10957:08a11694b109 - 10959:06e2a95d3395.
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
This commit is contained in:
1 parent
93a961f49b
commit
ae5534e54e
41 files changed
+709
-687
No files matched your search
@@ -1,10 +1,10 @@
|
||||
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); */
|
||||
|
||||
|
||||
@@ -1,94 +1,50 @@
|
||||
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 (pci_enabled && acpi_enabled) {
|
||||
+ if (pci_enabled && acpi_enabled && 0) {
|
||||
piix4_pm_init(pci_bus, piix3_devfn + 3);
|
||||
}
|
||||
+ 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);
|
||||
+ }
|
||||
}
|
||||
|
||||
/*
|
||||
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;
|
||||
int fd_bootchk = 1;
|
||||
|
||||
@@ -4803,6 +4805,7 @@
|
||||
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);
|
||||
+ }
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1,7 +1,7 @@
|
||||
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 @@
|
||||
*/
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
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/helper2.c
|
||||
+ 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[];
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
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
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
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,
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
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
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
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);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
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/target-i386-dm/cpu.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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
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;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
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
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
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 {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
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 */
|
||||
|
||||
+70
-70
@@ -1,8 +1,8 @@
|
||||
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 @@
|
||||
}
|
||||
}
|
||||
@@ -1031,6 +1044,7 @@
|
||||
term_printf("kqemu support: not compiled\n");
|
||||
#endif
|
||||
}
|
||||
+#endif /* !CONFIG_DM */
|
||||
|
||||
static void do_info_kqemu(void)
|
||||
{
|
||||
@@ -1045,6 +1059,7 @@
|
||||
#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;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
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) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
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;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
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)
|
||||
{
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
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;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
@@ -1,20 +1,20 @@
|
||||
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);
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
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);
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
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;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
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/vl.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/cpu.h
|
||||
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/exec-dm.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/helper2.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/i8259-dm.c
|
||||
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-dm.debug
|
||||
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
|
||||
+
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
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)
|
||||
{
|
||||
|
||||
@@ -26,7 +26,6 @@ shadow-vram
|
||||
serial-non-block
|
||||
ide-hd-multithread
|
||||
domain-timeoffset
|
||||
sdl-mouse-invisible-wall
|
||||
acpi-support
|
||||
acpi-timer-support
|
||||
acpi-poweroff-support
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
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; \
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
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);
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
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");
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
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;
|
||||
+ int ctl_keys; /* Ctrl+Alt starts calibration */
|
||||
@@ -95,6 +99,8 @@
|
||||
int visible_h;
|
||||
|
||||
VncReadEvent *read_handler;
|
||||
size_t read_handler_expect;
|
||||
@@ -679,16 +684,80 @@
|
||||
int slow_client;
|
||||
+
|
||||
+ int ctl_keys; /* Ctrl+Alt starts calibration */
|
||||
};
|
||||
|
||||
#define DIRTY_PIXEL_BITS 64
|
||||
@@ -794,16 +800,80 @@
|
||||
|
||||
static void do_key_event(VncState *vs, int down, uint32_t sym)
|
||||
{
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
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;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
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@codemonkey.ws>
|
||||
@@ -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);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
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,
|
||||
+ QEMU_OPTION_vncviewer,
|
||||
|
||||
QEMU_OPTION_d,
|
||||
@@ -5428,6 +5430,7 @@
|
||||
QEMU_OPTION_vcpus,
|
||||
@@ -4969,6 +4972,7 @@
|
||||
QEMU_OPTION_timeoffset,
|
||||
QEMU_OPTION_acpi,
|
||||
+ QEMU_OPTION_vncviewer,
|
||||
};
|
||||
|
||||
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);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
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 */
|
||||
|
||||
|
||||
@@ -1,29 +1,38 @@
|
||||
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
|
||||
@@ -1,8 +1,8 @@
|
||||
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);
|
||||
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
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;
|
||||
|
||||
+15
-16
@@ -1,8 +1,8 @@
|
||||
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 */
|
||||
+
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
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
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
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/Makefile.target
|
||||
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);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
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);
|
||||
|
||||