Why The loader loads the xv6 kernel into memory at physical address 0x80000000?

0

I have read this in MIT6.828:

The loader loads the xv6 kernel into memory at physical address 0x80000000. The reason it places the kernel at 0x80000000 rather than 0x0 is because the address range 0x0:0x80000000 contains I/O devices.

But How do I/O devices takes up these addresses?For example,what range will one single device takes up?(Say 0x0:0x00000040 is used for one device because on 64-bit machine one device takes up one byte?)

operating-system
xv6
asked on Stack Overflow Apr 26, 2021 by Shengxin Huang

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0