# Enable XSM security module (by default, Flask).
XSM_ENABLE ?= n
+FLASK_ENABLE ?= $(XSM_ENABLE)
XEN_EXTFILES_URL ?= http://xenbits.xen.org/xen-extfiles
# All the files at that location were downloaded from elsewhere on
The hypervisor may be build with XSM support, which can be changed with
the following variables.
XSM_ENABLE=y
-
-The hypervisor may be build with Flask support, which can be changed
-by running:
-make -C xen menuconfig
-and enabling Flask in the 'Common Features' menu.
+FLASK_ENABLE=y
Do a build for coverage.
coverage=y
----------------
Xen must be compiled with XSM and FLASK enabled; by default, the security
-framework is disabled. Edit Config.mk or the .config file to set XSM_ENABLE to
-"y" and running 'make -C xen menuconfig' and enabling FLASK inside 'Common
-Features'; this change requires a make clean and rebuild.
+framework is disabled. Edit Config.mk or the .config file to set XSM_ENABLE and
+FLASK_ENABLE to "y"; this change requires a make clean and rebuild.
FLASK uses only one domain configuration parameter (seclabel) defining the
full security label of the newly created domain. If using the example policy,
CFLAGS += '-D__OBJECT_FILE__="$@"'
CFLAGS-$(XSM_ENABLE) += -DXSM_ENABLE
+CFLAGS-$(FLASK_ENABLE) += -DFLASK_ENABLE
CFLAGS-$(verbose) += -DVERBOSE
CFLAGS-$(crash_debug) += -DCRASH_DEBUG
CFLAGS-$(perfc) += -DPERF_COUNTERS
HVM and PV guests. HVMLoader makes 32-bit hypercalls irrespective
of the destination runmode of the guest.
-config FLASK
- bool "FLux Advanced Security Kernel support"
- default n
- --help---
- Enables the FLASK (FLux Advanced Security Kernel) support which
- provides a mandatory access control framework by which security
- enforcement, isolation, and auditing can be achieved with fine
- granular control via a security policy.
-
- If unsure, say N.
-
# Select HAS_DEVICE_TREE if device tree is supported
config HAS_DEVICE_TREE
bool
headers-$(CONFIG_X86) += compat/arch-x86/xen-$(compat-arch-y).h
headers-$(CONFIG_X86) += compat/hvm/hvm_vcpu.h
headers-y += compat/arch-$(compat-arch-y).h compat/pmu.h compat/xlat.h
-headers-$(CONFIG_FLASK) += compat/xsm/flask_op.h
+headers-$(FLASK_ENABLE) += compat/xsm/flask_op.h
cppflags-y := -include public/xen-compat.h
cppflags-$(CONFIG_X86) += -m32
#define mk_unsigned_long(x) x
#endif /* !__ASSEMBLY__ */
-#ifdef CONFIG_FLASK
+#ifdef FLASK_ENABLE
#define XSM_MAGIC 0xf97cff8c
/* Maintain statistics on the access vector cache */
#define FLASK_AVC_STATS 1
*/
void *generic;
#endif
-#ifdef CONFIG_FLASK
+#ifdef FLASK_ENABLE
/*
* Inlining the contents of the structure for FLASK avoids unneeded
* allocations, and on 64-bit platforms with only FLASK enabled,
obj-y += dummy.o
endif
-subdir-$(CONFIG_FLASK) += flask
+subdir-$(FLASK_ENABLE) += flask