On 05/16/2018 07:15 PM, Heinrich Schuchardt wrote: > On 05/16/2018 05:42 PM, Simon Glass wrote: >> With sandbox the U-Boot code is not mapped into the sandbox memory range >> so does not need to be excluded when allocating EFI memory. Update the EFI >> memory init code to take account of that. >> >> Also use mapmem instead of a cast to convert a memory address to a >> pointer. >> >> Signed-off-by: Simon Glass <s...@chromium.org> > > running ./u-boot > > bootefi selftest > Found 0 disks > WARNING: booting without device tree > > Testing EFI API implementation > > Number of tests to execute: 17 > > Setting up 'block device' > Setting up 'block device' succeeded > > Executing 'block device' > lib/efi_selftest/efi_selftest_block_device.c(378): > TODO: Wrong volume label 'xxa1', expected 'U-BOOT TEST' > FAT: Misaligned buffer address (00007ff70aafe658) > Segmentation fault > > Please, fix the alignment fault. You have to ensure that the memory that > Sandbox has retrieved via malloc is reduced to 4k aligned pages before > being published to the EFI implementation in lib/efi_loader/efi_memory.c
Hello Simon, couldn't we use mmap() instead of malloc() to allocate the memory used by the Sandbox? This would guarantee page aligned memory. mmap() with MAP_ANON is available both on POSIX and BSD systems. Best regards Heinrich _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot