FDT_DTB_STATIC and LINUX_BOOT_ABI

Ian Lepore ian at freebsd.org
Tue Nov 29 03:17:46 UTC 2016


On Mon, 2016-11-28 at 23:33 +0900, Mori Hiroki wrote:
> Hi.
> 
> I have problem at u-boot arm module.
> 
> I found double size memory.
> 
> Because of u-boot parameter have ATAG_MEM and dts have memory entory.
> It's doble count.
> 
> I think check FDT_DTB_STATIC at linux_parse_boot_param() is good.
> 
> #if !defined(FDT_DTB_STATIC)
> 
>                 case ATAG_MEM:                       
> arm_physmem_hardware_region(walker->u.tag_mem.start,
>                             walker->u.tag_mem.size);
>                         break;
> #endif
> 
> How about this?
> 
> Regards
> 
> Hiroki Mori

What if someone wants to use a static dtb, but leaves the memory out of
it so that u-boot can report the actual memory via atag?

I think a better fix might be to have arm_physmem_hardware_region()
handle the case where the same region is added twice.

Can you do a verbose boot, or on a running system break into the kernel
debugger using "<CR> ~ ^B" and do a "show physmem" (then you can "cont"
to resume running the kernel).  I'm looking for this output:

Physical memory chunk(s):
  0x00001000 - 0x1dffffff,   479 MB ( 122879 pages)
Excluded memory regions:
  0x00400000 - 0x00d44fff,     9 MB (   2373 pages) NoAlloc
  0x08000000 - 0x0fffffff,   128 MB (  32768 pages) NoAlloc NoDump

-- Ian



More information about the freebsd-arm mailing list