WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH, PV-GRUB] Fix gzip support and iso support on x86_64

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH, PV-GRUB] Fix gzip support and iso support on x86_64
From: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>
Date: Sun, 7 Mar 2010 23:45:45 +0100
Delivery-date: Sun, 07 Mar 2010 14:46:30 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20100303194507.GA5920@xxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Mail-followup-to: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
References: <20100303194507.GA5920@xxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.12-2006-07-14
Fix gzip support and iso support on x86_64

Signed-off-by: Samuel Thibault <sthibault@xxxxxxxxxx>

diff -r 8dada4c897c9 stubdom/grub.patches/99minios
--- a/stubdom/grub.patches/99minios     Sat Mar 06 13:31:42 2010 +0000
+++ b/stubdom/grub.patches/99minios     Sun Mar 07 23:41:26 2010 +0100
@@ -1501,3 +1501,70 @@
  #else
        /* This is slower but this works on all x86 architectures.  */
        __asm__("xchgb %b0, %h0" \
+--- grub.orig/stage2/gunzip.c  2010-03-07 23:03:34.000000000 +0100
++++ grub/stage2/gunzip.c       2010-03-07 23:05:36.000000000 +0100
+@@ -141,7 +141,7 @@
+ static int gzip_filemax;
+ static int gzip_fsmax;
+ static int saved_filepos;
+-static unsigned long gzip_crc;
++static unsigned int gzip_crc;
+ 
+ /* internal extra variables for use of inflate code */
+ static int block_type;
+@@ -157,7 +157,7 @@
+  *  Linear allocator.
+  */
+ 
+-static unsigned long linalloc_topaddr;
++static unsigned int linalloc_topaddr;
+ 
+ static void *
+ linalloc (int size)
+@@ -253,7 +253,7 @@
+ 
+ typedef unsigned char uch;
+ typedef unsigned short ush;
+-typedef unsigned long ulg;
++typedef unsigned int ulg;
+ 
+ /*
+  *  Window Size
+@@ -316,8 +316,8 @@
+       return 0;
+     }
+ 
+-  gzip_crc = *((unsigned long *) buf);
+-  gzip_fsmax = gzip_filemax = *((unsigned long *) (buf + 4));
++  gzip_crc = *((unsigned int *) buf);
++  gzip_fsmax = gzip_filemax = *((unsigned int *) (buf + 4));
+ 
+   initialize_tables ();
+ 
+diff -ur grub.orig/stage2/fsys_iso9660.c grub-upstream/stage2/fsys_iso9660.c
+--- grub.orig/stage2/fsys_iso9660.c    2010-03-07 23:39:00.000000000 +0100
++++ grub/stage2/fsys_iso9660.c 2010-03-07 23:39:56.000000000 +0100
+@@ -43,7 +43,7 @@
+ 
+ /* iso fs inode data in memory */
+ struct iso_inode_info {
+-  unsigned long file_start;
++  unsigned int file_start;
+ };
+ 
+ #define ISO_SUPER     \
+@@ -88,12 +88,12 @@
+   if (byte_len <= 0)
+     return 1;
+ 
+-  sector += (byte_offset >> sector_size_lg2);
+-  byte_offset &= (buf_geom.sector_size - 1);
+   asm volatile ("shl%L0 %1,%0"
+               : "=r"(sector)
+               : "Ic"((int8_t)(ISO_SECTOR_BITS - sector_size_lg2)),
+               "0"(sector));
++  sector += (byte_offset >> sector_size_lg2);
++  byte_offset &= (buf_geom.sector_size - 1);
+ 
+ #if !defined(STAGE1_5)
+   if (disk_read_hook && debug)

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel