pread64 on metag
read from or write to a file descriptor at a given offset
sys_pread64_metag(unsigned long fd, char *buf, size_t count, unsigned long lo, unsigned long hi)
| number | 67 (0x43) |
|---|---|
| abi | common |
| entry point | sys_pread64_metag |
| since | Linux 3.9 or earlier (3.9 is the first release scanned for metag) |
| man page | pread64(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
D1Re0 | 67, the syscall number |
D1Ar1 | unsigned long fd |
D0Ar2 | char *buf |
D1Ar3 | size_t count |
D0Ar4 | unsigned long lo |
D1Ar5 | unsigned long hi |
D0Re0 | the return value |
Then run SWITCH #0x440001 to enter the kernel.
Values wider than one register are packed into consecutive arguments.
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 17
- x86 180
- arm64 67
- arm 180
- riscv64 67
- ia32 180
- x32 1073741841
- loongarch64 67
- ppc64 179
- ppc 179
- s390x 180
- mips64 5016
- mipsn32 6016
- mipso32 4200
- alpha 349
- arc 67
- blackfin 351, removed in 4.17
- cris 180, removed in 4.17
- csky 67
- frv 180, removed in 4.17
- hexagon 67
- ia64 1148, removed in 6.7
- m32r 180, removed in 4.17
- m68k 180
- microblaze 180
- mn10300 180, removed in 4.17
- nds32 67, removed in 5.18
- nios2 67
- openrisc 67
- parisc 108
- score 67, removed in 4.17
- sh 180
- sparc 67
- sparc64 67
- tilegx 67, removed in 4.17
- tilepro 67, removed in 4.17
- xtensa 30
Get this as JSON: https://api.syscall.sh/v2/syscalls/metag/pread64?kernel=all