1/** 2 * \file 3 * \brief Arch specific paging definitions 4 */ 5 6/* 7 * Copyright (c) 2010, 2015, ETH Zurich. 8 * Copyright (c) 2015, 2016 Hewlett Packard Enterprise Development LP. 9 * All rights reserved. 10 * 11 * This file is distributed under the terms in the attached LICENSE file. 12 * If you do not find this file, copies can be found by writing to: 13 * ETH Zurich D-INFK, Universitaetstr. 6, CH-8092 Zurich. Attn: Systems Group. 14 */ 15 16#ifndef ARCH_AARCH64_BARRELFISH_KPI_PAGING_H 17#define ARCH_AARCH64_BARRELFISH_KPI_PAGING_H 18 19#include <target/aarch64/barrelfish_kpi/paging_arm_v8.h> 20 21/** 22 * Information about page sizes 23 */ 24#define BASE_PAGE_BITS VMSAv8_64_BASE_PAGE_BITS 25#define BASE_PAGE_SIZE VMSAv8_64_BASE_PAGE_SIZE 26#define BASE_PAGE_MASK VMSAv8_64_BASE_PAGE_MASK 27#define BASE_PAGE_OFFSET VMSAv8_64_BASE_PAGE_OFFSET 28 29#define LARGE_PAGE_BITS VMSAv8_64_L2_BLOCK_BITS 30#define LARGE_PAGE_SIZE VMSAv8_64_L2_BLOCK_SIZE 31#define LARGE_PAGE_MASK VMSAv8_64_L2_BLOCK_MASK 32#define LARGE_PAGE_OFFSET VMSAv8_64_L2_BLOCK_OFFSET 33 34#define HUGE_PAGE_BITS VMSAv8_64_L1_BLOCK_BITS 35#define HUGE_PAGE_SIZE VMSAv8_64_L1_BLOCK_SIZE 36#define HUGE_PAGE_MASK VMSAv8_64_L1_BLOCK_MASK 37#define HUGE_PAGE_OFFSET VMSAv8_64_L1_BLOCK_OFFSET 38 39/** 40 * Bits within the various page directories and tables. 41 */ 42#define PTABLE_EXECUTE_DISABLE VMSAv8_64_PTABLE_EXECUTE_DISABLE 43#define PTABLE_GLOBAL_PAGE VMSAv8_64_PTABLE_GLOBAL_PAGE 44#define PTABLE_ATTR_INDEX VMSAv8_64_PTABLE_ATTR_INDEX 45#define PTABLE_DIRTY VMSAv8_64_PTABLE_DIRTY 46#define PTABLE_ACCESSED VMSAv8_64_PTABLE_ACCESSED 47#define PTABLE_CACHE_DISABLED VMSAv8_64_PTABLE_CACHE_DISABLED 48#define PTABLE_WRITE_THROUGH VMSAv8_64_PTABLE_WRITE_THROUGH 49#define PTABLE_USER_SUPERVISOR VMSAv8_64_PTABLE_USER_SUPERVISOR 50#define PTABLE_READ_WRITE VMSAv8_64_PTABLE_READ_WRITE 51#define PTABLE_PRESENT VMSAv8_64_PTABLE_PRESENT 52 53#define PTABLE_SIZE VMSAv8_64_PTABLE_SIZE 54#define PTABLE_MASK VMSAv8_64_PTABLE_MASK 55#define PTABLE_CLEAR VMSAv8_64_PTABLE_CLEAR 56 57#define PTABLE_ACCESS_DEFAULT VMSAv8_64_PTABLE_ACCESS_DEFAULT 58#define PTABLE_ACCESS_READONLY VMSAv8_64_PTABLE_ACCESS_READONLY 59 60#define PTABLE_ENTRY_SIZE VMSAv8_64_PTABLE_ENTRY_SIZE 61#endif // ARCH_ARM_BARRELFISH_KPI_PAGING_H 62