Skip to content

Commit 2d5c7fc

Browse files
committed
WIP amdana
Signed-off-by: Daniel Maslowski <[email protected]>
1 parent a5035c6 commit 2d5c7fc

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

cmds/amdana/main.go

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
package main
2+
3+
import (
4+
"encoding/json"
5+
"flag"
6+
"fmt"
7+
"io/ioutil"
8+
"log"
9+
10+
amd "github.com/linuxboot/fiano/pkg/amd/manifest"
11+
)
12+
13+
const (
14+
// This needed a look at the image; how can we fully automate it?
15+
mapping = 0xff000000
16+
)
17+
18+
// this is only for Go - would be 5 lines inline in JS, thanks...
19+
type dummyFirmware struct {
20+
image []byte
21+
}
22+
23+
func (f dummyFirmware) ImageBytes() []byte {
24+
return f.image
25+
}
26+
27+
func (f dummyFirmware) PhysAddrToOffset(physAddr uint64) uint64 {
28+
return physAddr - mapping
29+
}
30+
31+
func (f dummyFirmware) OffsetToPhysAddr(offset uint64) uint64 {
32+
return offset + mapping
33+
}
34+
35+
func main() {
36+
flag.Parse()
37+
args := flag.Args()
38+
39+
var path string
40+
var amdfw dummyFirmware
41+
42+
if len(args) > 0 {
43+
path = args[0]
44+
data, err := ioutil.ReadFile(path)
45+
if err != nil {
46+
log.Fatal(err)
47+
}
48+
amdfw.image = data
49+
fw, err := amd.NewAMDFirmware(amdfw)
50+
if err != nil {
51+
log.Fatal(err)
52+
}
53+
a := fw.PSPFirmware()
54+
j, err := json.MarshalIndent(a, "", " ")
55+
if err != nil {
56+
log.Fatal(err)
57+
}
58+
fmt.Printf(string(j))
59+
}
60+
}

0 commit comments

Comments
 (0)