luxos/SysCore/memory/lib/pte.c

25 lines
599 B
C

#include "pte.h"
void pt_entry_add_attrib (pt_entry* entry, unsigned mask) {
*entry |= mask;
}
void pt_entry_del_attrib (pt_entry* entry, unsigned mask) {
*entry &= ~mask;
}
void pt_entry_set_frame (pt_entry* entry, unsigned address) {
*entry = (*entry & ~_I86_PTE_FRAME) | address;
}
unsigned pt_entry_get_frame (pt_entry entry) {
return (entry & _I86_PTE_FRAME);
}
unsigned char pt_entry_is_present (pt_entry entry) {
return (entry & _I86_PTE_PRESENT);
}
unsigned char pt_entry_is_writable (pt_entry entry) {
return (entry & _I86_PTE_WRITABLE);
}