Re: process max virtual memory limit in amd64?
> Are all of the high-order n bits of virtual addresses unused? I seem
> to remember a lecture about the UltraSparc CPUs using the high-order
> bit of virtual addresses, followed by n unused bits, followed by
> (63-n) bits that are used. In this way, the kernel can be loaded at
> 0x8000000000000000, and that will never be equivalent to 0x0. This
> means that the Solaris kernel needs no modification when Sun increases
> the number of bits in virtual addresses that get used (decreasing n,
> the number of bits that are ignored.) I would assume AMD64 CPUs use
> the same strategy, but I have not read enough documentation.
I think you can also do this without hardware hacks by sign-extending
addresses, rather than zero-extending them. Then put the kernel at the very
top of the address space and allocate downwards.
I don't know what amd64 does.