mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-18 21:27:56 +00:00
Fix sector calculation in GRUB's stage2_eltorito
The sector number was not calculated correctly for sector sizes < 2048 bytes. This commit updates the stage2_eltorito binary file, which was created from CVS GRUB legacy (tag 'release_0_97') after applying Adam Lackorzynski's 'os.8' patch (http://os.inf.tu-dresden.de/~adam/grub/0.97/grub-0.97-os.8.diff.gz) and the following patch: diff --git a/stage2/asm.S b/stage2/asm.S --- a/stage2/asm.S +++ b/stage2/asm.S @@ -98,7 +98,7 @@ .string VERSION VARIABLE(config_file) #ifndef STAGE1_5 - .string "(nd)/tftp/menu.lst" + .string "/boot/grub/menu.lst" #else /* STAGE1_5 */ .long 0xffffffff .string "/boot/grub/stage2" diff --git a/stage2/fsys_iso9660.c b/stage2/fsys_iso9660.c --- a/stage2/fsys_iso9660.c +++ b/stage2/fsys_iso9660.c @@ -81,12 +81,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) This patch fixes #97. This patch fixes #98.
This commit is contained in:
parent
7690e5ad07
commit
97b978c6c8
Binary file not shown.
Loading…
Reference in New Issue
Block a user