63 lines
2.5 KiB
Diff
63 lines
2.5 KiB
Diff
From c9cb2611ae34a79c28671a703368e88267d6cc24 Mon Sep 17 00:00:00 2001
|
|
From: Xiaotian Wu <wuxiaotian@loongson.cn>
|
|
Date: Tue, 19 Nov 2024 19:05:49 +0800
|
|
Subject: [PATCH 2/2] 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.
|
|
---
|
|
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 e30c4629f7..c31909ca9a 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 83ce3d8008..f34901950d 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
|
|
--
|
|
2.46.0
|
|
|