quark/src/kernel/mm/pde.c

34 líneas
673 B
C
Original Vista normal Històric

2022-07-23 01:42:19 +02:00
#include "pde.h"
void pd_entry_add_attr(pd_entry_t *entry, uint32_t attr){
*entry |= attr;
}
void pd_entry_del_attr(pd_entry_t *entry, uint32_t attr){
*entry &= ~attr;
}
void pd_entry_set_frame(pd_entry_t *entry, phys_addr frame){
2022-07-24 15:32:57 +02:00
*entry = (*entry & ~PDE_FRAME) | frame;
2022-07-23 01:42:19 +02:00
}
phys_addr pd_entry_get_frame(pd_entry_t entry){
2022-07-24 15:32:57 +02:00
return entry & PDE_FRAME;
2022-07-23 01:42:19 +02:00
}
bool pd_entry_is_present(pd_entry_t entry){
return entry & PDE_PRESENT;
}
bool pd_entry_is_user(pd_entry_t entry){
return entry & PDE_USER;
}
bool pd_entry_is_4mb(pd_entry_t entry){
return entry & PDE_4MB;
}
bool pd_entry_is_writable(pd_entry_t entry){
return entry & PDE_WRITABLE;
}