| /* |
| * Copyright 2014, NICTA |
| * |
| * This software may be distributed and modified according to the terms of |
| * the BSD 2-Clause license. Note that NO WARRANTY is provided. |
| * See "LICENSE_BSD2.txt" for details. |
| * |
| * @TAG(NICTA_BSD) |
| */ |
| #ifndef _VSPACE_ARCH_PAGE_H |
| #define _VSPACE_ARCH_PAGE_H |
| |
| #include <stddef.h> |
| #include <utils/attribute.h> |
| #include <sel4/sel4_arch/constants.h> |
| |
| /* ordered list of page sizes for this architecture */ |
| static const UNUSED size_t sel4_page_sizes[] = { |
| seL4_PageBits, |
| 16, |
| #ifdef ARM_HYP |
| 21, |
| 25, |
| #else |
| 20, |
| 24 |
| #endif /* ARM_HYP */ |
| }; |
| |
| #define seL4_ARCH_Uncached_VMAttributes 0 |
| |
| #define seL4_ARCH_Page_Map seL4_ARM_Page_Map |
| #define seL4_ARCH_Page_Unmap seL4_ARM_Page_Unmap |
| #define seL4_ARCH_Page_GetAddress seL4_ARM_Page_GetAddress |
| #define seL4_ARCH_Page_GetAddress_t seL4_ARM_Page_GetAddress_t |
| #define seL4_ARCH_PageTable_Map seL4_ARM_PageTable_Map |
| #define seL4_ARCH_PageTable_Unmap seL4_ARM_PageTable_Unmap |
| #define seL4_ARCH_ASIDPool_Assign seL4_ARM_ASIDPool_Assign |
| #define seL4_ARCH_ASIDControl_MakePool seL4_ARM_ASIDControl_MakePool |
| #define seL4_ARCH_PageTableObject seL4_ARM_PageTableObject |
| #define seL4_ARCH_PageDirectoryObject seL4_ARM_PageDirectoryObject |
| #define seL4_ARCH_Default_VMAttributes seL4_ARM_Default_VMAttributes |
| #define seL4_ARCH_VMAttributes seL4_ARM_VMAttributes |
| #define seL4_ARCH_4KPage seL4_ARM_SmallPageObject |
| #define seL4_ARCH_LargePageObject seL4_ARM_LargePageObject |
| /* for the size of a large page use seL4_LargePageBits */ |
| /* Remap does not exist on all kernels */ |
| #define seL4_ARCH_Page_Remap seL4_ARM_Page_Remap |
| #define ARCHPageGetAddress ARMPageGetAddress |
| |
| #endif /* _VSPACE_ARCH_PAGE_H */ |