wok diff linld/stuff/src/LOAD.CPP @ rev 22179
linld: spare up to 30k more for zImage (again)
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sat Nov 09 13:26:32 2019 +0100 (2019-11-09) |
parents | 10fa26e4c60d |
children | ee7d4644eb13 |
line diff
1.1 --- a/linld/stuff/src/LOAD.CPP Fri Nov 08 20:55:40 2019 +0100 1.2 +++ b/linld/stuff/src/LOAD.CPP Sat Nov 09 13:26:32 2019 +0100 1.3 @@ -112,15 +112,14 @@ 1.4 const u32 HdrS = 'H' + ('d'<<8) + (u32('r')<<16) + (u32('S')<<24); 1.5 1.6 // register value to launch the kernel real mode code 1.7 -static u32 csip; 1.8 +u32 csip; 1.9 #ifdef NO386 1.10 extern "C" u16 topseg(); 1.11 #else 1.12 #define topseg() 0x9000 1.13 #endif 1.14 -u16 rm_size; 1.15 -u8 pm_high; // @ = @rm_size + 2, see JUMP.ASM 1.16 -static u8* rm_buf; // @ = @rm_size + 3, see JUMP.ASM 1.17 +static u16 rm_size; 1.18 +static u8* rm_buf; // @ = @rm_size + 2, see A20.ASM 1.19 struct image_himem imgs[2]; 1.20 1.21 static const char kernel_file_error[] = "Can't use kernel file"; 1.22 @@ -128,9 +127,8 @@ 1.23 1.24 struct image_himem *m = ± 1.25 #define _rm_buf(m) (((u8**)(m))[-1]) 1.26 -#define _pm_high (((u8*)(m))[-3]) 1.27 -#define _rm_size (*(u16*)((u8*)(m)-5)) 1.28 -#define _csip (*(u32*)((u8*)(m)-9)) 1.29 +#define _rm_size (((u16*)(m))[-2]) 1.30 +#define _csip (((u32*)(m))[-2]) 1.31 { 1.32 struct kernelparams_t *kernelparams; 1.33 kernelparams = &(((first1k_t*) (_rm_buf(m) = (u8 *)heap_top))->params); 1.34 @@ -218,7 +216,7 @@ 1.35 #else 1.36 if((u16)(((m->fallback=(u32(u16(_CS)+(u16(heap_top)>>4)+1)<<4))+m->size)>>16) >= 1.37 #endif 1.38 - (u16)(topseg()>>12) || _pm_high) { 1.39 + (u16)(topseg()>>12) || pm_high) { 1.40 m->fallback = base_himem; 1.41 } 1.42 if (((u16 *)&m->fallback)[1] == 0) {