On 05/04/16 06:44, Ni, Ruiyu wrote: > I encountered the same issue weeks ago. > A quick but dirty fix is to change: > UefiCpuPkg/CpuS3DataDxe/CpuS3Data.c: CpuS3DataInitialize() > // > // Allocate a 4KB reserved page below 1MB > // > - AcpiCpuData->StartupVector = BASE_1MB - 1; > + ApiCpuData->StartupVector = BASE_512KB - 1;
Hm, I don't think so. OVMF includes CpuS3DataDxe with SMM_REQUIRE=TRUE only. My understanding is that the reporter encountered the issue with CSM_ENABLE=TRUE, SMM_REQUIRE=FALSE. I think OVMF should be recompiled with DEBUG_POOL and DEBUG_PAGE set in PcdDebugPrintErrorLevel. Then the OVMF log might expose the driver that allocates memory under 640 KB (so that LegacyBiosDxe cannot allocate 32KB (i.e., PcdEbdaReservedMemorySize) at 608 KB later). Thanks Laszlo > Copying Jeff. > > Regards, > Ray > >> -----Original Message----- >> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of >> Laszlo Ersek >> Sent: Monday, April 25, 2016 7:22 PM >> To: wq...@aliyun.com >> Cc: edk2-devel <edk2-de...@ml01.01.org>; Kevin O'Connor >> <ke...@koconnor.net>; David Woodhouse >> <dw...@infradead.org> >> Subject: Re: [edk2] Csm16.bin(seabios) failed to work in OVMF. >> >> On 04/23/16 08:39, wq...@aliyun.com wrote: >>> Hi everyone, >>> I build the Csm16.bin from source code of seabios-1.9.2.tar.gz . And >>> copy the Csm16.bin to >> OvmfPkg/Csm/Csm16/Csm16.bin , Build the OVMF_CODE.fd and OVMF_VARS.fd with >> command build -D CSM_ENABLE. >>> Unfortunately, I test the OVMF_CODE.fd and OVMF_VARS.fd in qemu. It >>> failed! >>> The log is: >>> ASSERT_EFI_ERROR (Status = Not Found) >>> ASSERT >>> /root/tianocore-edk2/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBios.c(982): >>> !EFI_ERROR >> (Status) >>> Any information you can provide me would be greatly appreciated. >> >> Sorry, no idea. The assert is about a memory allocation failure (you can >> check the source code at the location captured in the assert): >> >> Status = AllocateLegacyMemory ( >> AllocateAddress, >> CONVENTIONAL_MEMORY_TOP - MemorySize, >> EFI_SIZE_TO_PAGES (MemorySize), >> &MemoryAddress >> ); >> ASSERT_EFI_ERROR (Status); >> >> I don't know why it fails. >> >> Perhaps you can experiment with older SeaBIOS releases and narrow it >> down a little. (You could also experiment with OVMF builds at different >> git commits, but I don't readily recall anything that could cause this.) >> >> I'm adding David, Kevin and Gerd to the CC list. >> >> Thanks >> Laszlo >> >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel