On Thu, Feb 22, 2024 at 11:29:48AM -0600, Tom Lendacky wrote: > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4654 > > When building the Page State Change entries for a range of memory, it can > happen that multiple calls to BuildPageStateBuffer() need to be made. If > the size of the input work area passed to BuildPageStateBuffer() exceeds > the number of entries that can be passed to the hypervisor using the GHCB > shared buffer, the Page State Change VMGEXIT support will issue multiple > VMGEXITs to process all entries in the buffer. > > However, it could be that the final VMGEXIT for each round of Page State > Changes is only for a small number of entries and subsequent VMGEXITs may > still be issued to handle the full range of memory requested. To maximize > the number of entries processed during the Page State Change VMGEXIT, > limit BuildPageStateBuffer() to not build entries that exceed the maximum > number of entries that can be handled in a single Page State Change > VMGEXIT. > > Signed-off-by: Tom Lendacky <thomas.lenda...@amd.com>
Reviewed-by: Gerd Hoffmann <kra...@redhat.com> -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116027): https://edk2.groups.io/g/devel/message/116027 Mute This Topic: https://groups.io/mt/104512950/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-