On August 23, 2022 3:38 PM, Gerd Hoffmann wrote: > Hi, > > > Ah, I forget to reserve the work-area as RT_Data in below code: > > BuildMemoryAllocationHob ( > > (EFI_PHYSICAL_ADDRESS)(UINTN)FixedPcdGet32 > (PcdOvmfWorkAreaBase), > > (UINT64)(UINTN)FixedPcdGet32 (PcdOvmfWorkAreaSize), > > PlatformInfoHob->S3Supported ? EfiACPIMemoryNVS : > EfiRuntimeServicesData <-- ACPI_NVS is not accessible either in OS-Runtime. > > ); > > > https://github.com/tianocore/edk2/blob/master/OvmfPkg/Library/Platform > > InitLib/MemDetect.c#L1022-L1026 > > With that changed to use EfiRuntimeServicesData unconditionally the page > fault is gone. > > > Gerd, do you think we can reserve Ovmf WorkArea as RT_Data even when > S3 is supported? > > Hmm, not fully sure how the various memory types are handled when the > VM is suspended. > Tom suggested that the work area should not be kept around. In stead a PCD should be used. https://edk2.groups.io/g/devel/message/92617
But the dynamic PCD is not thread-safe and it cannot be accessed by APs. Now we have 2 solutions to fix this issue. 1. Reserve the Ovmf work area as RT_DATA. 2. Split the CcProbeLib into 2 instances. See https://edk2.groups.io/g/devel/message/91132 Gerd & Tom, what's your thought? Thanks Min -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#92664): https://edk2.groups.io/g/devel/message/92664 Mute This Topic: https://groups.io/mt/93173995/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-