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

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?)



from Recent Questions - Stack Overflow https://ift.tt/3aztNe7
https://ift.tt/eA8V8J

Comments

Popular posts from this blog

Today Walkin 14th-Sept

Hibernate Search - Elasticsearch with JSON manipulation

Spring Elasticsearch Operations