Files
Custom-Operating-System/kernel/include/platform/arm32/vmm/pte.h

32 lines
845 B
C

#ifndef _KERNEL_PLATFORM_ARM32_VMM_PTE_H
#define _KERNEL_PLATFORM_ARM32_VMM_PTE_H
#include <libkern/c_attrs.h>
#include <libkern/types.h>
#include <mem/bits/mmu.h>
typedef uint32_t ptable_entity_t;
struct PACKED page_desc {
union {
struct {
unsigned int xn : 1; // Execute never. Stops execution of page.
unsigned int one : 1; // Always one for tables
unsigned int b : 1; // cacheable
unsigned int c : 1; // Cacheable
unsigned int ap1 : 2;
unsigned int tex : 3;
unsigned int ap2 : 1;
unsigned int s : 1;
unsigned int ng : 1;
unsigned int baddr : 20;
};
uint32_t data;
};
};
typedef struct page_desc page_desc_t;
#define PAGE_DESC_FRAME_OFFSET 12
#endif //_KERNEL_PLATFORM_ARM32_VMM_PTE_H