seabios-convert-value-of-be16_to_cpu-to-u64-before-s.patch: be16_to_cpu(scsi_lun->lun[i]) is 16 bits and left shifting by more than 16 will have undefined behaviour. convert it to u64 before shifting. seabios-do-not-give-back-high-ram.patch: fix bug of Oracle 6 and 7 series virtual machines using the high ram returned by sebios. seabios-drop-yield-in-smp_setup.patch: Fix SeaBIOS stuck problem becuase SeaBIOS open hardware interrupt by invoking yield(). That's dangerous and unnecessary. Let's drop it, and make the processing of setup smp more security in SeaBIOS. seabios-fix-memory-leak-when-pci-check.patch: fix code memory leak when pci check failed free busses memory when pci_bios_check_devices function returns error in pci_setup() seabios-increase-the-seabios-high-mem-zone-size.patch: In terms of version and specification, under the maximum configuration specification of the number of vcpus, virtio blocks and other features, there exists bottleneck in seabios high_mem_zone, which results in the memory application failure and causes the vm to fail to start. Increase BUILD_MAX_HIGHTABLE to 512k. seabios-increase-the-seabios-minibiostable.patch: Increase the BUILD_MIN_BIOSTABLE to 4096; support 25 virtio-blk(data) + 1 virtio-scsi(sys) + 1 virtio-net Increase the BUILD_MIN_BIOSTABLE to 5120; support 18 virtio-scsi while vm starts with IDE boot disk Signed-off-by: jiangdongxu <jiangdongxu1@huawei.com>
44 lines
1.5 KiB
Diff
44 lines
1.5 KiB
Diff
From 74f052de33cb14d7a1656079a53102a7cbbb6e75 Mon Sep 17 00:00:00 2001
|
|
From: jiangdongxu <jiangdongxu1@huawei.com>
|
|
Date: Fri, 11 Feb 2022 16:16:05 +0800
|
|
Subject: [PATCH 2/6] seabios: do not give back high ram
|
|
|
|
Oracle 6 and 7 series virtual machines will use the high ram returned by
|
|
sebios. Since these high ram will not be initialized before kernel used,
|
|
this will cause a system exception. This patch removes the logic for
|
|
returning high ram, making the virtual machine will not use this part
|
|
of the memory, thus avoiding this kernel bug.
|
|
|
|
Signed-off-by: wangxin <wangxinxin.wang@huawei.com>
|
|
Signed-off-by: Fangyi <eric.fangyi@huawei.com>
|
|
Signed-off-by: jiangdongxu <jiangdongxu1@huawei.com>
|
|
---
|
|
roms/seabios/src/malloc.c | 4 ++++
|
|
1 file changed, 4 insertions(+)
|
|
|
|
diff --git a/roms/seabios/src/malloc.c b/roms/seabios/src/malloc.c
|
|
index 3733855caf..5827a6523a 100644
|
|
--- a/roms/seabios/src/malloc.c
|
|
+++ b/roms/seabios/src/malloc.c
|
|
@@ -549,6 +549,9 @@ malloc_prepboot(void)
|
|
dprintf(1, "Space available for UMB: %x-%x, %x-%x\n"
|
|
, RomEnd, base, info->range_start, info->range_end);
|
|
|
|
+ // We should not give back unused high ram, to support some special
|
|
+ // guest OS, like oracle linux series.
|
|
+#ifdef HIGH_MEM_BACK
|
|
// Give back unused high ram.
|
|
info = alloc_find_lowest(&ZoneHigh);
|
|
if (info) {
|
|
@@ -556,6 +559,7 @@ malloc_prepboot(void)
|
|
e820_add(info->range_start, giveback, E820_RAM);
|
|
dprintf(1, "Returned %d bytes of ZoneHigh\n", giveback);
|
|
}
|
|
+#endif
|
|
|
|
calcRamSize();
|
|
}
|
|
--
|
|
2.27.0
|
|
|