Article View: comp.sys.dec
Article #140Re: VAX question
From: Boyd Roberts
Date: Sun, 26 Jul 1992 21:19
Date: Sun, 26 Jul 1992 21:19
34 lines
1768 bytes
1768 bytes
In article <1992Jul26.015003.1@matrix.cs.wright.edu>, dwagoner@matrix.cs.wright.edu writes:
> Can anyone explain the difference between P0 and P1 space on a VAX?
P0 space starts at 0 and goes to 0x3FFFFFFF. P1 space starts at 0x7FFFFFFF
and extends down to 0x40000000. P0 is used for text, data and bss. P1
is used for the stack. [I hope i've got the numbers right; anyway it's
all to do with the top two bits of the address:
31 30 ... 0
o o o o ... o
^ ^
| |--------- P0/P1
|
|----------- user/kernel space
kernel P1 is invalid].
> Text and initialized data segments (on BSD 4.3, at least) wind up
> in P0 space; unitialized data (i.e. stack) is placed in P1 space.
Uninitialised data is known as bss and belongs in P0.
> The two regions are accessed using different base registers; P1 is
> a bit tricky to work with in comparison to P0.
Well, I always thought that it was counter intuitive for the human
but was designed to be simple for the machine. I think the idea
was to use the same arithmetic for both regions. From memory, the P1
length register indicated how much is _not_ mapped.
Boyd Roberts boyd@prl.dec.com
``When the going gets wierd, the weird turn pro...''
Technical Details
Message-ID:
<1992Jul26.211939.25698@prl.dec.com>Path:
arc1-ca.pugleaf.net!sparky!uunet!decwrl!pa.dec.com!decprl!decprl!boydReferences:
<1992Jul26.015003.1@matrix.cs.wright.edu>Show Full Headers
Complete Article Headers
Newsgroups: comp.sys.dec Path: arc1-ca.pugleaf.net!sparky!uunet!decwrl!pa.dec.com!decprl!decprl!boyd From: boyd@prl.dec.com (Boyd Roberts) Subject: Re: VAX question Message-ID: <1992Jul26.211939.25698@prl.dec.com> Sender: news@prl.dec.com (USENET News System) Nntp-Posting-Host: prl313.prl.dec.com Organization: Digital Equipment Corporation - Paris Research Laboratory References: <1992Jul26.015003.1@matrix.cs.wright.edu> Date: Sun, 26 Jul 1992 21:19:39 GMT Lines: 34