Revert "util/spd_tools: output binaries instead of hexdumps"

This reverts commit f23794cf04.

Reason for revert: This change breaks compatibility if the changes
in CB:44775 are not also included. CB:44775 is still under discussion,
so revert this change to make spd_tools usable again.

Signed-off-by: Rob Barnes <robbarnes@google.com>
Change-Id: I5840a1b895dcbc8b91c76d8b60df2f95b93a4370
Reviewed-on: https://review.coreboot.org/c/coreboot/+/44999
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Michael Niewöhner <foss@mniewoehner.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Rob Barnes
2020-10-02 14:51:46 +00:00
committed by Michael Niewöhner
parent 2871e0e78c
commit 34cf7ccebc
5 changed files with 47 additions and 39 deletions

View File

@ -168,7 +168,7 @@ Input JSON file requires the following two fields for every memory part:
This tool generates the following files using the global list of
memory parts in JSON format as described above:
* De-duplicated SPDs required for the different memory parts. These
SPD files are named (spd_1.bin, spd_2.bin, spd_3.bin and so on)
SPD files are named (spd_1.hex, spd_2.hex, spd_3.hex and so on)
and placed in the directory provided as an input to the tool.
* CSV file representing which of the deduplicated SPD files is used
by which memory part. This file is named as
@ -176,11 +176,11 @@ memory parts in JSON format as described above:
as an input to the tool along with the generated SPD
files. Example CSV file:
```
MEMORY_PART_A, spd_1.bin
MEMORY_PART_B, spd_2.bin
MEMORY_PART_C, spd_3.bin
MEMORY_PART_D, spd_2.bin
MEMORY_PART_E, spd_2.bin
MEMORY_PART_A, spd_1.hex
MEMORY_PART_B, spd_2.hex
MEMORY_PART_C, spd_3.hex
MEMORY_PART_D, spd_2.hex
MEMORY_PART_E, spd_2.hex
```
## Tool 2 - gen_part_id.go
@ -222,9 +222,9 @@ Sample Makefile.inc:
## This is an auto-generated file. Do not edit!!
SPD_SOURCES =
SPD_SOURCES += spd_1.bin # ID = 0(0b0000) Parts = MEMORY_PART_A
SPD_SOURCES += spd_2.bin # ID = 1(0b0001) Parts = MEMORY_PART_B, MEMORY_PART_D
SPD_SOURCES += spd_3.bin # ID = 2(0b0010) Parts = MEMORY_PART_C
SPD_SOURCES += spd_1.hex # ID = 0(0b0000) Parts = MEMORY_PART_A
SPD_SOURCES += spd_2.hex # ID = 1(0b0001) Parts = MEMORY_PART_B, MEMORY_PART_D
SPD_SOURCES += spd_3.hex # ID = 2(0b0010) Parts = MEMORY_PART_C
```
### Note of caution

View File

@ -3,7 +3,6 @@
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
@ -638,14 +637,20 @@ func getSPDByte(index int, memAttribs *memAttributes) byte {
return e.constVal
}
func createSPD(memAttribs *memAttributes) bytes.Buffer {
var spd bytes.Buffer
func createSPD(memAttribs *memAttributes) string {
var s string
for i := 0; i < 512; i++ {
spd.WriteByte(getSPDByte(i, memAttribs))
b := getSPDByte(i, memAttribs)
if (i + 1) % 16 == 0 {
s += fmt.Sprintf("%02X\n", b)
} else {
s += fmt.Sprintf("%02X ", b)
}
}
return spd
return s
}
func dedupeMemoryPart(dedupedParts []*memPart, memPart *memPart) bool {
@ -660,9 +665,9 @@ func dedupeMemoryPart(dedupedParts []*memPart, memPart *memPart) bool {
}
func generateSPD(memPart *memPart, SPDId int, SPDDirName string) {
spd := createSPD(&memPart.Attribs)
memPart.SPDFileName = fmt.Sprintf("lp4x-spd-%d.bin", SPDId)
ioutil.WriteFile(filepath.Join(SPDDirName, memPart.SPDFileName), spd.Bytes(), 0644)
s := createSPD(&memPart.Attribs)
memPart.SPDFileName = fmt.Sprintf("lp4x-spd-%d.hex", SPDId)
ioutil.WriteFile(filepath.Join(SPDDirName, memPart.SPDFileName), []byte(s), 0644)
}
func readMemoryParts(memParts *memParts, memPartsFileName string) error {