From cf8da73ae37c23bdaaa2fac64b860bf3afd08250 Mon Sep 17 00:00:00 2001 From: timevortex Date: Thu, 18 Feb 2016 16:56:34 +1100 Subject: [PATCH] Extract PDR section of Flash FlashRegionSectionType already parses PdrBase and PdrLimit. This bit of the code just makes sure that FlashDescriptor uses that information to extract that region out. --- uefi_firmware/flash.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/uefi_firmware/flash.py b/uefi_firmware/flash.py index 4744886..1c212e7 100644 --- a/uefi_firmware/flash.py +++ b/uefi_firmware/flash.py @@ -163,6 +163,18 @@ def _region_offset(base): }) gbe_region.process() self.regions.append(gbe_region) + + pdr_base = self.region.structure.PdrBase + pdr_limit = self.region.structure.PdrLimit + pdr_size = _region_offset(pdr_base) + _region_size(pdr_base, pdr_limit) + pdr = self.data[_region_offset(pdr_base): pdr_size] + + pdr_region = FlashRegion(pdr, "pdr", { + "base": pdr_base, + "limit": pdr_limit, + }) + pdr_region.process() + self.regions.append(pdr_region) return True def showinfo(self, ts='', index=None):