This commit is contained in:
2021-09-14 18:35:13 +03:00
parent 4e5c38d0ff
commit f052f2294e
32 changed files with 525 additions and 522 deletions

36
SysCore/memory/lib/pde.c Normal file
View File

@ -0,0 +1,36 @@
#include "pde.h"
void pd_entry_add_attrib (pd_entry* entry, unsigned mask) {
*entry |= mask;
}
void pd_entry_del_attrib (pd_entry* entry, unsigned mask) {
*entry &= ~mask;
}
void pd_entry_set_frame (pd_entry* entry, unsigned address) {
*entry = (*entry & ~_I86_PDE_FRAME) | address;
}
unsigned pd_entry_get_frame (pd_entry entry) {
return entry&_I86_PDE_FRAME;
}
unsigned char pd_entry_is_present (pd_entry entry) {
return (entry & _I86_PDE_PRESENT);
}
unsigned char pd_entry_is_user (pd_entry entry) {
return (entry & _I86_PDE_USER);
}
unsigned char pd_entry_is_4mb (pd_entry entry) {
return (entry & _I86_PDE_4MB);
}
unsigned char pd_entry_is_writable (pd_entry entry) {
return (entry & _I86_PDE_WRITABLE);
}
void pd_entry_enable_global (pd_entry entry) {
}