Hi Alex, On 12 June 2018 at 02:12, Alexander Graf <ag...@suse.de> wrote: > > > On 12.06.18 07:26, Simon Glass wrote: >> At present this code casts addresses to pointers so cannot be used with >> sandbox. Update it to use mapmem instead. >> >> Signed-off-by: Simon Glass <s...@chromium.org> >> --- >> >> Changes in v5: None >> Changes in v4: None >> Changes in v3: >> - Drop incorrect map_sysmem() in write_smbios_table() >> >> Changes in v2: None >> >> lib/smbios.c | 32 ++++++++++++++++++++++++-------- >> 1 file changed, 24 insertions(+), 8 deletions(-) >> >> diff --git a/lib/smbios.c b/lib/smbios.c >> index df3d26b071..fc3dabcbc1 100644 >> --- a/lib/smbios.c >> +++ b/lib/smbios.c >> @@ -6,6 +6,7 @@ >> */ >> >> #include <common.h> >> +#include <mapmem.h> >> #include <smbios.h> >> #include <tables_csum.h> >> #include <version.h> >> @@ -72,9 +73,10 @@ static int smbios_string_table_len(char *start) >> >> static int smbios_write_type0(ulong *current, int handle) > > Please change the function argument to indicate that we're no longer > dealing with pointers, but instead with "u-boot physical addresses". > > Same for the other functions obviously :).
That actually hasn't changed. We are currently passing a U-Boot address around and it is a ulong, as it normally is in U-Boot. What has changed is that sandbox does not have a direct mapping between U-Boot address and memory address, so we have to do the mapping. While it is try that the ulong can be converted to a pointer with a cast normally, this is not possible with sandbox, so things that need to convert the ulong to a pointer need to do a conversion. Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot