From patchwork Fri Apr 30 14:43:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 12233579 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2E784C433B4 for ; Fri, 30 Apr 2021 14:44:15 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 98244613EE for ; Fri, 30 Apr 2021 14:44:14 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 98244613EE Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.120573.228018 (Exim 4.92) (envelope-from ) id 1lcUN9-0002ZK-Ej; Fri, 30 Apr 2021 14:44:03 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 120573.228018; Fri, 30 Apr 2021 14:44:03 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lcUN9-0002ZD-BU; Fri, 30 Apr 2021 14:44:03 +0000 Received: by outflank-mailman (input) for mailman id 120573; Fri, 30 Apr 2021 14:44:02 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lcUN8-0002Z8-4E for xen-devel@lists.xenproject.org; Fri, 30 Apr 2021 14:44:02 +0000 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id c6a8a42e-123d-443f-948a-289655a324d8; Fri, 30 Apr 2021 14:44:00 +0000 (UTC) Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 1EC00B038; Fri, 30 Apr 2021 14:44:00 +0000 (UTC) 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: c6a8a42e-123d-443f-948a-289655a324d8 X-Virus-Scanned: by amavisd-new at test-mx.suse.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1619793840; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=6oCDlYqqGUYNrVBiSX4LnnYH4/TGpQyc8Ua94Bo9cz4=; b=kh52rfQ1VbsqkBNHFH7MztwWog9cjV53kxOQg3f46X35nGXMQG7qgpiUB6nqUaQe1hv7/S Zcu36SmSsRzZra521hbcF9CLbPdkH9YmbQxWcW1o4/OCVfpbAk1IZ+l3EZvOPkhC73XG8+ ltKwjMSAesnXsZCduLOdRo7fNlaacio= Subject: [PATCH 1/3] firmware/shim: update linkfarm exclusions From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?utf-8?q?Roger_Pau_Monn=C3=A9?= , Ian Jackson References: <19695ffc-34d8-b682-b092-668f872d4e57@suse.com> Message-ID: Date: Fri, 30 Apr 2021 16:43:59 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.10.0 MIME-Version: 1.0 In-Reply-To: <19695ffc-34d8-b682-b092-668f872d4e57@suse.com> Content-Language: en-US Some intermediate files weren't considered at all at the time. Also after its introduction, various changes to the build environment have rendered the exclusion sets stale. For example, we now have some .*.cmd files in the build tree. Combine all respective patterns into a single .* one, seeing that we don't have any actual source files matching this pattern in the tree. Add other patterns as well as individual files. Also introduce LINK_EXCLUDE_PATHS to deal with entire directories full of generated headers as well as a few specific files the names of which are too generic to list under LINK_EXCLUDES. Signed-off-by: Jan Beulich Acked-by: Roger Pau Monné --- a/tools/firmware/xen-dir/Makefile +++ b/tools/firmware/xen-dir/Makefile @@ -15,9 +15,19 @@ DEP_DIRS=$(foreach i, $(LINK_DIRS), $(XE DEP_FILES=$(foreach i, $(LINK_FILES), $(XEN_ROOT)/$(i)) # Exclude some intermediate files and final build products -LINK_EXCLUDES := '*.[isoa]' '.*.d' '.*.d2' '.config' -LINK_EXCLUDES += '*.map' 'xen' 'xen.gz' 'xen.efi' 'xen-syms' -LINK_EXCLUDES += '.*.tmp' +LINK_EXCLUDES := '*.[isoa]' '*.bin' '*.chk' '*.lnk' '*.gz' '.*' +LINK_EXCLUDES += lexer.lex.? parser.tab.? conf +LINK_EXCLUDES += asm-offsets.h asm-macros.h compile.h '*-autogen.h' +LINK_EXCLUDES += mkelf32 mkreloc symbols config_data.S xen.lds efi.lds +LINK_EXCLUDES += '*.map' xen xen.gz xen.efi xen-syms check.efi + +# To exclude full subtrees or individual files of not sufficiently specific +# names, regular expressions are used: +LINK_EXCLUDE_PATHS := xen/include/compat/.* +LINK_EXCLUDE_PATHS += xen/include/config/.* +LINK_EXCLUDE_PATHS += xen/include/generated/.* +LINK_EXCLUDE_PATHS += xen/arch/x86/boot/reloc[.]S +LINK_EXCLUDE_PATHS += xen/arch/x86/boot/cmdline[.]S # This is all a giant mess and doesn't really work. # @@ -32,9 +42,10 @@ LINK_EXCLUDES += '.*.tmp' # support easy development of the shim, but has a side effect of clobbering # the already-built shim. # -# $(LINK_EXCLUDES) should be set such that a parallel build of shim and xen/ -# doesn't cause a subsequent `make install` to decide to regenerate the -# linkfarm. This means that all final build artefacts must be excluded. +# $(LINK_EXCLUDES) and $(LINK_EXCLUDE_DIRS) should be set such that a parallel +# build of shim and xen/ doesn't cause a subsequent `make install` to decide to +# to regenerate the linkfarm. This means that all intermediate and final build +# artefacts must be excluded. linkfarm.stamp: $(DEP_DIRS) $(DEP_FILES) FORCE mkdir -p $(D) rm -f linkfarm.stamp.tmp @@ -46,7 +57,8 @@ linkfarm.stamp: $(DEP_DIRS) $(DEP_FILES) sed 's,^$(XEN_ROOT)/$(d)/,,g' | xargs mkdir -p .);) \ $(foreach d, $(LINK_DIRS), \ (cd $(XEN_ROOT); \ - find $(d) ! -type l -type f $(addprefix ! -name ,$(LINK_EXCLUDES))) \ + find $(d) ! -type l -type f $(addprefix ! -name ,$(LINK_EXCLUDES)) \ + | grep -v $(patsubst %,-e '^%$$',$(LINK_EXCLUDE_PATHS))) \ >> linkfarm.stamp.tmp ; ) \ $(foreach f, $(LINK_FILES), \ echo $(f) >> linkfarm.stamp.tmp ;) From patchwork Fri Apr 30 14:44:21 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 12233581 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3583DC433ED for ; Fri, 30 Apr 2021 14:44:35 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D37A7613EE for ; Fri, 30 Apr 2021 14:44:32 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D37A7613EE Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.120575.228030 (Exim 4.92) (envelope-from ) id 1lcUNV-0002fi-N5; Fri, 30 Apr 2021 14:44:25 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 120575.228030; Fri, 30 Apr 2021 14:44:25 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lcUNV-0002fb-Jz; Fri, 30 Apr 2021 14:44:25 +0000 Received: by outflank-mailman (input) for mailman id 120575; Fri, 30 Apr 2021 14:44:23 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lcUNT-0002fK-M6 for xen-devel@lists.xenproject.org; Fri, 30 Apr 2021 14:44:23 +0000 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 34d10e4c-b18a-48fb-a228-d36dbf4bd7cc; Fri, 30 Apr 2021 14:44:22 +0000 (UTC) Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 1A7ADB038; Fri, 30 Apr 2021 14:44:22 +0000 (UTC) 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: 34d10e4c-b18a-48fb-a228-d36dbf4bd7cc X-Virus-Scanned: by amavisd-new at test-mx.suse.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1619793862; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=4WSaABwQNqG2JTm70xmiIAHfh+9L9Z20dtHsVXRIDIg=; b=TUXCJDj0WvBzBreDJt0SRxvGQx1jhnB+j2FvQP5UfpJVScQacYmgPOS0SvUqEuOcotyTXa 8s+WExlwnFub7VBuF2xrw3t+DurZ65IPkrGDHzLERCqESrsKoN6RAGe6roAEEixmZOewaa WNnKM0FP05uCJZc/poHeIHvOFAtbFzU= Subject: [PATCH 2/3] firmware/shim: drop XEN_CONFIG_EXPERT uses From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?utf-8?q?Roger_Pau_Monn=C3=A9?= , Ian Jackson References: <19695ffc-34d8-b682-b092-668f872d4e57@suse.com> Message-ID: <56bb5e87-fe35-75a8-fe18-ecc959b21799@suse.com> Date: Fri, 30 Apr 2021 16:44:21 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.10.0 MIME-Version: 1.0 In-Reply-To: <19695ffc-34d8-b682-b092-668f872d4e57@suse.com> Content-Language: en-US As of commit d155e4aef35c ("xen: Allow EXPERT mode to be selected from the menuconfig directly") EXPERT is a regular config option. Signed-off-by: Jan Beulich Acked-by: Roger Pau Monné --- a/tools/firmware/xen-dir/Makefile +++ b/tools/firmware/xen-dir/Makefile @@ -74,10 +74,10 @@ $(D): linkfarm.stamp $(MAKE) -C $(D)/xen distclean $(D)/xen/.config: $(D) - $(MAKE) -C $(@D) KBUILD_DEFCONFIG=pvshim_defconfig XEN_CONFIG_EXPERT=y defconfig + $(MAKE) -C $(@D) KBUILD_DEFCONFIG=pvshim_defconfig defconfig xen-shim: $(D)/xen/.config - $(MAKE) -C $( X-Patchwork-Id: 12233583 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5F1A6C433ED for ; Fri, 30 Apr 2021 14:45:13 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id F0E1C613ED for ; Fri, 30 Apr 2021 14:45:12 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F0E1C613ED Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.120581.228045 (Exim 4.92) (envelope-from ) id 1lcUOA-0002nm-2i; Fri, 30 Apr 2021 14:45:06 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 120581.228045; Fri, 30 Apr 2021 14:45:06 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lcUO9-0002nf-Vx; Fri, 30 Apr 2021 14:45:05 +0000 Received: by outflank-mailman (input) for mailman id 120581; Fri, 30 Apr 2021 14:45:05 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lcUO9-0002nX-6h for xen-devel@lists.xenproject.org; Fri, 30 Apr 2021 14:45:05 +0000 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 28b905ea-f032-476b-b7ca-c4d42db25261; Fri, 30 Apr 2021 14:45:04 +0000 (UTC) Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 6C597B03A; Fri, 30 Apr 2021 14:45:03 +0000 (UTC) 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: 28b905ea-f032-476b-b7ca-c4d42db25261 X-Virus-Scanned: by amavisd-new at test-mx.suse.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1619793903; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5fOkOupL5RkW0UbAtmQcNHl08DT14j0dorRN/S9Rg88=; b=eftbUYNyaqUl+jgTZ8zJQr3xdDBe9ar7LkG8nz5He2nb+vYGoz32j1n3N+QkcoRz2KCPf7 Dm9teJWZJejjfuOirGEeI5OoYGsj0TZottA41D+avEIhgsJjrCkddK3gDqdPa5/PZjN6kG IouqeWGMAJ8ReryvC4aklTnkTLYmjrY= Subject: [PATCH 3/3] firmware/shim: UNSUPPORTED=n From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?utf-8?q?Roger_Pau_Monn=C3=A9?= , Ian Jackson , Stefano Stabellini , George Dunlap , Dario Faggioli References: <19695ffc-34d8-b682-b092-668f872d4e57@suse.com> Message-ID: Date: Fri, 30 Apr 2021 16:45:03 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.10.0 MIME-Version: 1.0 In-Reply-To: <19695ffc-34d8-b682-b092-668f872d4e57@suse.com> Content-Language: en-US We shouldn't default to include any unsupported code in the shim. Mark the setting as off, replacing the ARGO specification. This points out anomalies with the scheduler configuration: Unsupported schedulers better don't default to Y in release builds (like is already the case for ARINC653). Without these adjustments, the shim would suddenly build with RTDS as its default scheduler. Signed-off-by: Jan Beulich ---- I'm certainly open to consider alterations on the sched/Kconfig adjustments, but _something_ needs to be done there. In particular I'm puzzled to find the NULL scheduler marked unsupported. Clearly with the shim defaulting to it, it must be supported at least there. Acked-by: Roger Pau Monné --- a/xen/arch/x86/configs/pvshim_defconfig +++ b/xen/arch/x86/configs/pvshim_defconfig @@ -15,7 +15,7 @@ CONFIG_SCHED_NULL=y # CONFIG_KEXEC is not set # CONFIG_XENOPROF is not set # CONFIG_XSM is not set -# CONFIG_ARGO is not set +# CONFIG_UNSUPPORTED is not set # CONFIG_SCHED_CREDIT is not set # CONFIG_SCHED_CREDIT2 is not set # CONFIG_SCHED_RTDS is not set --- a/xen/common/sched/Kconfig +++ b/xen/common/sched/Kconfig @@ -16,7 +16,7 @@ config SCHED_CREDIT2 config SCHED_RTDS bool "RTDS scheduler support (UNSUPPORTED)" if UNSUPPORTED - default y + default DEBUG ---help--- The RTDS scheduler is a soft and firm real-time scheduler for multicore, targeted for embedded, automotive, graphics and gaming @@ -31,7 +31,7 @@ config SCHED_ARINC653 config SCHED_NULL bool "Null scheduler support (UNSUPPORTED)" if UNSUPPORTED - default y + default PV_SHIM || DEBUG ---help--- The null scheduler is a static, zero overhead scheduler, for when there always are less vCPUs than pCPUs, typically