4.3bsd Usrptmap

4.3bsd Usrptmap

Post by King-Yeung Y » Thu, 25 Jun 1992 03:59:51



Hi, In 4.3BSD Unix, there is a data structure called Usrptmap, which
is in addition to the user page tables. I don't quite understand the
purpose of this data structure. Why isn't it sufficient to allocate
only User page tables in kernel virtual address space using a resource
map?

Any enlightenment on this is greatly appreciated.

David

Department of Computer Sciences
University of Texas at Austin

 
 
 

4.3bsd Usrptmap

Post by Chris Tor » Fri, 03 Jul 1992 00:27:38



>Hi, In 4.3BSD Unix, there is a data structure called Usrptmap, which
>is in addition to the user page tables. I don't quite understand the
>purpose of this data structure. Why isn't it sufficient to allocate
>only User page tables in kernel virtual address space using a resource
>map?

Usrptmap[] is the page table that maps the user page tables.  This
first-level page table must be in physically contiguous memory (per
the VAX architecture).  The easiest way to do that was to make it
static duration.  The kernel memory allocators do not arrange for
contiguous physical pages.
--
In-Real-Life: Chris Torek, Lawrence Berkeley Lab CSE/EE (+1 510 486 5427)


 
 
 

4.3bsd Usrptmap

Post by Chris Tor » Fri, 03 Jul 1992 20:34:29



>Usrptmap[] is the page table that maps the user page tables.  This
>first-level page table must be in physically contiguous memory (per
>the VAX architecture). ...

Bill Jolitz (yes, that Bill Jolitz :-) ) pointed out that this is
wrong:  the VAX hardware looks up user page tables in kernel virtual
space.  It is only the Sysmap[] PTEs that must be in physically
contiguous space.

He added that:

Quote:>In the Univ. Utah emulation of the "old" VM, it was easier to arrange
>things with consecutive physical, which might be where the confusion
>comes!

(I have never dealt with the old Utah code myself, so I think I just
must have confused the VAX page lookup with other multilevel PTE
schemes.  This kind of hardware lookup eventually runs out of levels
and has to fall back on some simple scheme, usually `physical base
address plus offset'.  There are other methods, such as Sun's weird
Sun-3 and SPARCstation MMUs and MIPS and HP-PA software translation
schemes, which give you a different set of drawbacks. :-) .)
--
In-Real-Life: Chris Torek, Lawrence Berkeley Lab CSE/EE (+1 510 486 5427)

 
 
 

1. How do I link f77 objects with plot libraries (4.3bsd)?

I'm trying to write f77 code which calls C functions in the plot libraries
for example:

        CALL arc (ih,ik, ix0,iy0, ixe,iye)

My problem seems to be that the f77 compiler appends an underscore to
the name of the procedure I am trying to call (e.g. _arc_), in lib4013.a
the routine I want to link with is named "_arc".  How can I convince the
linker that that's what I want, or get f77 not to append the underscore?

Thanks in advance,

        dan (I really didn't want to mess with fortran anyways, but...)
--

tektronix!reed!lclark!dan       "Set the way-back machine Sherman ... "
= == := |-) ;^)

2. sunfire x2100 and freeware

3. Problem building new Kernel under 4.3bsd

4. ping -f packet loss on linux

5. 4.3bsd-reno lpd/lpr for Solaris2.2

6. Midnight Commander on OpenBSD/Sparc?

7. sigblock and system() under 4.3bsd

8. HELP reading kernel tables

9. Wanted: RARP Server for 4.3bsd Vax

10. look for 4.3bsd source code (kernel and stack only)

11. help needed on TK50/4.3BSD MicroVAX II problem

12. Need help formating disks under 4.3bsd!

13. 4.3bsd telnet problem