[hppa-linux] syscall work

Bjorn Helgaas helgaas@rsn.hp.com
Thu, 25 Mar 1999 17:40:11 -0600

>> I'd suggest *not* using the same gateway page address as HP-UX. If you 
>> do, you won't be able to develop a later kernel extension to support 
>> HP-UX binaries, unless you allocate syscall numbers carefully.
>Doesn't that depend which gateway page you map into each application ?

Here's one of the subtleties of PA-RISC VM.  Under HP-UX, there's only one
mapping (space 0, offset 0xC0000000) that is shared by all applications.
The libc stub branches to (%sr7,0xC0000000), and %sr7 always contains
a zero while running user apps.

Sharing a mapping between applications is a performance win, because
you can share the TLB entry and you can share the physical page without
worrying about any cache flushing issues.  Since PA-RISC has virtually-
indexed caches, you can only share physical pages under limited conditions
-- see appendix F in the 2.0 arch book.

Of course, you don't *have* to share those mappings, but you will
have more TLB misses and (unless you're careful about virtual address
allocation for aliasing) more cache flushing.