Re: [PATCH 10/13] m68k: implement an embedded devicetree for nonmmu

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Geert,

On 21/2/25 00:06, Geert Uytterhoeven wrote:
Hi Greg,

On Tue, 18 Feb 2025 at 13:54, Greg Ungerer <gerg@xxxxxxxxxxxxxx> wrote:
If there is no capability for the boot loader to specify a devicetree
blob then this option allows for it to be embedded within the linux
kernel binary itself. This change specifically adds this embedding
support for the m68knommu targets.

Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxxxxx>

Thanks for your patch!

--- a/arch/m68k/Kconfig.devices
+++ b/arch/m68k/Kconfig.devices
@@ -144,3 +144,14 @@ config SERIAL_CONSOLE
  endmenu

  endif
+
+config EMBEDDED_DTB

BUILTIN_DTB

+       bool "Embedded devicetree ELF section"

select GENERIC_BUILTIN_DTB

+       help
+         If there is no capability for the boot loader to specify a
+         devicetree (DTB) then this option allows for it to be embedbed
+         within the linux binary itself. Typically you can do this with
+         something like this:
+
+               objcopy --update-section .embedded_dtb=<filename>.dtb vmlinux
+

--- a/arch/m68k/kernel/vmlinux-nommu.lds
+++ b/arch/m68k/kernel/vmlinux-nommu.lds
@@ -70,6 +70,15 @@ SECTIONS {
         INIT_TEXT_SECTION(PAGE_SIZE)
         INIT_DATA_SECTION(16)
         PERCPU_SECTION(16)
+
+#ifdef CONFIG_EMBEDDED_DTB
+       STRUCT_ALIGN();
+       .embedded_dtb : {
+               embedded_dtb = .;
+               *(.embedded_dtb)
+               KEEP(*(.embedded_dtb))
+       }
+#endif
         .m68k_fixup : {
                 __start_fixup = .;
                 *(.m68k_fixup)

Please use the existing DTB support in include/asm-generic/vmlinux.lds.h.

Oh yes, that is much better. Using CONFIG_BUILTIN_DTB_NAME simplifies
it all a lot more too. Will use that in the next version.

Thanks
Greg





[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux