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