X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=kitten%2Finclude%2Farch-x86_64%2Ftask.h;fp=kitten%2Finclude%2Farch-x86_64%2Ftask.h;h=361c6824636c9741cb3a9e58c32e48bbe7576638;hb=66a1a4c7a9edcd7d8bc207aca093d694a6e6b5b2;hp=0000000000000000000000000000000000000000;hpb=f7cf9c19ecb0a589dd45ae0d2c91814bd3c2acc2;p=palacios.git diff --git a/kitten/include/arch-x86_64/task.h b/kitten/include/arch-x86_64/task.h new file mode 100644 index 0000000..361c682 --- /dev/null +++ b/kitten/include/arch-x86_64/task.h @@ -0,0 +1,35 @@ +#ifndef _ARCH_TASK_H +#define _ARCH_TASK_H + +/** + * Bits in the arch_task.flags field. + */ +#define _TF_NEW_TASK_BIT 0 +#define _TF_USED_FPU_BIT 1 + +/** + * Masks for the bits in the arch_task.flags field. + */ +#define TF_NEW_TASK (1 << _TF_NEW_TASK_BIT) +#define TF_USED_FPU (1 << _TF_USED_FPU_BIT) + +#ifndef __ASSEMBLY__ + +#include +#include + +struct arch_mm { + xpte_t *page_table_root; +}; + +/** + * Architecture-specific task information. + */ +struct arch_task { + uint32_t flags; /* arch-dependent task flags */ + unsigned long addr_limit; /* task's virtual memory space is from [0,addr_limit) */ + struct thread_struct thread; +}; + +#endif +#endif