From nobody Mon Apr 29 01:48:26 2024 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=none dis=none) header.from=arm.com ARC-Seal: i=1; a=rsa-sha256; t=1615800269; cv=none; d=zohomail.com; s=zohoarc; b=MI8zILMWTbVMN50ZhtNCXvLJFtujj+U/fHE2K/7VLSZApW952qKgvk4COcLZLUAotJo8GMDI0EURQPxjot0Smg+52kfOxCmnPUqshz2TJMHplWrhS7QMUHDLYs4RDEzFIkj9jiCwsTn/n8D4N+7C+pXEHrhdKN+xGQUBE5GDYM4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615800269; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=xlOxdHdjjt3jwRnrBjm5B84xkjipvLKRNAukxTcLFj0=; b=NKxqAx8udDIcxcKrH0nzKmKHzZJTiMW8BK2qN63oCu3KGxnI5xAiNbiLeY0xs86+VuQVbrIRy64AdteJ9DtFPqWYDbZiKV1w0mi6w5akCg1EOOm6ViPLR/0YaN3iVPu+JNjssrJkQ/Xc+QbyH2tDUkfumYdE671MBfQMozeaAP4= ARC-Authentication-Results: i=1; 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 header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1615800269463873.4420014236373; Mon, 15 Mar 2021 02:24:29 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.97917.185683 (Exim 4.92) (envelope-from ) id 1lLjS7-0005U1-1Y; Mon, 15 Mar 2021 09:23:55 +0000 Received: by outflank-mailman (output) from mailman id 97917.185683; Mon, 15 Mar 2021 09:23:55 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lLjS6-0005Tu-UK; Mon, 15 Mar 2021 09:23:54 +0000 Received: by outflank-mailman (input) for mailman id 97917; Mon, 15 Mar 2021 09:23:53 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lLjS5-0005Tp-HX for xen-devel@lists.xenproject.org; Mon, 15 Mar 2021 09:23:53 +0000 Received: from foss.arm.com (unknown [217.140.110.172]) by us1-rack-iad1.inumbo.com (Halon) with ESMTP id cc332ae1-9a9b-4ba1-8f50-ddfc12e1be3e; Mon, 15 Mar 2021 09:23:51 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D82AC1FB; Mon, 15 Mar 2021 02:23:50 -0700 (PDT) Received: from e123311-lin.arm.com (unknown [10.57.18.146]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 07EFE3F70D; Mon, 15 Mar 2021 02:23:48 -0700 (PDT) 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: cc332ae1-9a9b-4ba1-8f50-ddfc12e1be3e From: Michal Orzel To: xen-devel@lists.xenproject.org Cc: Stefano Stabellini , Julien Grall , Volodymyr Babchuk , Andrew Cooper , George Dunlap , Ian Jackson , Jan Beulich , Wei Liu , bertrand.marquis@arm.com Subject: [PATCH v7] arm: Add Kconfig entry to select CONFIG_DTB_FILE Date: Mon, 15 Mar 2021 10:23:42 +0100 Message-Id: <20210315092342.26533-1-michal.orzel@arm.com> X-Mailer: git-send-email 2.29.0 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Currently in order to link existing DTB into Xen image we need to either specify option CONFIG_DTB_FILE on the command line or manually add it into .config. Add Kconfig entry: CONFIG_DTB_FILE to be able to provide the path to DTB we want to embed into Xen image. If no path provided - the dtb will not be embedded. Remove the line: AFLAGS-y +=3D -DCONFIG_DTB_FILE=3D\"$(CONFIG_DTB_FILE)\" as it is not needed since Kconfig will define it in a header with all the other config options. Make a change in the linker script from: _sdtb =3D .; to: PROVIDE(_sdtb =3D .); to avoid creation of _sdtb if there is no reference to it. Signed-off-by: Michal Orzel Reviewed-by: Bertrand Marquis --- xen/arch/arm/Makefile | 5 ++--- xen/arch/arm/arm32/head.S | 4 ++-- xen/arch/arm/arm64/head.S | 4 ++-- xen/arch/arm/xen.lds.S | 4 +--- xen/common/Kconfig | 10 ++++++++++ 5 files changed, 17 insertions(+), 10 deletions(-) diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile index 16e6523e2c..46e6a95fec 100644 --- a/xen/arch/arm/Makefile +++ b/xen/arch/arm/Makefile @@ -68,9 +68,8 @@ extra-y +=3D $(TARGET_SUBARCH)/head.o =20 #obj-bin-y +=3D ....o =20 -ifdef CONFIG_DTB_FILE +ifneq ($(CONFIG_DTB_FILE),"") obj-y +=3D dtb.o -AFLAGS-y +=3D -DCONFIG_DTB_FILE=3D\"$(CONFIG_DTB_FILE)\" endif =20 ALL_OBJS :=3D $(TARGET_SUBARCH)/head.o $(ALL_OBJS) @@ -137,7 +136,7 @@ asm-offsets.s: $(TARGET_SUBARCH)/asm-offsets.c xen.lds: xen.lds.S $(CPP) -P $(a_flags) -MQ $@ -o $@ $< =20 -dtb.o: $(CONFIG_DTB_FILE) +dtb.o: $(patsubst "%",%,$(CONFIG_DTB_FILE)) =20 .PHONY: clean clean:: diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S index c404fa973e..50f019ed98 100644 --- a/xen/arch/arm/arm32/head.S +++ b/xen/arch/arm/arm32/head.S @@ -156,10 +156,10 @@ past_zImage: sub r10, r9, r0 /* r10 :=3D phys-offset */ =20 /* Using the DTB in the .dtb section? */ -#ifdef CONFIG_DTB_FILE +.ifnes CONFIG_DTB_FILE,"" ldr r8, =3D_sdtb add r8, r10 /* r8 :=3D paddr(DTB) */ -#endif +.endif =20 /* Initialize the UART if earlyprintk has been enabled. */ #ifdef CONFIG_EARLY_PRINTK diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S index 5d44667bd8..f38a8dfca7 100644 --- a/xen/arch/arm/arm64/head.S +++ b/xen/arch/arm/arm64/head.S @@ -296,9 +296,9 @@ real_start_efi: sub x20, x19, x0 /* x20 :=3D phys-offset */ =20 /* Using the DTB in the .dtb section? */ -#ifdef CONFIG_DTB_FILE +.ifnes CONFIG_DTB_FILE,"" load_paddr x21, _sdtb -#endif +.endif =20 /* Initialize the UART if earlyprintk has been enabled. */ #ifdef CONFIG_EARLY_PRINTK diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S index 004b182acb..540a7ccc9d 100644 --- a/xen/arch/arm/xen.lds.S +++ b/xen/arch/arm/xen.lds.S @@ -220,11 +220,9 @@ SECTIONS } :text _end =3D . ; =20 -#ifdef CONFIG_DTB_FILE /* Section for the device tree blob (if any). */ - _sdtb =3D .; + PROVIDE(_sdtb =3D .); .dtb : { *(.dtb) } :text -#endif =20 /* Sections to be discarded */ /DISCARD/ : { diff --git a/xen/common/Kconfig b/xen/common/Kconfig index eb953d171e..a1755cd380 100644 --- a/xen/common/Kconfig +++ b/xen/common/Kconfig @@ -400,6 +400,16 @@ config DOM0_MEM =20 Leave empty if you are not sure what to specify. =20 +config DTB_FILE + string "Absolute path to device tree blob" + depends on HAS_DEVICE_TREE + help + When using a bootloader that has no device tree support or when there + is no bootloader at all, use this option to specify the absolute path + to a device tree that will be linked directly inside Xen binary. + + This is an optional config. Leave empty if not needed. + config TRACEBUFFER bool "Enable tracing infrastructure" if EXPERT default y --=20 2.29.0