diff options
Diffstat (limited to 'kernel/include')
-rw-r--r-- | kernel/include/common.h | 13 | ||||
-rw-r--r-- | kernel/include/mm/virtual_mm.h | 5 |
2 files changed, 16 insertions, 2 deletions
diff --git a/kernel/include/common.h b/kernel/include/common.h index 2e1faa3..7f7f50f 100644 --- a/kernel/include/common.h +++ b/kernel/include/common.h @@ -36,4 +36,17 @@ halt(); \ } +#define ASSERT(condition) \ + { \ + if (!(condition)) { \ + printk("ASSERTION FAILED", \ + "[%s]:%lu IS RENDERED FALSE.", \ + __func__, \ + __LINE__); \ + /* TODO: We should probably remove this exit() eventually */ \ + exit(); \ + halt(); \ + } \ + } + #endif diff --git a/kernel/include/mm/virtual_mm.h b/kernel/include/mm/virtual_mm.h index 6bd5178..c0eb237 100644 --- a/kernel/include/mm/virtual_mm.h +++ b/kernel/include/mm/virtual_mm.h @@ -40,7 +40,7 @@ #define PDE_FRAME(x) ((x) &0xFFFFF000) #define PDE_IS_PRESENT(pd_entry) ((*pd_entry) & 1) -#define GET_PDE_FRAME(virtual_address) (((uint32_t) virtual_address) >> 22) +#define GET_PD_INDEX(virtual_address) (((uint32_t) virtual_address) >> 22) #define PDE_GET_TABLE(pd_entry) ((*pd_entry) & ~0xfff) #define PTE_PRESENT(x) x @@ -58,7 +58,8 @@ #define PTE_FRAME(x) ((x) << 12) #define PTE_IS_PRESENT(pt_entry) ((*pt_entry) & 1) -#define GET_PTE_FRAME(virtual_address) \ +#define GET_PTE_FRAME(x) ((x) >> 12) +#define GET_PT_INDEX(virtual_address) \ ((((uint32_t) virtual_address) >> 12) & 0x3ff) #define ADD_ATTRIB(entry, attribute) (*entry |= (attribute)) |