# HG changeset patch # User Pascal Bellard # Date 1393669844 0 # Node ID df021be024df2e414ff7c8ae1cabbec96ee2134d # Parent 7e8a95a52792d8825affc057e3913fd25a541ab9 syslinux/iso2exe: skip 15M-16M frequent hole diff -r 7e8a95a52792 -r df021be024df syslinux/stuff/iso2exe/bootlinux.c --- a/syslinux/stuff/iso2exe/bootlinux.c Fri Feb 28 22:37:42 2014 +0100 +++ b/syslinux/stuff/iso2exe/bootlinux.c Sat Mar 01 10:30:44 2014 +0000 @@ -83,7 +83,7 @@ mov ax, #0x8793 mov [si+0x15], al xchg [si+0x1D], al - mov [si+0x1F], al // bits 24..31, doesn't work for me :( + mov [si+0x1F], al // bits 24..31 int 0x15 add sp, #0x30 popa @@ -117,8 +117,9 @@ } p->align = PAGE_SIZE; break; - case 4096: // first initrd - initrd_addr = p->base; + case 4096: // first initrd : skip 0xF00000 .. 0x1000000 mapping hole + initrd_addr = (p->base + size > 0xF00000 && + p->base < 0x1000000) ? 0x1000000 : p->base; p->align = 4; } while (size) {