Tim Chu has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/45138 )
Change subject: arch/x86/smbios: Update SMBIOS type 0 ec version ......................................................................
Patch Set 5:
(2 comments)
https://review.coreboot.org/c/coreboot/+/45138/2/src/drivers/ipmi/ipmi_kcs_o... File src/drivers/ipmi/ipmi_kcs_ops.c:
https://review.coreboot.org/c/coreboot/+/45138/2/src/drivers/ipmi/ipmi_kcs_o... PS2, Line 283: ((bmc_revision_major / 16) * 10) + (bmc_revision_major % 16)
0x33 is not decimal 33, Are you saying that OpenBMC has a bug? In this case, we need to make it a we […]
In ipmi spec, Firmware Revision was defined into BCD encoded. That's why the format of revision need to be transferred in BIOS. In my newest patch, this function has been moved to mb/ocp/deltalake/ramstage.c.
https://review.coreboot.org/c/coreboot/+/45138/5/src/mainboard/ocp/deltalake... File src/mainboard/ocp/deltalake/ramstage.c:
https://review.coreboot.org/c/coreboot/+/45138/5/src/mainboard/ocp/deltalake... PS5, Line 38: *ec_major_revision = bmc_major_revision; : *ec_minor_revision = ((bmc_minor_revision / 16) * 10) + (bmc_minor_revision % 16); After checked with YV3 team, I found that the format of Firmware Revision 1 and Firmware Revision 2 were different in OpenBMC. In OpenBMC, Firmware Revision 1 was not defined as BCD encoded but Firmware Revision 2 was defined as BCD encoded. For this reason, the format of Firmware Revision 1 didn't need to be transferred in BIOS. I think this is an OpenBMC bug and we need OpenBMC to fix it.