summaryrefslogtreecommitdiff
path: root/util/spd_tools/ddr4/gen_spd.go
diff options
context:
space:
mode:
Diffstat (limited to 'util/spd_tools/ddr4/gen_spd.go')
-rw-r--r--util/spd_tools/ddr4/gen_spd.go25
1 files changed, 11 insertions, 14 deletions
diff --git a/util/spd_tools/ddr4/gen_spd.go b/util/spd_tools/ddr4/gen_spd.go
index 3c8f71a263..b60ab03d81 100644
--- a/util/spd_tools/ddr4/gen_spd.go
+++ b/util/spd_tools/ddr4/gen_spd.go
@@ -3,6 +3,7 @@
package main
import (
+ "bytes"
"encoding/json"
"fmt"
"io/ioutil"
@@ -968,8 +969,8 @@ func getSPDByte(index int, memAttribs *memAttributes) byte {
return e.constVal
}
-func createSPD(memAttribs *memAttributes) string {
- var s string
+func createSPD(memAttribs *memAttributes) bytes.Buffer {
+ var spd bytes.Buffer
for i := 0; i < 512; i++ {
var b byte = 0
@@ -977,14 +978,10 @@ func createSPD(memAttribs *memAttributes) string {
b = getSPDByte(i, memAttribs)
}
- if (i + 1) % 16 == 0 {
- s += fmt.Sprintf("%02X\n", b)
- } else {
- s += fmt.Sprintf("%02X ", b)
- }
+ spd.WriteByte(b)
}
- return s
+ return spd
}
func dedupeMemoryPart(dedupedParts []*memPart, memPart *memPart) bool {
@@ -999,16 +996,16 @@ func dedupeMemoryPart(dedupedParts []*memPart, memPart *memPart) bool {
}
func generateSPD(memPart *memPart, SPDId int, SPDDirName string) {
- s := createSPD(&memPart.Attribs)
- memPart.SPDFileName = fmt.Sprintf("ddr4-spd-%d.hex", SPDId)
- ioutil.WriteFile(filepath.Join(SPDDirName, memPart.SPDFileName), []byte(s), 0644)
+ spd := createSPD(&memPart.Attribs)
+ memPart.SPDFileName = fmt.Sprintf("ddr4-spd-%d.bin", SPDId)
+ ioutil.WriteFile(filepath.Join(SPDDirName, memPart.SPDFileName), spd.Bytes(), 0644)
}
func generateEmptySPD(SPDDirName string) {
- s := createSPD(nil)
- SPDFileName := "ddr4-spd-empty.hex"
- ioutil.WriteFile(filepath.Join(SPDDirName, SPDFileName), []byte(s), 0644)
+ spd := createSPD(nil)
+ SPDFileName := "ddr4-spd-empty.bin"
+ ioutil.WriteFile(filepath.Join(SPDDirName, SPDFileName), spd.Bytes(), 0644)
}
func readMemoryParts(memParts *memParts, memPartsFileName string) error {