Messages in this thread |  | | Date | Wed, 13 Nov 2013 10:14:43 -0600 | From | Rob Herring <> | Subject | Re: [PATCH RFC 15/17] microblaze: Convert from _fdt_start to __dtb_start |
| |
On 11/13/2013 07:40 AM, Michal Simek wrote: > On 11/13/2013 11:19 AM, Michal Simek wrote: >> On 11/12/2013 08:42 PM, Geert Uytterhoeven wrote: >>> Kill the microblaze-specific __fdt_blob section, and start >>> using .dtb.init.rodata from <asm-generic/sections.h> for >>> built-in DTBs, like most other DT enabled architectures. >>> >>> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Cc: >>> Michal Simek <monstr@monstr.eu> Cc: Rob Herring >>> <rob.herring@calxeda.com> Cc: >>> microblaze-uclinux@itee.uq.edu.au Cc: >>> devicetree@vger.kernel.org --- Untested, but the resulting >>> vmlinux after "make simpleImage.system" looks sane. >>> >>> QUESTION: The padding of the DTB is gone, is this OK? >> >> Removing this kernel padding should be fine. I can't remember why >> it was there from the beginning. > > I know why is this here. The reason is process how dtb is passed to > the kernel via command line. head.S code just copy that dtb to the > same location where compiled-in dts is expected and kernel doesn't > need to care about position of dtb because this copy is done > without MMU. And the full kernel is covered by 2 tlbs and we don't > need to use another TLB for dtb mapping. > > It means pad matters a lot. Because u-boot ITS format doesn't use > simpleImage target but the kernel need to have a space for copying > dtb to this kernel location. > > Let me think about if there is an easy way to handle dtbs which are > passed from bootloader.
Isn't the built-in dtb in a RO init section? Seems like a bad idea to write to it. Also, it will be a double copy because a built-in dtb has to be copied out of init section.
Rob
|  |