Kernel: Add physical memory info to /proc/{pid}/meminfo

This commit is contained in:
Bananymous
2023-09-30 22:11:45 +03:00
parent c5119cda97
commit 5ee3506474
12 changed files with 39 additions and 7 deletions

View File

@@ -201,6 +201,7 @@ namespace LibELF
return BAN::Error::from_errno(ENOMEM);
m_page_table.map_page_at(paddr, vaddr, flags);
m_physical_page_count++;
memset((void*)vaddr, 0x00, PAGE_SIZE);
@@ -280,6 +281,7 @@ namespace LibELF
m_page_table.unmap_page(0);
new_page_table.map_page_at(paddr, start + i * PAGE_SIZE, flags);
elf->m_physical_page_count++;
}
break;

View File

@@ -34,6 +34,7 @@ namespace LibELF
BAN::ErrorOr<BAN::UniqPtr<LoadableELF>> clone(Kernel::PageTable&);
size_t virtual_page_count() const { return m_virtual_page_count; }
size_t physical_page_count() const { return m_physical_page_count; }
private:
LoadableELF(Kernel::PageTable&, BAN::RefPtr<Kernel::Inode>);
@@ -45,6 +46,7 @@ namespace LibELF
ElfNativeFileHeader m_file_header;
BAN::Vector<ElfNativeProgramHeader> m_program_headers;
size_t m_virtual_page_count = 0;
size_t m_physical_page_count = 0;
};
}