mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 16:52:14 +02:00
binman: Show the image position in the map
At present the map only shows the offset and size for each region. The image position provides the actual position of each entry in the image, regardless of the section hierarchy. Add the image position to the map. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -378,7 +378,8 @@ class Section(object):
|
|||||||
Args:
|
Args:
|
||||||
fd: File to write the map to
|
fd: File to write the map to
|
||||||
"""
|
"""
|
||||||
Entry.WriteMapLine(fd, indent, self._name, self._offset, self._size)
|
Entry.WriteMapLine(fd, indent, self._name, self._offset, self._size,
|
||||||
|
self._image_pos)
|
||||||
for entry in self._entries.values():
|
for entry in self._entries.values():
|
||||||
entry.WriteMap(fd, indent + 1)
|
entry.WriteMap(fd, indent + 1)
|
||||||
|
|
||||||
|
@@ -349,8 +349,9 @@ class Entry(object):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def WriteMapLine(fd, indent, name, offset, size):
|
def WriteMapLine(fd, indent, name, offset, size, image_pos):
|
||||||
print('%s%08x %08x %s' % (' ' * indent, offset, size, name), file=fd)
|
print('%08x %s%08x %08x %s' % (image_pos, ' ' * indent, offset,
|
||||||
|
size, name), file=fd)
|
||||||
|
|
||||||
def WriteMap(self, fd, indent):
|
def WriteMap(self, fd, indent):
|
||||||
"""Write a map of the entry to a .map file
|
"""Write a map of the entry to a .map file
|
||||||
@@ -359,7 +360,8 @@ class Entry(object):
|
|||||||
fd: File to write the map to
|
fd: File to write the map to
|
||||||
indent: Curent indent level of map (0=none, 1=one level, etc.)
|
indent: Curent indent level of map (0=none, 1=one level, etc.)
|
||||||
"""
|
"""
|
||||||
self.WriteMapLine(fd, indent, self.name, self.offset, self.size)
|
self.WriteMapLine(fd, indent, self.name, self.offset, self.size,
|
||||||
|
self.image_pos)
|
||||||
|
|
||||||
def GetEntries(self):
|
def GetEntries(self):
|
||||||
"""Return a list of entries contained by this entry
|
"""Return a list of entries contained by this entry
|
||||||
|
@@ -1052,25 +1052,25 @@ class TestFunctional(unittest.TestCase):
|
|||||||
def testMap(self):
|
def testMap(self):
|
||||||
"""Tests outputting a map of the images"""
|
"""Tests outputting a map of the images"""
|
||||||
_, _, map_data, _ = self._DoReadFileDtb('55_sections.dts', map=True)
|
_, _, map_data, _ = self._DoReadFileDtb('55_sections.dts', map=True)
|
||||||
self.assertEqual(''' Offset Size Name
|
self.assertEqual('''ImagePos Offset Size Name
|
||||||
00000000 00000028 main-section
|
00000000 00000000 00000028 main-section
|
||||||
00000000 00000010 section@0
|
00000000 00000000 00000010 section@0
|
||||||
00000000 00000004 u-boot
|
00000000 00000000 00000004 u-boot
|
||||||
00000010 00000010 section@1
|
00000010 00000010 00000010 section@1
|
||||||
00000000 00000004 u-boot
|
00000010 00000000 00000004 u-boot
|
||||||
00000020 00000004 section@2
|
00000020 00000020 00000004 section@2
|
||||||
00000000 00000004 u-boot
|
00000020 00000000 00000004 u-boot
|
||||||
''', map_data)
|
''', map_data)
|
||||||
|
|
||||||
def testNamePrefix(self):
|
def testNamePrefix(self):
|
||||||
"""Tests that name prefixes are used"""
|
"""Tests that name prefixes are used"""
|
||||||
_, _, map_data, _ = self._DoReadFileDtb('56_name_prefix.dts', map=True)
|
_, _, map_data, _ = self._DoReadFileDtb('56_name_prefix.dts', map=True)
|
||||||
self.assertEqual(''' Offset Size Name
|
self.assertEqual('''ImagePos Offset Size Name
|
||||||
00000000 00000028 main-section
|
00000000 00000000 00000028 main-section
|
||||||
00000000 00000010 section@0
|
00000000 00000000 00000010 section@0
|
||||||
00000000 00000004 ro-u-boot
|
00000000 00000000 00000004 ro-u-boot
|
||||||
00000010 00000010 section@1
|
00000010 00000010 00000010 section@1
|
||||||
00000000 00000004 rw-u-boot
|
00000010 00000000 00000004 rw-u-boot
|
||||||
''', map_data)
|
''', map_data)
|
||||||
|
|
||||||
def testUnknownContents(self):
|
def testUnknownContents(self):
|
||||||
|
@@ -124,5 +124,6 @@ class Image:
|
|||||||
filename = '%s.map' % self._name
|
filename = '%s.map' % self._name
|
||||||
fname = tools.GetOutputFilename(filename)
|
fname = tools.GetOutputFilename(filename)
|
||||||
with open(fname, 'w') as fd:
|
with open(fname, 'w') as fd:
|
||||||
print('%8s %8s %s' % ('Offset', 'Size', 'Name'), file=fd)
|
print('%8s %8s %8s %s' % ('ImagePos', 'Offset', 'Size', 'Name'),
|
||||||
|
file=fd)
|
||||||
self._section.WriteMap(fd, 0)
|
self._section.WriteMap(fd, 0)
|
||||||
|
Reference in New Issue
Block a user