Commit Graph

998 Commits

Author SHA1 Message Date
4lDO2 490e1b2777 WIP: Track grant ownership. 2023-07-25 10:52:18 +02:00
4lDO2 e7d94ddff5 WIP: Lazy zeroed mapping and page fault handler. 2023-07-25 10:52:18 +02:00
4lDO2 8dfa73db35 Post-refactor fixes. 2023-07-25 10:52:18 +02:00
4lDO2 34b4512dbd Refactor Grants.
Page alignment is now verified at compile time, for example.
2023-07-25 10:52:13 +02:00
4lDO2 d4b5899c53 Remove allocator_owned hack. 2023-07-25 10:49:55 +02:00
Jeremy Soller 5cc05a281e Merge branch 'less_unstable_use' into 'master'
Reduce usage of unstable features

See merge request redox-os/kernel!230
2023-07-24 19:18:53 +00:00
Jeremy Soller c61fd1837a Merge branch 'fix_mmap' into 'master'
Fix fmap typo and remove warning.

See merge request redox-os/kernel!237
2023-07-18 18:04:42 +00:00
4lDO2 c130b18ee7 Fix fmap typo and remove warning. 2023-07-18 16:54:44 +02:00
4lDO2 37eb577ada Support physmap via memory:physical@<mem type>. 2023-07-15 00:28:56 +02:00
Jeremy Soller 5a9a38a948 Merge branch 'fix' into 'master'
Set space in copy_and_capture_tail.

See merge request redox-os/kernel!235
2023-07-14 13:30:42 +00:00
4lDO2 797c81eb3b Set space in copy_and_capture_tail. 2023-07-14 12:51:26 +02:00
bjorn3 e73e42be66 Replace intrinsics::abort() call in switch_finish_hook with safer abort mechanism
abort will still run the illegal instruction interrupt handler which may
not be safe.
2023-07-10 17:03:36 +02:00
bjorn3 7500ffaa5a Remove uses of the arbitrary_self_types feature 2023-07-10 17:03:36 +02:00
bjorn3 174e38a851 Remove all uses of concat_idents!() 2023-07-10 17:03:34 +02:00
bjorn3 437b70838f Replace uses of atomic_* intrinsics with Atomic* types 2023-07-10 17:02:01 +02:00
bjorn3 0d01f7be57 Use core::ptr wrappers instead of the unstable volatile_* intrinsics 2023-07-10 17:02:01 +02:00
bjorn3 6803c2c33c Remove a couple of unused feature gates 2023-07-10 17:02:01 +02:00
4lDO2 f700958642 Fix debug: scheme. 2023-07-10 16:26:52 +02:00
4lDO2 3ded84c945 Simplify x86_64 percpu and GSBASE calculation 2023-07-10 14:13:12 +00:00
Jeremy Soller 5c99d73bbe Merge branch 'no_static_mut_thread_local' into 'master'
Avoid static mut thread locals

See merge request redox-os/kernel!228
2023-07-10 14:03:41 +00:00
4lDO2 9e6dfc82d0 Fix live scheme. 2023-07-07 15:00:46 +02:00
Jeremy Soller 6fca481a0a Merge branch 'mm' into 'master'
Usercopy migration

Closes #82 and #115

See merge request redox-os/kernel!219
2023-07-06 13:03:21 +00:00
4lDO2 56f88e80c2 Usercopy migration 2023-07-06 13:03:21 +00:00
Jeremy Soller b1d0851a7b Merge branch 'sys_scheme_remove_indirection' into 'master'
Replace Box<dyn Fn> with fn in sys: scheme.

See merge request redox-os/kernel!231
2023-07-06 12:56:13 +00:00
4lDO2 fa7d1c821f Replace Box<dyn Fn> with fn in sys: scheme. 2023-07-05 17:08:00 +02:00
bjorn3 56b16ce897 Avoid static mut thread locals
Instead use UnsafeCell inside the thread locals.
2023-07-05 14:50:17 +02:00
Jeremy Soller 846aa32f21 Merge branch 'panic_abort' into 'master'
Build the kernel with panic=abort

See merge request redox-os/kernel!229
2023-07-04 18:00:53 +00:00
bjorn3 8c0be73224 Build the kernel with panic=abort
This reduces the kernel size and avoids the need to define the
eh_personality lang item.
2023-07-04 19:14:36 +02:00
bjorn3 13733fb943 Move IDTR thread local to a stack variable 2023-07-04 12:17:52 +02:00
4lDO2 5abf16a51e Improved pipe scheme. 2023-06-26 13:54:13 +02:00
4lDO2 416269eeaf Always clear DF when entering the kernel. 2023-06-18 14:47:00 +02:00
uuuvn a5d4ccba57 More aarch64 stuff 2023-06-13 10:15:47 +00:00
Jeremy Soller 2849510892 Copy HPET divide by zero workaround to x86 arch 2023-06-12 09:19:34 -06:00
uuuvn 63290429b2 Improve aarch64 code + memory management and crush some bugs 2023-06-12 14:46:02 +00:00
Jeremy Soller 0deb0d79e1 Merge branch 'file_forwarding_v2' into 'master'
Allow schemes to return external file descriptors

See merge request redox-os/kernel!215
2023-06-08 12:02:35 +00:00
uuuvn d502418e49 Fix aarch64 2023-06-06 15:36:30 +00:00
4lDO2 ce77703146 Move forwarded files rather than copying them. 2023-06-02 14:50:44 +02:00
4lDO2 b1d4f55e0a Use kopen and kdup in syscall handlers. 2023-06-02 14:50:44 +02:00
4lDO2 c7ba937bbf Support forwarding in UserScheme. 2023-06-02 14:50:40 +02:00
4lDO2 58c0c5d040 Remove one level of indirection for Context::name. 2023-05-27 14:27:34 +02:00
4lDO2 a451c0aa1b Fix aarch64 build. 2023-05-06 17:49:39 +02:00
uuuvn 4621cd674d Fix kernel DoS via sigreturn from non-signal context 2023-05-04 15:58:05 +04:00
Jeremy Soller 3a6732eaad Merge branch 'updated_rustc_and_futex_fixes' into 'master'
Fixes for futex and newer rustc

See merge request redox-os/kernel!209
2023-05-02 22:11:53 +00:00
Andrew Mackenzie d3a2fe7083 Qemu hpet bug 2023-05-02 16:19:01 +00:00
4lDO2 50b877d1aa Remove ignored unaligned_references exception. 2023-04-30 18:13:55 +02:00
4lDO2 c604d6b051 Make IDT #[repr(C)]. 2023-04-30 18:13:27 +02:00
4lDO2 99ffc370e8 Work around repr(packed) but not fixing UB. 2023-04-30 18:11:34 +02:00
4lDO2 a5168b4442 Fix warnings. 2023-04-30 18:11:20 +02:00
4lDO2 45f031b50d Improve clone_entry lock granularity. 2023-04-30 17:54:05 +02:00
4lDO2 6c3f577f05 Also translate the 12-bit page offset in SYS_FUTEX. 2023-04-30 17:53:17 +02:00