[parisc-linux] /usr/conf/machine header files
Philipp Rumpf
Philipp.H.Rumpf@mathe.stud.uni-erlangen.de
Thu, 9 Dec 1999 05:06:34 +0100
> > PA2.0 port: 64-bit virtual addresses are 42 bits per quadrant only and
> > start at the smallest address in the quadrant - so unlike alpha where the
> > addresses are "sign-extended".
> Actually, HP-UX does sign extend I/O addresses. I'm not sure
That's physical addresses though, so we really don't care, do we ?
> if this is a feature of HP-UX or something in the HW makes it
> easier to do it this way...anyone know?
>
> Secondly, don't make assumptions about how many bits are used in
> a virtual or physical addresses unless it's processor specific code.
> (eg TLB handler or trap handler or hpmc handler). I know the number
> of physical bits supported by the processor is going to increase
> from 40-bits (runway).
physical addresses you are right about; we really should use an unsigned
long for those and never expect them to be less than 64 bits in length.
virtual addresses, unfortunately, aren't as simple: The 32 LSBs of the
space identifier get ORed into the 32 MSBs of the virtual address, so we
are limited to 2+(62-virtual_address_bits_used) effective bits for space
identifiers (on PA2.0 CPUs with 32 bit space registers). As we want to
use at least one space identifier per process, actually using only 42
bits of the virtual address gives us 22 bits of space identifiers - or
1 M processes even if we use 4 space identifiers per process.
Philipp Rumpf