据我所知,在 XV6 中,PHYSTOP 应该是 1GB。
如果是这样,PHYSTOP 应该是 0x40000000 (1GB) 而不是 0xE000000 (224MB),如http://pdos.csail.mit.edu/6.828/2014/xv6/xv6-rev8.pdf中所示:
0203 #define PHYSTOP 0xE000000 // Top physical memory
此外,在 XV6 中,进程可能从 0 映射到 0x80000000(KERNBASE)。也就是说,一个进程可能使用 2GB 的地址空间。如果 PHYSTOP 不是 2GB,怎么可能?
我错过了什么?