def _GetFmap(self): """Build an FMAP from the entries in the current image Returns: FMAP binary data """ def _AddEntries(areas, entry): entries = entry.GetEntries() if entries: for subentry in entries.values(): _AddEntries(areas, subentry) else: pos = entry.image_pos if pos is not None: pos -= entry.section.GetRootSkipAtStart() areas.append( fmap_util.FmapArea(pos or 0, entry.size or 0, tools.FromUnicode(entry.name), 0)) entries = self.section._image.GetEntries() areas = [] for entry in entries.values(): _AddEntries(areas, entry) return fmap_util.EncodeFmap(self.section.GetImageSize() or 0, self.name, areas)
def _GetFmap(self): """Build an FMAP from the entries in the current image Returns: FMAP binary data """ def _AddEntries(areas, entry): entries = entry.GetEntries() tout.Debug("fmap: Add entry '%s' type '%s' (%s subentries)" % (entry.GetPath(), entry.etype, ToHexSize(entries))) if entries and entry.etype != 'cbfs': for subentry in entries.values(): _AddEntries(areas, subentry) else: pos = entry.image_pos if pos is not None: pos -= entry.section.GetRootSkipAtStart() areas.append(fmap_util.FmapArea(pos or 0, entry.size or 0, tools.FromUnicode(entry.name), 0)) entries = self.GetImage().GetEntries() areas = [] for entry in entries.values(): _AddEntries(areas, entry) return fmap_util.EncodeFmap(self.section.GetImageSize() or 0, self.name, areas)
def _GetFmap(self): """Build an FMAP from the entries in the current image Returns: FMAP binary data """ def _AddEntries(areas, entry): entries = entry.GetEntries() if entries: for subentry in entries.values(): _AddEntries(areas, subentry) else: areas.append( fmap_util.FmapArea(entry.image_pos or 0, entry.size or 0, entry.name, 0)) entries = self.section.GetEntries() areas = [] for entry in entries.values(): _AddEntries(areas, entry) return fmap_util.EncodeFmap(self.section.GetSize() or 0, self.name, areas)