From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail05.groups.io (mail05.groups.io [45.79.224.7]) by spool.mail.gandi.net (Postfix) with ESMTPS id D273394145D for ; Fri, 6 Sep 2024 08:44:13 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=KKLhHNr0z76ZW1y9iOPVF+QslqmyNm8M4vQ+3iNuAr4=; c=relaxed/simple; d=groups.io; h=Message-ID:Date:MIME-Version:User-Agent:Subject:To:Cc:References:From:In-Reply-To:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Resent-Date:Resent-From:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Type:Content-Transfer-Encoding; s=20240830; t=1725612253; v=1; x=1725871452; b=T9KljUdde/tzYe8srd0+9PohXVST1X88abIZFteNxUQ09UgPZ4/HzljmKN/7LgmFF/AFLS3J qnQYWaX0ZlecIWxWweNEqt/U4GfISYtoWkNQLhEoShWJhJd3S1jSRkPHQCorF2qbdsG7NaM24QA jDIknDQqR6Cbs7vjclS6w8qrScT+m5GvB5apF6ykNI0K6h/91D3iRm8h1Eocjfb9eoJ8xyo8F6q l4dRq0VnI96J1e23CjH1ZN6jG4CPTYsUVaA2G24e6kzUeNj8U1gKyQWKZnRg0FlD3eCrO03/fN2 FzI+05obVKpW5zudMdS+CCpL7LMxELScNaPwTpEDWlcVw== X-Received: by 127.0.0.2 with SMTP id JxjGYY7687511x36twhF23ng; Fri, 06 Sep 2024 01:44:12 -0700 X-Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web11.30312.1725612250374033043 for ; Fri, 06 Sep 2024 01:44:11 -0700 X-Received: from loongson.cn (unknown [10.40.24.149]) by gateway (Coremail) with SMTP id _____8BxuunUwNpmBiwAAA--.464S3; Fri, 06 Sep 2024 16:44:05 +0800 (CST) X-Received: from [10.40.24.149] (unknown [10.40.24.149]) by front2 (Coremail) with SMTP id qciowMBxOsbRwNpmUBoAAA--.545S3; Fri, 06 Sep 2024 16:44:02 +0800 (CST) Message-ID: Date: Fri, 6 Sep 2024 16:44:01 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [edk2-devel] [PATCH] Emulator/X86EmulatorDxe: Replace with MultiArchUefiPkg build To: devel@edk2.groups.io, andrei.warkentin@intel.com, "ardb@kernel.org" , Rebecca Cran Cc: "quic_llindhol@quicinc.com" , "Kinney, Michael D" References: <20240831223232.59981-1-rebecca@bsdio.com> From: "Chao Li" In-Reply-To: X-CM-TRANSID: qciowMBxOsbRwNpmUBoAAA--.545S3 X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQEMCGbZnngWTQACsE X-Coremail-Antispam: 1Uk129KBjDUn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7KY7 ZEXasCq-sGcSsGvfJ3UbIjqfuFe4nvWSU5nxnvy29KBjDU0xBIdaVrnUUvcSsGvfC2Kfnx nUUI43ZEXa7xR_UUUUUUUUU== Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Resent-Date: Fri, 06 Sep 2024 01:44:11 -0700 Resent-From: lichao@loongson.cn Reply-To: devel@edk2.groups.io,lichao@loongson.cn List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: sBsg0Iyv8K3VKtimNsbhmjClx7686176AA= Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20240830 header.b=T9KljUdd; dmarc=none; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 45.79.224.7 as permitted sender) smtp.mailfrom=bounce@groups.io

Hi Andrei,

I guss I workaroud it in a not very pertty way: add a line "RespDict[Key] = Value.replace('\\"', '\\"')" under line 901 of "BaseTools/Source/Python/AutoGen/GenMake.py", it works fine.

About LoongArch tcg porting, I still have some issue to debug, it doesn't work very reliably. Once this work is done, I will submit the code to MUA and unicorn-for-efi. In my opinion, the TCI is also very helpful if the ARCH doesn't support TCG in unicorn. :)


Thanks,
Chao
On 2024/9/6 13:41, Andrei Warkentin wrote:

Hi Chao,

 

Yikes. Let me poke at this on my end as well and see if I can do something less hacky. Meanwhile, you’re welcome to propose pull requests for LoongArch support to either the MUA or the Unicorn-for-efi repo (I was thinking of backporting TCI TCG backend to unicorn as a fallback for unsupported arches).

 

A

 

From: Chao Li <lichao@loongson.cn>
Sent: Sunday, September 1, 2024 9:49 PM
To: devel@edk2.groups.io; ardb@kernel.org; Rebecca Cran <rebecca@bsdio.com>; Warkentin, Andrei <andrei.warkentin@intel.com>
Cc: quic_llindhol@quicinc.com; Kinney, Michael D <michael.d.kinney@intel.com>
Subject: Re: [edk2-devel] [PATCH] Emulator/X86EmulatorDxe: Replace with MultiArchUefiPkg build

 

Hi Ard and Rebecca,

Actually, I am working on this project to support LoongArch, and some work has not been completed yet. But I found that Basetools has a bug. If the command line parameter is greater than 4096, it will be saved using cc_resp.txt. However, https://github.com/intel/unicorn-for-efi/blob/main/efi/UnicornX86Lib.inf contains a C language escape character "DCONFIG_TARGET_HEADER=\"config-target-$(UNICORN_EMU_ARCH).h\"". If it is stored in cc_resp.txt, the format will become: "DCONFIG_TARGET_HEADER=/"config-target-$(UNICORN_EMU_ARCH).h/"", which will cause the compiler to fail to replace the correct header file name during the preprocessing stage and prompt "File not found". I am trying to find a solution in Basetools, but there is no result now.

 

Thanks,
Chao

On 2024/9/1 16:05, Ard Biesheuvel via groups.io wrote:

Hi Rebecca,
 
On Sun, 1 Sept 2024 at 00:33, Rebecca Cran <rebecca@bsdio.com> wrote:
 
Replace the old X86EmulatorDxe with one built from
https://github.com/intel/MultiArchUefiPkg. This is a much more modern,
recent implementation that's more reliable and is actively maintained.
 
Add driver binaries for both AArch64 and RISCV64, along with the
LoadOpRom application.
 
Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
---
 Emulator/X86EmulatorDxe/AArch64/EmulatorDxe.depex | Bin 0 -> 54 bytes
 Emulator/X86EmulatorDxe/AArch64/EmulatorDxe.efi   | Bin 0 -> 573440 bytes
 Emulator/X86EmulatorDxe/AArch64/LoadOpRom.efi     | Bin 0 -> 28672 bytes
 Emulator/X86EmulatorDxe/README.md                 |  11 +++++++----
 Emulator/X86EmulatorDxe/RISCV64/EmulatorDxe.depex | Bin 0 -> 54 bytes
 Emulator/X86EmulatorDxe/RISCV64/EmulatorDxe.efi   | Bin 0 -> 561216 bytes
 Emulator/X86EmulatorDxe/RISCV64/LoadOpRom.efi     | Bin 0 -> 30848 bytes
 Emulator/X86EmulatorDxe/X86EmulatorDxe.depex      | Bin 36 -> 0 bytes
 Emulator/X86EmulatorDxe/X86EmulatorDxe.efi        | Bin 913408 -> 0 bytes
 Emulator/X86EmulatorDxe/X86EmulatorDxe.inf        |  10 +++++++---
 10 files changed, 14 insertions(+), 7 deletions(-)
 
 
Happy to see that this work has been absorbed into a project that will
improve and maintain it going forward.
 
However, according to the github.com repo Readme of
MultiArchUefiCpuPkg, these binaries include statically linked UniCorn
builds, which are a mix of LPGL and GPLv2, so you will need to update
the LICENSE file accordingly.
 
Also, glancing over the code, it seems like it removes the NULL
pointer dereference handling that the original X86EmulatorPkg has -
this code was added for a purpose, as some Nvidia option ROMs will
happily dereference NULL pointers, which happens to work on most older
X64 firmware because page 0x0 happens to be mapped. Perhaps Andrei can
comment on this point?
 
 
 
_._,_._,_

Groups.io Links:

You receive all messages sent to this group.

View/Reply Online (#120520) | | Mute This Topic | New Topic
Your Subscription | Contact Group Owner | Unsubscribe [rebecca@openfw.io]

_._,_._,_