Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


Cache partitioning support
[palacios.git] / palacios / include / palacios / vmm_cachepart.h
1 /*
2  * This file is part of the Palacios Virtual Machine Monitor developed
3  * by the V3VEE Project with funding from the United States National 
4  * Science Foundation and the Department of Energy.  
5  *
6  * The V3VEE Project is a joint project between Northwestern University
7  * and the University of New Mexico.  You can find out more at 
8  * http://www.v3vee.org
9  *
10  * Copyright (c) 2015, The V3VEE Project <http://www.v3vee.org> 
11  * All rights reserved.
12  *
13  * Author: Peter Dinda <pdinda@northwestern.edu>
14  *
15  * This is free software.  You are permitted to use,
16  * redistribute, and modify it as specified in the file "V3VEE_LICENSE".
17  */
18
19
20 #ifndef __VMM_CACHEPART_H
21 #define __VMM_CACHEPART_H
22
23
24 #ifdef __V3VEE__ 
25
26 #include <palacios/vmm_types.h>
27
28 typedef struct v3_cachepart {
29     uint64_t  mem_block_size;
30     uint64_t  expected_num_colors;
31     uint64_t  actual_num_colors;
32     uint64_t  min_color;           // with respect to actual colors
33     uint64_t  max_color;
34     uint64_t  color_shift;
35     uint64_t  color_mask;
36 } v3_cachepart_t ;
37
38
39 struct v3_xml;
40
41 int v3_init_cachepart();
42 int v3_deinit_cachepart();
43
44 int v3_init_cachepart_vm(struct v3_vm_info *vm, struct v3_xml *config);
45 int v3_deinit_cachepart_vm(struct v3_vm_info *vm);
46
47 int v3_init_cachepart_core(struct guest_info *core);
48 int v3_deinit_cachepart_core(struct guest_info *core);
49
50 int v3_cachepart_filter(void *paddr, struct v3_cachepart *p);
51
52 #endif /* ! __V3VEE__ */
53
54
55 #endif