wok-next rev 16008
syslinux/iso2exe: keep 16M..48M for the kernel
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Tue Mar 04 16:29:56 2014 +0000 (2014-03-04) |
parents | 4a4761329067 |
children | 6c33dfc046bc |
files | syslinux/stuff/iso2exe/bootlinux.c |
line diff
1.1 --- a/syslinux/stuff/iso2exe/bootlinux.c Tue Mar 04 13:27:14 2014 +0100 1.2 +++ b/syslinux/stuff/iso2exe/bootlinux.c Tue Mar 04 16:29:56 2014 +0000 1.3 @@ -83,7 +83,7 @@ 1.4 mov ax, #0x8793 1.5 mov [si+0x15], al 1.6 xchg [si+0x1D], al 1.7 - mov [si+0x1F], al // bits 24..31 1.8 + xchg [si+0x1F], al // bits 24..31 1.9 int 0x15 1.10 add sp, #0x30 1.11 popa 1.12 @@ -121,16 +121,16 @@ 1.13 switch (p->align) { 1.14 case 0: // kernel 1.15 switch (dosversion()) { 1.16 - case 3: case 4: case 6: break; 1.17 + case 3: case 4: case 6: case 7: break; 1.18 default: 1.19 printf("DOS %d not supported.\nTrying anyway...\n", 1.20 versiondos); 1.21 } 1.22 p->align = PAGE_SIZE; 1.23 break; 1.24 - case PAGE_SIZE: // first initrd : skip mapping hole before 16M 1.25 - if (extendedramsizeinkb() > 24000U && p->base < 0x1000000) 1.26 - p->base = 0x1000000; 1.27 + case PAGE_SIZE: // first initrd : keep 16M..48M for the kernel 1.28 + if (extendedramsizeinkb() > 0xF000U && p->base < 0x3000000) 1.29 + p->base = 0x3000000; 1.30 initrd_addr = p->base; 1.31 p->align = 4; 1.32 }