wok diff linld/stuff/src/LOAD.CPP @ rev 22170

linld: clear heap in moverm
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri Nov 08 10:47:52 2019 +0100 (2019-11-08)
parents 306a4bbdee7d
children 10fa26e4c60d
line diff
     1.1 --- a/linld/stuff/src/LOAD.CPP	Wed Nov 06 21:02:18 2019 +0100
     1.2 +++ b/linld/stuff/src/LOAD.CPP	Fri Nov 08 10:47:52 2019 +0100
     1.3 @@ -124,8 +124,7 @@
     1.4  struct image_himem imgs[2];
     1.5  
     1.6  static const char kernel_file_error[] = "Can't use kernel file";
     1.7 -static char *version_string="";
     1.8 -char* load_kernel() {
     1.9 +void load_kernel() {
    1.10  
    1.11      struct	image_himem *m = &pm;
    1.12  #define _rm_buf(m)	(((u8**)(m))[-1])
    1.13 @@ -158,7 +157,6 @@
    1.14      if((kernelparams->setup_sects)>=(_32k/512) || // 0th sector not counted
    1.15  	 kernelparams->boot_flag != 0xAA55)
    1.16          die("Not a kernel");
    1.17 -    heap_top +=		// Hack for VCPI. Need fix.
    1.18      _rm_size=0x200*(kernelparams->setup_sects+1);
    1.19      m->size -= _rm_size;
    1.20      m->chunk_size -= _rm_size;
    1.21 @@ -185,7 +183,7 @@
    1.22              hook_int15_88(); // break _ES
    1.23          }
    1.24          if (kernelparams->kernel_version)
    1.25 -            version_string = (char *) strdup((char *) first1k+kernelparams->kernel_version+0x200);
    1.26 +            strcpy(version_string,(char *) first1k+kernelparams->kernel_version+0x200);
    1.27          kernelparams->type_of_loader = 0xff; // kernel do not know us (yet :-)
    1.28          if(kernelparams->version >= 0x201) {
    1.29              // * offset limit of the setup heap
    1.30 @@ -223,7 +221,6 @@
    1.31      }
    1.32  
    1.33      load_image(m);
    1.34 -    return version_string;
    1.35  }
    1.36  
    1.37  // Read initrd if needed