Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Nov 2016 20:17:34 -0700
From:      Ian Lepore <ian@freebsd.org>
To:        Mori Hiroki <yamori813@yahoo.co.jp>, "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>
Subject:   Re: FDT_DTB_STATIC and LINUX_BOOT_ABI
Message-ID:  <1480389454.1889.153.camel@freebsd.org>
In-Reply-To: <105386.51359.qm@web101710.mail.ssk.yahoo.co.jp>
References:  <105386.51359.qm@web101710.mail.ssk.yahoo.co.jp>

next in thread | previous in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1480389454.1889.153.camel>