Commit Graph

183 Commits

Author SHA1 Message Date
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
4lDO2 27fcecb30f Add MAP_FIXED_NOREPLACE. 2020-07-08 18:17:11 +02:00
4lDO2 21b3cd34a8 Change the default fmap2 impl to use fmap. 2020-07-08 17:35:24 +02:00
4lDO2 6869e82a92 Add mmap2. 2020-07-08 15:36:59 +02:00
jD91mZM2 a1af645cbf Remove bloated ptrace flags
I have had a think, and these flags are pointless. Since this is a
microkernel, there should always be exactly one way to do something, and
it should be the most flexible and simplest to implement. And you can
already just set breakpoints on the address provided by the signal
handler, and we'll give the entrypoint as an address to the fexec call.
2020-07-07 13:44:15 +02:00
jD91mZM2 69a8340f12 Add PTRACE_STOP_SIGNAL_HANDLER
Not entirely a useful thing, one *could* also put a breakpoint on the
handler address... I'll need to think about this some more.
2020-07-07 10:51:57 +02:00
Jeremy Soller fcebe8f225 Merge branch 'signed-seek' into 'master'
change seek sig to match posix - signed pos and result

See merge request redox-os/syscall!45
2020-06-27 11:48:09 +00:00
jD91mZM2 c23d36e892 ptrace: stop on fexec 2020-06-21 17:53:29 +02:00