Skip to content

Commit 3100647

Browse files
zaolinChriMarMe
authored andcommitted
Kill bpm/km parser in fit parer and return reader instead
Signed-off-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com>
1 parent d68ffea commit 3100647

2 files changed

Lines changed: 6 additions & 44 deletions

File tree

pkg/intel/metadata/fit/ent_boot_policy_manifest.go

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@ package fit
66

77
import (
88
"bytes"
9-
"fmt"
109
"io"
11-
12-
"github.com/linuxboot/fiano/pkg/intel/metadata/cbnt/cbntbootpolicy"
1310
)
1411

1512
// EntryBootPolicyManifestRecord represents a FIT entry of type "Boot Policy Manifest" (0x0C)
@@ -32,23 +29,7 @@ func (entry *EntryBootPolicyManifestRecord) CustomRecalculateHeaders() error {
3229
return nil
3330
}
3431

35-
// ParseData creates EntryKeyManifestRecord from EntryKeyManifest
36-
func (entry *EntryBootPolicyManifestRecord) ParseData() (*cbntbootpolicy.Manifest, error) {
37-
var bpManifest cbntbootpolicy.Manifest
38-
_, err := bpManifest.ReadFrom(bytes.NewReader(entry.DataSegmentBytes))
39-
if err != nil {
40-
return nil, fmt.Errorf("failed to parse KeyManifest, err: %v", err)
41-
}
42-
return &bpManifest, nil
43-
}
44-
45-
// ParseBootPolicyManifest returns a boot policy manifest if it was able to
46-
// parse one.
47-
func (table Table) ParseBootPolicyManifest(firmware []byte) (*cbntbootpolicy.Manifest, error) {
48-
hdr := table.First(EntryTypeBootPolicyManifest)
49-
if hdr == nil {
50-
return nil, ErrNotFound{}
51-
}
52-
53-
return hdr.GetEntry(firmware).(*EntryBootPolicyManifestRecord).ParseData()
32+
// Reader creates io.ReadSeeker from EntryBootPolicyManifestRecord
33+
func (entry *EntryBootPolicyManifestRecord) Reader() *bytes.Reader {
34+
return bytes.NewReader(entry.DataSegmentBytes)
5435
}

pkg/intel/metadata/fit/ent_key_manifest_record.go

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@ package fit
66

77
import (
88
"bytes"
9-
"fmt"
109
"io"
11-
12-
"github.com/linuxboot/fiano/pkg/intel/metadata/cbnt/cbntkey"
1310
)
1411

1512
// EntryKeyManifestRecord represents a FIT entry of type "Key Manifest Record" (0x0B)
@@ -32,23 +29,7 @@ func (entry *EntryKeyManifestRecord) CustomRecalculateHeaders() error {
3229
return nil
3330
}
3431

35-
// ParseData creates EntryKeyManifestRecord from EntryKeyManifest
36-
func (entry *EntryKeyManifestRecord) ParseData() (*cbntkey.Manifest, error) {
37-
var km cbntkey.Manifest
38-
_, err := km.ReadFrom(bytes.NewReader(entry.DataSegmentBytes))
39-
if err != nil {
40-
return nil, fmt.Errorf("failed to parse KeyManifest, err: %v", err)
41-
}
42-
return &km, nil
43-
}
44-
45-
// ParseKeyManifest returns a boot policy manifest if it was able to
46-
// parse one.
47-
func (table Table) ParseKeyManifest(firmware []byte) (*cbntkey.Manifest, error) {
48-
hdr := table.First(EntryTypeKeyManifestRecord)
49-
if hdr == nil {
50-
return nil, ErrNotFound{}
51-
}
52-
53-
return hdr.GetEntry(firmware).(*EntryKeyManifestRecord).ParseData()
32+
// Reader creates io.ReadSeeker from EntryKeyManifestRecord
33+
func (entry *EntryKeyManifestRecord) Reader() *bytes.Reader {
34+
return bytes.NewReader(entry.DataSegmentBytes)
5435
}

0 commit comments

Comments
 (0)