On 5/14/21 8:33 AM, Tom Lendacky wrote: > On 5/14/21 4:14 AM, Laszlo Ersek wrote: >> On 05/11/21 22:50, Lendacky, Thomas wrote: >>> BZ: >>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugzilla.tianocore.org%2Fshow_bug.cgi%3Fid%3D3324&data=04%7C01%7Cthomas.lendacky%40amd.com%7C7c28b41e27cc4b9a8b9508d916b8a955%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637565804655837525%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Ixw2PdtFLryJs9KHplJ8bvomtaqjBJF8KuDdWO5ERdw%3D&reserved=0 >>>
... >> >>> @@ -220,11 +222,11 @@ GetWakeupBuffer ( >>> // Need memory under 1MB to be collected here >>> // >>> WakeupBufferEnd = Hob.ResourceDescriptor->PhysicalStart + >>> Hob.ResourceDescriptor->ResourceLength; >>> - if (WakeupBufferEnd > BASE_1MB) { >>> + if (WakeupBufferEnd > mWakeupBuffer) { >>> // >>> - // Wakeup buffer should be under 1MB >>> + // Wakeup buffer should be under 1MB and under the previous one >>> // >>> - WakeupBufferEnd = BASE_1MB; >>> + WakeupBufferEnd = mWakeupBuffer; >>> } >>> while (WakeupBufferEnd > WakeupBufferSize) { >>> // >> >> (7) Can we use a WakeupBufferLimit helper variable here, and set it like >> "StartAddress" under (2)? > > Will do. Actually, WakeupBufferEnd is like a helper variable here, so probably best to just do: if (PcdGetBool (PcdSevEsIsEnabled) && WakeupBufferEnd > mSevEsPeiWakeupBuffer) { // // SEV-ES Wakeup buffer should be under 1MB and under any previous one // WakeupBufferEnd = mSevEsPeiWakeupBuffer; } else if (WakeupBufferEnd > BASE_1MB) { // // Wakeup buffer should be under 1MB // WakeupBufferEnd = BASE_1MB; } which makes for a nice diff: @@ -220,7 +222,13 @@ GetWakeupBuffer ( // Need memory under 1MB to be collected here // WakeupBufferEnd = Hob.ResourceDescriptor->PhysicalStart + Hob.ResourceDescriptor->ResourceLength; - if (WakeupBufferEnd > BASE_1MB) { + if (PcdGetBool (PcdSevEsIsEnabled) && + WakeupBufferEnd > mSevEsPeiWakeupBuffer) { + // + // SEV-ES Wakeup buffer should be under 1MB and under any previous one + // + WakeupBufferEnd = mSevEsPeiWakeupBuffer; + } else if (WakeupBufferEnd > BASE_1MB) { // // Wakeup buffer should be under 1MB // Thanks, Tom > >> -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#75123): https://edk2.groups.io/g/devel/message/75123 Mute This Topic: https://groups.io/mt/82757192/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-