1/* 2 * Copyright 2017, Data61 3 * Commonwealth Scientific and Industrial Research Organisation (CSIRO) 4 * ABN 41 687 119 230. 5 * 6 * This software may be distributed and modified according to the terms of 7 * the BSD 2-Clause license. Note that NO WARRANTY is provided. 8 * See "LICENSE_BSD2.txt" for details. 9 * 10 * @TAG(DATA61_BSD) 11 */ 12#pragma once 13 14#include <autoconf.h> 15#include <stddef.h> 16#include <utils/attribute.h> 17#include <sel4/sel4.h> 18 19/* ordered list of page sizes for this architecture */ 20static const UNUSED size_t sel4_page_sizes[] = { 21 seL4_PageBits, 22 seL4_LargePageBits, 23#if defined(CONFIG_ARCH_AARCH32) 24 seL4_SectionBits, 25 seL4_SuperSectionBits 26#elif defined(CONFIG_ARCH_AARCH64) 27 seL4_HugePageBits 28#endif 29}; 30 31#define seL4_ARCH_Uncached_VMAttributes 0 32 33#define seL4_ARCH_Page_Map seL4_ARM_Page_Map 34#define seL4_ARCH_Page_MapIO seL4_ARM_Page_MapIO 35#define seL4_ARCH_Page_Unmap seL4_ARM_Page_Unmap 36#define seL4_ARCH_Page_GetAddress seL4_ARM_Page_GetAddress 37#define seL4_ARCH_Page_GetAddress_t seL4_ARM_Page_GetAddress_t 38#define seL4_ARCH_PageTable_Map seL4_ARM_PageTable_Map 39#define seL4_ARCH_IOPageTable_Map seL4_ARM_IOPageTable_Map 40#define seL4_ARCH_PageTable_Unmap seL4_ARM_PageTable_Unmap 41#define seL4_ARCH_ASIDPool_Assign seL4_ARM_ASIDPool_Assign 42#define seL4_ARCH_ASIDControl_MakePool seL4_ARM_ASIDControl_MakePool 43#define seL4_ARCH_PageTableObject seL4_ARM_PageTableObject 44#define seL4_ARCH_PageDirectoryObject seL4_ARM_PageDirectoryObject 45#define seL4_ARCH_Default_VMAttributes seL4_ARM_Default_VMAttributes 46#define seL4_ARCH_VMAttributes seL4_ARM_VMAttributes 47#define seL4_ARCH_4KPage seL4_ARM_SmallPageObject 48#define seL4_ARCH_LargePageObject seL4_ARM_LargePageObject 49/* for the size of a large page use seL4_LargePageBits */ 50#define ARCHPageGetAddress ARMPageGetAddress 51 52