Commit Graph

37 Commits

Author SHA1 Message Date
Ibuki Omatsu 1cf631ce3f Introduce syscall6. Add unlinkat and remove unlink and rmdir. 2025-12-16 07:07:01 -07:00
Ibuki Omatsu 15aa8e32ef Define GlobalSchemes. 2025-10-04 16:54:47 +02:00
4lDO2 8fa422b2c9 Add Exception stubs for aarch64+riscv64. 2025-04-15 16:37:55 +02:00
4lDO2 8d3e6e5b49 WIP: exception handling interfaces. 2025-04-15 16:30:04 +02:00
4lDO2 080f2003cd Rustfmt, add CallFlags::CONSUME. 2025-04-05 17:19:13 +02:00
Andrey Turkin 5d37073bd4 Complete RISC-V64 support 2024-09-29 16:52:54 +03:00
4lDO2 e4cc6bfcd5 Make arch module available on nonredox.
This both reduces IDE confusion, and allows compiling the kernel for
host, in order to run unit tests.
2024-09-14 10:57:42 +02:00
4lDO2 227f7fd487 Convert repr(packed) to repr(C, packed).
This is required by crates like bytemuck.
2024-09-08 20:46:07 +02:00
4lDO2 1d098c4e1d Rustfmt. 2024-09-08 20:32:32 +02:00
4lDO2 3e9d68c6b2 Fix compilation for nonredox. 2024-03-17 18:09:50 +01:00
4lDO2 0c464e7421 Add SignalStack, shrink sa_mask. 2024-03-12 17:15:20 +01:00
Jeremy Soller 7eb24a17ce 0.3.2 - Improve aarch64 registers 2022-08-24 08:46:51 -06:00
Jeremy Soller 90c9253678 Add IntRegisters and FloatRegisters for x86 32-bit 2022-07-29 18:39:24 -06:00
Jeremy Soller a8cc2b7e22 Add aarch64 EnvRegisters 2022-07-29 18:07:31 -06:00
4lDO2 300b5e4a80 Add PAGE_SIZE for all archs, make it public. 2022-07-27 17:30:17 +02:00
Jeremy Soller 22a5a68472 0.2.14 - add x86 32-bit syscalls 2022-07-22 16:18:42 -06:00
Jeremy Soller c4d3a40a96 0.2.13 - remove x86 and arm 32-bit syscalls 2022-03-30 10:32:42 -06:00
4lDO2 638c2d2a35 Fix aarch64 compilation.
This is to hopefully avoid having to update syscall everywhere again,
when fixing aarch64.
2022-03-19 22:05:42 +01:00
4lDO2 418051ac78 Replace llvm_asm with asm to support stable Rust. 2022-03-12 10:36:30 +01:00
4lDO2 519a09e964 Add fs/gsbase reg struct and more ELF aux vectors. 2021-08-01 01:40:01 +02:00
Jeremy Soller ca3b4d2b94 Add riscv64 syscall implementation and register stubs 2021-05-04 08:09:28 -06:00
Jeremy Soller a1006e115f Remove unnecessary mut from aarch64 syscall macro 2021-05-04 08:09:12 -06:00
Jeremy Soller a30fa69e38 Use correct syscall return register on aarch64 2021-04-28 19:57:49 -06:00
Robin Randhawa beb880b706 aarch64: Basic Floating point/SIMD definition 2021-01-27 17:21:22 +00:00
Robin Randhawa 21cf9e31fc aarch64: Remove vestiges of old syscallX functions
Now that they have been replaced by the more modern macro magic
versions.
2021-01-27 17:20:33 +00:00
Robin Randhawa 3029f094a4 aarch64: Cleanups and alignment with x86_64 macros 2021-01-26 18:28:41 +00:00
Jeremy Soller b12d582d4d WIP: aarch64 2021-01-13 10:48:01 -07:00
4lDO2 1f58eaf222 Add missing imports, fixing 0.2.2. 2021-01-11 14:35:32 +01:00
Jeremy Soller adfd9702bf 0.2.2 - fix compilation on aarch64 2021-01-10 10:51:07 -07:00
jD91mZM2 7f668b27cf Replace llvm_asm in x86_64 code with asm
Also removes the syscall1_clobber call, because `clone` now saves the
registers in the kernel anyway.
2020-08-01 16:52:16 +02:00
David L. Campbell 5cc40831ef Rename asm to llvm_asm. 2020-07-27 17:05:30 -07:00
Jeremy Soller e3fd644ba9 Compile on non-redox platforms but return ENOSYS for all system calls 2019-07-04 07:44:09 -06:00
Jeremy Soller a715b8cf97 Switch over to using syscall instruction and linux abi on x86_64 2019-01-19 21:41:14 -07:00
Jeremy Soller 0c30603ec0 Add aarch64 2018-11-26 11:38:53 -07:00
Jeremy Soller 561557e774 Merge code cleanup from Rust fork, add clone_thread 2017-08-27 10:49:35 -06:00
Jeremy Soller a076c42403 Remove intel directive 2016-12-20 11:14:44 -07:00
Jeremy Soller 148a354432 Add ARM, update version 2016-12-20 11:09:07 -07:00