
Am 12. Mai 2021 18:01:17 MESZ schrieb Simon Glass sjg@chromium.org:
Hi Heinrich,
On Tue, 11 May 2021 at 13:03, Heinrich Schuchardt xypron.glpk@gmx.de wrote:
Addresses in state->ram_buf must be in the low 4 GiB of the address
space.
Otherwise we cannot correctly fill SMBIOS tables. This shows up in
warnings
like:
WARNING: SMBIOS table_address overflow 7f752735e020
This sounds like a bug in the smbios-table code. For sandbox it should perhaps use addresses instead of pointers.
I think that code (that I unfortunately wrote) was an expeditious way of getting it running, but is not correct.
The field you are filling is only 32bit wide. I wonder how that table is meant to work on systems where the lowest memory address is above 4 GiB. Such ARMv8 systems exist.
Best regards
Heinrich
Ensure that state->ram_buf is initialized by the first invocation of os_malloc().
Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de
arch/sandbox/cpu/start.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)
Regards, Simon