[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 3/3] stubdom: add xenstore pvh stubdom



Juergen Gross, le mer. 23 sept. 2020 08:45:41 +0200, a ecrit:
> 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@xxxxxxxx>

Reviewed-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>

> ---
>  .gitignore                     |  1 +
>  stubdom/Makefile               | 31 ++++++++++++++++++++--
>  stubdom/configure              | 47 ++++++++++++++++++++++++++++++++++
>  stubdom/configure.ac           |  1 +
>  stubdom/xenstorepvh-minios.cfg | 10 ++++++++
>  5 files changed, 88 insertions(+), 2 deletions(-)
>  create mode 100644 stubdom/xenstorepvh-minios.cfg
> 
> diff --git a/.gitignore b/.gitignore
> index 5e8c47e2db..e7b388e31b 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -91,6 +91,7 @@ stubdom/stubdompath.sh
>  stubdom/tpm_emulator-*
>  stubdom/vtpm/vtpm_manager.h
>  stubdom/xenstore
> +stubdom/xenstorepvh
>  stubdom/zlib-*
>  tools/*/build/lib*/*.py
>  tools/autom4te.cache/
> diff --git a/stubdom/Makefile b/stubdom/Makefile
> index fb9617fa14..90d9ffcd9f 100644
> --- a/stubdom/Makefile
> +++ b/stubdom/Makefile
> @@ -367,7 +367,10 @@ $(foreach lib,$(STUB_LIBS),$(eval $(call 
> BUILD_lib,$(lib))))
>  xenstore/stamp: $(XEN_ROOT)/tools/xenstore/Makefile
>       $(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)
>  
>  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
>       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
>  ########
> @@ -519,6 +533,10 @@ pv-grub: mini-os-$(XEN_TARGET_ARCH)-grub libxenguest grub
>  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
>  
> +.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
>  #########
> @@ -548,6 +566,10 @@ install-xenstore: xenstore-stubdom
>       $(INSTALL_DIR) "$(DESTDIR)$(XENFIRMWAREDIR)"
>       $(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_DIR) "$(DESTDIR)$(XENFIRMWAREDIR)"
>       $(INSTALL_DATA) mini-os-$(XEN_TARGET_ARCH)-vtpm/mini-os.gz 
> "$(DESTDIR)$(XENFIRMWAREDIR)/vtpm-stubdom.gz"
> @@ -581,6 +603,9 @@ uninstall-grub:
>  uninstall-xenstore:
>       rm -f $(DESTDIR)$(XENFIRMWAREDIR)/xenstore-stubdom.gz
>  
> +uninstall-xenstorepvh:
> +     rm -f $(DESTDIR)$(XENFIRMWAREDIR)/xenstorepvh-stubdom.gz
> +
>  uninstall-vtpm:
>       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)-grub
>       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)-vtpmmgr
>       $(MAKE) DESTDIR= -C caml clean
> @@ -612,6 +638,7 @@ clean:
>       rm -fr pkg-config
>       -[ ! -d ioemu ] || $(MAKE) DESTDIR= -C ioemu clean
>       -[ ! -d xenstore ] || $(MAKE) DESTDIR= -C xenstore clean
> +     -[ ! -d xenstorepvh ] || $(MAKE) DESTDIR= -C xenstorepvh clean
>  
>  # clean the cross-compilation result
>  .PHONY: crossclean
> @@ -620,7 +647,7 @@ crossclean: clean
>       rm -fr newlib-$(XEN_TARGET_ARCH)
>       rm -fr zlib-$(XEN_TARGET_ARCH) pciutils-$(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 polarssl-$(XEN_TARGET_ARCH)
>       rm -fr openssl-$(XEN_TARGET_ARCH)
> diff --git a/stubdom/configure b/stubdom/configure
> index 3668203db8..903414589b 100755
> --- a/stubdom/configure
> +++ b/stubdom/configure
> @@ -630,6 +630,7 @@ WGET
>  CMAKE
>  extfiles
>  debug
> +xenstorepvh
>  xenstore
>  grub
>  caml
> @@ -689,6 +690,7 @@ enable_c_stubdom
>  enable_caml_stubdom
>  enable_pv_grub
>  enable_xenstore_stubdom
> +enable_xenstore_pvh_stubdom
>  enable_vtpm_stubdom
>  enable_vtpmmgr_stubdom
>  enable_qemu_traditional
> @@ -1344,6 +1346,9 @@ Optional Features:
>    --disable-xenstore-stubdom
>                            Build and install xenstore-stubdom (default is
>                            ENABLED)
> +  --disable-xenstorepvh-stubdom
> +                          Build and install xenstorepvh-stubdom (default is
> +                          ENABLED)
>    --enable-vtpm-stubdom   Build and install vtpm-stubdom
>    --enable-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.
>  if test "${enable_vtpm_stubdom+set}" = set; then :
>    enableval=$enable_vtpm_stubdom;
> diff --git a/stubdom/configure.ac b/stubdom/configure.ac
> index a2d514c021..bd6f765929 100644
> --- a/stubdom/configure.ac
> +++ b/stubdom/configure.ac
> @@ -23,6 +23,7 @@ AX_STUBDOM_DEFAULT_DISABLE([c-stubdom], [c])
>  AX_STUBDOM_DEFAULT_DISABLE([caml-stubdom], [caml])
>  AX_STUBDOM_DEFAULT_ENABLE([pv-grub], [grub])
>  AX_STUBDOM_DEFAULT_ENABLE([xenstore-stubdom], [xenstore])
> +AX_STUBDOM_DEFAULT_ENABLE([xenstorepvh-stubdom], [xenstorepvh])
>  AX_STUBDOM_CONDITIONAL([vtpm-stubdom], [vtpm])
>  AX_STUBDOM_CONDITIONAL([vtpmmgr-stubdom], [vtpmmgr])
>  
> diff --git a/stubdom/xenstorepvh-minios.cfg b/stubdom/xenstorepvh-minios.cfg
> new file mode 100644
> index 0000000000..6af51f5753
> --- /dev/null
> +++ b/stubdom/xenstorepvh-minios.cfg
> @@ -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__
> -- 
> 2.26.2
> 



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.