# HG changeset patch
# User chris@xxxxxxxxxxxxxxxxxxxxxxxx
# Node ID 87346792fe906b8ad635f85b38a995e555c8b7da
# Parent a0b3cf802d99df9fccf7612caea735ddad9a0e54
[qemu patches] Update patches for changeset 10936:a0b3cf802d99.
Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxxx>
---
tools/ioemu/patches/ioemu-ia64 | 37 +++++++++++++++----------------------
1 files changed, 15 insertions(+), 22 deletions(-)
diff -r a0b3cf802d99 -r 87346792fe90 tools/ioemu/patches/ioemu-ia64
--- a/tools/ioemu/patches/ioemu-ia64 Fri Aug 04 10:52:25 2006 +0100
+++ b/tools/ioemu/patches/ioemu-ia64 Fri Aug 04 10:52:49 2006 +0100
@@ -1,7 +1,7 @@ Index: ioemu/hw/iommu.c
Index: ioemu/hw/iommu.c
===================================================================
---- ioemu.orig/hw/iommu.c 2006-08-02 09:46:38.774790244 +0100
-+++ ioemu/hw/iommu.c 2006-08-02 09:46:39.030761544 +0100
+--- ioemu.orig/hw/iommu.c 2006-08-04 10:42:20.772886174 +0100
++++ ioemu/hw/iommu.c 2006-08-04 10:42:25.397351756 +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-02 09:46:38.969768383 +0100
-+++ ioemu/cpu-all.h 2006-08-02 09:46:39.030761544 +0100
+--- ioemu.orig/cpu-all.h 2006-08-04 10:42:25.029394277 +0100
++++ ioemu/cpu-all.h 2006-08-04 10:42:25.398351640 +0100
@@ -835,6 +835,31 @@
:"=m" (*(volatile long *)addr)
:"dIr" (nr));
@@ -52,9 +52,21 @@ Index: ioemu/cpu-all.h
/* memory API */
Index: ioemu/vl.c
===================================================================
---- ioemu.orig/vl.c 2006-08-02 09:46:39.020762665 +0100
-+++ ioemu/vl.c 2006-08-02 09:47:02.896085814 +0100
-@@ -5578,6 +5578,7 @@
+--- ioemu.orig/vl.c 2006-08-04 10:42:25.326359960 +0100
++++ ioemu/vl.c 2006-08-04 10:51:21.239442976 +0100
+@@ -5567,6 +5567,11 @@
+ /* init the memory */
+ phys_ram_size = ram_size + vga_ram_size + bios_size;
+
++#if defined (__ia64__)
++ if (ram_size > MMIO_START)
++ ram_size += 1 * MEM_G; /* skip 3G-4G MMIO, LEGACY_IO_SPACE etc. */
++#endif
++
+ #ifdef CONFIG_DM
+
+ nr_pages = ram_size/PAGE_SIZE;
+@@ -5578,6 +5583,7 @@
exit(-1);
}
@@ -62,15 +74,35 @@ 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);
-@@ -5598,6 +5599,34 @@
+@@ -5598,6 +5604,41 @@
fprintf(logfile, "shared page at pfn:%lx, mfn: %"PRIx64"\n", nr_pages - 1,
(uint64_t)(page_array[nr_pages - 1]));
+#elif defined(__ia64__)
++
++ if (xc_ia64_get_pfn_list(xc_handle, domid, page_array,
++ IO_PAGE_START >> PAGE_SHIFT, 1) != 1) {
++ fprintf(logfile, "xc_ia64_get_pfn_list returned error %d\n", errno);
++ exit(-1);
++ }
++
++ shared_page = xc_map_foreign_range(xc_handle, domid, PAGE_SIZE,
++ PROT_READ|PROT_WRITE,
++ page_array[0]);
++
++ fprintf(logfile, "shared page at pfn:%lx, mfn: %016lx\n",
++ IO_PAGE_START >> PAGE_SHIFT, page_array[0]);
++
+ if (xc_ia64_get_pfn_list(xc_handle, domid,
+ page_array, 0, nr_pages) != nr_pages) {
+ fprintf(logfile, "xc_ia64_get_pfn_list returned error %d\n", errno);
+ exit(-1);
++ }
++
++ if (ram_size > MMIO_START) {
++ for (i = 0 ; i < MEM_G >> PAGE_SHIFT; i++)
++ page_array[MMIO_START >> PAGE_SHIFT + i] =
++ page_array[IO_PAGE_START >> PAGE_SHIFT + 1];
+ }
+
+ phys_ram_base = xc_map_foreign_batch(xc_handle, domid,
@@ -80,27 +112,14 @@ Index: ioemu/vl.c
+ fprintf(logfile, "xc_map_foreign_batch returned error %d\n", errno);
+ exit(-1);
+ }
-+
-+ if (xc_ia64_get_pfn_list(xc_handle, domid, page_array,
-+ IO_PAGE_START >> PAGE_SHIFT, 1) != 1){
-+ fprintf(logfile, "xc_ia64_get_pfn_list returned error %d\n", errno);
-+ exit(-1);
-+ }
-+
-+ shared_page = xc_map_foreign_range(xc_handle, domid, PAGE_SIZE,
-+ PROT_READ|PROT_WRITE,
-+ page_array[0]);
-+
-+ fprintf(logfile, "shared page at pfn:%lx, mfn: %016lx\n",
-+ IO_PAGE_START >> PAGE_SHIFT, page_array[0]);
+#endif
#else /* !CONFIG_DM */
#ifdef CONFIG_SOFTMMU
Index: ioemu/target-i386-dm/exec-dm.c
===================================================================
---- ioemu.orig/target-i386-dm/exec-dm.c 2006-08-02 09:46:38.903775782
+0100
-+++ ioemu/target-i386-dm/exec-dm.c 2006-08-02 09:46:39.034761096 +0100
+--- ioemu.orig/target-i386-dm/exec-dm.c 2006-08-04 10:42:24.647438417
+0100
++++ ioemu/target-i386-dm/exec-dm.c 2006-08-04 10:42:25.401351294 +0100
@@ -341,6 +341,23 @@
return io_mem_read[io_index >> IO_MEM_SHIFT];
}
@@ -137,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-02 09:46:38.881778248 +0100
-+++ ioemu/exec-all.h 2006-08-02 09:46:39.034761096 +0100
+--- ioemu.orig/exec-all.h 2006-08-04 10:42:24.518453323 +0100
++++ ioemu/exec-all.h 2006-08-04 10:42:25.401351294 +0100
@@ -462,12 +462,13 @@
}
#endif
@@ -158,8 +177,8 @@ Index: ioemu/exec-all.h
Index: ioemu/target-i386-dm/cpu.h
===================================================================
---- ioemu.orig/target-i386-dm/cpu.h 2006-08-02 09:46:38.902775894 +0100
-+++ ioemu/target-i386-dm/cpu.h 2006-08-02 09:46:39.034761096 +0100
+--- ioemu.orig/target-i386-dm/cpu.h 2006-08-04 10:42:24.647438417 +0100
++++ ioemu/target-i386-dm/cpu.h 2006-08-04 10:42:25.401351294 +0100
@@ -80,7 +80,11 @@
/* helper2.c */
int main_loop(void);
@@ -175,7 +194,7 @@ Index: ioemu/ia64_intrinsic.h
Index: ioemu/ia64_intrinsic.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ ioemu/ia64_intrinsic.h 2006-08-02 09:46:39.035760983 +0100
++++ ioemu/ia64_intrinsic.h 2006-08-04 10:42:25.402351178 +0100
@@ -0,0 +1,276 @@
+#ifndef IA64_INTRINSIC_H
+#define IA64_INTRINSIC_H
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|