Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!usc!ucsd!ucbvax!mtxinu!taniwha!paul From: paul@taniwha.UUCP (Paul Campbell) Newsgroups: comp.unix.aux Subject: Re: Few simple A/UX questions Message-ID: <648@taniwha.UUCP> Date: 19 Sep 90 16:46:20 GMT References: <1990Sep8.161532.1@mel.cipl.uiowa.edu> <1990Sep9.202622.21422@servalan.uucp> <2771@sequent.cs.qmw.ac.uk> <33817@cup.portal.com> <2791@sequent.cs.qmw.ac.uk> Reply-To: paul@taniwha.UUCP (Paul Campbell) Organization: Taniwha Systems Design, Oakland Lines: 41 In article <2791@sequent.cs.qmw.ac.uk> liam@cs.qmw.ac.uk (William Roberts) writes: >I do understand the benefit, and I also recognise that A/UX has missed the >boat - unless the UNXI ABI for 680x0 includes the myriad different schemes >for getting syscall arguments into the kernel (if you don't already know >about this mess, consider pipe, read, semop and socketpair: yes - they >are ALL different). Well yes and no (read on it doesn't really matter ...). 'Yes' because there are a couple of ABIs out there - the first one called the 68000BCS (Binary Compatability Standard) which was promoted by Motorola about 3 years ago codifies system call parameters, trap codes etc for Posix implementation it codified the system call practices in use at that time in the standard Unix porting base (from which A/UX is derived) [I wrote a large chunk of it so I remember it in terrible detail :-]. It was rather still-born because most of the 68K Unix vendors at that time were in the process of moving to RISC. There is a similar 88K BCS document. 'No' because the current evolving standards (new unixes etc) use shared libraries to handle this. The standards describe how applications find system calls in the libraries (ie 'read', shmop' etc as well as non-system call routines such as 'printf' etc) how the calls in the library actually call the kernel are up to a particular implementation and are irrelevant to the issue of ABIs. Note that one of the things that came out in the BCS development was that system call schemes are relatively independant of function - this means that a system can have more than one built-in system call scheme (for example it can have two system call traps - one that passes system parameters in registers, another that passes them on the stack (A/UX actually does have these) - or even traps with different numbers for system calls, or even different parameters etc etc). Paul -- Paul Campbell UUCP: ..!mtxinu!taniwha!paul AppleLink: CAMPBELL.P What most people don't realize is that those plastic cover slips that your 3 inch floppies come in are actually condoms for protecting your computer from harmfull computer viruses - practice safe computing ..... :-)