Exemple #1
0
    def ReadNode(self):
        """Read entry information from the node

        This must be called as the first thing after the Entry is created.

        This reads all the fields we recognise from the node, ready for use.
        """
        if 'pos' in self._node.props:
            self.Raise("Please use 'offset' instead of 'pos'")
        self.offset = fdt_util.GetInt(self._node, 'offset')
        self.size = fdt_util.GetInt(self._node, 'size')
        self.orig_offset = fdt_util.GetInt(self._node, 'orig-offset')
        self.orig_size = fdt_util.GetInt(self._node, 'orig-size')
        if self.GetImage().copy_to_orig:
            self.orig_offset = self.offset
            self.orig_size = self.size

        # These should not be set in input files, but are set in an FDT map,
        # which is also read by this code.
        self.image_pos = fdt_util.GetInt(self._node, 'image-pos')
        self.uncomp_size = fdt_util.GetInt(self._node, 'uncomp-size')

        self.align = fdt_util.GetInt(self._node, 'align')
        if tools.NotPowerOfTwo(self.align):
            raise ValueError("Node '%s': Alignment %s must be a power of two" %
                             (self._node.path, self.align))
        self.pad_before = fdt_util.GetInt(self._node, 'pad-before', 0)
        self.pad_after = fdt_util.GetInt(self._node, 'pad-after', 0)
        self.align_size = fdt_util.GetInt(self._node, 'align-size')
        if tools.NotPowerOfTwo(self.align_size):
            self.Raise("Alignment size %s must be a power of two" %
                       self.align_size)
        self.align_end = fdt_util.GetInt(self._node, 'align-end')
        self.offset_unset = fdt_util.GetBool(self._node, 'offset-unset')
        self.expand_size = fdt_util.GetBool(self._node, 'expand-size')
Exemple #2
0
 def _ReadNode(self):
     """Read properties from the section node"""
     self._offset = fdt_util.GetInt(self._node, 'offset')
     self._size = fdt_util.GetInt(self._node, 'size')
     self._align_size = fdt_util.GetInt(self._node, 'align-size')
     if tools.NotPowerOfTwo(self._align_size):
         self._Raise("Alignment size %s must be a power of two" %
                     self._align_size)
     self._pad_before = fdt_util.GetInt(self._node, 'pad-before', 0)
     self._pad_after = fdt_util.GetInt(self._node, 'pad-after', 0)
     self._pad_byte = fdt_util.GetInt(self._node, 'pad-byte', 0)
     self._sort = fdt_util.GetBool(self._node, 'sort-by-offset')
     self._end_4gb = fdt_util.GetBool(self._node, 'end-at-4gb')
     self._skip_at_start = fdt_util.GetInt(self._node, 'skip-at-start')
     if self._end_4gb:
         if not self._size:
             self._Raise("Section size must be provided when using end-at-4gb")
         if self._skip_at_start is not None:
             self._Raise("Provide either 'end-at-4gb' or 'skip-at-start'")
         else:
             self._skip_at_start = 0x100000000 - self._size
     else:
         if self._skip_at_start is None:
             self._skip_at_start = 0
     self._name_prefix = fdt_util.GetString(self._node, 'name-prefix')
Exemple #3
0
    def ReadNode(self):
        """Read entry information from the node

        This reads all the fields we recognise from the node, ready for use.
        """
        self.pos = fdt_util.GetInt(self._node, 'pos')
        self.size = fdt_util.GetInt(self._node, 'size')
        self.align = fdt_util.GetInt(self._node, 'align')
        if tools.NotPowerOfTwo(self.align):
            raise ValueError("Node '%s': Alignment %s must be a power of two" %
                             (self._node.path, self.align))
        self.pad_before = fdt_util.GetInt(self._node, 'pad-before', 0)
        self.pad_after = fdt_util.GetInt(self._node, 'pad-after', 0)
        self.align_size = fdt_util.GetInt(self._node, 'align-size')
        if tools.NotPowerOfTwo(self.align_size):
            raise ValueError("Node '%s': Alignment size %s must be a power "
                             "of two" % (self._node.path, self.align_size))
        self.align_end = fdt_util.GetInt(self._node, 'align-end')
        self.pos_unset = fdt_util.GetBool(self._node, 'pos-unset')
Exemple #4
0
 def _ReadNode(self):
     """Read properties from the image node"""
     self._size = fdt_util.GetInt(self._node, 'size')
     self._align_size = fdt_util.GetInt(self._node, 'align-size')
     if tools.NotPowerOfTwo(self._align_size):
         self._Raise("Alignment size %s must be a power of two" %
                     self._align_size)
     self._pad_before = fdt_util.GetInt(self._node, 'pad-before', 0)
     self._pad_after = fdt_util.GetInt(self._node, 'pad-after', 0)
     self._pad_byte = fdt_util.GetInt(self._node, 'pad-byte', 0)
     filename = fdt_util.GetString(self._node, 'filename')
     if filename:
         self._filename = filename
     self._sort = fdt_util.GetBool(self._node, 'sort-by-pos')
     self._end_4gb = fdt_util.GetBool(self._node, 'end-at-4gb')
     if self._end_4gb and not self._size:
         self._Raise("Image size must be provided when using end-at-4gb")
     if self._end_4gb:
         self._skip_at_start = 0x100000000 - self._size