Mercurial > flash_v2
diff packages/cygmon/current/misc/bsp/common/syscall.c @ 112:02ea4320376c ecos-sw-2000-07-21
Merge from eCos master repository on 2000-07-21-21:01:39-BST
| author | jlarmour |
|---|---|
| date | Fri, 21 Jul 2000 21:34:11 +0000 |
| parents | 435cced73e2f |
| children | e0c0827131d1 |
line wrap: on
line diff
--- a/packages/cygmon/current/misc/bsp/common/syscall.c +++ b/packages/cygmon/current/misc/bsp/common/syscall.c @@ -172,6 +172,32 @@ int *(bsp_shared_t **)arg1 = bsp_shared_data; break; + case SYS_meminfo: + { + // Return the top and size of memory. + struct bsp_mem_info mem; + int i; + unsigned long u, totmem, topmem, numbanks; + + i = totmem = topmem = numbanks = 0; + while (bsp_sysinfo(BSP_INFO_MEMORY, i++, &mem) == 0) + { + if (mem.kind == BSP_MEM_RAM) + { + numbanks++; + totmem += mem.nbytes; + u = (unsigned long)mem.virt_start + mem.nbytes; + if (u > topmem) + topmem = u; + } + } + *(unsigned long *)arg1 = totmem; + *(unsigned long *)arg2 = topmem; + *retval = numbanks; + } + return 1; + break; + default: return 0; }
