about summary refs log tree commit diff
path: root/arch/riscv32/bits
Commit message (Collapse)AuthorAgeFilesLines
* stdint.h: derive limits from __LONG_MAX, use common fast16 typesRich Felker2024-05-071-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.
* sys/reg.h: derive __WORDSIZE from __LONG_MAXRich Felker2024-05-071-2/+0
| | | | | this removes an otherwise-unnecessary bits header from most archs, replacing it with an empty generic version.
* unistd.h: derive ILP32/LP64 macros from __LONG_MAX instead of arch bitsRich Felker2024-05-071-2/+0
|
* unify bits/stat.h for all archs sharing a common definitionRich Felker2024-05-071-18/+0
| | | | | future archs should not define their own bits/stat.h but use this generic one.
* riscv mcontext_t/sigcontext: use __aligned__ instead of alignedMichael Forney2024-05-061-1/+1
| | | | | aligned may be defined by the application for its own use before bits/signal.h is included.
* riscv: define REG_S1 and REG_S2Khem Raj2024-02-291-0/+2
| | | | | These are used by applications to access members of mcontext, and are also defined by other libcs on linux.
* riscv32: add new syscall numbersKhem Raj2024-02-291-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
* riscv32: add sysvipc msg/sem/shm bitsRich Felker2024-02-294-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).
* riscv32: add arch headersStefan O'Rear2024-02-2911-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.