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
490e1b2777
WIP: Track grant ownership.
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
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
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
4lDO2
8d14d54fa9
Support scheduler CPU affinity.
2023-02-15 14:50:01 +01:00
Jeremy Soller
8e0f54cb31
Clippy fixes
2022-11-11 13:19:14 -07:00
Jeremy Soller
91b5d64c22
Use current address space for proc kfmap workaround
2022-08-27 18:05:20 -06:00
Jeremy Soller
2278fd7fe1
Workaround to ensure proc kfmap does not try to map kernel memory
2022-08-27 10:55:52 -06:00
Jeremy Soller
b3b5bb8a91
Simplify handling of aarch64 env regs
2022-08-25 08:12:07 -06:00
Jeremy Soller
f7e8026494
Set aarch64 thread pointers
2022-08-24 19:21:36 -06:00
Jeremy Soller
84704353af
Support address space change on aarch64
2022-08-24 18:54:42 -06:00
Jeremy Soller
6d3fa8b374
Enable clone_handler on aarch64
2022-08-24 15:50:10 -06:00
Jeremy Soller
310a0dda08
Some aarch64 register struct updates
2022-08-24 08:56:57 -06:00
Jeremy Soller
538ad9e57f
Remove debug message when writing x86 EnvRegisters
2022-08-21 13:22:58 -06:00
Jeremy Soller
c750ee26a8
Implement setting FS/GS offset on x86
2022-08-20 21:21:32 -06:00
Jeremy Soller
d3f42989c9
Fix compilation on x86_64
2022-08-20 14:51:05 -06:00
Jeremy Soller
9dd069c8ca
Support proc partially with aarch64
2022-08-20 14:45:45 -06:00
Jeremy Soller
38361661e6
Add proc scheme stubs for aarch64
2022-08-19 16:00:35 -06:00
Jeremy Soller
bd9ee98ba9
Use same code for clone_handler on 32-bit and 64-bit x86
2022-08-17 14:40:30 -06:00
Jeremy Soller
d47ba636a0
Support x86 in proc scheme
2022-08-17 14:32:12 -06:00
4lDO2
431407aff0
Remove SYS_CHMOD and cwd related syscalls/files.
2022-08-13 19:44:44 +02:00
Jeremy Soller
5d55d4eb87
Fix warnings
2022-07-29 18:33:54 -06:00
Jeremy Soller
0c80643077
Make graphical_debug arch independent and fix lots of warnings
2022-07-29 15:56:44 -06:00
Jeremy Soller
bf9e630f65
Fix building proc scheme on non-x86_64
2022-07-29 09:25:17 -06:00
4lDO2
ca4525462d
Return right number of bytes written for addrspace.
2022-07-28 14:16:07 +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
308c2cc711
Support modifying processes' sigactions.
...
This is, other than vfork, the last piece of functionality that the
previous clone() offered (CLONE_SIGHAND) which previously was not
implemented.
2022-07-27 10:52:29 +02:00
4lDO2
6589083238
Partial: Migrate schemes 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
351d77ad9b
Improve floating point handling.
2022-07-27 10:52:22 +02:00
4lDO2
db3b834f19
Also inherit pgid, umask, sigmask.
2022-07-27 10:52:22 +02:00
4lDO2
4aea0cfd0c
Fix AddrSpace memory leak.
2022-07-27 10:52:22 +02:00
4lDO2
549c023398
Return correct bytes written in proc:X/addrspace.
2022-07-27 10:52:22 +02:00
4lDO2
59d74689dc
Copy filetable more efficiently.
2022-07-27 10:52:22 +02:00
4lDO2
240d91f951
Set address space/files when closing, not writing.
...
This fixes file descriptor leaks. Suppose relibc is just about to set
the address space. For this, it needs to write the address space fd to
the selection fd. To avoid having to close them in the kernel, it rather
memorizes what the file descriptors refer to internally, and then do the
actual operation when they are gone, i.e. when closing.
2022-07-27 10:52:19 +02:00
4lDO2
fa48c7aa97
Deduplicate code for transferring/creating grants.
2022-07-27 10:52:11 +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
4lDO2
de28cc4918
Add a Scheme supertrait for kernel-only methods.
2022-07-27 10:51:45 +02:00