18 #ifndef _COPPERPLATE_INTERNAL_H
19 #define _COPPERPLATE_INTERNAL_H
21 #include <sys/types.h>
25 #include <semaphore.h>
26 #include <xeno_config.h>
27 #include <boilerplate/list.h>
28 #include <boilerplate/ancillaries.h>
29 #include <boilerplate/limits.h>
30 #include <boilerplate/sched.h>
31 #include <copperplate/heapobj.h>
33 #ifdef CONFIG_XENO_REGISTRY
34 #define DEFAULT_REGISTRY_ROOT CONFIG_XENO_REGISTRY_ROOT
35 #define DEFAULT_REGISTRY_SESSION "anon"
39 unsigned int mem_pool;
40 const char *session_label;
41 const char *registry_root;
42 cpu_set_t cpu_affinity;
50 #define HOBJ_MINLOG2 3
51 #define HOBJ_MAXLOG2 22
52 #define HOBJ_NBUCKETS (HOBJ_MAXLOG2 - HOBJ_MINLOG2 + 2)
59 char name[XNOBJECT_NAME_LEN];
68 struct sysgroup_memspec memspec;
72 } buckets[HOBJ_NBUCKETS];
75 struct corethread_attributes {
79 struct sched_param_ex param_ex;
80 int (*prologue)(
void *arg);
81 void *(*run)(
void *arg);
90 extern pid_t __node_id;
92 extern struct coppernode __node_info;
94 static inline void copperplate_set_silent(
void)
96 __node_info.silent_mode = 1;
103 void copperplate_set_current_name(
const char *name);
105 int copperplate_kill_tid(pid_t tid,
int sig);
107 int copperplate_create_thread(
struct corethread_attributes *cta,
110 int copperplate_renice_local_thread(pthread_t ptid,
int policy,
111 const struct sched_param_ex *param_ex);
113 void copperplate_bootstrap_minimal(
const char *arg0,
114 char *mountpt,
int shared_registry);