From a840cfe17bd4f333f75800b2850b12d05f796348 Mon Sep 17 00:00:00 2001 From: Xianglai Li Date: Sat, 7 Sep 2024 13:46:22 +0800 Subject: [PATCH] Platform/Loongson: Modify loongarch uefi firmware size After the loongarch flash block size is changed from 128K to 256K, qemu requires that the UEFI firmware size be aligned with the flash block size(256K). Otherwise, the firmware cannot be loaded, Use the following code to resolve the old firmware loading problem: mv QEMU_EFI.fd QEMU_EFI.fd-bak cat QEMU_EFI.fd-bak /dev/zero | head -c 16m > ./QEMU_EFI.fd mv QEMU_VARS.fd QEMU_VARS.fd-bak cat QEMU_VARS.fd-bak /dev/zero | head -c 16m > ./QEMU_VARS.fd For the new firmware, we refer to other architecture UEFI and set the UEFI firmware size to align with the flash block size(256K). So for this patch, we set the UEFI firmware size to 256K alignment. Cc: Bibo Mao Cc: Chao Li Signed-off-by: Xianglai Li --- Platform/Loongson/LoongArchQemuPkg/Loongson.fdf.inc | 8 ++++---- Platform/Loongson/LoongArchQemuPkg/VarStore.fdf.inc | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Platform/Loongson/LoongArchQemuPkg/Loongson.fdf.inc b/Platform/Loongson/LoongArchQemuPkg/Loongson.fdf.inc index e30c4629f72..c31909ca9aa 100644 --- a/Platform/Loongson/LoongArchQemuPkg/Loongson.fdf.inc +++ b/Platform/Loongson/LoongArchQemuPkg/Loongson.fdf.inc @@ -18,12 +18,12 @@ DEFINE FD_SIZE = 0x400000 #flash code layout #Set Sec base address and size in flash DEFINE SECFV_OFFSET = 0x00000000 -DEFINE SECFV_SIZE = 0x00010000 +DEFINE SECFV_SIZE = 0x00040000 #Set Pei base address and size in flash -DEFINE PEIFV_OFFSET = 0x00010000 +DEFINE PEIFV_OFFSET = 0x00040000 DEFINE PEIFV_SIZE = 0x00040000 #Set Dxe base address and size in flash -DEFINE DXEFV_OFFSET = 0x00050000 -DEFINE DXEFV_SIZE = 0x00350000 +DEFINE DXEFV_OFFSET = 0x00080000 +DEFINE DXEFV_SIZE = 0x00380000 diff --git a/Platform/Loongson/LoongArchQemuPkg/VarStore.fdf.inc b/Platform/Loongson/LoongArchQemuPkg/VarStore.fdf.inc index 83ce3d8008a..f34901950dc 100644 --- a/Platform/Loongson/LoongArchQemuPkg/VarStore.fdf.inc +++ b/Platform/Loongson/LoongArchQemuPkg/VarStore.fdf.inc @@ -10,8 +10,8 @@ BaseAddress = 0x0 Size = 0x1000000 ErasePolarity = 1 -BlockSize = 0x20000 -NumBlocks = 128 +BlockSize = 0x40000 +NumBlocks = 64 0x00000000|0x00040000 #NV_VARIABLE_STORE