From ce036bd1769d018af88df95c0e871d8da1f30556 Mon Sep 17 00:00:00 2001 From: Rob Barnes Date: Mon, 27 Jul 2020 09:27:31 -0600 Subject: util/apcb: Strip SPD manufacturer information Strip manufacturer information from SPDs before injecting into APCB. This allows more flexibility around changing DRAM modules in the future. BUG=b:162098961 TEST=Boot, dump memory info Signed-off-by: Rob Barnes Change-Id: I1bbc81a858f381f62dbd38bb57b3df0e6707d647 Reviewed-on: https://review.coreboot.org/c/coreboot/+/43832 Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh --- util/apcb/apcb_edit.py | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'util') diff --git a/util/apcb/apcb_edit.py b/util/apcb/apcb_edit.py index 54d59d6fcc..388b18ad73 100755 --- a/util/apcb/apcb_edit.py +++ b/util/apcb/apcb_edit.py @@ -58,6 +58,10 @@ def parseargs(): '--hex', action='store_true', help='SPD input file is hex encoded, binary otherwise') + parser.add_argument( + '--strip_manufacturer_information', + action='store_true', + help='Strip all manufacturer information from SPD') parser.add_argument( '--board_id_gpio0', type=int, @@ -155,6 +159,13 @@ def main(): assert len(spd) == 512, \ "Expected SPD to be 512 bytes, got %d" % len(spd) + if args.strip_manufacturer_information: + print("Stripping manufacturer information from SPD") + spd = spd[0:320] + b'\x00'*64 + spd[320+64:] + + assert len(spd) == 512, \ + "Error while stripping SPD manufacurer information" + print("Enabling channel %d, dimm %d and injecting SPD" % (spd_ssp.ChannelNumber, spd_ssp.DimmNumber)) spd_ssp = spd_ssp._replace(SpdValid=True, DimmPresent=True) -- cgit v1.2.3