4lDO2
036a4bdee4
Replace syscall::Scheme with KernelScheme.
2023-11-15 20:00:47 +01:00
4lDO2
192d663d84
Forbid / in scheme names.
2023-11-09 14:40:20 +01:00
4lDO2
2d04b76a2c
Close sendfd file descriptor unless consumed.
2023-10-14 15:38:21 +02:00
4lDO2
2f2e76c0ca
Inform SYS_SENDFD scheme if the fd was exclusive.
2023-10-14 14:56:40 +02:00
4lDO2
1546a4a08f
Implement SYS_SENDFD and SKMSG_FOBTAINFD.
2023-10-14 12:44:38 +02:00
4lDO2
da491fd5fc
Disable sys:trigger_debugger by default.
2023-10-08 11:21:59 +02:00
4lDO2
c481f6b5d4
Track state for all UserScheme calls.
2023-09-30 12:53:37 +02:00
Ivan Tan
eb0d48ac81
aarch64: add dtb scheme
2023-09-18 20:45:23 +00:00
4lDO2
38e669c807
Dynamic fsgsbase support, enable by default.
2023-09-14 09:25:30 +02:00
4lDO2
f028b77412
Use config.toml instead of x86_* Cargo feature.
2023-09-12 21:19:06 +02:00
4lDO2
6d65a93606
Remove live scheme.
2023-09-08 01:57:34 +00:00
4lDO2
c4a5abb34a
Remove AtomicSchemeId.
2023-09-06 09:22:59 +02:00
4lDO2
126c7b7d8a
Pass scheme ID to UserInner cleaner.
2023-09-06 09:21:53 +02:00
4lDO2
0d4f3125cd
Use Once<SchemeId> for debug:, simplify other Once.
2023-09-06 08:58:59 +02:00
4lDO2
27d350955a
Replace atomic with Once<SchemeId> for irq:
2023-09-06 08:49:37 +02:00
4lDO2
2862f7abb5
Once<SchemeId> for serio, simplify queue globals.
2023-09-06 08:48:22 +02:00
4lDO2
f025ece614
Replace from/into with get/new when necessary.
2023-09-06 08:38:10 +02:00
4lDO2
45d1c256ea
Add LogicalCpuSet as a sched affinity mask.
2023-09-04 21:57:54 +02:00
4lDO2
3b725b2c27
Add logical CPU ID newtype, switch to u32.
2023-09-04 21:27:48 +02:00
4lDO2
8f98d5b987
Extend mremap, eager mappings for real hardware.
2023-08-03 12:37:58 +02:00
4lDO2
c7714992f3
Fix clone_grant_using_fmap test.
2023-08-02 14:17:26 +02:00
4lDO2
2070fa44b7
Fix warnings.
2023-08-02 13:07:49 +02:00
4lDO2
05a9530ac7
Temporarily disable CoW fmaps.
2023-08-01 17:29:36 +02:00
4lDO2
34708bd1be
Temporarily disable MAP_LAZY.
2023-08-01 15:44:41 +02:00
4lDO2
0cdfb886c0
Fix debugger for x86_64, disable sc debug.
2023-07-28 13:40:00 +02:00
4lDO2
ec9c24f841
WIP: aarch64
2023-07-27 19:05:33 +02:00
4lDO2
8b7fc8a468
Compile and mostly run properly on i686.
2023-07-27 16:45:36 +02:00
4lDO2
a4a84775d6
Fix MMAP_PREP order.
2023-07-26 22:31:56 +02:00
4lDO2
3cfec39b47
Pass MunmapFlags to scheme.
2023-07-25 10:52:24 +02:00
4lDO2
c9aa5ca851
WIP: Add SYS_MREMAP.
2023-07-25 10:52:24 +02:00
4lDO2
2660c3e07a
WIP: Pin fmap grants that are borrowed too.
...
This might not be the most ideal solution, since a GiB grant can be
EBUSY blocked if a single page is used by an indefinitely-blocking
UserScheme. But, the alternatives would impose lots of additional
complexity, such as increasing the PageInfo size, adding more
refcounting arrays to grants, etc.
2023-07-25 10:52:24 +02:00
4lDO2
d58ddc35fe
Complete PageInfo cleanup.
...
This enables proper CoW ^ shared enforcement, so that e.g. acquiring a
new CoW page from already shared memory, or vice versa, will enforce
that they aren't both simultaneously.
2023-07-25 10:52:23 +02:00
4lDO2
0f1b5b9b6f
WIP: Make cow/shared refcounts mutually exclusive.
2023-07-25 10:52:23 +02:00
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