Skip to content

Available memory calculation is wrong #988

Open
@m-mueller678

Description

@m-mueller678

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

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions