forked from arceos-org/arceos
-
Notifications
You must be signed in to change notification settings - Fork 17
Open
Description
背景
通过makefile的IMG features来判断是否将比赛测例加载到内核内存中。
- 若IMG=y,此时认为通过qemu运行测例,因此不必启动ramdisk,而是通过virt-io即可访问外部测例镜像。
- 若IMG=n,此时认为通过开发板运行,需要启动ramdisk,因此要手动通过tftp等操作将测例镜像加载到指定内存地址(常为0x9000_0000),并将该地址设置为ramdisk读取的地址即可。
当前问题
在比赛时为了方便调试,会在IMG=y的时候,将测例镜像直接加载在内核镜像中某一个地址addr,然后手动设置页表映射,将0x9000_0000映射到该地址addr,从而检验内核读取ramdisk的功能是否正常。但是在完成比赛之后,该方法会显得十分冗余。因此需要做如下改进:
- 设置在IMG=y的时候不启动ramdisk,仅启动virt-io;在IMG=n的时候启动ramdisk,不启动virt-io。
- 设置在IMG=y的时候不使用页表映射,而是通过qemu挂载的形式去读取外部镜像
Metadata
Metadata
Assignees
Labels
No labels