hermit-os / hermit-os/kernel

Available memory calculation is wrong

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

Description

When initializing memory management, in `src/mm/mod.rs:102` the space occupied by the kernel is subtracted from `total_memoty_size()`.
```
let available_memory = (total_memory_size()
- (kernel_end_address().as_usize() - env::get_ram_address().as_usize())
- reserved_space)
.align_down(LargePageSize::SIZE as usize);
```
But in `src/arch/x86_64/mm/physicalmem.rs:42` it looks like that is already excluded from `total_memory_size()`:
```
let start_address = if m.base_address() <= mm::kernel_start_address().as_u64() {
mm::kernel_end_address()
} else {
VirtAddr(m.base_address())
};
```
[zulip thread](https://hermit.zulipchat.com/#narrow/stream/383236-general/topic/Memory.20Management.20init/near/402896450)

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.