Commit Graph

307 Commits

Author SHA1 Message Date
4lDO2 d3ecedefd9 Notify schemes when mmaps are unmapped. 2023-07-25 10:52:23 +02:00
4lDO2 7bdf5e9af3 Pass unaligned length to scheme for fmap. 2023-07-25 10:52:23 +02:00
4lDO2 afa3d7dc7b Support anonymous MAP_SHARED mmaps. 2023-07-25 10:52:23 +02:00
4lDO2 70b4d99c96 Implement MAP_FIXED without MAP_FIXED_NOREPLACE. 2023-07-25 10:52:23 +02:00
4lDO2 3a80528d13 Fix MAP_LAZY mappings. 2023-07-25 10:52:23 +02:00
4lDO2 cbec83215a Lazy-evaluate pages returned by fmap. 2023-07-25 10:52:22 +02:00
4lDO2 9182722f84 WIP: Allow listing address space grants again. 2023-07-25 10:52:22 +02:00
4lDO2 0466e87e59 Error if scheme fmap returns unaligned address. 2023-07-25 10:52:22 +02:00
4lDO2 ba62c0606e Pin PhysBorrowed head/tail UserScheme grants too. 2023-07-25 10:52:22 +02:00
4lDO2 329d60848c WIP: Support CoW fmap. 2023-07-25 10:52:22 +02:00
4lDO2 b24cf821c2 Support transferring grants again. 2023-07-25 10:52:22 +02:00
4lDO2 55f1829e77 Call funmap if applicable. 2023-07-25 10:52:22 +02:00
4lDO2 b3a6a6744a Pin grants that are used in UserScheme. 2023-07-25 10:52:22 +02:00
4lDO2 da6f6a316c Return only one grant, External, for Grant::borrow. 2023-07-25 10:52:21 +02:00
4lDO2 b5430359d8 Forbid scheme calls with non-RAM physmapped memory. 2023-07-25 10:52:21 +02:00
4lDO2 43c433a3f0 Remove FmapCtxt. 2023-07-25 10:52:21 +02:00
4lDO2 8553bc7a59 WIP: Support userspace-backed borrowing mmaps. 2023-07-25 10:52:21 +02:00
4lDO2 ad78dcc5a1 WIP: Rudimentary MAP_SHARED fmap implementation. 2023-07-25 10:52:21 +02:00
4lDO2 afa61601c4 Add ContextStatus::HardBlocked. 2023-07-25 10:52:21 +02:00
4lDO2 23fede5db0 Remove scheme funmap methods. 2023-07-25 10:52:20 +02:00
4lDO2 0c365f54e6 WIP: FmapBorrowed. 2023-07-25 10:52:20 +02:00
4lDO2 20c3adf38d WIP: Start rewriting fmap impl. 2023-07-25 10:52:20 +02:00
4lDO2 20a84decdf Fix MemoryScheme fmap. 2023-07-25 10:52:20 +02:00
4lDO2 f7bffacef0 Implement Drop for AddrSpace. 2023-07-25 10:52:20 +02:00
4lDO2 593e21d95e Support schemes. 2023-07-25 10:52:19 +02:00
4lDO2 f53a1ffd53 Remove proc:pid/memory. 2023-07-25 10:52:19 +02:00
4lDO2 0a5b6ce656 Reach proc:memory access in userspace. 2023-07-25 10:52:19 +02:00
4lDO2 490e1b2777 WIP: Track grant ownership. 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
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 7500ffaa5a Remove uses of the arbitrary_self_types feature 2023-07-10 17:03:36 +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
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
4lDO2 fa7d1c821f Replace Box<dyn Fn> with fn in sys: scheme. 2023-07-05 17:08:00 +02:00
4lDO2 5abf16a51e Improved pipe scheme. 2023-06-26 13:54:13 +02: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 45f031b50d Improve clone_entry lock granularity. 2023-04-30 17:54:05 +02:00
4lDO2 62eab8a2fe Retry rather than panic if clone_entry is unset. 2023-04-09 12:04:08 +02:00