wok-next rev 3922

syslinux: display ram size detected
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Aug 18 23:35:25 2009 +0200 (2009-08-18)
parents 6dbc26198e7d
children 57a049c42f13
files syslinux/stuff/extra/ifmem.c
line diff
     1.1 --- a/syslinux/stuff/extra/ifmem.c	Tue Aug 18 21:42:30 2009 +0200
     1.2 +++ b/syslinux/stuff/extra/ifmem.c	Tue Aug 18 23:35:25 2009 +0200
     1.3 @@ -49,7 +49,7 @@
     1.4  // Get memory size in Kb
     1.5  static unsigned long memory_size(void)
     1.6  {
     1.7 -  unsigned long bytes = 0;
     1.8 +  uint64_t bytes = 0;
     1.9    com32sys_t ireg, oreg;
    1.10    struct e820_data ed;
    1.11  
    1.12 @@ -94,19 +94,22 @@
    1.13  {
    1.14    char *s;
    1.15    int i, j = 1;
    1.16 +  unsigned long ram_size;
    1.17  
    1.18    for (s = argv[1]; *s && (*s < '0' || *s > '9'); s++);
    1.19  
    1.20 +  openconsole(&dev_null_r, &dev_stdcon_w);
    1.21    if (argc < 4 || !*s) {
    1.22 -    openconsole(&dev_null_r, &dev_stdcon_w);
    1.23      perror("\nUsage: ifmem.c32 size_KB boot_large_memory boot_small_memory\n");
    1.24      return 1;
    1.25    }
    1.26  
    1.27    // find target according to ram size
    1.28 +  ram_size = memory_size();
    1.29 +  printf("Total memory found %luK.\n",ram_size);
    1.30    for (i = 1; i + 2 < argc; ) { 
    1.31      j = i++; // size
    1.32 -    if (memory_size() >= strtoul(s, NULL, 0)) break;
    1.33 +    if (ram_size >= strtoul(s, NULL, 0)) break;
    1.34      s = argv[++i];
    1.35    }
    1.36