home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.dec
- Path: 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
-
- 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...''
-