Commit Graph

72 Commits

Author SHA1 Message Date
Speedy_Lex ee1260363c Fix many clippy lints 2026-04-08 19:40:41 +01:00
bjorn3 dee230ffca Use map_linearly in many places 2026-04-04 13:10:04 +02:00
bjorn3 a1b6bd965e Fix rmm example 2026-04-04 12:02:07 +02:00
bjorn3 efa6b00189 rmm: Remove magic constants for x86 PAT indices 2026-03-30 22:18:10 +02:00
bjorn3 c8879531ae rmm: Add device_memory and uncachable flags to PageFlags 2026-03-30 20:34:45 +02:00
bjorn3 e311b41821 rmm: Make it a bit easier to change the MAIR_EL1 config on arm64 2026-03-30 20:34:45 +02:00
bjorn3 a5fd001dcb Use PageFlags::write_combining instead of custom flag 2026-03-30 20:34:45 +02:00
bjorn3 c0065bc893 rmm: Add some comments to init_pat 2026-03-30 20:34:44 +02:00
bjorn3 6b00f4ca25 Move MAIR_EL1 initialization to rmm
Rmm needs to know the exact MAIR_EL1 configuration to produce the
correct bits in the page table.
2026-03-30 19:26:41 +02:00
bjorn3 6e5c25b7a0 Move PAT initialization to rmm
Rmm needs to know the exact PAT configuration to produce the correct
bits in the page table.
2026-03-30 18:59:42 +02:00
bjorn3 c4b064ea44 Move arch specific EntryFlags into rmm 2026-03-30 18:49:15 +02:00
bjorn3 04645353f2 rmm: Fix EmulateArch compilation 2026-03-30 18:46:53 +02:00
bjorn3 675ba2ea51 rmm: Make a couple more methods safe 2026-03-29 17:00:36 +02:00
bjorn3 c51aa1ef86 rmm: Make a couple of methods safe 2026-03-29 14:16:53 +02:00
bjorn3 a5aeea9cfc rmm: Remove PageMapper::{map,unmap}
There is already (un)map_phys.
2026-03-29 14:16:53 +02:00
bjorn3 a876d66648 rmm: Reduce visibility of PageTable methods
This disallows direct manipulation of the page tables. Only manipulation
through PageMapper is allowed.
2026-03-29 14:16:53 +02:00
bjorn3 abf710b4a2 Move handling of kernel page table entry copying to RMM
This way it can ensure those page table entries never get unmapped,
ensuring they are kept in sync between all processes.
2026-03-29 14:16:53 +02:00
bjorn3 0d578775f9 rmm: Indicate which PageMapper methods can allocate 2026-03-28 22:51:32 +01:00
bjorn3 d02312055e rmm: Couple of minor cleanups 2026-03-28 22:35:26 +01:00
bjorn3 3593c53146 rmm: Remove Arch::init
No architectures implement it.
2026-03-28 22:07:48 +01:00
bjorn3 db85237114 rmm: Partially hard code main.rs to EmulateArch 2026-03-28 22:06:24 +01:00
bjorn3 d06ade297d rmm: Remove fallback impl of invalidate_all
It doesn't work on all non-x86 architectures.
2026-03-28 22:02:34 +01:00
bjorn3 a913414c7f rmm: Nicer formatting of unsafe blocks 2026-03-28 22:00:43 +01:00
bjorn3 cc20bcd405 rmm: Fix warnings on x86 2026-03-28 21:57:51 +01:00
bjorn3 a3843f8fb5 rmm: Assert constants at compile time 2026-03-28 21:57:41 +01:00
bjorn3 5c480806be Add rmm to the workspace 2026-03-28 21:39:34 +01:00
bjorn3 ef508cc0ba Add 'rmm/' from commit 'e543cbe621b21875549c9d12a73810633f3d0c63'
git-subtree-dir: rmm
git-subtree-mainline: 76b0691e14
git-subtree-split: e543cbe621
2026-03-28 20:44:33 +01:00
bjorn3 76b0691e14 Remove rmm submodule 2026-03-28 20:43:48 +01:00
Anhad Singh b85c2d7889 misc(rmm): update submodule
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2026-02-20 00:26:47 +11:00
Jeremy Soller f9d9a3414b Update rmm 2025-11-12 07:37:14 -07:00
bjorn3 8367462abe Update rmm submodule 2025-10-26 16:25:01 +01:00
bjorn3 ff48830c0b Update rmm submodule 2025-09-10 16:44:33 +02:00
Andrey Turkin 8dcf850919 Update rmm 2024-10-23 04:06:26 +03:00
4lDO2 32e114885b Update RMM. 2024-09-24 19:33:27 +02:00
Andrey Turkin dbbbfcf48a Update RMM 2024-09-24 19:23:08 +03:00
4lDO2 b485b1b3ea Update RMM. 2024-09-22 15:22:01 +02:00
4lDO2 652cdc7ef2 Replace repr(packed) with repr(C, packed). 2024-09-08 20:56:50 +02:00
4lDO2 181df19b24 Update rmm 2024-09-04 19:23:19 +02:00
4lDO2 0060dd326b Update rmm 2024-04-12 16:25:58 +02:00
4lDO2 d5b1ad2cd5 WIP: Improve allocation performance 2024-03-22 13:17:59 +01:00
bjorn3 2d065083df Use HashMap instead of BTreeMap where possible
This shrinks the kernel from 905840 bytes to 862408 bytes.
2023-12-13 19:55:20 +01:00
4lDO2 ef879b35ba Update RMM. 2023-08-01 15:52:34 +02:00
4lDO2 0cdfb886c0 Fix debugger for x86_64, disable sc debug. 2023-07-28 13:40:00 +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 a599d9b389 WIP: Store PageInfo in separate data structure. 2023-07-25 10:52:19 +02:00
4lDO2 276f051d19 Further userspace progress, fix RMM bug. 2023-07-25 10:52:18 +02:00
uuuvn 63290429b2 Improve aarch64 code + memory management and crush some bugs 2023-06-12 14:46:02 +00:00
Jeremy Soller cb58500b68 Update for new Rust 2023-02-11 14:50:55 -07:00
Jeremy Soller 8d8437a5d3 Update rmm 2022-08-28 09:19:17 -06:00
Jeremy Soller 6dbb85d4c9 Static mapping of some CPU devices outside of physmap 2022-08-26 11:08:13 -06:00