X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=kernel%2Fcontext_cmd.h;h=7b4f2ae55e8f489fd313a6a9faf9ab7c39de381a;hb=952de6648abd3d7192f97f3335c016df365b3ae0;hp=5a3195f24aeec7fbea59c56fc3db62aad29b2593;hpb=0cbf992ea2fb9e247615e94c29b2083032a32152;p=util-vserver.git diff --git a/kernel/context_cmd.h b/kernel/context_cmd.h index 5a3195f..7b4f2ae 100644 --- a/kernel/context_cmd.h +++ b/kernel/context_cmd.h @@ -6,10 +6,6 @@ #define VCMD_task_xid VC_CMD(VINFO, 1, 0) -#ifdef __KERNEL__ -extern int vc_task_xid(uint32_t, void __user *); - -#endif /* __KERNEL__ */ #define VCMD_vx_info VC_CMD(VINFO, 5, 0) @@ -19,33 +15,34 @@ struct vcmd_vx_info_v0 { /* more to come */ }; -#ifdef __KERNEL__ -extern int vc_vx_info(uint32_t, void __user *); -#endif /* __KERNEL__ */ +#define VCMD_ctx_stat VC_CMD(VSTAT, 0, 0) + +struct vcmd_ctx_stat_v0 { + uint32_t usecnt; + uint32_t tasks; + /* more to come */ +}; /* context commands */ #define VCMD_ctx_create_v0 VC_CMD(VPROC, 1, 0) -#define VCMD_ctx_create VC_CMD(VPROC, 1, 1) +#define VCMD_ctx_create_v1 VC_CMD(VPROC, 1, 1) +#define VCMD_ctx_create VC_CMD(VPROC, 1, 2) struct vcmd_ctx_create { uint64_t flagword; }; #define VCMD_ctx_migrate_v0 VC_CMD(PROCMIG, 1, 0) -#define VCMD_ctx_migrate VC_CMD(PROCMIG, 1, 1) +#define VCMD_ctx_migrate_v1 VC_CMD(PROCMIG, 1, 1) +#define VCMD_ctx_migrate VC_CMD(PROCMIG, 1, 2) struct vcmd_ctx_migrate { uint64_t flagword; }; -#ifdef __KERNEL__ -extern int vc_ctx_create(uint32_t, void __user *); -extern int vc_ctx_migrate(uint32_t, void __user *); - -#endif /* __KERNEL__ */ /* flag commands */ @@ -58,17 +55,12 @@ struct vcmd_ctx_flags_v0 { uint64_t mask; }; -#ifdef __KERNEL__ -extern int vc_get_cflags(uint32_t, void __user *); -extern int vc_set_cflags(uint32_t, void __user *); - -#endif /* __KERNEL__ */ /* context caps commands */ -#define VCMD_get_ccaps VC_CMD(FLAGS, 3, 0) -#define VCMD_set_ccaps VC_CMD(FLAGS, 4, 0) +#define VCMD_get_ccaps_v0 VC_CMD(FLAGS, 3, 0) +#define VCMD_set_ccaps_v0 VC_CMD(FLAGS, 4, 0) struct vcmd_ctx_caps_v0 { uint64_t bcaps; @@ -76,9 +68,35 @@ struct vcmd_ctx_caps_v0 { uint64_t cmask; }; -#ifdef __KERNEL__ -extern int vc_get_ccaps(uint32_t, void __user *); -extern int vc_set_ccaps(uint32_t, void __user *); +#define VCMD_get_ccaps VC_CMD(FLAGS, 3, 1) +#define VCMD_set_ccaps VC_CMD(FLAGS, 4, 1) + +struct vcmd_ctx_caps_v1 { + uint64_t ccaps; + uint64_t cmask; +}; + + + +/* bcaps commands */ + +#define VCMD_get_bcaps VC_CMD(FLAGS, 9, 0) +#define VCMD_set_bcaps VC_CMD(FLAGS, 10, 0) + +struct vcmd_bcaps { + uint64_t bcaps; + uint64_t bmask; +}; + + + +/* OOM badness */ + +#define VCMD_get_badness VC_CMD(MEMCTRL, 5, 0) +#define VCMD_set_badness VC_CMD(MEMCTRL, 6, 0) + +struct vcmd_badness_v0 { + int64_t bias; +}; -#endif /* __KERNEL__ */ #endif /* _VX_CONTEXT_CMD_H */