On Wed, Dec 13, 2017 at 1:58 PM, Damian Tometzki
<[email protected]> wrote:
> Hello,
>
> On more question. The second example:
>
> ffff800000000000 - ffff87ffffffffff (=43 bits) guard hole, reserved for
> hypervisor
>
>
> What are the relation between the Bits (=43bits) and the Adresse Range ?

If user-space stars and ends on 0x000000000000000 - 0x00007fffffffffff.
And kernel space starts and ends on 0xffff8000000000 - 0xffffffffffffffff.

Then this lines means

> ffff800000000000 - ffff87ffffffffff (=43 bits) guard hole, reserved for 
> hypervisor

That guard hole is part of kernel address space. Which starts at
ffff800000000000
and ends at ffff87ffffffffff.  The '=43' is the hint that
ffff87ffffffffff - ffff800000000000 = 43bits.

Valdis has already answered regarding the "upper kernel half" when
48th bit is sign extended
and are all 1's. And "lower user half' where the bits are all 0.
Please do read more about
canonical and non-canonical address.

>
> Is it possible to calculate the 43 Bits from the range ?  If yes, how ?
>

Not sure I understood the question. Maybe the above answer would help.

Thanks

_______________________________________________
Kernelnewbies mailing list
[email protected]
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

Reply via email to