summaryrefslogtreecommitdiff
path: root/arch/riscv32/bits
AgeCommit message (Collapse)AuthorLines
11 daysupdate syscalls up to linux 6.19Szabolcs Nagy-0/+20
Add two missing syscalls from v5.14 and new syscalls from v6.4 .. v6.19 add __NR_quotactl_fd from linux v5.14 see linux commit 9dfa23c8de925041b7b45637a1a80a98a22f19dd quota: Add mountpath based quota support linux commit fa8b90070a80bb1a3042b4b25af4b3ee2c4c27e1 quota: wire up quotactl_path linux commit 64c2c2c62f92339b176ea24403d8db16db36f9e6 quota: Change quotactl_path() systcall to an fd-based one add __NR_memfd_secret from linux v5.14 see linux commit 7bb7f2ac24a028b20fca466b9633847b289b156a arch, mm: wire up memfd_secret system call where relevant linux commit 1507f51255c9ff07d75909a84e7c0d7f3c4b2f49 mm: introduce memfd_secret system call to create "secret" memory areas note: was already added on x86 and s390, now on aarch64 and riscv*. add riscv __NR_riscv_hwprobe from linux v6.4 see linux commit ea3de9ce8aa280c5175c835bd3e94a3a9b814b74 RISC-V: Add a syscall for HW probing add x86_64 only map_shadow_stack syscall from linux v6.6 see linux commit c35559f94ebc3e3bc82e56e07161bb5986cd9761 x86/shstk: Introduce map_shadow_stack syscall add map_shadow_stack syscall from linux v6.7 see linux commit 2fd0ebad27bcd4c8fc61c61a98d4283c47054bcf arch: Reserve map_shadow_stack() syscall number for all architectures add futex_* syscalls from linux v6.7 see linux commit 9f6c532f59b20580acf8ede9409c9b8dce6e74e1 futex: Add sys_futex_wake() linux commit cb8c4312afca1b2dc64107e7e7cea81911055612 futex: Add sys_futex_wait() linux commit 0f4b5f972216782a4acb1ae00dcb55173847c2ff futex: Add sys_futex_requeue() add statmount, listmount syscalls from linux v6.8 see linux commit d8b0f5465012538cc4bb10ddc4affadbab73465b wire up syscalls for statmount/listmount linux commit b4c2bea8ceaa50cd42a8f73667389d801a3ecf2d add listmount(2) syscall linux commit 46eae99ef73302f9fb3dddcd67c374b3dffe8fd6 add statmount(2) syscall add lsm_* syscalls from linux v6.8 see linux commit 5f42375904b08890f2e8e7cd955c5bf0c2c0d05a LSM: wireup Linux Security Module syscalls linux commit ad4aff9ec25f400608283c10d634cc4eeda83a02 LSM: Create lsm_list_modules system call linux commit a04a1198088a1378d0389c250cc684f649bcc91e LSM: syscalls for current process attributes add mseal syscall from linux v6.10 see linux commit ff388fe5c481d39cc0a5940d1ad46f7920f1d646 mseal: wire up mseal syscall on sh add sync_file_range2 from linux v6.10 see linux commit 30766f1105d6d2459c3b9fe34a3e52b637a72950 sh: rework sync_file_range ABI on x86 add uretprobe from linux v6.11 see linux commit 54233a4254036efca91b9bffbd398ecf39e90555 uretprobe: change syscall number, again add *xattrat syscalls from linux v6.13 see linux commit 6140be90ec70c39fa844741ca3cc807dd0866394 fs/xattr: add *at family syscalls add open_tree_attr from linux v6.15 see linux commit c4a16820d90199409c9bf01c4f794e1e9e8d8fd8 fs: add open_tree_attr() add file_{get,set}attr from linux v6.17 see linux commit be7efb2d20d67f334a7de2aef77ae6c69367e646 fs: introduce file_getattr and file_setattr syscalls on x86 add uprobe from linux v6.18 see linux commit 56101b69c9190667f473b9f93f8b6d8209aaa816 uprobes/x86: Add uprobe syscall to speed up uprobe add listns from linux v6.19 see linux commit b36d4b6aa88ef039647228b98c59a875e92f8c8e arch: hookup listns() system call
2024-05-07stdint.h: derive limits from __LONG_MAX, use common fast16 typesRich Felker-20/+0
the bits file is retained, but as a single generic version, to allow for the unlikely future possibility of letting a new arch define something differently.
2024-05-07sys/reg.h: derive __WORDSIZE from __LONG_MAXRich Felker-2/+0
this removes an otherwise-unnecessary bits header from most archs, replacing it with an empty generic version.
2024-05-07unistd.h: derive ILP32/LP64 macros from __LONG_MAX instead of arch bitsRich Felker-2/+0
2024-05-07unify bits/stat.h for all archs sharing a common definitionRich Felker-18/+0
future archs should not define their own bits/stat.h but use this generic one.
2024-05-06riscv mcontext_t/sigcontext: use __aligned__ instead of alignedMichael Forney-1/+1
aligned may be defined by the application for its own use before bits/signal.h is included.
2024-02-29riscv: define REG_S1 and REG_S2Khem Raj-0/+2
These are used by applications to access members of mcontext, and are also defined by other libcs on linux.
2024-02-29riscv32: add new syscall numbersKhem Raj-1/+15
- add mount_setattr from linux v5.12 - add epoll_pwait2 from linux v5.11 - add process_madvise from linux v5.10 - add __NR_faccessat2 from linux v5.8 - add pidfd_getfd and openat2 syscall numbers from linux v5.6 - add clone3 syscall number from linux v5.3 - add process_mrelease from linux v5.15 - add futex_waitv from linux v5.16 - add set_mempolicy_home_node from linux v5.17 - add cachestat from linux v6.4 - add __NR_fchmodat2 from linux v6.6
2024-02-29riscv32: add sysvipc msg/sem/shm bitsRich Felker-0/+68
despite riscv32 being natively time64, the IPC_TIME64 bit (0x100) is set in IPC_STAT and derived command macros, differentiating their values from the raw command values used to interface with the kernel. this reflects that the kernel ipc structure types are not natively time64, but have broken-down hi/lo fields that cannot be used in-place and require translation, and that the userspace struct types differ from the kernel types (relevant to things like strace).
2024-02-29riscv32: add arch headersStefan O'Rear-0/+504
These are mostly copied from riscv64. _Addr and _Reg had to become int to match compiler-controlled parts of the ABI (result type of sizeof, etc.). There is no kernel stat struct; the userspace stat matches glibc in the sizes and offsets of all fields (including glibc's __dev_t __pad1). The jump buffer is 12 words larger to account for 12 saved double-precision floats; additionally it should be 64-bit aligned to save doubles. The syscall list was significantly revised by deleting all time32 and pre-statx syscalls, and renaming several syscalls that have different names depending on __BITS_PER_LONG, notably mmap2 and _llseek. futex was added as an alias to futex_time64 since it is widely used by software which does not pass time arguments.