Difference between revisions of "List of SITS system calls"
From Computer History Wiki
(Add more.) |
(Add more.) |
||
Line 1: | Line 1: | ||
[[SITS]] system calls were done using EMT in loder versions, and TRAP in newer. The system call number makes up the lower 7 bits. Bit 200 can be set to have the call fault on error, in which case a $ replaces the . in the symbolic name. | [[SITS]] system calls were done using EMT in loder versions, and TRAP in newer. The system call number makes up the lower 7 bits. Bit 200 can be set to have the call fault on error, in which case a $ replaces the . in the symbolic name. | ||
− | System call arguments go on the stack. | + | System call arguments go on the stack. (C) indicates a capability. |
{| class="wikitable" | {| class="wikitable" | ||
Line 8: | Line 8: | ||
! Name | ! Name | ||
! Function | ! Function | ||
− | ! Arguments | + | ! colspan="3" | Arguments |
− | |||
|- | |- | ||
| 0 | | 0 | ||
| .NOOP | | .NOOP | ||
| None | | None | ||
− | | | + | | colspan="3" | None |
− | | None | ||
|- | |- | ||
| 1 | | 1 | ||
| .FORK | | .FORK | ||
| Create new process | | Create new process | ||
− | | Entry point | + | | colspan="3" | Entry point |
− | |||
|- | |- | ||
| 2 | | 2 | ||
| .POOFF | | .POOFF | ||
− | | Kill | + | | Kill this process |
− | | | + | | colspan="3" | None |
− | | None | ||
|- | |- | ||
| 3 | | 3 | ||
| .SLEEP | | .SLEEP | ||
| Sleep | | Sleep | ||
− | | | + | | Time |
− | | | + | | colspan="2" | Time |
|- | |- | ||
| 4 | | 4 | ||
| .SINK | | .SINK | ||
| Disable floating point | | Disable floating point | ||
− | | | + | | colspan="3" | None |
− | | None | ||
|- | |- | ||
| 5 | | 5 | ||
| .FLOAT | | .FLOAT | ||
| Enable floating point | | Enable floating point | ||
− | | | + | | colspan="3" | None |
− | | None | ||
|- | |- | ||
| 6 | | 6 | ||
| .INVOK | | .INVOK | ||
| Invoke capability | | Invoke capability | ||
− | | Capability | + | | Capability (C) |
− | | | + | | argument |
+ | | argument | ||
|- | |- | ||
| 7 | | 7 | ||
| .QULK | | .QULK | ||
| Lock queue | | Lock queue | ||
− | | Queue | + | | colspan="3" | Queue (C) |
− | |||
|- | |- | ||
| 10 | | 10 | ||
| .QUNLK | | .QUNLK | ||
| Unlock queue | | Unlock queue | ||
− | | Queue | + | | colspan="3" | Queue (C) |
− | |||
|- | |- | ||
| 11 | | 11 | ||
| .TTGIV | | .TTGIV | ||
| Give TTY away | | Give TTY away | ||
− | | Master sphere | + | | Master sphere (C) |
− | | | + | | colspan="2" | Teletype (C) |
|- | |- | ||
| 12 | | 12 | ||
| .TTGET | | .TTGET | ||
| Get the TTY | | Get the TTY | ||
− | | Teletype | + | | colspan="3" | Teletype (C) |
− | |||
|- | |- | ||
| 13 | | 13 | ||
| .WRDI | | .WRDI | ||
− | | | + | | Word input |
− | | | + | | colspan="3" | |
− | | | ||
|- | |- | ||
| 14 | | 14 | ||
| .WRDO | | .WRDO | ||
− | | | + | | Word output |
− | | | + | | colspan="3" | |
− | | | ||
|- | |- | ||
| 15 | | 15 | ||
| .BYTI | | .BYTI | ||
− | | | + | | Byte input |
− | | | + | | colspan="3" | |
− | | | ||
|- | |- | ||
| 16 | | 16 | ||
| .BYTO | | .BYTO | ||
− | | | + | | Byte output |
− | | | + | | colspan="3" | |
− | | | ||
|- | |- | ||
| 17 | | 17 | ||
| .BLKI | | .BLKI | ||
− | | | + | | Block input |
− | | | + | | colspan="3" | |
− | | | ||
|- | |- | ||
| 20 | | 20 | ||
| .BLKO | | .BLKO | ||
− | | | + | | Block output |
− | | | + | | colspan="3" | |
− | | | ||
|- | |- | ||
| 21 | | 21 | ||
| .MAP | | .MAP | ||
− | | | + | | Create page |
− | | | + | | colspan="3" | |
− | | | ||
|- | |- | ||
| 22 | | 22 | ||
| .ALLOC | | .ALLOC | ||
− | | | + | | Allocate swap |
− | | | + | | Size |
− | | | + | | Start |
+ | | Disk | ||
|- | |- | ||
| 23 | | 23 | ||
| .CRUSR | | .CRUSR | ||
− | | | + | | Make this a user process |
− | | | + | | Copy name |
− | | | + | | Length of name |
+ | | Pointer to name | ||
|- | |- | ||
| 24 | | 24 | ||
| .RDMAP | | .RDMAP | ||
− | | | + | | Read map |
− | | | + | | Sphere (C) |
− | | | + | | colspan="2" | Address |
|- | |- | ||
| 25 | | 25 | ||
| .FONT | | .FONT | ||
− | | | + | | Read or write font |
− | | | + | | Function,,font |
− | | | + | | colspan="2" | Address |
|- | |- | ||
| 26 | | 26 | ||
| .SSTAT | | .SSTAT | ||
− | | | + | | Read system status |
− | | | + | | colspan="3" | Address |
− | | | ||
|- | |- | ||
| 27 | | 27 | ||
| .VIDSW | | .VIDSW | ||
− | | | + | | Set video switch modes |
− | | | + | | Source |
− | | | + | | colspan="2" | Destination |
|- | |- | ||
| 30 | | 30 | ||
| .RUG | | .RUG | ||
− | | | + | | Hack system sphere(?) |
− | | | + | | colspan="3" | |
− | | | ||
|- | |- | ||
| 31 | | 31 | ||
| .GERRW | | .GERRW | ||
− | | | + | | Get error word |
− | | | + | | colspan="3" | |
− | | | ||
|- | |- | ||
| 32 | | 32 | ||
| .TIME | | .TIME | ||
− | | | + | | Get or set time |
− | | | + | | colspan="3" | |
− | | | ||
|- | |- | ||
| 33 | | 33 | ||
| .SYJB | | .SYJB | ||
− | | | + | | Perform system job |
− | | | + | | colspan="3" | None |
− | | | ||
|- | |- | ||
| 34 | | 34 | ||
| .GETID | | .GETID | ||
− | | | + | | Get process id |
− | | | + | | colspan="3" | |
− | | | ||
|- | |- | ||
| 35 | | 35 | ||
| .MFPI | | .MFPI | ||
| | | | ||
− | | | + | | colspan="3" | Address |
− | | | ||
|- | |- | ||
| 36 | | 36 | ||
| .OSPAC | | .OSPAC | ||
| | | | ||
− | | | + | | colspan="3" | |
− | | | ||
|} | |} |
Revision as of 12:01, 5 October 2022
SITS system calls were done using EMT in loder versions, and TRAP in newer. The system call number makes up the lower 7 bits. Bit 200 can be set to have the call fault on error, in which case a $ replaces the . in the symbolic name.
System call arguments go on the stack. (C) indicates a capability.
Number | Name | Function | Arguments | ||
---|---|---|---|---|---|
0 | .NOOP | None | None | ||
1 | .FORK | Create new process | Entry point | ||
2 | .POOFF | Kill this process | None | ||
3 | .SLEEP | Sleep | Time | Time | |
4 | .SINK | Disable floating point | None | ||
5 | .FLOAT | Enable floating point | None | ||
6 | .INVOK | Invoke capability | Capability (C) | argument | argument |
7 | .QULK | Lock queue | Queue (C) | ||
10 | .QUNLK | Unlock queue | Queue (C) | ||
11 | .TTGIV | Give TTY away | Master sphere (C) | Teletype (C) | |
12 | .TTGET | Get the TTY | Teletype (C) | ||
13 | .WRDI | Word input | |||
14 | .WRDO | Word output | |||
15 | .BYTI | Byte input | |||
16 | .BYTO | Byte output | |||
17 | .BLKI | Block input | |||
20 | .BLKO | Block output | |||
21 | .MAP | Create page | |||
22 | .ALLOC | Allocate swap | Size | Start | Disk |
23 | .CRUSR | Make this a user process | Copy name | Length of name | Pointer to name |
24 | .RDMAP | Read map | Sphere (C) | Address | |
25 | .FONT | Read or write font | Function,,font | Address | |
26 | .SSTAT | Read system status | Address | ||
27 | .VIDSW | Set video switch modes | Source | Destination | |
30 | .RUG | Hack system sphere(?) | |||
31 | .GERRW | Get error word | |||
32 | .TIME | Get or set time | |||
33 | .SYJB | Perform system job | None | ||
34 | .GETID | Get process id | |||
35 | .MFPI | Address | |||
36 | .OSPAC |