When SaSbQemu platform is configured with multi memory nodes, like numa architecture, os will ignore any memory node in the device tree except the first one. The kernel reads UEFI memory map for memory information when booting via UEFI.
However UEFI only allocates the first memory node memory space for SbsaQemu platform, in this scenario we can refer to the implement of "OvmfPkg/Fdt/HighMemDxe" and use the GCD services to add memory spaces for high memory node. Instead of using FdtClientDxe driver to get the informatin of memory, we get the hardware information of memory via SMC calls, which is proposed on get rid of DeviceTree from SbsaQemu: https://openfw.io/edk2-devel/20240131132400.3022662-1-xiongyining1...@phytium.com.cn/ Changes in v2: - get the information of memory via SMC rather than FdtClientDxe. - add a new driver rather than use HighMemDxe. Changes in v3: - when the memory node is the first one, there is no need to add it. Xiong Yining (1): SbsaQemu: add memory space for the high memory nodes Platform/Qemu/SbsaQemu/SbsaQemu.dsc | 3 +- Platform/Qemu/SbsaQemu/SbsaQemu.fdf | 1 + .../SbsaQemuHighMemDxe/SbsaQemuHighMemDxe.inf | 45 ++++++ .../SbsaQemuHighMemDxe/SbsaQemuHighMemDxe.c | 134 ++++++++++++++++++ 4 files changed, 182 insertions(+), 1 deletion(-) create mode 100644 Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuHighMemDxe/SbsaQemuHighMemDxe.inf create mode 100644 Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuHighMemDxe/SbsaQemuHighMemDxe.c -- 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#115637): https://edk2.groups.io/g/devel/message/115637 Mute This Topic: https://groups.io/mt/104463711/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-