mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
binman: Correct fmap output on x86
Normally x86 platforms use the end-at-4gb option. This currently produces an FMAP with positions which have a large offset. The use of end-at-4gb is a useful convenience within binman, but we don't really want to export a map with these offsets. Fix this by subtracting the 'skip at start' parameter. Also put the code which convers names to fmap format, for clarity. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -68,6 +68,7 @@ class Section(object):
|
||||
self._end_4gb = False
|
||||
self._name_prefix = ''
|
||||
self._entries = OrderedDict()
|
||||
self._image_pos = None
|
||||
if not test:
|
||||
self._ReadNode()
|
||||
self._ReadEntries()
|
||||
@@ -124,7 +125,10 @@ class Section(object):
|
||||
def SetCalculatedProperties(self):
|
||||
state.SetInt(self._node, 'offset', self._offset)
|
||||
state.SetInt(self._node, 'size', self._size)
|
||||
state.SetInt(self._node, 'image-pos', self._image_pos)
|
||||
image_pos = self._image_pos
|
||||
if self._parent_section:
|
||||
image_pos -= self._parent_section.GetRootSkipAtStart()
|
||||
state.SetInt(self._node, 'image-pos', image_pos)
|
||||
for entry in self._entries.values():
|
||||
entry.SetCalculatedProperties()
|
||||
|
||||
@@ -437,11 +441,17 @@ class Section(object):
|
||||
source_entry.Raise("Cannot find node for phandle %d" % phandle)
|
||||
for entry in self._entries.values():
|
||||
if entry._node == node:
|
||||
if entry.data is None:
|
||||
return None
|
||||
return entry.data
|
||||
return entry.GetData()
|
||||
source_entry.Raise("Cannot find entry for node '%s'" % node.name)
|
||||
|
||||
def ExpandSize(self, size):
|
||||
if size != self._size:
|
||||
self._size = size
|
||||
|
||||
def GetRootSkipAtStart(self):
|
||||
if self._parent_section:
|
||||
return self._parent_section.GetRootSkipAtStart()
|
||||
return self._skip_at_start
|
||||
|
||||
def GetImageSize(self):
|
||||
return self._image._size
|
||||
|
||||
Reference in New Issue
Block a user