1

fix paging: invalidate tlb

This commit is contained in:
2022-07-27 23:43:50 +02:00
parent 5b556f9446
commit 8430c50318
2 changed files with 6 additions and 2 deletions

View File

@ -107,6 +107,8 @@ void pg_write_protect_page(const unsigned int* p_page) {
unsigned int mask = PAGE_WRITEABLE; // fill to 32bit
*page = *page & ~mask; // set writable to 0
invalidate_tlb_entry(p_page);
}
/*****************************************************************************
@ -122,6 +124,8 @@ void pg_notpresent_page(const unsigned int* p_page) {
unsigned int mask = PAGE_PRESENT;
*page = *page & ~mask; // set present to 0
invalidate_tlb_entry(p_page);
}
/*****************************************************************************
@ -206,4 +210,4 @@ void pg_init() {
// Paging aktivieren (in startup.asm)
paging_on(reinterpret_cast<unsigned int*>(PAGE_DIRECTORY));
}
}

View File

@ -55,7 +55,7 @@
// Externe Funktionen in startup.asm
extern "C" {
void paging_on(unsigned int* p_pdir); // Paging einschalten
void invalidate_tlb_entry(unsigned int* ptr); // Page in TLB invalid.
void invalidate_tlb_entry(const unsigned int* ptr); // Page in TLB invalid.
}
// ativiert paging