read on tilepro
read from a file descriptor
sys_read(unsigned int fd, char *buf, size_t count)
| number | 63 (0x3f) |
|---|---|
| abi | common |
| entry point | sys_read |
| since | Linux 3.7 or earlier (3.7 is the first release scanned for tilepro) |
| man page | read(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r10 | 63, the syscall number |
r0 | unsigned int fd |
r1 | char *buf |
r2 | size_t count |
r0 | the return value |
Then run swint1 to enter the kernel.
The kernel uses r1 to signal an error for ordinary calls.
Fast atomic calls use negative numbers and have different register behavior.
This architecture was removed from the Linux kernel in Linux 4.17. The newest release with a syscall table here is Linux 4.16. The other removed architectures live on the historical architectures page.
Same syscall on other architectures
- x64 0
- x86 3
- arm64 63
- arm 3
- riscv64 63
- ia32 3
- x32 1073741824
- loongarch64 63
- ppc64 3
- ppc 3
- s390x 3
- mips64 5000
- mipsn32 6000
- mipso32 4003
- alpha 3
- arc 63
- blackfin 3, removed in 4.17
- cris 3, removed in 4.17
- csky 63
- frv 3, removed in 4.17
- hexagon 63
- ia64 1026, removed in 6.7
- m32r 3, removed in 4.17
- m68k 3
- metag 63, removed in 4.17
- microblaze 3
- mn10300 3, removed in 4.17
- nds32 63, removed in 5.18
- nios2 63
- openrisc 63
- parisc 3
- score 63, removed in 4.17
- sh 3
- sparc 3
- sparc64 3
- tilegx 63, removed in 4.17
- xtensa 12
Get this as JSON: https://api.syscall.sh/v2/syscalls/tilepro/read?kernel=all