1/**
2 * \file
3 * \brief internal functions for the vspace library
4 */
5
6/*
7 * Copyright (c) 2009, 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 VSPACE_INTERNAL_H_
16#define VSPACE_INTERNAL_H_
17
18#define VSPACE_PINNED_UNIT 5
19// reserve 128MB for vspace backing memory
20#define VSPACE_PINNED_SIZE (BASE_PAGE_SIZE * 32768)
21
22enum slab_type {
23    VREGION_LIST,
24    FRAME_LIST,
25    TRACK_LIST,
26};
27
28errval_t vspace_add_vregion(struct vspace* vspace, struct vregion* region);
29errval_t vspace_remove_vregion(struct vspace*qvspace, struct vregion* region);
30
31errval_t vspace_pinned_init(void);
32errval_t vspace_pinned_alloc(void **retbuf, enum slab_type slab_type);
33
34#endif //VSPACE_INTERNAL_H_
35