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_32_BARRELFISH_PMAP_H
16#define TARGET_X86_32_BARRELFISH_PMAP_H
17
18#include <target/x86/barrelfish/pmap_target.h>
19
20struct pmap_dump_info {
21#ifdef CONFIG_PAE
22    size_t pdpt_index;
23#endif
24    size_t pdir_index, pt_index;
25    vregion_flags_t flags;
26    struct capref cap;
27    genvaddr_t offset;
28};
29#ifdef CONFIG_PAE
30#define PRIfmtPTIDX "%zd.%zd.%zd"
31#define GET_PTIDX(dump_info) (dump_info)->pdpt_index, (dump_info)->pdir_index, (dump_info)->pt_index
32#else
33#define PRIfmtPTIDX "%zd.%zd"
34#define GET_PTIDX(dump_info) (dump_info)->pdir_index, (dump_info)->pt_index
35#endif
36
37errval_t pmap_x86_32_init(struct pmap *pmap, struct vspace *vspace,
38                          struct capref vnode,
39                          struct slot_allocator *opt_slot_alloc);
40errval_t pmap_x86_32_current_init(bool);
41
42#endif // TARGET_X86_32_BARRELFISH_PMAP_H
43