Re: Virtual Memory map

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 13, 2017 at 1:58 PM, Damian Tometzki
<damian.tometzki@xxxxxxxxxx> 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
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux