1/**
2 * \file
3 * \brief pmap management wrappers
4 */
5
6/*
7 * Copyright (c) 2010, ETH Zurich.
8 * All rights reserved.
9 *
10 * This file is distributed under the terms in the attached LICENSE file.
11 * If you do not find this file, copies can be found by writing to:
12 * ETH Zurich D-INFK, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group.
13 */
14
15#ifndef ARCH_ARM_BARRELFISH_PMAP_H
16#define ARCH_ARM_BARRELFISH_PMAP_H
17
18#include <target/arm/barrelfish/pmap_target.h>
19
20struct pmap_dump_info {
21    size_t l1index, l2index;
22    vregion_flags_t flags;
23    struct capref cap;
24    genvaddr_t offset;
25};
26#define PRIfmtPTIDX "%zd.%zd"
27#define GET_PTIDX(dump_info) (dump_info)->l1index, (dump_info)->l2index
28
29
30#define ARCH_DEFAULT_PMAP_SIZE sizeof(struct pmap_arm)
31
32errval_t pmap_init(struct pmap *p, struct vspace *v, struct capref vnode,
33                   struct slot_allocator *opt_slot_alloc);
34errval_t pmap_current_init(bool);
35
36#endif // ARCH_ARM_BARRELFISH_PMAP_H
37