[edk2-devel] [PATCH v9 0/6] Simplify SMM Relocation Process

Wu, Jiaxin jiaxin.wu at intel.com
Fri Mar 10 10:17:39 UTC 2023


I will have a try with the command. 

For BIOS shell trigger S3, it just needs a simple application to provide the ACPI FACS waking vector, then write the power management control address at offset 4. 

Another way is that shell MM command can achieve the trigger action, for example like: mm -io (xxx+4) 0x3400 -w 4, but I suppose the system will crash since there is no waking vector.

Thanks,
Jiaxin

> -----Original Message-----
> From: kraxel at redhat.com <kraxel at redhat.com>
> Sent: Friday, March 10, 2023 6:01 PM
> To: Wu, Jiaxin <jiaxin.wu at intel.com>
> Cc: devel at edk2.groups.io; Ni, Ray <ray.ni at intel.com>; Dong, Eric
> <eric.dong at intel.com>; Zeng, Star <star.zeng at intel.com>; Laszlo Ersek
> <lersek at redhat.com>; Kumar, Rahul R <rahul.r.kumar at intel.com>
> Subject: Re: [edk2-devel] [PATCH v9 0/6] Simplify SMM Relocation Process
> 
> On Fri, Mar 10, 2023 at 09:19:04AM +0000, Wu, Jiaxin wrote:
> > Is this regression? I remember I tried the S3 on real silicon with the patch
> change, don't see the issue in normal boot work flow. The only difference what
> I did is to trigger S3 in the BIOS shell, but it does covered the SmmRestoreCpu
> test.
> >
> > Now, I'm trying to reproduce the issue on ovmf, and build the OVMF boot on
> windows qemu, but I saw below error during boot:
> > SecCoreStartupWithStack(0xFFFCC000, 0x820000)
> > ASSERT [SecMain]
> c:\dev\code\edk2\MdePkg\Library\BasePcdLibNull\PcdLib.c(95):
> ((BOOLEAN)(0==1))
> >
> > Build command is:
> > build -p OvmfPkg\OvmfPkgIa32X64.dsc -a X64 -D SMM_REQUIRE -D
> DEBUG_ON_SERIAL_PORT -D SOURCE_DEBUG_ENABLE
> >
> > Run qemu command is:
> > qemu-system-x86_64 -bios
> C:\Dev\Code\edk2\Build\Ovmf3264\DEBUG_VS2015x86\FV\OVMF.fd -hda
> fat:rw:hda-contents -serial file:log001.log -net none
> 
> Mine is this:
> 
> qemu-system-x86_64 -enable-kvm -machine q35,smm=on -m 4G -net none \
> 	-drive
> if=pflash,format=raw,file=Build/Ovmf3264/DEBUG_GCC5/FV/OVMF_CODE.fd,r
> eadonly=on \
> 	-drive
> if=pflash,format=raw,file=Build/Ovmf3264/DEBUG_GCC5/FV/OVMF_VARS.fd,s
> napshot=on \
> 	-chardev vc,id=fw.log -device isa-
> debugcon,iobase=0x402,chardev=fw.log \
> 	-cdrom /vmdisk/iso/Fedora-Workstation-Live-x86_64-37-1.7.iso \
> 	-device virtio-tablet-pci \
> 	-display gtk,show-tabs=on
> 
> > Anything need to be care to build OvmfPkgIa32X64?
> 
> It must be started with the correct flash configuration, see above.
> The SMM-enabled builds also require the q35 machine type.
> 
> I have both SMM_REQUIRE and SECURE_BOOT enabled, that probably doesn't
> make a difference though.  I'm using the isa-debugcon instead of the
> serial port to get the debug log, that should not matter either.
> 
> > BTW, how can I boot linux guest in windows qemu?
> 
> Just grab some live iso.  The fedora image used above is available from
> getfedora.org, but any live image should work.
> 
> How do you trigger suspend from efi shell?  There seems to be no
> builtin command for that.
> 
> take care,
>   Gerd



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#100993): https://edk2.groups.io/g/devel/message/100993
Mute This Topic: https://groups.io/mt/97001110/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list