我正在尝试运行一个在gem5 FS模式下使用页面地图的应用程序。但是我不能在gem5中使用页面地图。把它抛到错误下面-
“断言(pagemap>=0)失败”
代码行是:
int pagemap = open("/proc/self/pagemap", O_RDONLY);
assert(pagemap >= 0);另外,如果我尝试使用sudo在gem5终端上运行我的应用程序,它会抛出错误-
找不到sudo命令
如何在gem5中使用sudo ??
发布于 2018-08-27 07:32:50
这些问题并不是特定于gem5的,而是特定于映像/ Linux的,并且可能会发生在任何模拟器或实际硬件上。因此,我建议您将gem5从等式中完全删除,并在下次问一个特定于Linux或映像的问题,说明您使用的是什么映像,内核倾诉,并提供一个最小的C示例来重现问题:这将大大提高您获得帮助的可能性。
我刚刚成功地完成了open("/proc/self/pagemap", O_RDONLY):这个程序和设置 on aarch64,也见这些评论。
如果任何文件不存在/proc/<pid>/pagemap,请执行以下操作:
/proc上。这通常是通过类型为fstab的条目来完成的:
proc /proc proc默认为0 0
但是init脚本也需要使用fstab。
或者,您可以用以下方法手动挂载proc:
安装-t proc proc/
您可能希望确保/sys和/dev也被挂载。pagemap字符串(很可能是创建点),这将引导我找到fs/proc/base.c,它包含:
#ifdef CONFIG_PROC_PAGE_MONITOR REG(“页面地图”,S_IRUSR,proc_pagemap_operations),#endif
因此,确保设置了CONFIG_PROC_PAGE_MONITOR。sudo:大多数嵌入式/模拟器映像没有它,您只需直接作为root登录,默认情况下不使用它就可以做任何事情。传统的#可以在提示符而不是$中看到这一点。
https://stackoverflow.com/questions/52033257
复制相似问题