memtest86plus/build64
01e3 771d6d4dca
Split SPD parsing and printing code from smbus.c to spd.c (#426)
* Split SPD parsing and printing code from smbus.c to spd.c

Move all SPD parsing and printing code from smbus.{c,h} to spd.{c,h}.

Introduce parse_spd() function, moving the parse_spd_* selection logic
from print_smbus_startup_info(), allowing to keep parse_spd_* static.

Remove static from get_spd() and update print_smbus_startup_info()
to use parse_spd() which also simplifies the code flow.

Move LINE_SPD into display.h and rename it to ROW_SPD. Update print_spdi()
to use explicit row number where the SPD info needs to be printed.

Rename ram_info into ram_info_t, rename print_smbus_startup_info()
into print_spd_startup_info.

Do not initialize ram.freq to 0, this is the initial value already.

Do not set curspd.isValid to False, the first thing that parse_spd()
does is setting the entire struct to 0, that also sets isValid to False.

print_spd_startup_info() from smbus.c is technically a skeleton now
so each arch can have its own version, adjusted as needed. Once
LA64 changes land, we can think how we can even make it arch agnostic.

* Add -fexcess-precision=standard to CFLAGS for build(32,64)/Makefile

Recent switch from -std=c11 to -std=gnu11 done in 53ca89f ("Add
initial NUMA awareness support") introduced a regression in SPD
parsing code (and potentially in other places) due to change of
floating point precision. Restore the original behavior by
adding -fexcess-precision=standard to CFLAGS.

Bug: https://github.com/memtest86plus/memtest86plus/issues/425
Fixes: 53ca89f8ae
2024-08-08 02:41:19 +02:00
..
ldscripts Avoid sbverify warning about gap in section table. 2023-02-02 14:01:13 +01:00
Makefile Split SPD parsing and printing code from smbus.c to spd.c (#426) 2024-08-08 02:41:19 +02:00
debug_memtest.sh Script to debug memtest86plus (efi-version) with GDB in QEMU (#177) 2023-07-30 22:09:25 +02:00