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 <boilerplate/setup.h>
32 #include <copperplate/heapobj.h>
33 #include <copperplate/tunables.h>
35 #ifdef CONFIG_XENO_REGISTRY
36 #define DEFAULT_REGISTRY_ROOT CONFIG_XENO_REGISTRY_ROOT
38 #define DEFAULT_REGISTRY_ROOT NULL
41 #define HOBJ_MINLOG2 3
42 #define HOBJ_MAXLOG2 22
43 #define HOBJ_NBUCKETS (HOBJ_MAXLOG2 - HOBJ_MINLOG2 + 2)
50 char name[XNOBJECT_NAME_LEN];
52 struct listobj extents;
56 struct sysgroup_memspec memspec;
60 } buckets[HOBJ_NBUCKETS];
63 struct corethread_attributes {
67 struct sched_param_ex param_ex;
68 int (*prologue)(
void *arg);
69 void *(*run)(
void *arg);
82 void copperplate_set_current_name(
const char *name);
84 int copperplate_kill_tid(pid_t tid,
int sig);
86 int copperplate_create_thread(
struct corethread_attributes *cta,
89 int copperplate_renice_local_thread(pthread_t ptid,
int policy,
90 const struct sched_param_ex *param_ex);
92 void copperplate_bootstrap_internal(
const char *arg0,
93 char *mountpt,
int regflags);