描述:在高通QCM4490平台,xbl阶段添加新屏参数,在启动的时候触发了ConSplitter.c中的ASSERT,log如下:
[09:27:45.218]收←◆ERROR: C90000002:V03000007 I0 408EDCEC-CF6D-477C-A5A8-B4844E3DE281
ASSERT ConSplitter.c +3102: !(((INTN)(RETURN_STATUS)(Status)) < 0)
0 8.162903 WDT bite: now_ticks 25281, last_pat 25149, from VM 3
0 8.171735 Abort: Watchdog bite from PC 0xffffff9400a71068, FP 0xffffffdc68010e80
0 8.181656 WDT: Triggering NS Watchdog Bite
问题原因:在此平台上,高通在UEFI的控制台中为分辨率添加了参数,DBS未找到这个参数,就会触发ASSERT 。
解决方案:
1. 确认屏幕的分辨率:1080*1920
2. 计算参数:
参数计算公式:[Horizontal/8, Vertical/19]
即:1080/8=135; 1920/19=101;
3. 将参数添加到mSimpleConsoleModeData表中:
diff --git a/BOOT.MXF.2.0/boot_images/boot/QcomPkg/Drivers/SimpleTextInOutSerialDxe/SimpleTextInOut.c b/BOOT.MXF.2.0/boot_images/boot/QcomPkg/Drivers/SimpleTextInOutSerialDxe/SimpleTextInOut.c
index db1c42e..bcdeed4 100755
--- a/BOOT.MXF.2.0/boot_images/boot/QcomPkg/Drivers/SimpleTextInOutSerialDxe/SimpleTextInOut.c
+++ b/BOOT.MXF.2.0/boot_images/boot/QcomPkg/Drivers/SimpleTextInOutSerialDxe/SimpleTextInOut.c
@@ -256,6 +256,7 @@
{96, 71}, // 768x1366
{120, 28}, // 960x540
{270,202}, // 2160x3840
+ {135,101}, // 1080x1920
{135,123}, // 1080x2340
{135,126}, //1080x2400 HDK