我正在尝试了解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 -
有人对此有任何想法吗?
答案 0 :(得分:0)
想法1:分页不起作用。
想法2:您没有足够的东西来打印。
因此,在1和2之间进行选择,也许可以窥视信号源,看看是否应该看到更多输出。如果应该的话,答案是1。
现在,选择[1]: 想法1a:您的内存映射是错误的,因此它设置的页面没有意义。
想法1b:您没有在内存映射中正确定义控制台的设备控制寄存器,因此无法写出新消息。
如果您已经走了这么远,您会了解更多,但还远远不够。