1/**
2 * \file
3 * \brief Arch specific declerations that can be included by others
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 TARGET_X86_64_BARRELFISH_PMAP_H
16#define TARGET_X86_64_BARRELFISH_PMAP_H
17
18#include <target/x86/barrelfish/pmap_target.h>
19
20struct pmap_dump_info {
21    size_t pml4_index, pdpt_index, pdir_index, pt_index;
22    vregion_flags_t flags;
23    struct capref cap;
24    genvaddr_t offset;
25};
26#define PRIfmtPTIDX "%zd.%zd.%zd.%zd"
27#define GET_PTIDX(dump_info) (dump_info)->pml4_index, (dump_info)->pdpt_index, \
28                             (dump_info)->pdir_index, (dump_info)->pt_index
29
30errval_t pmap_x86_64_init(struct pmap *pmap, struct vspace *vspace,
31                          struct capref vnode,
32                          struct slot_allocator *opt_slot_alloc);
33errval_t pmap_x86_64_current_init(bool);
34
35#endif // TARGET_X86_64_BARRELFISH_PMAP_H
36