summaryrefslogtreecommitdiffstats
path: root/AppPkg
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2017-08-02 20:31:08 +0200
committerLaszlo Ersek <lersek@redhat.com>2017-08-05 01:31:53 +0200
commitd0c9afea42a07c95613d0a33433ecefef824fcf3 (patch)
tree953cb9e16f80bb64b370070174f0f1bbc3a84af8 /AppPkg
parentf1658838c267723139711c0b15d98a74980ae4c5 (diff)
downloadedk2-d0c9afea42a07c95613d0a33433ecefef824fcf3.tar.gz
edk2-d0c9afea42a07c95613d0a33433ecefef824fcf3.tar.bz2
edk2-d0c9afea42a07c95613d0a33433ecefef824fcf3.zip
OvmfPkg/IoMmuDxe: Unmap(): recycle MAP_INFO after BusMasterCommonBuffer[64]
In order for Unmap() to be callable from ExitBootServices() event handler context (for cleaning up a BusMasterCommonBuffer[64] operation), we have to completely liberate the affected path in Unmap() from dynamic memory management. The last remaining piece is the release of the MAP_INFO structure. Rather than freeing it with FreePool(), recycle it to an internal list. Elements of this "free list" can be reused for any kind of Map() operation, and can be freed later, or recycled again. Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Brijesh Singh <brijesh.singh@amd.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Brijesh Singh <brijesh.singh@amd.com> Reviewed-by: Brijesh Singh <brijesh.singh@amd.com>
Diffstat (limited to 'AppPkg')
0 files changed, 0 insertions, 0 deletions