aboutsummaryrefslogtreecommitdiff
path: root/tools/binman/etype/vblock.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/binman/etype/vblock.py')
-rw-r--r--tools/binman/etype/vblock.py26
1 files changed, 13 insertions, 13 deletions
diff --git a/tools/binman/etype/vblock.py b/tools/binman/etype/vblock.py
index eba5351..d473083 100644
--- a/tools/binman/etype/vblock.py
+++ b/tools/binman/etype/vblock.py
@@ -9,12 +9,13 @@
from collections import OrderedDict
import os
-from binman.entry import Entry, EntryArg
+from binman.entry import EntryArg
+from binman.etype.collection import Entry_collection
from dtoc import fdt_util
from patman import tools
-class Entry_vblock(Entry):
+class Entry_vblock(Entry_collection):
"""An entry which contains a Chromium OS verified boot block
Properties / Entry arguments:
@@ -37,9 +38,6 @@ class Entry_vblock(Entry):
"""
def __init__(self, section, etype, node):
super().__init__(section, etype, node)
- self.content = fdt_util.GetPhandleList(self._node, 'content')
- if not self.content:
- self.Raise("Vblock must have a 'content' property")
(self.keydir, self.keyblock, self.signprivate, self.version,
self.kernelkey, self.preamble_flags) = self.GetEntryArgsOrProps([
EntryArg('keydir', str),
@@ -50,14 +48,16 @@ class Entry_vblock(Entry):
EntryArg('preamble-flags', int)])
def GetVblock(self):
+ """Get the contents of this entry
+
+ Returns:
+ bytes content of the entry, which is the signed vblock for the
+ provided data
+ """
# Join up the data files to be signed
- input_data = b''
- for entry_phandle in self.content:
- data = self.section.GetContentsByPhandle(entry_phandle, self)
- if data is None:
- # Data not available yet
- return False
- input_data += data
+ input_data = self.GetContents()
+ if input_data is None:
+ return None
uniq = self.GetUniqueName()
output_fname = tools.GetOutputFilename('vblock.%s' % uniq)
@@ -80,7 +80,7 @@ class Entry_vblock(Entry):
def ObtainContents(self):
data = self.GetVblock()
- if data is False:
+ if data is None:
return False
self.SetContents(data)
return True