[parisc-linux] HPUX syscall ABI?

Matthew Wilcox Matthew.Wilcox@genedata.com
Sun, 1 Aug 1999 21:50:01 +0200

I've just redefined the Linux syscall ABI again so we can
handle sys_mmap (which takes 6 arguments) cleanly.  I'm now
wondering what the HPUX syscall standard is.  I've searched
(as mentioned earlier on this mailing list) without success.

For those interested; Linux syscalls now take the syscall number in r20,
take arguments in r26-r21, zero r1, r19-r26, r29 and r31 on exit, preserve
r3-r18, r27(dp) and r30(sp), clobber r2 and return the result in r28.
If it's in the range [-1024,0) then that's an error code, otherwise it's
the result.

ObRant: Why on earth define a register to be caller-saves but not allow it
to contain an argument?  Why force it onto the stack?

Matthew Wilcox <willy@bofh.ai>
"Windows and MacOS are products, contrived by engineers in the service of
specific companies. Unix, by contrast, is not so much a product as it is a
painstakingly compiled oral history of the hacker subculture." - N Stephenson