[hppa-linux] Gateway instructions
Mike Shaver
shaver@netscape.com
Thu, 18 Mar 1999 16:51:09 -0500
Cary Coutant wrote:
> When a page's access rights are 4, 5, 6, or 7, a gateway instruction on
> that page causes the privilege promotion. Most HP-UX system calls are
> branches to a common gateway instruction on a gateway page in the fourth
> quadrant. This gateway instruction then branches to a common syscall
> entry sequence that ultimately switches on the syscall number passed in a
> GR. Some "lightweight" syscalls may be implemented with their own
> gateways.
OK, so you don't have a spot on the page for each syscall? I was
thinking that we'd want to do that, since we're going to use the whole
page anyway and it would make things a little quicker by eliminating the
later dispatch-by-syscall step.
I presume that the syscall gateway page layout is part of the HP-UX
kernel/user ABI though, so we'll be following your lead for SOM/HP-ELF
binaries anyway.
> The B bit is not a problem as long as the delay slot of the branch to the
> gateway is either nullified or filled in with a non-branch instruction.
> For example,
>
> LDIL L'GATEWAY,%r1
> BLE R'GATEWAY(%sr7,%r1)
> LDO sycallnum,%r22
Someday (maybe today, if I get all my work done =) ), I'll learn to read
that.
Mike
--
368177.00 314980.91