ia64/xen-unstable

changeset 10965:87346792fe90

[qemu patches] Update patches for changeset 10936:a0b3cf802d99.

Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
author chris@kneesaa.uk.xensource.com
date Fri Aug 04 10:52:49 2006 +0100 (2006-08-04)
parents a0b3cf802d99
children 36cf965711f6
files tools/ioemu/patches/ioemu-ia64
line diff
     1.1 --- a/tools/ioemu/patches/ioemu-ia64	Fri Aug 04 10:52:25 2006 +0100
     1.2 +++ b/tools/ioemu/patches/ioemu-ia64	Fri Aug 04 10:52:49 2006 +0100
     1.3 @@ -1,7 +1,7 @@
     1.4  Index: ioemu/hw/iommu.c
     1.5  ===================================================================
     1.6 ---- ioemu.orig/hw/iommu.c	2006-08-02 09:46:38.774790244 +0100
     1.7 -+++ ioemu/hw/iommu.c	2006-08-02 09:46:39.030761544 +0100
     1.8 +--- ioemu.orig/hw/iommu.c	2006-08-04 10:42:20.772886174 +0100
     1.9 ++++ ioemu/hw/iommu.c	2006-08-04 10:42:25.397351756 +0100
    1.10  @@ -82,7 +82,11 @@
    1.11   #define IOPTE_VALID         0x00000002 /* IOPTE is valid */
    1.12   #define IOPTE_WAZ           0x00000001 /* Write as zeros */
    1.13 @@ -16,8 +16,8 @@ Index: ioemu/hw/iommu.c
    1.14   
    1.15  Index: ioemu/cpu-all.h
    1.16  ===================================================================
    1.17 ---- ioemu.orig/cpu-all.h	2006-08-02 09:46:38.969768383 +0100
    1.18 -+++ ioemu/cpu-all.h	2006-08-02 09:46:39.030761544 +0100
    1.19 +--- ioemu.orig/cpu-all.h	2006-08-04 10:42:25.029394277 +0100
    1.20 ++++ ioemu/cpu-all.h	2006-08-04 10:42:25.398351640 +0100
    1.21  @@ -835,6 +835,31 @@
    1.22                   :"=m" (*(volatile long *)addr)
    1.23                   :"dIr" (nr));
    1.24 @@ -52,9 +52,21 @@ Index: ioemu/cpu-all.h
    1.25   /* memory API */
    1.26  Index: ioemu/vl.c
    1.27  ===================================================================
    1.28 ---- ioemu.orig/vl.c	2006-08-02 09:46:39.020762665 +0100
    1.29 -+++ ioemu/vl.c	2006-08-02 09:47:02.896085814 +0100
    1.30 -@@ -5578,6 +5578,7 @@
    1.31 +--- ioemu.orig/vl.c	2006-08-04 10:42:25.326359960 +0100
    1.32 ++++ ioemu/vl.c	2006-08-04 10:51:21.239442976 +0100
    1.33 +@@ -5567,6 +5567,11 @@
    1.34 +     /* init the memory */
    1.35 +     phys_ram_size = ram_size + vga_ram_size + bios_size;
    1.36 + 
    1.37 ++#if defined (__ia64__)
    1.38 ++    if (ram_size > MMIO_START)
    1.39 ++	ram_size += 1 * MEM_G; /* skip 3G-4G MMIO, LEGACY_IO_SPACE etc. */
    1.40 ++#endif
    1.41 ++
    1.42 + #ifdef CONFIG_DM
    1.43 + 
    1.44 +     nr_pages = ram_size/PAGE_SIZE;
    1.45 +@@ -5578,6 +5583,7 @@
    1.46           exit(-1);
    1.47       }
    1.48   
    1.49 @@ -62,27 +74,14 @@ Index: ioemu/vl.c
    1.50       if (xc_get_pfn_list(xc_handle, domid, page_array, nr_pages) != nr_pages) {
    1.51           fprintf(logfile, "xc_get_pfn_list returned error %d\n", errno);
    1.52           exit(-1);
    1.53 -@@ -5598,6 +5599,34 @@
    1.54 +@@ -5598,6 +5604,41 @@
    1.55       fprintf(logfile, "shared page at pfn:%lx, mfn: %"PRIx64"\n", nr_pages - 1,
    1.56               (uint64_t)(page_array[nr_pages - 1]));
    1.57   
    1.58  +#elif defined(__ia64__)
    1.59 -+    if (xc_ia64_get_pfn_list(xc_handle, domid,
    1.60 -+                             page_array, 0, nr_pages) != nr_pages) {
    1.61 -+        fprintf(logfile, "xc_ia64_get_pfn_list returned error %d\n", errno);
    1.62 -+        exit(-1);
    1.63 -+    }
    1.64 -+
    1.65 -+    phys_ram_base = xc_map_foreign_batch(xc_handle, domid,
    1.66 -+                                         PROT_READ|PROT_WRITE,
    1.67 -+                                         page_array, nr_pages);
    1.68 -+    if (phys_ram_base == 0) {
    1.69 -+        fprintf(logfile, "xc_map_foreign_batch returned error %d\n", errno);
    1.70 -+        exit(-1);
    1.71 -+    }
    1.72 -+
    1.73 ++  
    1.74  +    if (xc_ia64_get_pfn_list(xc_handle, domid, page_array,
    1.75 -+                             IO_PAGE_START >> PAGE_SHIFT, 1) != 1){
    1.76 ++                             IO_PAGE_START >> PAGE_SHIFT, 1) != 1) {
    1.77  +        fprintf(logfile, "xc_ia64_get_pfn_list returned error %d\n", errno);
    1.78  +        exit(-1);
    1.79  +    }
    1.80 @@ -93,14 +92,34 @@ Index: ioemu/vl.c
    1.81  +
    1.82  +    fprintf(logfile, "shared page at pfn:%lx, mfn: %016lx\n",
    1.83  +            IO_PAGE_START >> PAGE_SHIFT, page_array[0]);
    1.84 ++
    1.85 ++    if (xc_ia64_get_pfn_list(xc_handle, domid,
    1.86 ++                             page_array, 0, nr_pages) != nr_pages) {
    1.87 ++        fprintf(logfile, "xc_ia64_get_pfn_list returned error %d\n", errno);
    1.88 ++        exit(-1);
    1.89 ++    }
    1.90 ++
    1.91 ++    if (ram_size > MMIO_START) {	
    1.92 ++	for (i = 0 ; i < MEM_G >> PAGE_SHIFT; i++)
    1.93 ++	    page_array[MMIO_START >> PAGE_SHIFT + i] =
    1.94 ++		page_array[IO_PAGE_START >> PAGE_SHIFT + 1];
    1.95 ++    }
    1.96 ++
    1.97 ++    phys_ram_base = xc_map_foreign_batch(xc_handle, domid,
    1.98 ++                                         PROT_READ|PROT_WRITE,
    1.99 ++                                         page_array, nr_pages);
   1.100 ++    if (phys_ram_base == 0) {
   1.101 ++        fprintf(logfile, "xc_map_foreign_batch returned error %d\n", errno);
   1.102 ++        exit(-1);
   1.103 ++    }
   1.104  +#endif
   1.105   #else  /* !CONFIG_DM */
   1.106   
   1.107   #ifdef CONFIG_SOFTMMU
   1.108  Index: ioemu/target-i386-dm/exec-dm.c
   1.109  ===================================================================
   1.110 ---- ioemu.orig/target-i386-dm/exec-dm.c	2006-08-02 09:46:38.903775782 +0100
   1.111 -+++ ioemu/target-i386-dm/exec-dm.c	2006-08-02 09:46:39.034761096 +0100
   1.112 +--- ioemu.orig/target-i386-dm/exec-dm.c	2006-08-04 10:42:24.647438417 +0100
   1.113 ++++ ioemu/target-i386-dm/exec-dm.c	2006-08-04 10:42:25.401351294 +0100
   1.114  @@ -341,6 +341,23 @@
   1.115       return io_mem_read[io_index >> IO_MEM_SHIFT];
   1.116   }
   1.117 @@ -137,8 +156,8 @@ Index: ioemu/target-i386-dm/exec-dm.c
   1.118                   memset(buf, 0xff, len);
   1.119  Index: ioemu/exec-all.h
   1.120  ===================================================================
   1.121 ---- ioemu.orig/exec-all.h	2006-08-02 09:46:38.881778248 +0100
   1.122 -+++ ioemu/exec-all.h	2006-08-02 09:46:39.034761096 +0100
   1.123 +--- ioemu.orig/exec-all.h	2006-08-04 10:42:24.518453323 +0100
   1.124 ++++ ioemu/exec-all.h	2006-08-04 10:42:25.401351294 +0100
   1.125  @@ -462,12 +462,13 @@
   1.126   }
   1.127   #endif
   1.128 @@ -158,8 +177,8 @@ Index: ioemu/exec-all.h
   1.129   
   1.130  Index: ioemu/target-i386-dm/cpu.h
   1.131  ===================================================================
   1.132 ---- ioemu.orig/target-i386-dm/cpu.h	2006-08-02 09:46:38.902775894 +0100
   1.133 -+++ ioemu/target-i386-dm/cpu.h	2006-08-02 09:46:39.034761096 +0100
   1.134 +--- ioemu.orig/target-i386-dm/cpu.h	2006-08-04 10:42:24.647438417 +0100
   1.135 ++++ ioemu/target-i386-dm/cpu.h	2006-08-04 10:42:25.401351294 +0100
   1.136  @@ -80,7 +80,11 @@
   1.137   /* helper2.c */
   1.138   int main_loop(void);
   1.139 @@ -175,7 +194,7 @@ Index: ioemu/target-i386-dm/cpu.h
   1.140  Index: ioemu/ia64_intrinsic.h
   1.141  ===================================================================
   1.142  --- /dev/null	1970-01-01 00:00:00.000000000 +0000
   1.143 -+++ ioemu/ia64_intrinsic.h	2006-08-02 09:46:39.035760983 +0100
   1.144 ++++ ioemu/ia64_intrinsic.h	2006-08-04 10:42:25.402351178 +0100
   1.145  @@ -0,0 +1,276 @@
   1.146  +#ifndef IA64_INTRINSIC_H
   1.147  +#define IA64_INTRINSIC_H