int (*schedop_shutdown) (struct domain *d1, struct domain *d2);
long (*__do_xsm_op) (XEN_GUEST_HANDLE(xsm_op_t) op);
- void (*complete_init) (struct domain *d);
#ifdef CONFIG_X86
int (*shadow_control) (struct domain *d, uint32_t op);
return xsm_call(__do_xsm_op(op));
}
-static inline void xsm_complete_init (struct domain *d)
-{
- xsm_call(complete_init(d));
-}
-
#ifdef XSM_ENABLE
extern int xsm_init(unsigned int *initrdidx, const multiboot_info_t *mbi,
unsigned long initial_images_start);
return;
}
-static void dummy_complete_init (struct domain *d)
-{
- return;
-}
-
static long dummy___do_xsm_op(XEN_GUEST_HANDLE(xsm_op_t) op)
{
return -ENOSYS;
set_to_dummy_if_null(ops, schedop_shutdown);
set_to_dummy_if_null(ops, __do_xsm_op);
- set_to_dummy_if_null(ops, complete_init);
#ifdef CONFIG_X86
set_to_dummy_if_null(ops, shadow_control);
return domain_has_xen(current->domain, XEN__PERFCONTROL);
}
-void flask_complete_init(struct domain *d)
-{
- struct domain_security_struct *dsec;
-
- /* Set the security state for the Dom0 domain. */
- dsec = d->ssid;
- dsec->sid = SECINITSID_DOM0;
- dsec->create_sid = SECINITSID_UNLABELED;
-
- printk("Flask: Completed initialization.\n");
-}
-
#ifdef CONFIG_X86
static int flask_shadow_control(struct domain *d, uint32_t op)
{
.schedop_shutdown = flask_schedop_shutdown,
.__do_xsm_op = do_flask_op,
- .complete_init = flask_complete_init,
#ifdef CONFIG_X86
.shadow_control = flask_shadow_control,