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
024f3e3828
Fix deadlock, booting to shell works now.
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
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
99975c0e42
WIP: Ensure that Grant::borrow does not borrow nonpresent grants.
2023-07-25 10:52:20 +02:00
4lDO2
dffc8ec9fc
Do not expect PageInfo for PhysMap grants.
2023-07-25 10:52:20 +02:00
4lDO2
20a84decdf
Fix MemoryScheme fmap.
2023-07-25 10:52:20 +02:00
4lDO2
15ce84164b
Reminder that borrow does handle "lack of grant".
2023-07-25 10:52:20 +02:00
4lDO2
f7bffacef0
Implement Drop for AddrSpace.
2023-07-25 10:52:20 +02:00
4lDO2
e34a3cee42
Fix mmap/munmap, invert borrowed/owned refcount.
2023-07-25 10:52:19 +02:00
4lDO2
45ec3ecc70
Track Allocated and CoW External the same way.
2023-07-25 10:52:19 +02:00
4lDO2
a599d9b389
WIP: Store PageInfo in separate data structure.
2023-07-25 10:52:19 +02:00
4lDO2
760fc2ba5a
WIP: Global page info structs.
2023-07-25 10:52:19 +02:00
4lDO2
593e21d95e
Support schemes.
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
11fdb3bb46
Copy on writes to CoW pages.
2023-07-25 10:52:19 +02:00
4lDO2
565db7694f
Add cow_refcount.
2023-07-25 10:52:19 +02:00
4lDO2
276f051d19
Further userspace progress, fix RMM bug.
2023-07-25 10:52:18 +02:00
4lDO2
8cfbc39b9f
Get further in userspace.
2023-07-25 10:52:18 +02:00
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
bjorn3
7500ffaa5a
Remove uses of the arbitrary_self_types feature
2023-07-10 17:03:36 +02:00
4lDO2
3ded84c945
Simplify x86_64 percpu and GSBASE calculation
2023-07-10 14:13:12 +00:00
4lDO2
56f88e80c2
Usercopy migration
2023-07-06 13:03:21 +00:00
Jeremy Soller
8e0f54cb31
Clippy fixes
2022-11-11 13:19:14 -07:00
Jeremy Soller
6753251af3
Do not allow mmap with page_count 0
2022-08-31 16:14:27 -06:00
Jeremy Soller
44d5e6573a
Updated utable switching code for aarch64
2022-08-20 13:31:20 -06:00
Jeremy Soller
01df1c20da
Use TableKind everywhere
2022-08-20 13:06:52 -06:00
Jeremy Soller
2191308d15
setup_new_utable for aarch64
2022-07-29 18:58:19 -06:00
Jeremy Soller
5d55d4eb87
Fix warnings
2022-07-29 18:33:54 -06:00
Jeremy Soller
be12d0f1bd
Add initial i686 arch module
2022-07-29 18:12:49 -06:00
Jeremy Soller
0c80643077
Make graphical_debug arch independent and fix lots of warnings
2022-07-29 15:56:44 -06:00
4lDO2
f3faf33e3f
Add a workaround to treat bootstrap mem as owned.
2022-07-28 14:17:02 +02:00
4lDO2
99362f98d2
Add a better interface for modifying addrspaces.
2022-07-27 10:52:52 +02:00
4lDO2
5bbfdcda6b
Add mmap-min-addr and support unmapping parent PTs.
2022-07-27 10:52:45 +02:00
4lDO2
dc8ce1c22b
Partial: migrate context handling code to RMM.
2022-07-27 10:52:23 +02:00
4lDO2
8970ce1fe7
Benefit from addrspace abstraction in switch.
2022-07-27 10:52:22 +02:00
4lDO2
4aea0cfd0c
Fix AddrSpace memory leak.
2022-07-27 10:52:22 +02:00
4lDO2
59d74689dc
Copy filetable more efficiently.
2022-07-27 10:52:22 +02:00
4lDO2
cb40eb3792
Support reading all grants and transferring grants.
2022-07-27 10:52:10 +02:00
4lDO2
b50495bfa5
WIP: Support clone in userspace
...
Everything seems to work for the most part, but now there are tons of
daemons which rely on syscall::clone, which is now implemented in relibc
:(
2022-07-27 10:52:04 +02:00
4lDO2
283ada82a0
WIP: Remove SYS_CLONE (to be done in userspace).
2022-07-27 10:52:03 +02:00
4lDO2
563121596d
Fix running on multi_core.
...
Turns out the problem all along was that the ActivePageTable was never
dropped in usermode_bootstrap. So as soon as any other hardware thread
tried to do page table business, it deadlocked!
2022-07-27 10:51:45 +02:00
4lDO2
6e5015dcab
WIP: Add necessary interfaces for setuid/setgid.
2022-07-27 10:51:45 +02:00