* [PATCH 0/4] stubdom: prepare more fine grained Xen library usage
@ 2024-10-05 15:15 Juergen Gross
2024-10-05 15:15 ` [PATCH 1/4] stubdom: add local .gitignore file Juergen Gross
` (3 more replies)
0 siblings, 4 replies; 13+ messages in thread
From: Juergen Gross @ 2024-10-05 15:15 UTC (permalink / raw)
To: xen-devel
Cc: Juergen Gross, Andrew Cooper, Jan Beulich, Julien Grall,
Stefano Stabellini, Samuel Thibault, Daniel De Graaf, Quan Xu,
Anthony PERARD
Prepare the build system of stubdoms to allow a more fine grained
Xen library usage per stubdom (today its all or none).
This is a first step to set the stage for related Mini-OS changes
which are required to have stubdoms using e.g. only stable Xen
libraries.
Juergen Gross (4):
stubdom: add local .gitignore file
stubdom: explcitly add libc and lwip Mini-OS config options
build: move xenlibs-dependencies make definition to uselibs.mk
stubdom: add fine grained library config items to Mini-OS configs
.gitignore | 37 +------------------------
stubdom/.gitignore | 37 +++++++++++++++++++++++++
stubdom/Makefile | 49 +++++++++++++++++++++++++---------
stubdom/c/minios.cfg | 2 ++
stubdom/grub/minios.cfg | 3 ++-
stubdom/ioemu-minios.cfg | 2 ++
stubdom/vtpm/minios.cfg | 3 ++-
stubdom/vtpmmgr/minios.cfg | 3 ++-
stubdom/xenstore-minios.cfg | 1 +
stubdom/xenstorepvh-minios.cfg | 1 +
tools/Rules.mk | 7 -----
tools/libs/uselibs.mk | 7 +++++
12 files changed, 94 insertions(+), 58 deletions(-)
create mode 100644 stubdom/.gitignore
--
2.43.0
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/4] stubdom: add local .gitignore file
2024-10-05 15:15 [PATCH 0/4] stubdom: prepare more fine grained Xen library usage Juergen Gross
@ 2024-10-05 15:15 ` Juergen Gross
2024-10-07 12:47 ` Anthony PERARD
2024-10-05 15:15 ` [PATCH 2/4] stubdom: explcitly add libc and lwip Mini-OS config options Juergen Gross
` (2 subsequent siblings)
3 siblings, 1 reply; 13+ messages in thread
From: Juergen Gross @ 2024-10-05 15:15 UTC (permalink / raw)
To: xen-devel
Cc: Juergen Gross, Andrew Cooper, Jan Beulich, Julien Grall,
Stefano Stabellini, Samuel Thibault
Add a stubdom specfic .gitignore file.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
.gitignore | 37 +------------------------------------
stubdom/.gitignore | 36 ++++++++++++++++++++++++++++++++++++
2 files changed, 37 insertions(+), 36 deletions(-)
create mode 100644 stubdom/.gitignore
diff --git a/.gitignore b/.gitignore
index d88be80b28..5c13fb5878 100644
--- a/.gitignore
+++ b/.gitignore
@@ -39,7 +39,6 @@ cscope.po.out
.vscode
dist
-stubdom/*.tar.gz
autom4te.cache/
automation/build/yocto/*.dockerfile
@@ -66,41 +65,7 @@ docs/pdf/
docs/txt/
extras/
install/*
-stubdom/*-minios-config.mk
-stubdom/autom4te.cache/
-stubdom/binutils-*
-stubdom/config.cache
-stubdom/config.log
-stubdom/config.status
-stubdom/cross-root-*
-stubdom/gcc-*
-stubdom/gmp-*
-stubdom/grub-*
-stubdom/include
-stubdom/ioemu
-stubdom/ioemu/
-stubdom/libs-*
-stubdom/libxencall-*
-stubdom/libxenevtchn-*
-stubdom/libxenforeignmemory-*
-stubdom/libxengnttab-*
-stubdom/libxentoolcore-*
-stubdom/libxentoollog-*
-stubdom/lwip-*
-stubdom/lwip/
-stubdom/mini-os-*
-stubdom/mk-headers-*
-stubdom/newlib-1.*
-stubdom/newlib-x86*
-stubdom/pciutils-*
-stubdom/pkg-config/*
-stubdom/polarssl-*
-stubdom/stubdompath.sh
-stubdom/tpm_emulator-*
-stubdom/vtpm/vtpm_manager.h
-stubdom/xenstore
-stubdom/xenstorepvh
-stubdom/zlib-*
+
tools/*/build/lib*/*.py
tools/autom4te.cache/
tools/config.h
diff --git a/stubdom/.gitignore b/stubdom/.gitignore
new file mode 100644
index 0000000000..10e2547a22
--- /dev/null
+++ b/stubdom/.gitignore
@@ -0,0 +1,36 @@
+/*.tar.gz
+/*-minios-config.mk
+/autom4te.cache/
+/binutils-*
+/config.cache
+/config.log
+/config.status
+/cross-root-*
+/gcc-*
+/gmp-*
+/grub-*
+/include
+/ioemu
+/ioemu/
+/libs-*
+/libxencall-*
+/libxenevtchn-*
+/libxenforeignmemory-*
+/libxengnttab-*
+/libxentoolcore-*
+/libxentoollog-*
+/lwip-*
+/lwip/
+/mini-os-*
+/mk-headers-*
+/newlib-1.*
+/newlib-x86*
+/pciutils-*
+/pkg-config/*
+/polarssl-*
+/stubdompath.sh
+/tpm_emulator-*
+/vtpm/vtpm_manager.h
+/xenstore
+/xenstorepvh
+/zlib-*
--
2.43.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 2/4] stubdom: explcitly add libc and lwip Mini-OS config options
2024-10-05 15:15 [PATCH 0/4] stubdom: prepare more fine grained Xen library usage Juergen Gross
2024-10-05 15:15 ` [PATCH 1/4] stubdom: add local .gitignore file Juergen Gross
@ 2024-10-05 15:15 ` Juergen Gross
2024-10-07 21:50 ` Samuel Thibault
2024-10-08 9:27 ` Samuel Thibault
2024-10-05 15:15 ` [PATCH 3/4] build: move xenlibs-dependencies make definition to uselibs.mk Juergen Gross
2024-10-05 15:15 ` [PATCH 4/4] stubdom: add fine grained library config items to Mini-OS configs Juergen Gross
3 siblings, 2 replies; 13+ messages in thread
From: Juergen Gross @ 2024-10-05 15:15 UTC (permalink / raw)
To: xen-devel; +Cc: Juergen Gross, Samuel Thibault, Daniel De Graaf, Quan Xu
Today the Mini-OS build systems derives libc and lwip config options
from the stubdom and LWIPDIR make variables supplied by the Xen build
system.
In order to prepare those being explicit Mini-OS config options, add
them to the related stubdom Mini-OS config files.
While at it remove the CONFIG_START_NETWORK setting from config files
disabling lwip, as CONFIG_START_NETWORK requires lwip for becoming
effective.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
stubdom/c/minios.cfg | 2 ++
stubdom/grub/minios.cfg | 3 ++-
stubdom/ioemu-minios.cfg | 2 ++
stubdom/vtpm/minios.cfg | 3 ++-
stubdom/vtpmmgr/minios.cfg | 3 ++-
stubdom/xenstore-minios.cfg | 1 +
stubdom/xenstorepvh-minios.cfg | 1 +
7 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/stubdom/c/minios.cfg b/stubdom/c/minios.cfg
index e69de29bb2..56d65510cd 100644
--- a/stubdom/c/minios.cfg
+++ b/stubdom/c/minios.cfg
@@ -0,0 +1,2 @@
+CONFIG_LIBC=y
+CONFIG_LWIP=y
diff --git a/stubdom/grub/minios.cfg b/stubdom/grub/minios.cfg
index 8df49092cd..5145b357e0 100644
--- a/stubdom/grub/minios.cfg
+++ b/stubdom/grub/minios.cfg
@@ -1,3 +1,4 @@
-CONFIG_START_NETWORK=n
+CONFIG_LIBC=y
+CONFIG_LWIP=n
CONFIG_SPARSE_BSS=n
CONFIG_TPMFRONT=y
diff --git a/stubdom/ioemu-minios.cfg b/stubdom/ioemu-minios.cfg
index a65baa3765..6153ae05f8 100644
--- a/stubdom/ioemu-minios.cfg
+++ b/stubdom/ioemu-minios.cfg
@@ -1,3 +1,5 @@
+CONFIG_LIBC=y
+CONFIG_LWIP=y
CONFIG_START_NETWORK=n
CONFIG_QEMU_XS_ARGS=y
CONFIG_PCIFRONT=y
diff --git a/stubdom/vtpm/minios.cfg b/stubdom/vtpm/minios.cfg
index 31652ee4f2..22f66f1351 100644
--- a/stubdom/vtpm/minios.cfg
+++ b/stubdom/vtpm/minios.cfg
@@ -1,7 +1,8 @@
+CONFIG_LIBC=y
+CONFIG_LWIP=n
CONFIG_TPMFRONT=y
CONFIG_TPM_TIS=n
CONFIG_TPMBACK=y
-CONFIG_START_NETWORK=n
CONFIG_TEST=n
CONFIG_PCIFRONT=n
CONFIG_BLKFRONT=y
diff --git a/stubdom/vtpmmgr/minios.cfg b/stubdom/vtpmmgr/minios.cfg
index 3fb383d30f..a9f13a2fd2 100644
--- a/stubdom/vtpmmgr/minios.cfg
+++ b/stubdom/vtpmmgr/minios.cfg
@@ -1,7 +1,8 @@
+CONFIG_LIBC=y
+CONFIG_LWIP=n
CONFIG_TPMFRONT=y
CONFIG_TPM_TIS=y
CONFIG_TPMBACK=y
-CONFIG_START_NETWORK=n
CONFIG_TEST=n
CONFIG_PCIFRONT=n
CONFIG_BLKFRONT=y
diff --git a/stubdom/xenstore-minios.cfg b/stubdom/xenstore-minios.cfg
index 239da519b9..0252b59432 100644
--- a/stubdom/xenstore-minios.cfg
+++ b/stubdom/xenstore-minios.cfg
@@ -1,3 +1,4 @@
+CONFIG_LIBC=y
CONFIG_BLKFRONT=n
CONFIG_NETFRONT=n
CONFIG_FBFRONT=n
diff --git a/stubdom/xenstorepvh-minios.cfg b/stubdom/xenstorepvh-minios.cfg
index 752b90d7d3..62a228f33d 100644
--- a/stubdom/xenstorepvh-minios.cfg
+++ b/stubdom/xenstorepvh-minios.cfg
@@ -1,3 +1,4 @@
+CONFIG_LIBC=y
CONFIG_PARAVIRT=n
CONFIG_BLKFRONT=n
CONFIG_NETFRONT=n
--
2.43.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 3/4] build: move xenlibs-dependencies make definition to uselibs.mk
2024-10-05 15:15 [PATCH 0/4] stubdom: prepare more fine grained Xen library usage Juergen Gross
2024-10-05 15:15 ` [PATCH 1/4] stubdom: add local .gitignore file Juergen Gross
2024-10-05 15:15 ` [PATCH 2/4] stubdom: explcitly add libc and lwip Mini-OS config options Juergen Gross
@ 2024-10-05 15:15 ` Juergen Gross
2024-10-07 13:14 ` Anthony PERARD
2024-10-05 15:15 ` [PATCH 4/4] stubdom: add fine grained library config items to Mini-OS configs Juergen Gross
3 siblings, 1 reply; 13+ messages in thread
From: Juergen Gross @ 2024-10-05 15:15 UTC (permalink / raw)
To: xen-devel; +Cc: Juergen Gross, Anthony PERARD
In order to be able to use the xenlibs-dependencies macro from stubdom
build, move it to tools/libs/uselibs.mk, which is included from
current users and stubdom/Makefile.
No functional change intended.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
tools/Rules.mk | 7 -------
tools/libs/uselibs.mk | 7 +++++++
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/tools/Rules.mk b/tools/Rules.mk
index e2289c25b4..6bd636709f 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -81,13 +81,6 @@ endif
# include any CFLAGS or LDLIBS relating to libbar or libbaz unless
# they use those libraries directly (not via libfoo) too.
-# Give the list of Xen library that the libraries in $(1) are linked against,
-# directly or indirectly.
-define xenlibs-dependencies
- $(sort $(foreach lib,$(1), \
- $(USELIBS_$(lib)) $(call xenlibs-dependencies,$(USELIBS_$(lib)))))
-endef
-
# Flags for linking recursive dependencies of Xen libraries in $(1)
define xenlibs-rpath
$(addprefix -Wl$(comma)-rpath-link=$(XEN_ROOT)/tools/libs/,$(call xenlibs-dependencies,$(1)))
diff --git a/tools/libs/uselibs.mk b/tools/libs/uselibs.mk
index efd7a475ba..7aa8d83e06 100644
--- a/tools/libs/uselibs.mk
+++ b/tools/libs/uselibs.mk
@@ -31,3 +31,10 @@ USELIBS_light := toollog evtchn toolcore ctrl store hypfs guest
LIBS_LIBS += util
USELIBS_util := light
FILENAME_util := xlutil
+
+# Give the list of Xen library that the libraries in $(1) are linked against,
+# directly or indirectly.
+define xenlibs-dependencies
+ $(sort $(foreach lib,$(1), \
+ $(USELIBS_$(lib)) $(call xenlibs-dependencies,$(USELIBS_$(lib)))))
+endef
--
2.43.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 4/4] stubdom: add fine grained library config items to Mini-OS configs
2024-10-05 15:15 [PATCH 0/4] stubdom: prepare more fine grained Xen library usage Juergen Gross
` (2 preceding siblings ...)
2024-10-05 15:15 ` [PATCH 3/4] build: move xenlibs-dependencies make definition to uselibs.mk Juergen Gross
@ 2024-10-05 15:15 ` Juergen Gross
2024-10-07 14:15 ` Anthony PERARD
3 siblings, 1 reply; 13+ messages in thread
From: Juergen Gross @ 2024-10-05 15:15 UTC (permalink / raw)
To: xen-devel; +Cc: Juergen Gross, Samuel Thibault, Anthony PERARD
Today Mini-OS can only be configured to use all or none Xen library.
In order to prepare a more fine grained configuration scheme, add per
library config items to the Mini-OS config files.
As some libraries pull in others, the config files need to be
extended at build time to reflect those indirect library uses.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
stubdom/.gitignore | 1 +
stubdom/Makefile | 49 ++++++++++++++++++++++++++++++++++------------
2 files changed, 38 insertions(+), 12 deletions(-)
diff --git a/stubdom/.gitignore b/stubdom/.gitignore
index 10e2547a22..c6a88467ae 100644
--- a/stubdom/.gitignore
+++ b/stubdom/.gitignore
@@ -1,3 +1,4 @@
+*.out.cfg
/*.tar.gz
/*-minios-config.mk
/autom4te.cache/
diff --git a/stubdom/Makefile b/stubdom/Makefile
index 8c503c2bf8..3b501a0710 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -340,6 +340,14 @@ endef
$(foreach lib,$(STUB_LIBS),$(eval $(call BUILD_lib,$(lib))))
+define BUILD_config
+ cp $< $@
+ for i in $(sort $(APP_LIBS) $(call xenlibs-dependencies,$(APP_LIBS))); do \
+ u=`echo $$i | tr a-z A-Z`; \
+ echo "CONFIG_LIBXEN$$u=y"; \
+ done >> $@
+endef
+
xenstore/stamp: $(XEN_ROOT)/tools/xenstored/Makefile.common
$(do_links)
@@ -373,8 +381,12 @@ $(TARGETS_MINIOS): mini-os-%:
# ioemu
#######
-ioemu-minios-config.mk: $(CURDIR)/ioemu-minios.cfg
- MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
+ioemu-minios.out.cfg: APP_LIBS = evtchn gnttab ctrl guest
+ioemu-minios.out.cfg: $(CURDIR)/ioemu-minios.cfg Makefile
+ $(BUILD_config)
+
+ioemu-minios-config.mk: ioemu-minios.out.cfg
+ MINIOS_CONFIG="$(CURDIR)/$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
.PHONY: ioemu
ioemu: cross-zlib cross-libpci libxenguest ioemu-minios-config.mk
@@ -435,8 +447,12 @@ grub-upstream: grub-$(GRUB_VERSION).tar.gz
patch -d $@ -p1 < $$i || exit 1; \
done
-grub-$(XEN_TARGET_ARCH)-minios-config.mk: $(CURDIR)/grub/minios.cfg
- MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
+grub/minios.out.cfg: APP_LIBS = guest ctrl toollog
+grub/minios.out.cfg: $(CURDIR)/grub/minios.cfg Makefile
+ $(BUILD_config)
+
+grub-$(XEN_TARGET_ARCH)-minios-config.mk: grub/minios.out.cfg
+ MINIOS_CONFIG="$(CURDIR)/$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
.PHONY: grub
grub: cross-polarssl grub-upstream $(CROSS_ROOT) grub-$(XEN_TARGET_ARCH)-minios-config.mk
@@ -447,8 +463,12 @@ grub: cross-polarssl grub-upstream $(CROSS_ROOT) grub-$(XEN_TARGET_ARCH)-minios-
# xenstore
##########
-xenstore-minios-config.mk: $(CURDIR)/xenstore-minios.cfg
- MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
+xenstore-minios.out.cfg: APP_LIBS = gnttab evtchn toollog ctrl
+xenstore-minios.out.cfg: $(CURDIR)/xenstore-minios.cfg Makefile
+ $(BUILD_config)
+
+xenstore-minios-config.mk: xenstore-minios.out.cfg
+ MINIOS_CONFIG="$(CURDIR)/$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
.PHONY: xenstore
xenstore: $(CROSS_ROOT) xenstore-minios-config.mk
@@ -458,8 +478,12 @@ xenstore: $(CROSS_ROOT) xenstore-minios-config.mk
# xenstorepvh
#############
-xenstorepvh-minios-config.mk: $(CURDIR)/xenstorepvh-minios.cfg
- MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
+xenstorepvh-minios.out.cfg: APP_LIBS = gnttab evtchn toollog ctrl
+xenstorepvh-minios.out.cfg: $(CURDIR)/xenstorepvh-minios.cfg Makefile
+ $(BUILD_config)
+
+xenstorepvh-minios-config.mk: xenstorepvh-minios.out.cfg
+ MINIOS_CONFIG="$(CURDIR)/$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
.PHONY: xenstorepvh
xenstorepvh: $(CROSS_ROOT) xenstorepvh-minios-config.mk
@@ -472,7 +496,7 @@ xenstorepvh: $(CROSS_ROOT) xenstorepvh-minios-config.mk
.PHONY: ioemu-stubdom
ioemu-stubdom: APP_OBJS=$(CURDIR)/ioemu/i386-stubdom/qemu.a $(CURDIR)/ioemu/i386-stubdom/libqemu.a $(CURDIR)/ioemu/libqemu_common.a
ioemu-stubdom: mini-os-$(XEN_TARGET_ARCH)-ioemu lwip-$(XEN_TARGET_ARCH) libxenguest ioemu
- DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/ioemu-minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS="$(APP_OBJS)"
+ DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/ioemu-minios.out.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS="$(APP_OBJS)"
.PHONY: c-stubdom
c-stubdom: mini-os-$(XEN_TARGET_ARCH)-c lwip-$(XEN_TARGET_ARCH) libxenguest c
@@ -488,7 +512,7 @@ vtpmmgr-stubdom: mini-os-$(XEN_TARGET_ARCH)-vtpmmgr vtpmmgr
.PHONY: pv-grub
pv-grub: mini-os-$(XEN_TARGET_ARCH)-grub libxenguest grub
- DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/grub/minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< APP_OBJS=$(CURDIR)/grub-$(XEN_TARGET_ARCH)/main.a
+ DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/grub/minios.out.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< APP_OBJS=$(CURDIR)/grub-$(XEN_TARGET_ARCH)/main.a
.PHONY: pv-grub-if-enabled
ifneq ($(filter grub,$(STUBDOM_TARGETS)),)
@@ -499,11 +523,11 @@ endif
.PHONY: xenstore-stubdom
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.out.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
+ DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/xenstorepvh-minios.out.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< APP_OBJS=$(CURDIR)/xenstorepvh/xenstored.a
#########
# install
@@ -605,6 +629,7 @@ clean:
rm -fr grub-$(XEN_TARGET_ARCH)
rm -f $(STUBDOMPATH)
rm -f *-minios-config.mk
+ rm -f *.out.cfg
rm -fr pkg-config
-[ ! -d ioemu ] || $(MAKE) DESTDIR= -C ioemu clean
-[ ! -d xenstore ] || $(MAKE) -f $(CURDIR)/xenlibs.mk -C xenstore clean
--
2.43.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 1/4] stubdom: add local .gitignore file
2024-10-05 15:15 ` [PATCH 1/4] stubdom: add local .gitignore file Juergen Gross
@ 2024-10-07 12:47 ` Anthony PERARD
0 siblings, 0 replies; 13+ messages in thread
From: Anthony PERARD @ 2024-10-07 12:47 UTC (permalink / raw)
To: Juergen Gross
Cc: xen-devel, Andrew Cooper, Jan Beulich, Julien Grall,
Stefano Stabellini, Samuel Thibault
On Sat, Oct 05, 2024 at 05:15:45PM +0200, Juergen Gross wrote:
> Add a stubdom specfic .gitignore file.
More like "Move stubdom specific ignored file into it." because there's
no changes to the list of ignored paths, and we don't usually need to
repeate the title of the commit in its description in the Xen repo.
> Signed-off-by: Juergen Gross <jgross@suse.com>
In any case all looks fine:
Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
Thanks,
--
Anthony Perard | Vates XCP-ng Developer
XCP-ng & Xen Orchestra - Vates solutions
web: https://vates.tech
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 3/4] build: move xenlibs-dependencies make definition to uselibs.mk
2024-10-05 15:15 ` [PATCH 3/4] build: move xenlibs-dependencies make definition to uselibs.mk Juergen Gross
@ 2024-10-07 13:14 ` Anthony PERARD
0 siblings, 0 replies; 13+ messages in thread
From: Anthony PERARD @ 2024-10-07 13:14 UTC (permalink / raw)
To: Juergen Gross; +Cc: xen-devel
On Sat, Oct 05, 2024 at 05:15:47PM +0200, Juergen Gross wrote:
> In order to be able to use the xenlibs-dependencies macro from stubdom
> build, move it to tools/libs/uselibs.mk, which is included from
> current users and stubdom/Makefile.
>
> No functional change intended.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Anthony PERARD <anthony.perard@vates.tech>
Thanks,
--
Anthony Perard | Vates XCP-ng Developer
XCP-ng & Xen Orchestra - Vates solutions
web: https://vates.tech
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 4/4] stubdom: add fine grained library config items to Mini-OS configs
2024-10-05 15:15 ` [PATCH 4/4] stubdom: add fine grained library config items to Mini-OS configs Juergen Gross
@ 2024-10-07 14:15 ` Anthony PERARD
2024-10-07 15:08 ` Jürgen Groß
0 siblings, 1 reply; 13+ messages in thread
From: Anthony PERARD @ 2024-10-07 14:15 UTC (permalink / raw)
To: Juergen Gross; +Cc: xen-devel, Samuel Thibault
On Sat, Oct 05, 2024 at 05:15:48PM +0200, Juergen Gross wrote:
> diff --git a/stubdom/Makefile b/stubdom/Makefile
> index 8c503c2bf8..3b501a0710 100644
> --- a/stubdom/Makefile
> +++ b/stubdom/Makefile
> @@ -340,6 +340,14 @@ endef
>
> $(foreach lib,$(STUB_LIBS),$(eval $(call BUILD_lib,$(lib))))
>
> +define BUILD_config
> + cp $< $@
> + for i in $(sort $(APP_LIBS) $(call xenlibs-dependencies,$(APP_LIBS))); do \
> + u=`echo $$i | tr a-z A-Z`; \
> + echo "CONFIG_LIBXEN$$u=y"; \
> + done >> $@
> +endef
I don't think I like having a recipe hidden like that in a variable,
maybe if it was a full rule it would be a bit less annoying to me. But
how about something slightly different:
First, the name, "GEN_config" would be a bit better, then we could have
it only do the output and not writing any file:
define GEN_config
(cat '$<' && \
for i in $(sort $(APP_LIBS) $(call xenlibs-dependencies,$(APP_LIBS))); do \
u=`echo $$i | tr a-z A-Z`; \
echo "CONFIG_LIBXEN$$u=y"; \
done)
endef
The this can be used in rules as:
$(GEN_config) > $@
Would that be ok?
(It might be better to have the macro not depends on the environment
have take parameter explicitly which could be used as $(call
GEN_config,$<,evtchn gnttab) > $@ or take a variable if it's useful
elsewhere, but I'm already fine if $@ is taken out of the macro.)
> +
> xenstore/stamp: $(XEN_ROOT)/tools/xenstored/Makefile.common
> $(do_links)
>
> @@ -373,8 +381,12 @@ $(TARGETS_MINIOS): mini-os-%:
> # ioemu
> #######
>
> -ioemu-minios-config.mk: $(CURDIR)/ioemu-minios.cfg
> - MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
> +ioemu-minios.out.cfg: APP_LIBS = evtchn gnttab ctrl guest
> +ioemu-minios.out.cfg: $(CURDIR)/ioemu-minios.cfg Makefile
Could you change the suffix to ".gen.cfg"? ".out.cfg" is a bit generic
while "generated" is more common for the kind of file that are
automatically generated by the build system for it's own use.
BTW, in the first prerequisite, $(CURDIR) isn't necessary anymore, it
was only to be used in "MINIOS_CONFIG" just below.
> + $(BUILD_config)
> +
> +ioemu-minios-config.mk: ioemu-minios.out.cfg
> + MINIOS_CONFIG="$(CURDIR)/$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
Thanks,
--
Anthony Perard | Vates XCP-ng Developer
XCP-ng & Xen Orchestra - Vates solutions
web: https://vates.tech
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 4/4] stubdom: add fine grained library config items to Mini-OS configs
2024-10-07 14:15 ` Anthony PERARD
@ 2024-10-07 15:08 ` Jürgen Groß
0 siblings, 0 replies; 13+ messages in thread
From: Jürgen Groß @ 2024-10-07 15:08 UTC (permalink / raw)
To: Anthony PERARD; +Cc: xen-devel, Samuel Thibault
[-- Attachment #1.1.1: Type: text/plain, Size: 2389 bytes --]
On 07.10.24 16:15, Anthony PERARD wrote:
> On Sat, Oct 05, 2024 at 05:15:48PM +0200, Juergen Gross wrote:
>> diff --git a/stubdom/Makefile b/stubdom/Makefile
>> index 8c503c2bf8..3b501a0710 100644
>> --- a/stubdom/Makefile
>> +++ b/stubdom/Makefile
>> @@ -340,6 +340,14 @@ endef
>>
>> $(foreach lib,$(STUB_LIBS),$(eval $(call BUILD_lib,$(lib))))
>>
>> +define BUILD_config
>> + cp $< $@
>> + for i in $(sort $(APP_LIBS) $(call xenlibs-dependencies,$(APP_LIBS))); do \
>> + u=`echo $$i | tr a-z A-Z`; \
>> + echo "CONFIG_LIBXEN$$u=y"; \
>> + done >> $@
>> +endef
>
> I don't think I like having a recipe hidden like that in a variable,
> maybe if it was a full rule it would be a bit less annoying to me. But
> how about something slightly different:
>
> First, the name, "GEN_config" would be a bit better, then we could have
> it only do the output and not writing any file:
>
> define GEN_config
> (cat '$<' && \
> for i in $(sort $(APP_LIBS) $(call xenlibs-dependencies,$(APP_LIBS))); do \
> u=`echo $$i | tr a-z A-Z`; \
> echo "CONFIG_LIBXEN$$u=y"; \
> done)
> endef
>
> The this can be used in rules as:
> $(GEN_config) > $@
>
> Would that be ok?
Absolutely fine with me.
> (It might be better to have the macro not depends on the environment
> have take parameter explicitly which could be used as $(call
> GEN_config,$<,evtchn gnttab) > $@ or take a variable if it's useful
> elsewhere, but I'm already fine if $@ is taken out of the macro.)
>
>> +
>> xenstore/stamp: $(XEN_ROOT)/tools/xenstored/Makefile.common
>> $(do_links)
>>
>> @@ -373,8 +381,12 @@ $(TARGETS_MINIOS): mini-os-%:
>> # ioemu
>> #######
>>
>> -ioemu-minios-config.mk: $(CURDIR)/ioemu-minios.cfg
>> - MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
>> +ioemu-minios.out.cfg: APP_LIBS = evtchn gnttab ctrl guest
>> +ioemu-minios.out.cfg: $(CURDIR)/ioemu-minios.cfg Makefile
>
> Could you change the suffix to ".gen.cfg"? ".out.cfg" is a bit generic
> while "generated" is more common for the kind of file that are
> automatically generated by the build system for it's own use.
Okay.
>
> BTW, in the first prerequisite, $(CURDIR) isn't necessary anymore, it
> was only to be used in "MINIOS_CONFIG" just below.
Ah, right. Will remove it.
Juergen
[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 3743 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/4] stubdom: explcitly add libc and lwip Mini-OS config options
2024-10-05 15:15 ` [PATCH 2/4] stubdom: explcitly add libc and lwip Mini-OS config options Juergen Gross
@ 2024-10-07 21:50 ` Samuel Thibault
2024-10-08 9:18 ` Jürgen Groß
2024-10-08 9:27 ` Samuel Thibault
1 sibling, 1 reply; 13+ messages in thread
From: Samuel Thibault @ 2024-10-07 21:50 UTC (permalink / raw)
To: Juergen Gross; +Cc: xen-devel, Daniel De Graaf, Quan Xu
> diff --git a/stubdom/grub/minios.cfg b/stubdom/grub/minios.cfg
> index 8df49092cd..5145b357e0 100644
> --- a/stubdom/grub/minios.cfg
> +++ b/stubdom/grub/minios.cfg
> @@ -1,3 +1,4 @@
> -CONFIG_START_NETWORK=n
> +CONFIG_LIBC=y
> +CONFIG_LWIP=n
> CONFIG_SPARSE_BSS=n
> CONFIG_TPMFRONT=y
Grub does use LWIP, and just does not want mini-os to start network
automatically, grub does so by itself from minios_probe.
> diff --git a/stubdom/vtpm/minios.cfg b/stubdom/vtpm/minios.cfg
> index 31652ee4f2..22f66f1351 100644
> --- a/stubdom/vtpm/minios.cfg
> +++ b/stubdom/vtpm/minios.cfg
> @@ -1,7 +1,8 @@
> +CONFIG_LIBC=y
> +CONFIG_LWIP=n
> CONFIG_TPMFRONT=y
> CONFIG_TPM_TIS=n
> CONFIG_TPMBACK=y
> -CONFIG_START_NETWORK=n
> CONFIG_TEST=n
> CONFIG_PCIFRONT=n
> CONFIG_BLKFRONT=y
> diff --git a/stubdom/vtpmmgr/minios.cfg b/stubdom/vtpmmgr/minios.cfg
> index 3fb383d30f..a9f13a2fd2 100644
> --- a/stubdom/vtpmmgr/minios.cfg
> +++ b/stubdom/vtpmmgr/minios.cfg
> @@ -1,7 +1,8 @@
> +CONFIG_LIBC=y
> +CONFIG_LWIP=n
> CONFIG_TPMFRONT=y
> CONFIG_TPM_TIS=y
> CONFIG_TPMBACK=y
> -CONFIG_START_NETWORK=n
> CONFIG_TEST=n
> CONFIG_PCIFRONT=n
> CONFIG_BLKFRONT=y
I guess vtpm indeed don't need lwip.
Samuel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/4] stubdom: explcitly add libc and lwip Mini-OS config options
2024-10-07 21:50 ` Samuel Thibault
@ 2024-10-08 9:18 ` Jürgen Groß
2024-10-08 9:22 ` Samuel Thibault
0 siblings, 1 reply; 13+ messages in thread
From: Jürgen Groß @ 2024-10-08 9:18 UTC (permalink / raw)
To: Samuel Thibault, xen-devel, Daniel De Graaf, Quan Xu
[-- Attachment #1.1.1: Type: text/plain, Size: 591 bytes --]
On 07.10.24 23:50, Samuel Thibault wrote:
>> diff --git a/stubdom/grub/minios.cfg b/stubdom/grub/minios.cfg
>> index 8df49092cd..5145b357e0 100644
>> --- a/stubdom/grub/minios.cfg
>> +++ b/stubdom/grub/minios.cfg
>> @@ -1,3 +1,4 @@
>> -CONFIG_START_NETWORK=n
>> +CONFIG_LIBC=y
>> +CONFIG_LWIP=n
>> CONFIG_SPARSE_BSS=n
>> CONFIG_TPMFRONT=y
>
> Grub does use LWIP, and just does not want mini-os to start network
> automatically, grub does so by itself from minios_probe.
Are you sure? LWIPDIR isn't being set for building grub-stubdom. How
does this work?
Juergen
[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 3743 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/4] stubdom: explcitly add libc and lwip Mini-OS config options
2024-10-08 9:18 ` Jürgen Groß
@ 2024-10-08 9:22 ` Samuel Thibault
0 siblings, 0 replies; 13+ messages in thread
From: Samuel Thibault @ 2024-10-08 9:22 UTC (permalink / raw)
To: Jürgen Groß; +Cc: xen-devel, Daniel De Graaf, Quan Xu
Jürgen Groß, le mar. 08 oct. 2024 11:18:26 +0200, a ecrit:
> On 07.10.24 23:50, Samuel Thibault wrote:
> > > diff --git a/stubdom/grub/minios.cfg b/stubdom/grub/minios.cfg
> > > index 8df49092cd..5145b357e0 100644
> > > --- a/stubdom/grub/minios.cfg
> > > +++ b/stubdom/grub/minios.cfg
> > > @@ -1,3 +1,4 @@
> > > -CONFIG_START_NETWORK=n
> > > +CONFIG_LIBC=y
> > > +CONFIG_LWIP=n
> > > CONFIG_SPARSE_BSS=n
> > > CONFIG_TPMFRONT=y
> >
> > Grub does use LWIP, and just does not want mini-os to start network
> > automatically, grub does so by itself from minios_probe.
>
> Are you sure? LWIPDIR isn't being set for building grub-stubdom. How
> does this work?
Ah, sorry, grub implements tcp/ip itself indeed, so it's only netfront
that stubdom-grub needs.
Samuel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/4] stubdom: explcitly add libc and lwip Mini-OS config options
2024-10-05 15:15 ` [PATCH 2/4] stubdom: explcitly add libc and lwip Mini-OS config options Juergen Gross
2024-10-07 21:50 ` Samuel Thibault
@ 2024-10-08 9:27 ` Samuel Thibault
1 sibling, 0 replies; 13+ messages in thread
From: Samuel Thibault @ 2024-10-08 9:27 UTC (permalink / raw)
To: Juergen Gross; +Cc: xen-devel, Daniel De Graaf, Quan Xu
Juergen Gross, le sam. 05 oct. 2024 17:15:46 +0200, a ecrit:
> Today the Mini-OS build systems derives libc and lwip config options
> from the stubdom and LWIPDIR make variables supplied by the Xen build
> system.
>
> In order to prepare those being explicit Mini-OS config options, add
> them to the related stubdom Mini-OS config files.
>
> While at it remove the CONFIG_START_NETWORK setting from config files
> disabling lwip, as CONFIG_START_NETWORK requires lwip for becoming
> effective.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
> ---
> stubdom/c/minios.cfg | 2 ++
> stubdom/grub/minios.cfg | 3 ++-
> stubdom/ioemu-minios.cfg | 2 ++
> stubdom/vtpm/minios.cfg | 3 ++-
> stubdom/vtpmmgr/minios.cfg | 3 ++-
> stubdom/xenstore-minios.cfg | 1 +
> stubdom/xenstorepvh-minios.cfg | 1 +
> 7 files changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/stubdom/c/minios.cfg b/stubdom/c/minios.cfg
> index e69de29bb2..56d65510cd 100644
> --- a/stubdom/c/minios.cfg
> +++ b/stubdom/c/minios.cfg
> @@ -0,0 +1,2 @@
> +CONFIG_LIBC=y
> +CONFIG_LWIP=y
> diff --git a/stubdom/grub/minios.cfg b/stubdom/grub/minios.cfg
> index 8df49092cd..5145b357e0 100644
> --- a/stubdom/grub/minios.cfg
> +++ b/stubdom/grub/minios.cfg
> @@ -1,3 +1,4 @@
> -CONFIG_START_NETWORK=n
> +CONFIG_LIBC=y
> +CONFIG_LWIP=n
> CONFIG_SPARSE_BSS=n
> CONFIG_TPMFRONT=y
> diff --git a/stubdom/ioemu-minios.cfg b/stubdom/ioemu-minios.cfg
> index a65baa3765..6153ae05f8 100644
> --- a/stubdom/ioemu-minios.cfg
> +++ b/stubdom/ioemu-minios.cfg
> @@ -1,3 +1,5 @@
> +CONFIG_LIBC=y
> +CONFIG_LWIP=y
> CONFIG_START_NETWORK=n
> CONFIG_QEMU_XS_ARGS=y
> CONFIG_PCIFRONT=y
> diff --git a/stubdom/vtpm/minios.cfg b/stubdom/vtpm/minios.cfg
> index 31652ee4f2..22f66f1351 100644
> --- a/stubdom/vtpm/minios.cfg
> +++ b/stubdom/vtpm/minios.cfg
> @@ -1,7 +1,8 @@
> +CONFIG_LIBC=y
> +CONFIG_LWIP=n
> CONFIG_TPMFRONT=y
> CONFIG_TPM_TIS=n
> CONFIG_TPMBACK=y
> -CONFIG_START_NETWORK=n
> CONFIG_TEST=n
> CONFIG_PCIFRONT=n
> CONFIG_BLKFRONT=y
> diff --git a/stubdom/vtpmmgr/minios.cfg b/stubdom/vtpmmgr/minios.cfg
> index 3fb383d30f..a9f13a2fd2 100644
> --- a/stubdom/vtpmmgr/minios.cfg
> +++ b/stubdom/vtpmmgr/minios.cfg
> @@ -1,7 +1,8 @@
> +CONFIG_LIBC=y
> +CONFIG_LWIP=n
> CONFIG_TPMFRONT=y
> CONFIG_TPM_TIS=y
> CONFIG_TPMBACK=y
> -CONFIG_START_NETWORK=n
> CONFIG_TEST=n
> CONFIG_PCIFRONT=n
> CONFIG_BLKFRONT=y
> diff --git a/stubdom/xenstore-minios.cfg b/stubdom/xenstore-minios.cfg
> index 239da519b9..0252b59432 100644
> --- a/stubdom/xenstore-minios.cfg
> +++ b/stubdom/xenstore-minios.cfg
> @@ -1,3 +1,4 @@
> +CONFIG_LIBC=y
> CONFIG_BLKFRONT=n
> CONFIG_NETFRONT=n
> CONFIG_FBFRONT=n
> diff --git a/stubdom/xenstorepvh-minios.cfg b/stubdom/xenstorepvh-minios.cfg
> index 752b90d7d3..62a228f33d 100644
> --- a/stubdom/xenstorepvh-minios.cfg
> +++ b/stubdom/xenstorepvh-minios.cfg
> @@ -1,3 +1,4 @@
> +CONFIG_LIBC=y
> CONFIG_PARAVIRT=n
> CONFIG_BLKFRONT=n
> CONFIG_NETFRONT=n
> --
> 2.43.0
>
--
Samuel
Pour un père, autant mourir que de faire plein de calculs et pas s'occuper
de son fils
-+- y sur #ens-mim - sombres histoires de zombies -+-
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2024-10-08 9:27 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-05 15:15 [PATCH 0/4] stubdom: prepare more fine grained Xen library usage Juergen Gross
2024-10-05 15:15 ` [PATCH 1/4] stubdom: add local .gitignore file Juergen Gross
2024-10-07 12:47 ` Anthony PERARD
2024-10-05 15:15 ` [PATCH 2/4] stubdom: explcitly add libc and lwip Mini-OS config options Juergen Gross
2024-10-07 21:50 ` Samuel Thibault
2024-10-08 9:18 ` Jürgen Groß
2024-10-08 9:22 ` Samuel Thibault
2024-10-08 9:27 ` Samuel Thibault
2024-10-05 15:15 ` [PATCH 3/4] build: move xenlibs-dependencies make definition to uselibs.mk Juergen Gross
2024-10-07 13:14 ` Anthony PERARD
2024-10-05 15:15 ` [PATCH 4/4] stubdom: add fine grained library config items to Mini-OS configs Juergen Gross
2024-10-07 14:15 ` Anthony PERARD
2024-10-07 15:08 ` Jürgen Groß
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.