启用分页时,xen中的ARM引导代码无法引导

时间:2018-08-10 10:56:14

标签: paging virtual-memory arm64 xen hypervisor

我正在尝试了解arm64的xen引导代码。只需拿起head.S并使用aarch64-linux-gnu-gcc进行编译(已在head.S内部硬编码了所需的宏)。从某个级别开始,然后在启用分页后停止(根本不打印)

控制台打印:

- UART enabled -
- UART enabled -
- CPU 00000000 booting -
- Current EL 00000008 -
- Xen starting at EL2 -
- Zero BSS -
- Setting up control registers -
- Turning on paging  -

有人对此有任何想法吗?

1 个答案:

答案 0 :(得分:0)

想法1:分页不起作用。

想法2:您没有足够的东西来打印。

因此,在1和2之间进行选择,也许可以窥视信号源,看看是否应该看到更多输出。如果应该的话,答案是1。

现在,选择[1]: 想法1a:您的内存映射是错误的,因此它设置的页面没有意义。

想法1b:您没有在内存映射中正确定义控制台的设备控制寄存器,因此无法写出新消息。

如果您已经走了这么远,您会了解更多,但还远远不够。