Massive renaming/cleanup of harts->vcores
[akaros.git] / user / include / vcore.h
1 #ifndef _VCORE_H
2 #define _VCORE_H
3
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7
8 #include <arch/vcore.h>
9 #include <string.h>
10
11 #define LOG2_MAX_VCORES 6
12 #define MAX_VCORES (1 << LOG2_MAX_VCORES)
13
14 /* Defined by glibc; Must be implemented by a user level threading library */
15 extern void vcore_entry();
16
17 /* Vcore API functions */
18 int vcore_init(void);
19 int vcore_id(void);
20 int vcore_request(size_t k);
21 void vcore_yield(void);
22 size_t max_vcores(void);
23 size_t num_vcores(void);
24
25 #ifdef __cplusplus
26 }
27 #endif
28
29 #endif