Commit Graph

190 Commits

Author SHA1 Message Date
Jeremy Soller 64d2213c79 0.3.4 - Allow x86 to use cache for DMA 2022-08-31 07:48:25 -06:00
Jeremy Soller ded9f93bae 0.3.3 - Use PHYSMAP_NO_CACHE for Dma 2022-08-30 10:32:16 -06:00
Jeremy Soller 7eb24a17ce 0.3.2 - Improve aarch64 registers 2022-08-24 08:46:51 -06:00
4lDO2 b0c825ed32 Remove SYS_CHMOD from scheme handler too. 2022-08-15 13:40:15 +02:00
4lDO2 e7c9a81b15 Remove cwd related syscalls and SYS_CHMOD. 2022-08-12 13:04:13 +02: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
4lDO2 d6af266119 Add "opcodes", for e.g. mmap on other addr spaces. 2022-07-27 10:48:48 +02:00
4lDO2 c7b84541dc Improve general flags for userspace_fexec.
First, auxiliary vectors are no longer left here in syscall, but remain
in relibc. The rationale behind removing them was that they are no
longer used by the kernel in any way, as exec is moved to userspace.

Second, a ptrace event for address space switches was added. This is to
allow tracers to reopen their mem file when that mem file points to
different memory (otherwise mem can be decoupled from address spaces and
simply use the one that the context uses at the time).
2022-07-27 10:48:48 +02:00
4lDO2 ab5c685978 Remove SYS_EXEC from existence 2022-07-27 10:48:48 +02:00
4lDO2 f407c6b70c Remove CloneFlags. 2022-07-27 10:48:48 +02:00
4lDO2 67cf0997dc Remove clone() and Daemon abstraction. 2022-07-27 10:48:48 +02:00
4lDO2 8e4529ae7c Make DMA code use whole pages in syscalls. 2022-07-27 10:48:48 +02:00
4lDO2 a16a1ef95c Add the CloneInfo struct to extend SYS_CLONE. 2022-07-27 10:48:48 +02:00
4lDO2 a88e2f72cb Derive traits for ExecMemRange, change flags type. 2022-07-27 10:48:47 +02:00
4lDO2 6d132345ee WIP: Replace fexec with exec. 2022-07-27 10:48:44 +02:00
Jeremy Soller 0c98fbd162 0.2.16 - expose io::Pio on x86 32-bit 2022-07-26 15:30:10 -06:00
Jeremy Soller aa7d36ed83 0.2.15 - fix x86 32-bit path 2022-07-22 16:22:32 -06: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 efb5b3ee5b Replace ! with Infallible for now. 2022-03-12 10:36:07 +01:00
Jeremy Soller 87ffd8b862 0.2.11 - add daemon abstraction 2022-02-28 15:03:51 -07:00
4lDO2 519a09e964 Add fs/gsbase reg struct and more ELF aux vectors. 2021-08-01 01:40:01 +02:00
4lDO2 fa5bc90ead Add FUTEX_WAIT64. 2021-07-08 13:22:35 +02:00
coolreader18 9c7053d77f Specify feature(const_fn_trait_bound) 2021-06-15 19:53:58 +00: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
Jeremy Soller 246f15d983 Merge remote-tracking branch 'origin/aarch64-rebase' 2021-04-13 19:12:27 -06:00
4lDO2 040ebf99d9 Get the mmap test to build. 2021-03-07 16:16:40 +01:00
Jeremy Soller 0f9030f032 0.2.5 - paths are required to be utf8 2021-02-14 13:42:58 -07: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
Jeremy Soller ee9a92367e 0.2.4 - use correct arch when target_os is none 2021-01-11 07:00:34 -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 5d53df836e Remove brk 2020-08-15 17:31:27 +02:00
jD91mZM2 2bc9acc5c2 Breaking Change: Goodbye, deprecated functions 2020-08-14 15:18:44 +02: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
Jeremy Soller a0ea09ceb3 Merge branch 'memory' into 'master'
Add funmap2

See merge request redox-os/syscall!55
2020-07-30 12:58:12 +00:00
David L. Campbell 5cc40831ef Rename asm to llvm_asm. 2020-07-27 17:05:30 -07:00
jD91mZM2 bca011c7a0 Add funmap2 scheme call 2020-07-24 13:02:29 +02:00
jD91mZM2 7cc003d583 Add funmap2 2020-07-22 15:10:03 +02:00
jD91mZM2 6346fd671e Add AT_PHDR 2020-07-10 12:48:22 +02:00
jD91mZM2 10994eaa96 Add auxiliery vector 2020-07-10 12:10:24 +02:00