From nobody Fri May 3 14:57:28 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=1615791119; cv=none; d=zohomail.com; s=zohoarc; b=jj1jTkmbEogb5GMGe2o5UmRKsayX8QMfALU94KS1MNVD9ie3P35Vt3lYuwMU76RdPqAXGhHmjEKpb6rq3XVfclupLNCKRYt/Bsef5cHjh7b55UiFkbJCHndCIzzypY3EKCp0Y3yWarJ6O3YqTaPLVSs12JjGfgvVw+V0msK0roE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615791119; 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=lSfkrmLv2uMujqk54PLiGaw29geroDJ/yLeGWol4cDk=; b=PzTgbWCzE73zzTxvlVXXSjs+HjROstS65/nz8VvDzP10N4lUSDxOEE+gMMx8PshtosudAU6oUqCLPz7Zi34XPxihVh/kdQC/4o/UFBxT0X9f5E81qgZB/p3hozR6FMesQ7xZUoA696rEx/hr3E9lLjwwkQEj5TRr0skXC66aSy8= 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 1615791119804389.41054519288855; Sun, 14 Mar 2021 23:51:59 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.97849.185626 (Exim 4.92) (envelope-from ) id 1lLh4p-0007l2-2C; Mon, 15 Mar 2021 06:51:43 +0000 Received: by outflank-mailman (output) from mailman id 97849.185626; Mon, 15 Mar 2021 06:51:43 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lLh4o-0007kv-VZ; Mon, 15 Mar 2021 06:51:42 +0000 Received: by outflank-mailman (input) for mailman id 97849; Mon, 15 Mar 2021 06:51:41 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lLh4m-0007kq-Vo for xen-devel@lists.xenproject.org; Mon, 15 Mar 2021 06:51:41 +0000 Received: from foss.arm.com (unknown [217.140.110.172]) by us1-rack-iad1.inumbo.com (Halon) with ESMTP id 78b7bac2-4a26-4bc9-804d-b716a9726baf; Mon, 15 Mar 2021 06:51:38 +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 44FDCD6E; Sun, 14 Mar 2021 23:51:38 -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 650793F792; Sun, 14 Mar 2021 23:51:36 -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: 78b7bac2-4a26-4bc9-804d-b716a9726baf 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 v6] arm: Add Kconfig entry to select CONFIG_DTB_FILE Date: Mon, 15 Mar 2021 07:51:29 +0100 Message-Id: <20210315065129.27036-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 --- 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 | 8 ++++++++ 5 files changed, 15 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..71fc9e00cb 100644 --- a/xen/common/Kconfig +++ b/xen/common/Kconfig @@ -400,6 +400,14 @@ 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. + config TRACEBUFFER bool "Enable tracing infrastructure" if EXPERT default y --=20 2.29.0