BXE: min->MIN, plus an spatch
[akaros.git] / kern / arch / riscv / colored_caches.c
1 /* Copyright (c) 2009 The Regents of the University  of California. 
2  * See the COPYRIGHT files at the top of this source tree for full 
3  * license information.
4  * 
5  * Kevin Klues <klueska@cs.berkeley.edu>    
6  */
7
8 #include <colored_caches.h>
9 #include <stdio.h>
10
11 #ifdef __SHARC__
12 #pragma nosharc
13 #endif
14
15 // Global variables
16 static cache_t l1,l2,l3;
17 cache_t* llc_cache;
18 available_caches_t available_caches;
19
20 /************** Cache Related Functions  *****************/
21 void cache_init() 
22 {
23         // Initialize the caches available on this system.
24         // TODO: Should call out to something reading the acpi tables from 
25         // memory, or something similar.  For now, just initialize them inline
26         available_caches.l1 = SINIT(&l1);
27         available_caches.l2 = SINIT(&l2);
28         available_caches.l3 = SINIT(&l3);
29         llc_cache = &l3;
30         init_cache_properties(&l1,   32,  8, 64);
31         init_cache_properties(&l2,  256,  8, 64);
32         init_cache_properties(&l3, 8192, 16, 64);
33         printk("Cache init successful\n");
34 }
35
36 void cache_color_alloc_init()
37 {
38         init_free_cache_colors_map(&l1);
39         init_free_cache_colors_map(&l2);
40         init_free_cache_colors_map(&l3);
41 }
42