mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 18:21:39 +01:00
time (instead of at compile time). Allows a single xen.gz binary to run under different security policy types, which simplifies distributions considerably. To this end, we replace the current single compile switch in Config.mk with the following two: 1. ACM_SECURITY (y/n) if "n", then the ACM is not compiled and no security policies can be configured at boot time. If "y", then the ACM is compiled and can be configured into any of the available policy types (null, chwall, ste, chwall_ste) by specifying a valid boot policy .bin file in the grub boot configuration. 2. ACM_DEFAULT_SECURITY_POLICY (null / chwall / ste / chwall_ste) specifies the policy into which Xen defaults in the case that security is enabled but no boot policy file is specified, or the specified policy file is invalid (wrong version, magic, corrupted, ...) While the type of the enabled policy (null, ste, ...) is decided once during boot for the whole boot cycle, the policy instantiation can be changed during operation as usual with the security tools. Signed-off by: Tomas Lendacky <toml@us.ibm.com> Signed-off by: Reiner Sailer <sailer@us.ibm.com>
69 lines
1.9 KiB
Makefile
69 lines
1.9 KiB
Makefile
# -*- mode: Makefile; -*-
|
|
|
|
# Currently supported architectures: x86_32, x86_64
|
|
XEN_COMPILE_ARCH ?= $(shell uname -m | sed -e s/i.86/x86_32/)
|
|
XEN_TARGET_ARCH ?= $(XEN_COMPILE_ARCH)
|
|
XEN_TARGET_X86_PAE ?= n
|
|
|
|
# Tools to run on system hosting the build
|
|
HOSTCC = gcc
|
|
HOSTCFLAGS = -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer
|
|
|
|
AS = $(CROSS_COMPILE)as
|
|
LD = $(CROSS_COMPILE)ld
|
|
CC = $(CROSS_COMPILE)gcc
|
|
CPP = $(CROSS_COMPILE)gcc -E
|
|
AR = $(CROSS_COMPILE)ar
|
|
RANLIB = $(CROSS_COMPILE)ranlib
|
|
NM = $(CROSS_COMPILE)nm
|
|
STRIP = $(CROSS_COMPILE)strip
|
|
OBJCOPY = $(CROSS_COMPILE)objcopy
|
|
OBJDUMP = $(CROSS_COMPILE)objdump
|
|
|
|
DISTDIR ?= $(XEN_ROOT)/dist
|
|
|
|
INSTALL = install
|
|
INSTALL_DIR = $(INSTALL) -d -m0755
|
|
INSTALL_DATA = $(INSTALL) -m0644
|
|
INSTALL_PROG = $(INSTALL) -m0755
|
|
|
|
ifeq ($(XEN_TARGET_ARCH),x86_64)
|
|
LIBDIR = lib64
|
|
else
|
|
LIBDIR = lib
|
|
endif
|
|
|
|
ifneq ($(EXTRA_PREFIX),)
|
|
EXTRA_INCLUDES += $(EXTRA_PREFIX)/include
|
|
EXTRA_LIB += $(EXTRA_PREFIX)/$(LIBDIR)
|
|
endif
|
|
|
|
LDFLAGS += $(foreach i, $(EXTRA_LIB), -L$(i))
|
|
CFLAGS += $(foreach i, $(EXTRA_INCLUDES), -I$(i))
|
|
|
|
# Choose the best mirror to download linux kernel
|
|
KERNEL_REPO = http://www.kernel.org
|
|
|
|
# If ACM_SECURITY = y, then the access control module is compiled
|
|
# into Xen and the policy type can be set by the boot policy file
|
|
# y - Build the Xen ACM framework
|
|
# n - Do not build the Xen ACM framework
|
|
ACM_SECURITY ?= n
|
|
|
|
# If ACM_SECURITY = y and no boot policy file is installed,
|
|
# then the ACM defaults to the security policy set by
|
|
# ACM_DEFAULT_SECURITY_POLICY
|
|
# Supported models are:
|
|
# ACM_NULL_POLICY
|
|
# ACM_CHINESE_WALL_POLICY
|
|
# ACM_SIMPLE_TYPE_ENFORCEMENT_POLICY
|
|
# ACM_CHINESE_WALL_AND_SIMPLE_TYPE_ENFORCEMENT_POLICY
|
|
ACM_DEFAULT_SECURITY_POLICY ?= ACM_NULL_POLICY
|
|
|
|
# Optional components
|
|
XENSTAT_XENTOP ?= y
|
|
|
|
VTPM_TOOLS ?= n
|
|
|
|
-include $(XEN_ROOT)/.config
|