stubdom: add xenstore pvh stubdom

Add a PVH xenstore stubdom in order to support a Xenstore stubdom on
a hypervisor built without PV-support.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Acked-by: Wei Liu <wl@xen.org>
This commit is contained in:
Juergen Gross committed 2020-10-23 15:56:56 +02:00
1 parent f89955449c
commit 154137dfdb
5 files changed
+88 -2

No files matched your search

+1
View File
@@ -91,6 +91,7 @@ stubdom/stubdompath.sh
stubdom/tpm_emulator-* stubdom/tpm_emulator-*
stubdom/vtpm/vtpm_manager.h stubdom/vtpm/vtpm_manager.h
stubdom/xenstore stubdom/xenstore
stubdom/xenstorepvh
stubdom/zlib-* stubdom/zlib-*
tools/*/build/lib*/*.py tools/*/build/lib*/*.py
tools/autom4te.cache/ tools/autom4te.cache/
+29 -2
View File
@@ -367,7 +367,10 @@ $(foreach lib,$(STUB_LIBS),$(eval $(call BUILD_lib,$(lib))))
xenstore/stamp: $(XEN_ROOT)/tools/xenstore/Makefile xenstore/stamp: $(XEN_ROOT)/tools/xenstore/Makefile
$(do_links) $(do_links)
LINK_DIRS := xenstore $(foreach dir,$(STUB_LIBS),libs-$(XEN_TARGET_ARCH)/$(dir)) xenstorepvh/stamp: $(XEN_ROOT)/tools/xenstore/Makefile
$(do_links)
LINK_DIRS := xenstore xenstorepvh $(foreach dir,$(STUB_LIBS),libs-$(XEN_TARGET_ARCH)/$(dir))
LINK_STAMPS := $(foreach dir,$(LINK_DIRS),$(dir)/stamp) LINK_STAMPS := $(foreach dir,$(LINK_DIRS),$(dir)/stamp)
mk-headers-$(XEN_TARGET_ARCH): $(IOEMU_LINKFARM_TARGET) $(LINK_STAMPS) mk-headers-$(XEN_TARGET_ARCH): $(IOEMU_LINKFARM_TARGET) $(LINK_STAMPS)
@@ -486,6 +489,17 @@ xenstore-minios-config.mk: $(CURDIR)/xenstore-minios.cfg
xenstore: $(CROSS_ROOT) xenstore-minios-config.mk xenstore: $(CROSS_ROOT) xenstore-minios-config.mk
CPPFLAGS="$(TARGET_CPPFLAGS) $(shell cat xenstore-minios-config.mk)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= -C $@ xenstored.a CONFIG_STUBDOM=y CPPFLAGS="$(TARGET_CPPFLAGS) $(shell cat xenstore-minios-config.mk)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= -C $@ xenstored.a CONFIG_STUBDOM=y
#############
# xenstorepvh
#############
xenstorepvh-minios-config.mk: $(CURDIR)/xenstorepvh-minios.cfg
MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
.PHONY: xenstorepvh
xenstorepvh: $(CROSS_ROOT) xenstorepvh-minios-config.mk
CPPFLAGS="$(TARGET_CPPFLAGS) $(shell cat xenstorepvh-minios-config.mk)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= -C $@ xenstored.a CONFIG_STUBDOM=y
######## ########
# minios # minios
######## ########
@@ -519,6 +533,10 @@ pv-grub: mini-os-$(XEN_TARGET_ARCH)-grub libxenguest grub
xenstore-stubdom: mini-os-$(XEN_TARGET_ARCH)-xenstore libxenguest xenstore xenstore-stubdom: mini-os-$(XEN_TARGET_ARCH)-xenstore libxenguest xenstore
DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/xenstore-minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< APP_OBJS=$(CURDIR)/xenstore/xenstored.a DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/xenstore-minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< APP_OBJS=$(CURDIR)/xenstore/xenstored.a
.PHONY: xenstorepvh-stubdom
xenstorepvh-stubdom: mini-os-$(XEN_TARGET_ARCH)-xenstorepvh libxenguest xenstorepvh
DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/xenstorepvh-minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< APP_OBJS=$(CURDIR)/xenstorepvh/xenstored.a
######### #########
# install # install
######### #########
@@ -548,6 +566,10 @@ install-xenstore: xenstore-stubdom
$(INSTALL_DIR) "$(DESTDIR)$(XENFIRMWAREDIR)" $(INSTALL_DIR) "$(DESTDIR)$(XENFIRMWAREDIR)"
$(INSTALL_DATA) mini-os-$(XEN_TARGET_ARCH)-xenstore/mini-os.gz "$(DESTDIR)$(XENFIRMWAREDIR)/xenstore-stubdom.gz" $(INSTALL_DATA) mini-os-$(XEN_TARGET_ARCH)-xenstore/mini-os.gz "$(DESTDIR)$(XENFIRMWAREDIR)/xenstore-stubdom.gz"
install-xenstorepvh: xenstorepvh-stubdom
$(INSTALL_DIR) "$(DESTDIR)$(XENFIRMWAREDIR)"
$(INSTALL_DATA) mini-os-$(XEN_TARGET_ARCH)-xenstorepvh/mini-os.gz "$(DESTDIR)$(XENFIRMWAREDIR)/xenstorepvh-stubdom.gz"
install-vtpm: vtpm-stubdom install-vtpm: vtpm-stubdom
$(INSTALL_DIR) "$(DESTDIR)$(XENFIRMWAREDIR)" $(INSTALL_DIR) "$(DESTDIR)$(XENFIRMWAREDIR)"
$(INSTALL_DATA) mini-os-$(XEN_TARGET_ARCH)-vtpm/mini-os.gz "$(DESTDIR)$(XENFIRMWAREDIR)/vtpm-stubdom.gz" $(INSTALL_DATA) mini-os-$(XEN_TARGET_ARCH)-vtpm/mini-os.gz "$(DESTDIR)$(XENFIRMWAREDIR)/vtpm-stubdom.gz"
@@ -581,6 +603,9 @@ uninstall-grub:
uninstall-xenstore: uninstall-xenstore:
rm -f $(DESTDIR)$(XENFIRMWAREDIR)/xenstore-stubdom.gz rm -f $(DESTDIR)$(XENFIRMWAREDIR)/xenstore-stubdom.gz
uninstall-xenstorepvh:
rm -f $(DESTDIR)$(XENFIRMWAREDIR)/xenstorepvh-stubdom.gz
uninstall-vtpm: uninstall-vtpm:
rm -f $(DESTDIR)$(XENFIRMWAREDIR)/vtpm-stubdom.gz rm -f $(DESTDIR)$(XENFIRMWAREDIR)/vtpm-stubdom.gz
@@ -600,6 +625,7 @@ clean:
rm -fr mini-os-$(XEN_TARGET_ARCH)-caml rm -fr mini-os-$(XEN_TARGET_ARCH)-caml
rm -fr mini-os-$(XEN_TARGET_ARCH)-grub rm -fr mini-os-$(XEN_TARGET_ARCH)-grub
rm -fr mini-os-$(XEN_TARGET_ARCH)-xenstore rm -fr mini-os-$(XEN_TARGET_ARCH)-xenstore
rm -fr mini-os-$(XEN_TARGET_ARCH)-xenstorepvh
rm -fr mini-os-$(XEN_TARGET_ARCH)-vtpm rm -fr mini-os-$(XEN_TARGET_ARCH)-vtpm
rm -fr mini-os-$(XEN_TARGET_ARCH)-vtpmmgr rm -fr mini-os-$(XEN_TARGET_ARCH)-vtpmmgr
$(MAKE) DESTDIR= -C caml clean $(MAKE) DESTDIR= -C caml clean
@@ -612,6 +638,7 @@ clean:
rm -fr pkg-config rm -fr pkg-config
-[ ! -d ioemu ] || $(MAKE) DESTDIR= -C ioemu clean -[ ! -d ioemu ] || $(MAKE) DESTDIR= -C ioemu clean
-[ ! -d xenstore ] || $(MAKE) DESTDIR= -C xenstore clean -[ ! -d xenstore ] || $(MAKE) DESTDIR= -C xenstore clean
-[ ! -d xenstorepvh ] || $(MAKE) DESTDIR= -C xenstorepvh clean
# clean the cross-compilation result # clean the cross-compilation result
.PHONY: crossclean .PHONY: crossclean
@@ -620,7 +647,7 @@ crossclean: clean
rm -fr newlib-$(XEN_TARGET_ARCH) rm -fr newlib-$(XEN_TARGET_ARCH)
rm -fr zlib-$(XEN_TARGET_ARCH) pciutils-$(XEN_TARGET_ARCH) rm -fr zlib-$(XEN_TARGET_ARCH) pciutils-$(XEN_TARGET_ARCH)
rm -fr libs-$(XEN_TARGET_ARCH) rm -fr libs-$(XEN_TARGET_ARCH)
rm -fr ioemu xenstore rm -fr ioemu xenstore xenstorepvh
rm -fr gmp-$(XEN_TARGET_ARCH) rm -fr gmp-$(XEN_TARGET_ARCH)
rm -fr polarssl-$(XEN_TARGET_ARCH) rm -fr polarssl-$(XEN_TARGET_ARCH)
rm -fr openssl-$(XEN_TARGET_ARCH) rm -fr openssl-$(XEN_TARGET_ARCH)
+47
View File
@@ -630,6 +630,7 @@ WGET
CMAKE CMAKE
extfiles extfiles
debug debug
xenstorepvh
xenstore xenstore
grub grub
caml caml
@@ -689,6 +690,7 @@ enable_c_stubdom
enable_caml_stubdom enable_caml_stubdom
enable_pv_grub enable_pv_grub
enable_xenstore_stubdom enable_xenstore_stubdom
enable_xenstore_pvh_stubdom
enable_vtpm_stubdom enable_vtpm_stubdom
enable_vtpmmgr_stubdom enable_vtpmmgr_stubdom
enable_qemu_traditional enable_qemu_traditional
@@ -1344,6 +1346,9 @@ Optional Features:
--disable-xenstore-stubdom --disable-xenstore-stubdom
Build and install xenstore-stubdom (default is Build and install xenstore-stubdom (default is
ENABLED) ENABLED)
--disable-xenstorepvh-stubdom
Build and install xenstorepvh-stubdom (default is
ENABLED)
--enable-vtpm-stubdom Build and install vtpm-stubdom --enable-vtpm-stubdom Build and install vtpm-stubdom
--enable-vtpmmgr-stubdom --enable-vtpmmgr-stubdom
Build and install vtpmmgr-stubdom Build and install vtpmmgr-stubdom
@@ -2178,6 +2183,48 @@ fi
# Check whether --enable-xenstorepvh-stubdom was given.
if test "${enable_xenstore_pvh_stubdom+set}" = set; then :
enableval=$enable_xenstore_pvh_stubdom;
if test "x$enableval" = "xyes"; then :
xenstorepvh=y
STUBDOM_TARGETS="$STUBDOM_TARGETS xenstorepvh"
STUBDOM_BUILD="$STUBDOM_BUILD xenstorepvh-stubdom"
STUBDOM_INSTALL="$STUBDOM_INSTALL install-xenstorepvh"
STUBDOM_UNINSTALL="$STUBDOM_UNINSTALL install-xenstorepvh"
else
if test "x$enableval" = "xno"; then :
xenstorepvh=n
fi
fi
else
xenstorepvh=y
STUBDOM_TARGETS="$STUBDOM_TARGETS xenstorepvh"
STUBDOM_BUILD="$STUBDOM_BUILD xenstorepvh-stubdom"
STUBDOM_INSTALL="$STUBDOM_INSTALL install-xenstorepvh"
STUBDOM_UNINSTALL="$STUBDOM_UNINSTALL install-xenstorepvh"
fi
# Check whether --enable-vtpm-stubdom was given. # Check whether --enable-vtpm-stubdom was given.
if test "${enable_vtpm_stubdom+set}" = set; then : if test "${enable_vtpm_stubdom+set}" = set; then :
enableval=$enable_vtpm_stubdom; enableval=$enable_vtpm_stubdom;
+1
View File
@@ -23,6 +23,7 @@ AX_STUBDOM_DEFAULT_DISABLE([c-stubdom], [c])
AX_STUBDOM_DEFAULT_DISABLE([caml-stubdom], [caml]) AX_STUBDOM_DEFAULT_DISABLE([caml-stubdom], [caml])
AX_STUBDOM_DEFAULT_ENABLE([pv-grub], [grub]) AX_STUBDOM_DEFAULT_ENABLE([pv-grub], [grub])
AX_STUBDOM_DEFAULT_ENABLE([xenstore-stubdom], [xenstore]) AX_STUBDOM_DEFAULT_ENABLE([xenstore-stubdom], [xenstore])
AX_STUBDOM_DEFAULT_ENABLE([xenstorepvh-stubdom], [xenstorepvh])
AX_STUBDOM_CONDITIONAL([vtpm-stubdom], [vtpm]) AX_STUBDOM_CONDITIONAL([vtpm-stubdom], [vtpm])
AX_STUBDOM_CONDITIONAL([vtpmmgr-stubdom], [vtpmmgr]) AX_STUBDOM_CONDITIONAL([vtpmmgr-stubdom], [vtpmmgr])
+10
View File
@@ -0,0 +1,10 @@
CONFIG_PARAVIRT=n
CONFIG_BLKFRONT=n
CONFIG_NETFRONT=n
CONFIG_FBFRONT=n
CONFIG_KBDFRONT=n
CONFIG_CONSFRONT=n
CONFIG_XENBUS=n
CONFIG_LWIP=n
CONFIG_BALLOON=y
XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.