wok diff linld/stuff/src/HIMEM.CPP @ rev 23996
linld: add iso support
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Fri Jan 08 20:15:35 2021 +0000 (2021-01-08) |
parents | 3d19917d3a03 |
children | bc4b94310a29 |
line diff
1.1 --- a/linld/stuff/src/HIMEM.CPP Sat Dec 12 10:41:29 2020 +0000 1.2 +++ b/linld/stuff/src/HIMEM.CPP Fri Jan 08 20:15:35 2021 +0000 1.3 @@ -6,20 +6,13 @@ 1.4 #include "crtl.h" 1.5 #include "common.h" 1.6 1.7 -#ifdef WITH_XMM_ALLOC 1.8 -u16 skip_alloc; 1.9 -#endif 1.10 -static u32 buf; 1.11 +extern u32 himem_buf; 1.12 1.13 void load_image(struct image_himem *m) { 1.14 m->remaining = m->size; 1.15 m->buf = m->fallback; // set no_exit btw: die() won't return to DOS 1.16 - u32* bufv= &buf; 1.17 -#ifdef WITH_XMM_ALLOC 1.18 - if(((u16 *)&m->fallback)[1] >= (skip_alloc|0x10)) { // >= _1m ? 1.19 -#else 1.20 + u32* bufv= &himem_buf; 1.21 if(((u16 *)&m->fallback)[1] >= 0x10) { // >= _1m ? 1.22 -#endif 1.23 if(vcpi) { 1.24 bufv = (u32 *)malloc_bufv_or_die(m); // update m->bufv 1.25 } 1.26 @@ -29,15 +22,15 @@ 1.27 } 1.28 #endif 1.29 } 1.30 - buf = m->buf; 1.31 + himem_buf = m->buf; 1.32 do { 1.33 u16 size; 1.34 if(s16(size = read_image(m)) -1 < 0) break; 1.35 storepage(bufv); 1.36 - if (bufv != &buf) next(bufv); 1.37 - buf += size; 1.38 + if (bufv != &himem_buf) next(bufv); 1.39 + himem_buf += size; 1.40 } while (*bufv); 1.41 - if(m->remaining) die("Read error"); 1.42 + if(m->remaining) loadfailure(); 1.43 close(m->fd2close); 1.44 } 1.45 1.46 @@ -57,9 +50,9 @@ 1.47 pusha 1.48 # endif 1.49 } 1.50 + vm2rm(); 1.51 struct image_himem *m = ± 1.52 u32 *q; 1.53 - vm2rm(); 1.54 if(((u16 *)&m->fallback)[1] >= 0x10) // >= _1m ? 1.55 ((u16 *)&m->fallback)[1] = 0x10; 1.56 q = m->bufv;