From nobody Sun Feb 8 23:53:32 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail(p=quarantine dis=quarantine) header.from=suse.com Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1728141398361712.1009763559865; Sat, 5 Oct 2024 08:16:38 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.810960.1223671 (Exim 4.92) (envelope-from ) id 1sx6W1-0007Y5-VH; Sat, 05 Oct 2024 15:16:17 +0000 Received: by outflank-mailman (output) from mailman id 810960.1223671; Sat, 05 Oct 2024 15:16:17 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sx6W1-0007Xy-Ra; Sat, 05 Oct 2024 15:16:17 +0000 Received: by outflank-mailman (input) for mailman id 810960; Sat, 05 Oct 2024 15:16:16 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1sx6W0-0006TD-8a for xen-devel@lists.xenproject.org; Sat, 05 Oct 2024 15:16:16 +0000 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id c384f09e-832c-11ef-a0bb-8be0dac302b0; Sat, 05 Oct 2024 17:16:15 +0200 (CEST) Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 382CC1FDDA; Sat, 5 Oct 2024 15:16:15 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 0DAB313A8F; Sat, 5 Oct 2024 15:16:15 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id k/3hAT9YAWcBCQAAD6G6ig (envelope-from ); Sat, 05 Oct 2024 15:16:15 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: c384f09e-832c-11ef-a0bb-8be0dac302b0 Authentication-Results: smtp-out2.suse.de; none From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Samuel Thibault , Anthony PERARD Subject: [PATCH 4/4] stubdom: add fine grained library config items to Mini-OS configs Date: Sat, 5 Oct 2024 17:15:48 +0200 Message-ID: <20241005151548.29184-5-jgross@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241005151548.29184-1-jgross@suse.com> References: <20241005151548.29184-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spam-Level: X-Spamd-Result: default: False [-4.00 / 50.00]; REPLY(-4.00)[] X-Spam-Score: -4.00 X-Spam-Flag: NO X-Rspamd-Queue-Id: 382CC1FDDA X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Action: no action X-Rspamd-Server: rspamd2.dmz-prg2.suse.org X-ZM-MESSAGEID: 1728141399109116600 Content-Type: text/plain; charset="utf-8" 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 --- 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 =20 $(foreach lib,$(STUB_LIBS),$(eval $(call BUILD_lib,$(lib)))) =20 +define BUILD_config + cp $< $@ + for i in $(sort $(APP_LIBS) $(call xenlibs-dependencies,$(APP_LIBS))); do= \ + u=3D`echo $$i | tr a-z A-Z`; \ + echo "CONFIG_LIBXEN$$u=3Dy"; \ + done >> $@ +endef + xenstore/stamp: $(XEN_ROOT)/tools/xenstored/Makefile.common $(do_links) =20 @@ -373,8 +381,12 @@ $(TARGETS_MINIOS): mini-os-%: # ioemu ####### =20 -ioemu-minios-config.mk: $(CURDIR)/ioemu-minios.cfg - MINIOS_CONFIG=3D"$<" CONFIG_FILE=3D"$(CURDIR)/$@" $(MAKE) DESTDIR=3D -C $= (MINI_OS) config +ioemu-minios.out.cfg: APP_LIBS =3D 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=3D"$(CURDIR)/$<" CONFIG_FILE=3D"$(CURDIR)/$@" $(MAKE) DESTD= IR=3D -C $(MINI_OS) config =20 .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 =20 -grub-$(XEN_TARGET_ARCH)-minios-config.mk: $(CURDIR)/grub/minios.cfg - MINIOS_CONFIG=3D"$<" CONFIG_FILE=3D"$(CURDIR)/$@" $(MAKE) DESTDIR=3D -C $= (MINI_OS) config +grub/minios.out.cfg: APP_LIBS =3D 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=3D"$(CURDIR)/$<" CONFIG_FILE=3D"$(CURDIR)/$@" $(MAKE) DESTD= IR=3D -C $(MINI_OS) config =20 .PHONY: grub grub: cross-polarssl grub-upstream $(CROSS_ROOT) grub-$(XEN_TARGET_ARCH)-m= inios-config.mk @@ -447,8 +463,12 @@ grub: cross-polarssl grub-upstream $(CROSS_ROOT) grub-= $(XEN_TARGET_ARCH)-minios- # xenstore ########## =20 -xenstore-minios-config.mk: $(CURDIR)/xenstore-minios.cfg - MINIOS_CONFIG=3D"$<" CONFIG_FILE=3D"$(CURDIR)/$@" $(MAKE) DESTDIR=3D -C $= (MINI_OS) config +xenstore-minios.out.cfg: APP_LIBS =3D 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=3D"$(CURDIR)/$<" CONFIG_FILE=3D"$(CURDIR)/$@" $(MAKE) DESTD= IR=3D -C $(MINI_OS) config =20 .PHONY: xenstore xenstore: $(CROSS_ROOT) xenstore-minios-config.mk @@ -458,8 +478,12 @@ xenstore: $(CROSS_ROOT) xenstore-minios-config.mk # xenstorepvh ############# =20 -xenstorepvh-minios-config.mk: $(CURDIR)/xenstorepvh-minios.cfg - MINIOS_CONFIG=3D"$<" CONFIG_FILE=3D"$(CURDIR)/$@" $(MAKE) DESTDIR=3D -C $= (MINI_OS) config +xenstorepvh-minios.out.cfg: APP_LIBS =3D 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=3D"$(CURDIR)/$<" CONFIG_FILE=3D"$(CURDIR)/$@" $(MAKE) DESTD= IR=3D -C $(MINI_OS) config =20 .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=3D$(CURDIR)/ioemu/i386-stubdom/qemu.a $(CURDIR)/io= emu/i386-stubdom/libqemu.a $(CURDIR)/ioemu/libqemu_common.a ioemu-stubdom: mini-os-$(XEN_TARGET_ARCH)-ioemu lwip-$(XEN_TARGET_ARCH) li= bxenguest ioemu - DEF_CPPFLAGS=3D"$(TARGET_CPPFLAGS)" DEF_CFLAGS=3D"$(TARGET_CFLAGS)" DEF_L= DFLAGS=3D"$(TARGET_LDFLAGS)" MINIOS_CONFIG=3D"$(CURDIR)/ioemu-minios.cfg" $= (MAKE) DESTDIR=3D -C $(MINI_OS) OBJ_DIR=3D$(CURDIR)/$< LWIPDIR=3D$(CURDIR)/= lwip-$(XEN_TARGET_ARCH) APP_OBJS=3D"$(APP_OBJS)" + DEF_CPPFLAGS=3D"$(TARGET_CPPFLAGS)" DEF_CFLAGS=3D"$(TARGET_CFLAGS)" DEF_L= DFLAGS=3D"$(TARGET_LDFLAGS)" MINIOS_CONFIG=3D"$(CURDIR)/ioemu-minios.out.cf= g" $(MAKE) DESTDIR=3D -C $(MINI_OS) OBJ_DIR=3D$(CURDIR)/$< LWIPDIR=3D$(CURD= IR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS=3D"$(APP_OBJS)" =20 .PHONY: c-stubdom c-stubdom: mini-os-$(XEN_TARGET_ARCH)-c lwip-$(XEN_TARGET_ARCH) libxengues= t c @@ -488,7 +512,7 @@ vtpmmgr-stubdom: mini-os-$(XEN_TARGET_ARCH)-vtpmmgr vtp= mmgr =20 .PHONY: pv-grub pv-grub: mini-os-$(XEN_TARGET_ARCH)-grub libxenguest grub - DEF_CPPFLAGS=3D"$(TARGET_CPPFLAGS)" DEF_CFLAGS=3D"$(TARGET_CFLAGS)" DEF_L= DFLAGS=3D"$(TARGET_LDFLAGS)" MINIOS_CONFIG=3D"$(CURDIR)/grub/minios.cfg" $(= MAKE) DESTDIR=3D -C $(MINI_OS) OBJ_DIR=3D$(CURDIR)/$< APP_OBJS=3D$(CURDIR)/= grub-$(XEN_TARGET_ARCH)/main.a + DEF_CPPFLAGS=3D"$(TARGET_CPPFLAGS)" DEF_CFLAGS=3D"$(TARGET_CFLAGS)" DEF_L= DFLAGS=3D"$(TARGET_LDFLAGS)" MINIOS_CONFIG=3D"$(CURDIR)/grub/minios.out.cfg= " $(MAKE) DESTDIR=3D -C $(MINI_OS) OBJ_DIR=3D$(CURDIR)/$< APP_OBJS=3D$(CURD= IR)/grub-$(XEN_TARGET_ARCH)/main.a =20 .PHONY: pv-grub-if-enabled ifneq ($(filter grub,$(STUBDOM_TARGETS)),) @@ -499,11 +523,11 @@ endif =20 .PHONY: xenstore-stubdom xenstore-stubdom: mini-os-$(XEN_TARGET_ARCH)-xenstore libxenguest xenstore - DEF_CPPFLAGS=3D"$(TARGET_CPPFLAGS)" DEF_CFLAGS=3D"$(TARGET_CFLAGS)" DEF_L= DFLAGS=3D"$(TARGET_LDFLAGS)" MINIOS_CONFIG=3D"$(CURDIR)/xenstore-minios.cfg= " $(MAKE) DESTDIR=3D -C $(MINI_OS) OBJ_DIR=3D$(CURDIR)/$< APP_OBJS=3D$(CURD= IR)/xenstore/xenstored.a + DEF_CPPFLAGS=3D"$(TARGET_CPPFLAGS)" DEF_CFLAGS=3D"$(TARGET_CFLAGS)" DEF_L= DFLAGS=3D"$(TARGET_LDFLAGS)" MINIOS_CONFIG=3D"$(CURDIR)/xenstore-minios.out= .cfg" $(MAKE) DESTDIR=3D -C $(MINI_OS) OBJ_DIR=3D$(CURDIR)/$< APP_OBJS=3D$(= CURDIR)/xenstore/xenstored.a =20 .PHONY: xenstorepvh-stubdom xenstorepvh-stubdom: mini-os-$(XEN_TARGET_ARCH)-xenstorepvh libxenguest xe= nstorepvh - DEF_CPPFLAGS=3D"$(TARGET_CPPFLAGS)" DEF_CFLAGS=3D"$(TARGET_CFLAGS)" DEF_L= DFLAGS=3D"$(TARGET_LDFLAGS)" MINIOS_CONFIG=3D"$(CURDIR)/xenstorepvh-minios.= cfg" $(MAKE) DESTDIR=3D -C $(MINI_OS) OBJ_DIR=3D$(CURDIR)/$< APP_OBJS=3D$(C= URDIR)/xenstorepvh/xenstored.a + DEF_CPPFLAGS=3D"$(TARGET_CPPFLAGS)" DEF_CFLAGS=3D"$(TARGET_CFLAGS)" DEF_L= DFLAGS=3D"$(TARGET_LDFLAGS)" MINIOS_CONFIG=3D"$(CURDIR)/xenstorepvh-minios.= out.cfg" $(MAKE) DESTDIR=3D -C $(MINI_OS) OBJ_DIR=3D$(CURDIR)/$< APP_OBJS= =3D$(CURDIR)/xenstorepvh/xenstored.a =20 ######### # 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=3D -C ioemu clean -[ ! -d xenstore ] || $(MAKE) -f $(CURDIR)/xenlibs.mk -C xenstore clean --=20 2.43.0