hermit-os / hermit-os/kernel

AArch64: Reimplement Paging

Open
#771 1 comment 0 reactions 1 assignee Claimed by @Gelbpunkt View on GitHub
Dominant language
Rust
Stars
1.5k
Forks
132
Avg merge
1d 14h
Merged PRs (30d)
39

Description

Paging is similarly unsound to the old x86-64 implementation. Even Clippy throws an obvious error:

```
error: mutable borrow from immutable input(s)
--> src/arch/aarch64/mm/paging.rs:515:52
|
515 | fn subtable(&self, page: Page) -> &mut PageTable {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: immutable borrow here
--> src/arch/aarch64/mm/paging.rs:515:27
|
515 | fn subtable(&self, page: Page) -> &mut PageTable {
| ^^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mut_from_ref
= note: `#[deny(clippy::mut_from_ref)]` on by default
```

Specialization is also problematic.

Unfortunately, there is no crate which provides a good paging implementation for AArch64.

This is the last part of https://github.com/hermitcore/libhermit-rs/issues/497.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.