Closed Fros1er closed 6 months ago
内存的物理地址不一定是从0开始的, 取决于内存位于物理地址空间中的哪一段.
内存的物理地址不一定是从0开始的, 取决于内存位于物理地址空间中的哪一段.
明白了,谢谢。还有一个问题,这个过程是由cpu规定的吗?如果是的话,os是不是某种程度需要上对每一家的cpu做适配?
你可以搜索一下cpu reset vector
, 了解更多的相关内容.
其实我想问的是,操作系统该如何管理分布在物理地址空间中不连续分布的内存和mmio设备。不过在搜索的时候想起来了,我问的那个东西是device tree。 再次感谢您的解答。
https://github.com/NJU-ProjectN/nemu/blob/32c0ce51a3c36e4676784aa10948e7fc84c6b19e/src/memory/paddr.c#L27-L33
这里把物理地址加了一个CONFIG_MBASE的偏移,但是物理地址应该是从0开始的吧。。感觉应该在虚拟地址那里做这个操作?
btw,我不是nju的,只是在随便写写