Hi Jeff, On 07/05/16 15:50, Fan, Jeff wrote: > When CPU MP PPI installed, CPU MP PPI Services will be fully usable.
I included CpuMpPei in OVMF, and it works fine on the normal boot path. (I haven't done anything special with it thus far, just built it into the firmware, and it starts up fine.) However, on the S3 resume path, it runs into an assertion failure: the GetWakeupBuffer() function fails. That is actually expected, because at that point the runtime OS being resumed owns all memory under 1MB. On the S3 resume path, OVMF does install a tiny bit of permanent PEI RAM: 32 KB in size (PcdS3AcpiReservedMemorySize), starting at 8288 KB (PcdS3AcpiReservedMemoryBase). On the normal boot path, we reserve this area as AcpiNVS type memory, so that the runtime OS stays out of it. Is CpuMpPei meant to be used on the S3 resume path in general? Thanks Laszlo > -----Original Message----- > From: Laszlo Ersek [mailto:[email protected]] > Sent: Tuesday, July 05, 2016 9:10 PM > To: Kinney, Michael D; Fan, Jeff; Justen, Jordan L > Cc: Paolo Bonzini; edk2-devel-01 > Subject: Re: [edk2] multiprocessing in PEI? > > On 07/05/16 12:01, Laszlo Ersek wrote: > >> Not sure if we should add this client code to OvmfPkg/PlatformPei, due >> to the DEPEX. OvmfPkg/PlatformPei is the PEIM that installs the >> permanent PEI RAM, so if we added this DEPEX to it, that would force >> CpuMpPei to run from temporary PEI RAM. I don't know if that would be >> feasible. ... Actually, it would lead to a DEPEX circle: CpuMpPei >> explicitly depends on gEfiPeiMemoryDiscoveredPpiGuid (it can only run >> from permament PEI RAM). So a separate client PEIM for OvmfPkg would >> be mandatory. > > Alternatively, we could use EFI_PEI_SERVICES.NotifyPpi() from > OvmfPkg/PlatformPei, I guess. That would require that the > EFI_PEI_MP_SERVICES_PPI services be fully usable as soon as the callback is > called. > > Thanks > Laszlo > _______________________________________________ > edk2-devel mailing list > [email protected] > https://lists.01.org/mailman/listinfo/edk2-devel > _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

