From patchwork Tue Oct 13 19:23:31 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Atish Patra X-Patchwork-Id: 1381697 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=wdc.com Authentication-Results: ozlabs.org; dkim=permerror header.d=wdc.com header.i=@wdc.com header.a=rsa-sha1 header.s=dkim.wdc.com header.b=UPXFQobW; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (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 ozlabs.org (Postfix) with ESMTPS id 4C9lpG3sD4z9sVH for ; Wed, 14 Oct 2020 06:23:50 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id E7D668158B; Tue, 13 Oct 2020 21:23:40 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=wdc.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=permerror (0-bit key) header.d=wdc.com header.i=@wdc.com header.b="UPXFQobW"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 6A7678226F; Tue, 13 Oct 2020 21:23:40 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from esa2.hgst.iphmx.com (esa2.hgst.iphmx.com [68.232.143.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 84C4981260 for ; Tue, 13 Oct 2020 21:23:36 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=wdc.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=prvs=548325081=atish.patra@wdc.com DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1602617883; x=1634153883; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=Rh6PsrJtR/eppgWDnxlde2BIqIwcUlOicC+cO5nu8ac=; b=UPXFQobWan/5QnSCaFwKfDcWYXQKGNSiXjBvB0q/YHXQRVxdCkcfmpVv M4Wg42aIeI2X/RiKRBjsc5HVCsiBnpnj4+S+oya5XnMDBeufXt8JrCsNo G6cF06XG0+afOrbge4QTDK8NOMgxs8IkmbA91ZHztnjtlE8Bdy9aKejwM bJBt2DFBJT4hXWBgLfsA4rd7MshTOKsgiv8ZwcKOHP1HY/hM2goWXFvtO 8UaevrdSSv166EP7fvHc7JUHEgql4cknv71zsaP/sa4GqnHJyUZsur2t7 77CbkGgQiNJGxShrmLb9sxzJsBj99s4QO9Vv2hk+yAFZSY10tZyOGj5sJ Q==; IronPort-SDR: yLjeFhY53LcqZ1f4zefVQY2m+6SyKlBuq21/TfpEFMVmVZft4PxlLEUCcUT5zzuF/StaHiBcG8 pp7/kI24g1kQwWHMm/o4uxP6NiaP+efqW9DkK//bkqEEfyuOMZXTSAswu4XYctM959Kd8gmilK aMioC8mKTaV5Xxwk4iag5l8hvHYGCl12CUS/keGP5tMqg4VMMep/uk7xU6Y7G0/e2TnEQaGyZk nxg3pq+dejAStbjZnuHbM5Lw+18njpSHFjNfcV7kw8e8xNwV77BRNWOH9/OfnwUDYwsIItnmeN Ilk= X-IronPort-AV: E=Sophos;i="5.77,371,1596470400"; d="scan'208";a="253220884" Received: from uls-op-cesaip02.wdc.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 14 Oct 2020 03:38:00 +0800 IronPort-SDR: Gj+SNCB76Nk9LtBhB4f8Ja8ch3PZdvmDRDcc5TXf7FtlOqHs8lvlbJ982XUJ8RRhGmtj1FHKwR /Lb5vkrzh6eE12SZTXmPwATwHVPBRLqeyUYKuZCL0Z2iZlB2M6Wg6l0+BGwQBnhf9FrfoKcBOK RDu+gpoqeYWBaeKh7p52FbtPu51+IKur3U57ku7Y3e6DRnlR8FkAxRuHY78I1asjRhjOU9p+s+ OjNT1YBNBa7oYhkBLsPec3Gltb2j2fXnLTsznfZRzff2cqz7CN6fGfKmD44VDancd9QtgdH0r7 bQIGAQKqBXQf54r5NTK5d4TV Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Oct 2020 12:09:16 -0700 IronPort-SDR: ch/cLnNrst6d7OHaosUrdLDuRTM9YnBL8zISJ72gMe6jOlkvaQh1c+o4/Li9MpQCyyojGtwew/ IcEVS9j7wJXyxhQ3Lta6RulgfPtPO+NSPOFBl4Ajg/7ZdhlEuqQr6MDFL77xXfwX8SaPCIEnIY 0frFYepMP39xaeka4LLKTBYvNDKGDP/lvbGf/1lgFdBIfc635Npf2ByK82AId4tDhkpE4OLCKA ZJecb3HUDjOqkMQ3wOa7Ahu/jVRQACPdVTjsT/BoPUMDPemTXlz71t5mJcY+wsjqVB7I6IZ8NT 2k0= WDCIronportException: Internal Received: from 6hj08h2.ad.shared (HELO jedi-01.hgst.com) ([10.86.60.65]) by uls-op-cesaip01.wdc.com with ESMTP; 13 Oct 2020 12:23:34 -0700 From: Atish Patra To: u-boot@lists.denx.de Cc: Atish Patra , Anup Patel , Bin Meng , Heinrich Schuchardt , Jagan Teki , Marek Vasut , Simon Goldschmidt , David Abdurachmanov , Tom Rini Subject: [PATCH] riscv: Fix efi header for RV32 Date: Tue, 13 Oct 2020 12:23:31 -0700 Message-Id: <20201013192331.3236458-1-atish.patra@wdc.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.3 at phobos.denx.de X-Virus-Status: Clean RV32 should use PE32 format instead of PE32+ as the efi header format. This requires following changes 1. A different header magic value 2. An additional parameter known as BaseOfData. Currently, it is set to zero in absence of any usage. Signed-off-by: Atish Patra Reviewed-by: Bin Meng Reviewed-by: Rick Chen --- arch/riscv/lib/crt0_riscv_efi.S | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/arch/riscv/lib/crt0_riscv_efi.S b/arch/riscv/lib/crt0_riscv_efi.S index 87fe1e56f906..4aaa49ad0777 100644 --- a/arch/riscv/lib/crt0_riscv_efi.S +++ b/arch/riscv/lib/crt0_riscv_efi.S @@ -15,11 +15,13 @@ #define SAVE_LONG(reg, idx) sd reg, (idx*SIZE_LONG)(sp) #define LOAD_LONG(reg, idx) ld reg, (idx*SIZE_LONG)(sp) #define PE_MACHINE IMAGE_FILE_MACHINE_RISCV64 +#define PE_MAGIC IMAGE_NT_OPTIONAL_HDR64_MAGIC #else #define SIZE_LONG 4 #define SAVE_LONG(reg, idx) sw reg, (idx*SIZE_LONG)(sp) #define LOAD_LONG(reg, idx) lw reg, (idx*SIZE_LONG)(sp) #define PE_MACHINE IMAGE_FILE_MACHINE_RISCV32 +#define PE_MAGIC IMAGE_NT_OPTIONAL_HDR32_MAGIC #endif @@ -48,7 +50,7 @@ coff_header: IMAGE_FILE_LOCAL_SYMS_STRIPPED | \ IMAGE_FILE_DEBUG_STRIPPED) optional_header: - .short IMAGE_NT_OPTIONAL_HDR64_MAGIC /* PE32+ format */ + .short PE_MAGIC /* PE32+ format */ .byte 0x02 /* MajorLinkerVersion */ .byte 0x14 /* MinorLinkerVersion */ .long _edata - _start /* SizeOfCode */ @@ -56,6 +58,9 @@ optional_header: .long 0 /* SizeOfUninitializedData */ .long _start - ImageBase /* AddressOfEntryPoint */ .long _start - ImageBase /* BaseOfCode */ +#if __riscv_xlen == 32 + .long 0 /* BaseOfData */ +#endif extra_header_fields: .quad 0 /* ImageBase */