Florian Fainelli <f.faine...@gmail.com> writes: > On 05/10/2018 06:04 AM, Thomas Fitzsimmons wrote: >> Florian Fainelli <f.faine...@gmail.com> writes: >> >>> On 05/06/2018 04:09 AM, Thomas Fitzsimmons wrote:
[...] >>>> + >>>> +config BCMSTB_ACCOMMODATE_STBLINUX >>>> + bool "" >>>> + default y >>>> + help >>>> + This prevents U-Boot from adding memory reservations for the >>>> + lengths of initramfs and DTB. Without skipping these, >>>> + stblinux's "contiguous memory allocator" (CMA) Linux driver >>>> + (cma_driver) will allocate memory ranges smaller than what >>>> + are actually available, because it only checks reservation >>>> + sizes. It doesn't check if the reserved range overlaps the >>>> + range it allocates. stblinux also tries to move the DTB to >>>> + a lower memory location early in the Linux boot. If the FIT >>>> + image specifies a load address for the initramfs then >>>> + sometimes the DTB is moved into the range where the >>>> + initramfs image is loaded. Defining this will mean that >>>> + FIT-provided initramfs load addresses are ignored. >>> >>> What STB Linux kernel did you observe this with? I am afraid this is >>> still true about the ranges vs. allocation even in newer kernels, but >>> that is kind of intented to keep the logic KISS (because it's already >>> too complicated IMHO). >> >> I investigated the allocation discrepancy and wrote the workaround while >> we were still using stblinux-3.14. Since then we've updated to >> stblinux-4.1 and I've left the workaround enabled, but I haven't >> investigated its interactions with the newer bmem mechanism. I should >> probably revisit this though, with stblinux-4.1 and stblinux-4.9, just >> to make sure this macro is still useful. > > Sounds good, let me know if there is something that does not seem quite > right, we could fix it. [...] In the v3 patch, I keep the FIT's RFS and DTB in-place. This approach eliminates the bmem/cma allocation discrepancies. I compared bmem/cma dmesg output for stblinux 3.14, 4.1 and 4.9, zImage and ITB builds, on my eval board, and they're all the same for the same kernel version. The only thing I noticed is that in 3.14 and 4.1 (zImage and ITB), the first bmem region is: 768 MiB at 0x0000000010000000 whereas in 4.9 (zImage and ITB), it is: 760 MiB at 0x0000000010800000 This is booting with no kernel command line arguments, so I guess some default may have changed between stblinux 4.1 and 4.9? Thomas _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot