From 03783393e16d776ca29d3f13b9cab1e1c3a5d11b Mon Sep 17 00:00:00 2001 From: Chao Li Date: Tue, 10 Dec 2024 19:23:23 +0800 Subject: MdePkg: Allows loading X64 and ARM64 OPROM images on LoongArch64 Enable foreign images loading on LoongArch64 if the EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL is present. Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Signed-off-by: Chao Li Co-Authored-by: Dongyan Qian --- MdePkg/Library/BasePeCoffLib/LoongArch/PeCoffLoaderEx.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/MdePkg/Library/BasePeCoffLib/LoongArch/PeCoffLoaderEx.c b/MdePkg/Library/BasePeCoffLib/LoongArch/PeCoffLoaderEx.c index 417096f334..3a7c820857 100644 --- a/MdePkg/Library/BasePeCoffLib/LoongArch/PeCoffLoaderEx.c +++ b/MdePkg/Library/BasePeCoffLib/LoongArch/PeCoffLoaderEx.c @@ -104,7 +104,15 @@ PeCoffLoaderImageFormatSupported ( IN UINT16 Machine ) { - if (Machine == IMAGE_FILE_MACHINE_LOONGARCH64) { + /* + * ARM64 and X64 may allow such foreign images to be used when + * a driver implementing EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL is + * present. + */ + if ((Machine == IMAGE_FILE_MACHINE_LOONGARCH64) || + (Machine == IMAGE_FILE_MACHINE_ARM64) || + (Machine == IMAGE_FILE_MACHINE_X64)) + { return TRUE; } -- cgit