From nobody Fri May 10 09:17:31 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+106591+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+106591+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1688371723; cv=none; d=zohomail.com; s=zohoarc; b=WhaOYoCPdqG31pPGF0FzdaxRZtHz8hzKCZQr/oK+QDxVhl+vvlhClHwnA0aCgAxZQbUHJfm8CM/sHlY/kLQ3H8e2204fHLSeuTSUjgZQyui7776muW0YE8874ShPQcHMGw9sF6AWTIVIClZilibMF0kbC1RajDAMMGrSFxpFXMY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1688371723; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=p3z716o1fyNYilwhfhbMYwVCFkngElUQfguEWs4KGjs=; b=M+7CJDb8rbCa9COqv5ULcYvtizMoM5SLJROwJTHvo45vvyIgSq5CswkWalPrPsRGG9s7J4tSSj/b6eXh/6ml+TQk0ubV0wjF0YR61M0gKjuYDdkgywoWGw5GPhh2T9lDN6PTYBVl3G0erIbm+FBY9H2T5ZMmpTf/bNjPkl+N4uc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+106591+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1688371723415721.4256013976787; Mon, 3 Jul 2023 01:08:43 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id s6N0YY1788612xgR7G5jdrdW; Mon, 03 Jul 2023 01:08:43 -0700 X-Received: from mail-pg1-f177.google.com (mail-pg1-f177.google.com [209.85.215.177]) by mx.groups.io with SMTP id smtpd.web10.22607.1688371722606753792 for ; Mon, 03 Jul 2023 01:08:42 -0700 X-Received: by mail-pg1-f177.google.com with SMTP id 41be03b00d2f7-55b22f82ac8so2383960a12.1 for ; Mon, 03 Jul 2023 01:08:42 -0700 (PDT) X-Gm-Message-State: XXsRPIn76IYTlVUQixA1vssQx1787277AA= X-Google-Smtp-Source: APBJJlF0Pfn+K2J6UoJhPtbmkyhbbtqI5MET5TAOhkgXxQo4AtRwRjpFxDxEIgHEY3G+oknCrNzbCw== X-Received: by 2002:a17:90a:8d0d:b0:263:114c:52fc with SMTP id c13-20020a17090a8d0d00b00263114c52fcmr14541484pjo.12.1688371721674; Mon, 03 Jul 2023 01:08:41 -0700 (PDT) X-Received: from sunil-laptop.. ([106.51.184.72]) by smtp.gmail.com with ESMTPSA id s18-20020a17090a881200b0024e05b7ba8bsm14863253pjn.25.2023.07.03.01.08.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Jul 2023 01:08:41 -0700 (PDT) From: "Sunil V L" To: devel@edk2.groups.io Cc: Sunil V L , Ard Biesheuvel , Jiewen Yao , Jordan Justen , Andrei Warkentin Subject: [edk2-devel] [PATCH 1/4] OvmfPkg/RiscVVirt: use 'auto' alignment and FIXED for XIP modules Date: Mon, 3 Jul 2023 13:38:28 +0530 Message-Id: <20230703080831.51075-2-sunilvl@ventanamicro.com> In-Reply-To: <20230703080831.51075-1-sunilvl@ventanamicro.com> References: <20230703080831.51075-1-sunilvl@ventanamicro.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,sunilvl@ventanamicro.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1688371723; bh=ulo53eTVjpde3ojgOuJ4SQXwGcXssfpO43tAAbIVRp8=; h=Cc:Date:From:Reply-To:Subject:To; b=opoYbU5DPNTVltvdpfU/lZqgTQg4Xr/+2ixEzNhby8649HtluJipQ3icTKQPS9JHfhU BR7lpdyu5av+GXrdIjrC+9vyY6lmoV2JEWZkxNMeWG7bgVX6TUgWhGZQxV8M5frq7SONB uWHgxOudfUdBK1ruSvg51zQUKaqmAxiJg+k= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1688371725271100005 Content-Type: text/plain; charset="utf-8" Use auto alignment and FIXED FFS attribute for XIP modules similar to [1]. Without this change, the CLANGDWARF toolchain will fail to build with below error. GenFfs: ERROR 1000: Unknown option SectionAlign option must be specified with section file. [1] - https://github.com/tianocore/edk2/commit/7669f7349829f0e4755552ba0d6e= 600492fd8170 Cc: Ard Biesheuvel Cc: Jiewen Yao Cc: Jordan Justen Cc Gerd Hoffmann Cc: Andrei Warkentin Signed-off-by: Sunil V L Acked-by: Ard Biesheuvel --- OvmfPkg/RiscVVirt/RiscVVirtQemu.fdf | 34 +++++++++-------------------- 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/OvmfPkg/RiscVVirt/RiscVVirtQemu.fdf b/OvmfPkg/RiscVVirt/RiscVV= irtQemu.fdf index 21e4ba67379f..b5aebfae078c 100644 --- a/OvmfPkg/RiscVVirt/RiscVVirtQemu.fdf +++ b/OvmfPkg/RiscVVirt/RiscVVirtQemu.fdf @@ -240,30 +240,15 @@ [FV.FVMAIN_COMPACT] } =20 [Rule.Common.SEC] - FILE SEC =3D $(NAMED_GUID) RELOCS_STRIPPED { - PE32 PE32 Align=3D4K $(INF_OUTPUT)/$(MODULE_NAME).efi + FILE SEC =3D $(NAMED_GUID) RELOCS_STRIPPED FIXED { + PE32 PE32 Align =3D Auto $(INF_OUTPUT)/$(MODULE_NAME).efi UI STRING =3D"$(MODULE_NAME)" Optional VERSION STRING =3D"$(INF_VERSION)" Optional BUILD_NUM=3D$(BUILD_NUMBE= R) } =20 -[Rule.Common.PEI_CORE] - FILE PEI_CORE =3D $(NAMED_GUID) { - PE32 PE32 Align=3D4K $(INF_OUTPUT)/$(MODULE_NAME).efi - UI STRING =3D"$(MODULE_NAME)" Optional - VERSION STRING =3D"$(INF_VERSION)" Optional BUILD_NUM=3D$(BUILD_NUMBE= R) - } - -[Rule.Common.PEIM] - FILE PEIM =3D $(NAMED_GUID) { - PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex - PE32 PE32 Align=3D4K $(INF_OUTPUT)/$(MODULE_NAME).efi - UI STRING=3D"$(MODULE_NAME)" Optional - VERSION STRING=3D"$(INF_VERSION)" Optional BUILD_NUM=3D$(BUILD_NUMBE= R) - } - [Rule.Common.DXE_CORE] FILE DXE_CORE =3D $(NAMED_GUID) { - PE32 PE32 Align=3D4K $(INF_OUTPUT)/$(MODULE_NAME).efi + PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi UI STRING=3D"$(MODULE_NAME)" Optional VERSION STRING=3D"$(INF_VERSION)" Optional BUILD_NUM=3D$(BUILD_NUMBER) } @@ -271,7 +256,7 @@ [Rule.Common.DXE_CORE] [Rule.Common.DXE_DRIVER] FILE DRIVER =3D $(NAMED_GUID) { DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex - PE32 PE32 Align=3D4K $(INF_OUTPUT)/$(MODULE_NAME).efi + PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi UI STRING=3D"$(MODULE_NAME)" Optional VERSION STRING=3D"$(INF_VERSION)" Optional BUILD_NUM=3D$(BUILD_NUMBER) } @@ -279,7 +264,7 @@ [Rule.Common.DXE_DRIVER] [Rule.Common.DXE_RUNTIME_DRIVER] FILE DRIVER =3D $(NAMED_GUID) { DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex - PE32 PE32 Align =3D 4K $(INF_OUTPUT)/$(MODULE_NAME).efi + PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi UI STRING=3D"$(MODULE_NAME)" Optional VERSION STRING=3D"$(INF_VERSION)" Optional BUILD_NUM=3D$(BUILD_NUMBER) } @@ -287,7 +272,7 @@ [Rule.Common.DXE_RUNTIME_DRIVER] [Rule.Common.UEFI_DRIVER] FILE DRIVER =3D $(NAMED_GUID) { DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex - PE32 PE32 Align=3D4K $(INF_OUTPUT)/$(MODULE_NAME).efi + PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi UI STRING=3D"$(MODULE_NAME)" Optional VERSION STRING=3D"$(INF_VERSION)" Optional BUILD_NUM=3D$(BUILD_NUMBER) } @@ -295,21 +280,21 @@ [Rule.Common.UEFI_DRIVER] [Rule.Common.UEFI_DRIVER.BINARY] FILE DRIVER =3D $(NAMED_GUID) { DXE_DEPEX DXE_DEPEX Optional |.depex - PE32 PE32 Align=3D4K |.efi + PE32 PE32 |.efi UI STRING=3D"$(MODULE_NAME)" Optional VERSION STRING=3D"$(INF_VERSION)" Optional BUILD_NUM=3D$(BUILD_NUMBE= R) } =20 [Rule.Common.UEFI_APPLICATION] FILE APPLICATION =3D $(NAMED_GUID) { - PE32 PE32 Align=3D4K $(INF_OUTPUT)/$(MODULE_NAME).efi + PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi UI STRING=3D"$(MODULE_NAME)" Optional VERSION STRING=3D"$(INF_VERSION)" Optional BUILD_NUM=3D$(BUILD_NUMBER) } =20 [Rule.Common.UEFI_APPLICATION.BINARY] FILE APPLICATION =3D $(NAMED_GUID) { - PE32 PE32 Align=3D4K |.efi + PE32 PE32 |.efi UI STRING=3D"$(MODULE_NAME)" Optional VERSION STRING=3D"$(INF_VERSION)" Optional BUILD_NUM=3D$(BUILD_NUMBE= R) } @@ -318,4 +303,5 @@ [Rule.Common.USER_DEFINED.ACPITABLE] FILE FREEFORM =3D $(NAMED_GUID) { RAW ACPI |.acpi RAW ASL |.aml + UI STRING=3D"$(MODULE_NAME)" Optional } --=20 2.34.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#106591): https://edk2.groups.io/g/devel/message/106591 Mute This Topic: https://groups.io/mt/99923011/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri May 10 09:17:31 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+106592+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+106592+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1688371731; cv=none; d=zohomail.com; s=zohoarc; b=NTSere6KDAQ4jwxAuDZXAMm/0y8D+dO+R4q1DthzyVJeaW99JmOUvH9HRquTktEGO/0cWsCjC+Ucy8PyG9hCYjLVrBZY+WiOTw4CQw5vRi0y0NK25vakMmHBaztsKjcxNWD4id8BQ+dM8oqATdn8N0TZv6zOImRCnw4Ah0BaGk8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1688371731; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=SYrjBzvkH7OUVTJuptOMnWjagWXgwSfqnAYUnylTzzs=; b=ns//yrLjNN22U0CWzMOqZo6NgONatNQQsuKUEMm0iP6N7fQ/RLkEaoBfjA8ej1QgsoYMkCWExIVHFZAAbU47MGQ2/jbXUfGmFtZLy8921r6A13CDY2YN5bLOP3Dv9LC6hnhGcjxZe02pmaPSro2g2Jw3UifwpVqLLCXiyCmnn+I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+106592+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1688371731094606.3431887830329; Mon, 3 Jul 2023 01:08:51 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id TVxyYY1788612xDHhyCyxfZU; Mon, 03 Jul 2023 01:08:50 -0700 X-Received: from mail-oa1-f54.google.com (mail-oa1-f54.google.com [209.85.160.54]) by mx.groups.io with SMTP id smtpd.web10.22608.1688371725111389902 for ; Mon, 03 Jul 2023 01:08:45 -0700 X-Received: by mail-oa1-f54.google.com with SMTP id 586e51a60fabf-1b038d7a5faso3715120fac.1 for ; Mon, 03 Jul 2023 01:08:45 -0700 (PDT) X-Gm-Message-State: yWbrrsyIwnYSwhPRkWyqtOQax1787277AA= X-Google-Smtp-Source: APBJJlGVSCRhP1Rn09s8LjFH/Nl4oB9o89jp0SArLTU/t4rsWcAP94lzfZbcHgPaI6/9q78Ot/WgfA== X-Received: by 2002:a05:6871:714:b0:1b0:315f:93ca with SMTP id f20-20020a056871071400b001b0315f93camr9553040oap.5.1688371724315; Mon, 03 Jul 2023 01:08:44 -0700 (PDT) X-Received: from sunil-laptop.. ([106.51.184.72]) by smtp.gmail.com with ESMTPSA id s18-20020a17090a881200b0024e05b7ba8bsm14863253pjn.25.2023.07.03.01.08.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Jul 2023 01:08:44 -0700 (PDT) From: "Sunil V L" To: devel@edk2.groups.io Cc: Sunil V L , Ard Biesheuvel , Jiewen Yao , Jordan Justen , Gerd Hoffmann , Andrei Warkentin Subject: [edk2-devel] [PATCH 2/4] OvmfPkg/RiscVVirt: SecEntry: Remove unnecessary assembly directives Date: Mon, 3 Jul 2023 13:38:29 +0530 Message-Id: <20230703080831.51075-3-sunilvl@ventanamicro.com> In-Reply-To: <20230703080831.51075-1-sunilvl@ventanamicro.com> References: <20230703080831.51075-1-sunilvl@ventanamicro.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,sunilvl@ventanamicro.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1688371730; bh=13bYrTyyzIajGWMRfU8xP7UsoVQ3IHDJvnLzv6szlds=; h=Cc:Date:From:Reply-To:Subject:To; b=t9jJizUkGgXCrBfDXypoPVMoeZzliNszbYwcIPu3LBwwFeFv2ok1LwxctfQmz3VNJry 7d1JwqrWkL/KQGFM5aYMWxVcCz8vDibM75TIL7gcP2bjzRAhVnnym3cbAC5uNOgPPG7MP CYvuwYO8rRz2tqGL4TLF/Wt7WWSAPg19gfQ= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1688371732120100007 Content-Type: text/plain; charset="utf-8" llvm fails to resolve _ModuleEntry when these extra directives are present. ASM_FUNC already takes care what is required. Cc: Ard Biesheuvel Cc: Jiewen Yao Cc: Jordan Justen Cc: Gerd Hoffmann Cc: Andrei Warkentin Signed-off-by: Sunil V L Acked-by: Ard Biesheuvel --- OvmfPkg/RiscVVirt/Sec/SecEntry.S | 3 --- 1 file changed, 3 deletions(-) diff --git a/OvmfPkg/RiscVVirt/Sec/SecEntry.S b/OvmfPkg/RiscVVirt/Sec/SecEn= try.S index e919a3cb0e80..192fff321ce5 100644 --- a/OvmfPkg/RiscVVirt/Sec/SecEntry.S +++ b/OvmfPkg/RiscVVirt/Sec/SecEntry.S @@ -7,9 +7,6 @@ =20 #include "SecMain.h" =20 -.text -.align 3 - ASM_FUNC (_ModuleEntryPoint) /* Use Temp memory as the stack for calling to C code */ li a4, FixedPcdGet32 (PcdOvmfSecPeiTempRamBase) --=20 2.34.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#106592): https://edk2.groups.io/g/devel/message/106592 Mute This Topic: https://groups.io/mt/99923012/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri May 10 09:17:31 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+106593+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+106593+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1688371728; cv=none; d=zohomail.com; s=zohoarc; b=eonBnU8VfTtYHXK5BasyDeqaTFB+ZnViITe/25IrOIzRnuPt2+oUoWa+scR16wnJu9bdSagxHbWo5AP7yDmvpEp21v3Me1Z0LPNcrqlwXrBsQ3thZO3oqxGtJ0M4rOY/gVpHxvqT3MtZN7tEQBPiB642oefzdOVEULDh1KbRoY8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1688371728; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=tX68J7dTFbV7BkfMeYmhnVXvHbkIS+2NfRArOtXBUAI=; b=SGheanxi4rUoNA28h6Y/GU1MsqL0MYt8myA5hT/zjF/UFuCc9qGx2qxQFXUoL6WxvA4kf9wzR/JARYLbj2jw6ogJPqf+r5hcCY/oob1lxPXuPfOGDKWUS3BN6UvAsl7AkJoFICWiYFYCfmesizz9vO3fjOE7X7UHE+yAFLG2JGg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+106593+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1688371728477304.83097804542524; Mon, 3 Jul 2023 01:08:48 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id Zo70YY1788612xdcZYVHnqK2; Mon, 03 Jul 2023 01:08:48 -0700 X-Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by mx.groups.io with SMTP id smtpd.web10.22610.1688371727751801895 for ; Mon, 03 Jul 2023 01:08:47 -0700 X-Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-1b852785a65so25756205ad.0 for ; Mon, 03 Jul 2023 01:08:47 -0700 (PDT) X-Gm-Message-State: FUnX8jZ9tYhq9KhvNd6qLNfNx1787277AA= X-Google-Smtp-Source: ACHHUZ5bPty1rEDep43U36KgtBQGFd5bJvxJtJCRkg3W0cSDw4XBZNuvx1CbVFSi+b+5kzttwaSlqA== X-Received: by 2002:a17:902:cecb:b0:1b7:dfbd:4dd3 with SMTP id d11-20020a170902cecb00b001b7dfbd4dd3mr23615495plg.9.1688371726933; Mon, 03 Jul 2023 01:08:46 -0700 (PDT) X-Received: from sunil-laptop.. ([106.51.184.72]) by smtp.gmail.com with ESMTPSA id s18-20020a17090a881200b0024e05b7ba8bsm14863253pjn.25.2023.07.03.01.08.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Jul 2023 01:08:46 -0700 (PDT) From: "Sunil V L" To: devel@edk2.groups.io Cc: Sunil V L , Rebecca Cran , Liming Gao , Bob Feng , Yuwei Chen , Ard Biesheuvel Subject: [edk2-devel] [PATCH 3/4] BaseTools/tools_def: Add CLANGDWARF support for RISC-V Date: Mon, 3 Jul 2023 13:38:30 +0530 Message-Id: <20230703080831.51075-4-sunilvl@ventanamicro.com> In-Reply-To: <20230703080831.51075-1-sunilvl@ventanamicro.com> References: <20230703080831.51075-1-sunilvl@ventanamicro.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,sunilvl@ventanamicro.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1688371728; bh=18bSxa0ney7hVhZ6usEdQX03Z99kKu7hhtNwK4meCA4=; h=Cc:Date:From:Reply-To:Subject:To; b=kPXWEBYU67FKPvVpzG7w6gJPQc6Txd1INlMEwiIaV+/ULXSWQgMZaw3AepHRtlXpUXw JNXAHzDUCHPaEG8zIMAGWMKLsXtN17114IlZgR6FNIa/ur4U0pTWLMn1xemebUB6GCA0F bM3pf96VhyFjoxAxolBfbjNWe3BFIIeuS6w= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1688371729287100003 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4478 Add tools_def definitions to support CLANGDWARF toolchain for RISC-V. This uses clang and the llvm LLD linker. This helps people by not requiring to install multiple cross compilers for different architectures. Cc: Rebecca Cran Cc: Liming Gao Cc: Bob Feng Cc: Yuwei Chen Cc: Ard Biesheuvel Signed-off-by: Sunil V L Acked-by: Ard Biesheuvel --- BaseTools/Conf/tools_def.template | 52 +++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.t= emplate index 90f4105506e5..47d8c379d9f2 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -745,6 +745,7 @@ DEFINE GCC_LOONGARCH64_CC_FLAGS =3D DEF(GCC_ALL_CC_F= LAGS) -mabi=3Dlp64d -fno-asyn DEFINE GCC_ARM_CC_XIPFLAGS =3D -mno-unaligned-access DEFINE GCC_AARCH64_CC_FLAGS =3D DEF(GCC_ALL_CC_FLAGS) -mlittle-endi= an -fno-short-enums -fverbose-asm -funsigned-char -ffunction-sections -fda= ta-sections -Wno-address -fno-asynchronous-unwind-tables -fno-unwind-tables= -fno-pic -fno-pie -ffixed-x18 DEFINE GCC_AARCH64_CC_XIPFLAGS =3D -mstrict-align -mgeneral-regs-only +DEFINE GCC_RISCV64_CC_XIPFLAGS =3D -mstrict-align -mgeneral-regs-only DEFINE GCC_DLINK_FLAGS_COMMON =3D -nostdlib --pie DEFINE GCC_DLINK2_FLAGS_COMMON =3D -Wl,--script=3D$(EDK_TOOLS_PATH)/Sc= ripts/GccBase.lds DEFINE GCC_IA32_X64_DLINK_COMMON =3D DEF(GCC_DLINK_FLAGS_COMMON) --gc-se= ctions @@ -2023,6 +2024,57 @@ DEFINE CLANGDWARF_AARCH64_DLINK_FLAGS =3D DEF(CLANG= DWARF_AARCH64_TARGET) DEF(GCC_ RELEASE_CLANGDWARF_AARCH64_CC_FLAGS =3D DEF(CLANGDWARF_AARCH64_CC_FLAGS= ) $(PLATFORM_FLAGS) -flto -O3 RELEASE_CLANGDWARF_AARCH64_DLINK_FLAGS =3D DEF(CLANGDWARF_AARCH64_DLINK_FL= AGS) -flto -Wl,-O3 -fuse-ld=3Dlld -L$(WORKSPACE)/ArmPkg/Library/GccLto -llt= o-aarch64 -Wl,-plugin-opt=3D-pass-through=3D-llto-aarch64 -Wl,--no-pie,--no= -relax =20 +################## +# CLANGDWARF RISCV64 definitions +################## +DEFINE CLANGDWARF_RISCV64_TARGET =3D -target riscv64-linux-gnu +DEFINE CLANGDWARF_RISCV64_CC_FLAGS =3D DEF(GCC5_RISCV64_CC_FLAGS) DEF(CLA= NGDWARF_RISCV64_TARGET) DEF(CLANGDWARF_WARNING_OVERRIDES) + +# This is similar to GCC flags but without -n +DEFINE CLANGDWARF_RISCV64_ALL_DLINK_COMMON =3D -nostdlib -Wl,-q,--gc-sect= ions -z common-page-size=3D0x40 +DEFINE CLANGDWARF_RISCV64_ALL_DLINK_FLAGS =3D DEF(CLANGDWARF_RISCV64_ALL= _DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl= ,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map +DEFINE CLANGDWARF_RISCV64_DLINK_FLAGS =3D DEF(CLANGDWARF_RISCV64_TAR= GET) DEF(CLANGDWARF_RISCV64_ALL_DLINK_FLAGS) -Wl,-melf64lriscv,--oformat=3D= elf64-littleriscv,--no-relax + +*_CLANGDWARF_RISCV64_PP_FLAGS =3D DEF(GCC_PP_FLAGS) +*_CLANGDWARF_RISCV64_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) +*_CLANGDWARF_RISCV64_APP_FLAGS =3D +*_CLANGDWARF_RISCV64_ASL_FLAGS =3D DEF(IASL_FLAGS) +*_CLANGDWARF_RISCV64_ASL_OUTFLAGS =3D DEF(IASL_OUTFLAGS) +*_CLANGDWARF_RISCV64_DTCPP_FLAGS =3D DEF(GCC_DTCPP_FLAGS) +*_CLANGDWARF_RISCV64_DEPS_FLAGS =3D DEF(GCC_DEPS_FLAGS) + +*_CLANGDWARF_RISCV64_CC_PATH =3D ENV(CLANGDWARF_BIN)clang +*_CLANGDWARF_RISCV64_ASM_PATH =3D ENV(CLANGDWARF_BIN)clang +*_CLANGDWARF_RISCV64_PP_PATH =3D ENV(CLANGDWARF_BIN)clang +*_CLANGDWARF_RISCV64_VFRPP_PATH =3D ENV(CLANGDWARF_BIN)clang +*_CLANGDWARF_RISCV64_ASLCC_PATH =3D ENV(CLANGDWARF_BIN)clang +*_CLANGDWARF_RISCV64_ASLPP_PATH =3D ENV(CLANGDWARF_BIN)clang +*_CLANGDWARF_RISCV64_DLINK_PATH =3D ENV(CLANGDWARF_BIN)clang +*_CLANGDWARF_RISCV64_ASLDLINK_PATH =3D ENV(CLANGDWARF_BIN)clang + +*_CLANGDWARF_RISCV64_SLINK_PATH =3D ENV(CLANGDWARF_BIN)llvm-ar +*_CLANGDWARF_RISCV64_RC_PATH =3D ENV(CLANGDWARF_BIN)llvm-objcopy + +*_CLANGDWARF_RISCV64_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -flto +*_CLANGDWARF_RISCV64_ASLDLINK_FLAGS =3D DEF(CLANGDWARF_RISCV64_TARGET) DEF= (GCC5_RISCV32_RISCV64_ASLDLINK_FLAGS) +*_CLANGDWARF_RISCV64_ASM_FLAGS =3D DEF(GCC_ASM_FLAGS) DEF(CLANGDWARF_= RISCV64_TARGET) $(PLATFORM_FLAGS) -Qunused-arguments -mabi=3Dlp64 -mno-rel= ax -flto +*_CLANGDWARF_RISCV64_DLINK_FLAGS =3D DEF(CLANGDWARF_RISCV64_TARGET) DEF= (GCC5_RISCV64_DLINK_FLAGS) +*_CLANGDWARF_RISCV64_DLINK_XIPFLAGS =3D -z common-page-size=3D0x20 +*_CLANGDWARF_RISCV64_DLINK2_FLAGS =3D DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,-= -defsym=3DPECOFF_HEADER_SIZE=3D0x240 +*_CLANGDWARF_RISCV64_PLATFORM_FLAGS =3D +*_CLANGDWARF_RISCV64_PP_FLAGS =3D DEF(GCC_PP_FLAGS) DEF(CLANGDWARF_R= ISCV64_TARGET) $(PLATFORM_FLAGS) +*_CLANGDWARF_RISCV64_RC_FLAGS =3D DEF(GCC_RISCV64_RC_FLAGS) +*_CLANGDWARF_RISCV64_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANGDWAR= F_RISCV64_TARGET) $(PLATFORM_FLAGS) +*_CLANGDWARF_RISCV64_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANGDWAR= F_RISCV64_TARGET) +*_CLANGDWARF_RISCV64_CC_XIPFLAGS =3D DEF(GCC_RISCV64_CC_XIPFLAGS) + + DEBUG_CLANGDWARF_RISCV64_CC_FLAGS =3D DEF(CLANGDWARF_RISCV64_CC_FLAGS= ) $(PLATFORM_FLAGS) -flto -O1 + DEBUG_CLANGDWARF_RISCV64_DLINK_FLAGS =3D DEF(CLANGDWARF_RISCV64_DLINK_FL= AGS) -flto -Wl,-O1 -fuse-ld=3Dlld -Wl,--no-pie,--no-relax + NOOPT_CLANGDWARF_RISCV64_CC_FLAGS =3D DEF(CLANGDWARF_RISCV64_CC_FLAGS= ) $(PLATFORM_FLAGS) -O0 + NOOPT_CLANGDWARF_RISCV64_DLINK_FLAGS =3D DEF(CLANGDWARF_RISCV64_DLINK_FL= AGS) -fuse-ld=3Dlld -Wl,--no-pie,--no-relax +RELEASE_CLANGDWARF_RISCV64_CC_FLAGS =3D DEF(CLANGDWARF_RISCV64_CC_FLAGS= ) $(PLATFORM_FLAGS) -flto -O3 +RELEASE_CLANGDWARF_RISCV64_DLINK_FLAGS =3D DEF(CLANGDWARF_RISCV64_DLINK_FL= AGS) -flto -Wl,-O3 -fuse-ld=3Dlld -Wl,--no-pie,--no-relax + # # # XCODE5 support --=20 2.34.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#106593): https://edk2.groups.io/g/devel/message/106593 Mute This Topic: https://groups.io/mt/99923013/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri May 10 09:17:31 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+106594+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+106594+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1688371731; cv=none; d=zohomail.com; s=zohoarc; b=OPsYYNSrzb0La4RFetEH8e2lzsqzmoh2zlVJT9k65ZEl3KNEbd0mcVFPOfYzMhGXc+lF/2XSw9V4D2f691gtsZYoYfwSsvkTVYRnpNgsU8QuxyJcRsgsjaN9p4wP8qoU+MtnvAO5eklh2XHVd9zf1zIkNfD+8/meejI69m4GN6A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1688371731; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=gPPQPiVXsllyy7eGZwgiv4RxegFg9MmxK4uDpkBjeD4=; b=ZIYcHAolpLmiuL1RPNswlrTPQmR/HIgfJWln1UR8tG+8LsqBiRY/O/QJ+zTrZ+k7r3MwRpQaUVGtOjdNEa1MBZFcxydPXfod2i+0GXhAc73RyxvkCnBc7ifjeBPxhbXK+fNTsAsSaefuJUk0oSylg0168iOqL/ZGvit/Eopz420= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+106594+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1688371731589307.5687181885703; Mon, 3 Jul 2023 01:08:51 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id gR2mYY1788612xuRylGiaM0a; Mon, 03 Jul 2023 01:08:51 -0700 X-Received: from mail-oo1-f50.google.com (mail-oo1-f50.google.com [209.85.161.50]) by mx.groups.io with SMTP id smtpd.web11.22575.1688371730650664371 for ; Mon, 03 Jul 2023 01:08:50 -0700 X-Received: by mail-oo1-f50.google.com with SMTP id 006d021491bc7-563439ea4a2so2685753eaf.0 for ; Mon, 03 Jul 2023 01:08:50 -0700 (PDT) X-Gm-Message-State: AxTLAWzrIOseUvtHEHm2ldMEx1787277AA= X-Google-Smtp-Source: ACHHUZ7MAlu9NVhF6Ac5a8DRGWLHEbT4JdDCx9VD5RWMdcmZ7sctma/C8XybcqkXO+xou76XjAURQA== X-Received: by 2002:a05:6808:df2:b0:398:9ee4:1dac with SMTP id g50-20020a0568080df200b003989ee41dacmr8273337oic.32.1688371729842; Mon, 03 Jul 2023 01:08:49 -0700 (PDT) X-Received: from sunil-laptop.. ([106.51.184.72]) by smtp.gmail.com with ESMTPSA id s18-20020a17090a881200b0024e05b7ba8bsm14863253pjn.25.2023.07.03.01.08.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Jul 2023 01:08:49 -0700 (PDT) From: "Sunil V L" To: devel@edk2.groups.io Cc: Sunil V L , Ard Biesheuvel , Jiewen Yao , Jordan Justen , Gerd Hoffmann , Andrei Warkentin , Heinrich Schuchardt Subject: [edk2-devel] [PATCH 4/4] OvmfPkg/RiscVVirt: Update README for CLANGDWARF support Date: Mon, 3 Jul 2023 13:38:31 +0530 Message-Id: <20230703080831.51075-5-sunilvl@ventanamicro.com> In-Reply-To: <20230703080831.51075-1-sunilvl@ventanamicro.com> References: <20230703080831.51075-1-sunilvl@ventanamicro.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,sunilvl@ventanamicro.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1688371731; bh=JSD9ScmfV7Wm5r0a8tIaar/zQdf3AuYGw4GFOTHxUcQ=; h=Cc:Date:From:Reply-To:Subject:To; b=w/6QNDqPYM8G1bH7/LMve+ksKdiobhnSnhrMEFek45H+7oY3X8NeWASa6HtE40c7sy5 y700MHwxhsVhyezrniHv+7Aex691QKP0CiRVhiYlbhHsYjDxhuHHrtyQ2etoTmEdSRxqJ i9HAm0h+UZbHQL8YvNQ/0f0bXDlLumwZp+E= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1688371733580100011 Content-Type: text/plain; charset="utf-8" Update the README with instruction to build using CLANGDWARF toolchain. Cc: Ard Biesheuvel Cc: Jiewen Yao Cc: Jordan Justen Cc: Gerd Hoffmann Cc: Andrei Warkentin Signed-off-by: Sunil V L Reviewed-by: Heinrich Schuchardt Acked-by: Ard Biesheuvel --- OvmfPkg/RiscVVirt/README.md | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/OvmfPkg/RiscVVirt/README.md b/OvmfPkg/RiscVVirt/README.md index 950694419e8b..8c3ac37b802a 100644 --- a/OvmfPkg/RiscVVirt/README.md +++ b/OvmfPkg/RiscVVirt/README.md @@ -12,24 +12,46 @@ The minimum QEMU version required is [7efd65423a](https://github.com/qemu/qemu/commit/7efd65423ab22e6f5890ca08a= e40c84d6660242f) which supports separate pflash devices for EDK2 code and variable storage. =20 +## Get edk2 sources + + git clone --recurse-submodule git@github.com:tianocore/edk2.git + ## Build + +### Using GCC toolchain +**Prerequisite**: RISC-V GNU compiler toolchain should be installed. + export WORKSPACE=3D`pwd` export GCC5_RISCV64_PREFIX=3Driscv64-linux-gnu- export PACKAGES_PATH=3D$WORKSPACE/edk2 export EDK_TOOLS_PATH=3D$WORKSPACE/edk2/BaseTools - source edk2/edksetup.sh + source edk2/edksetup.sh --reconfig make -C edk2/BaseTools source edk2/edksetup.sh BaseTools build -a RISCV64 --buildtarget RELEASE -p OvmfPkg/RiscVVirt/RiscVVirtQ= emu.dsc -t GCC5 =20 +### Using CLANGDWARF toolchain (clang + lld) +**Prerequisite**: LLVM toolchain with clang and lld should be installed. + + export WORKSPACE=3D`pwd` + export CLANGDWARF_BIN=3D/usr/bin/ + export PACKAGES_PATH=3D$WORKSPACE/edk2 + export EDK_TOOLS_PATH=3D$WORKSPACE/edk2/BaseTools + source edk2/edksetup.sh --reconfig + make -C edk2/BaseTools + source edk2/edksetup.sh BaseTools + build -a RISCV64 --buildtarget RELEASE -p OvmfPkg/RiscVVirt/RiscVVirtQ= emu.dsc -t CLANGDWARF + +After a successful build, two files namely **RISCV_VIRT_CODE.fd** and **RI= SCV_VIRT_VARS.fd** are created. + ## Test Below example shows how to boot openSUSE Tumbleweed E20. =20 1) RISC-V QEMU pflash devices should be of of size 32MiB. =20 - `truncate -s 32M Build/RiscVVirtQemu/RELEASE_GCC5/FV/RISCV_VIRT_CODE.f= d` + `truncate -s 32M RISCV_VIRT_CODE.fd` =20 - `truncate -s 32M Build/RiscVVirtQemu/RELEASE_GCC5/FV/RISCV_VIRT_VARS.f= d` + `truncate -s 32M RISCV_VIRT_VARS.fd` =20 2) Running QEMU =20 --=20 2.34.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#106594): https://edk2.groups.io/g/devel/message/106594 Mute This Topic: https://groups.io/mt/99923014/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-