From 03c1db5ff873b8f3dca510c179e084fd9dc74793 Mon Sep 17 00:00:00 2001 From: Jacek Maksymowicz Date: Tue, 17 Sep 2024 12:14:13 +0200 Subject: [PATCH] !vm: Add passing of map name in meminfo syscall JIRA: RTOS-754 --- include/sysinfo.h | 1 + vm/map.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/include/sysinfo.h b/include/sysinfo.h index aa49719fd..3f85bf8d5 100644 --- a/include/sysinfo.h +++ b/include/sysinfo.h @@ -70,6 +70,7 @@ typedef struct { addr_t vend; size_t alloc; size_t free; + char name[16]; } mapinfo_t; diff --git a/vm/map.c b/vm/map.c index 5b1f5d435..21a587891 100644 --- a/vm/map.c +++ b/vm/map.c @@ -1125,6 +1125,7 @@ void vm_mapinfo(meminfo_t *info) rbnode_t *n; map_entry_t *e; vm_map_t *map; + const syspage_map_t *spMap; unsigned int size; process_t *process; int i; @@ -1314,6 +1315,14 @@ void vm_mapinfo(meminfo_t *info) info->maps.map[size].pend = (addr_t)map->pmap.end; info->maps.map[size].vstart = (ptr_t)map->start; info->maps.map[size].vend = (ptr_t)map->stop; + spMap = syspage_mapIdResolve(size); + if ((spMap != NULL) && (spMap->name != NULL)) { + hal_strncpy(info->maps.map[size].name, spMap->name, sizeof(info->maps.map[size].name)); + info->maps.map[size].name[sizeof(info->maps.map[size].name) - 1] = '\0'; + } + else { + info->maps.map[size].name[0] = '\0'; + } } }