public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/3] m68k goes DT
@ 2025-01-05  7:14 Daniel Palmer
  2025-01-05  7:14 ` [RFC PATCH 1/3] m68k: bootinfo: Add tag for FDT address Daniel Palmer
                   ` (5 more replies)
  0 siblings, 6 replies; 20+ messages in thread
From: Daniel Palmer @ 2025-01-05  7:14 UTC (permalink / raw)
  To: geert, fthain, linux-m68k; +Cc: linux-kernel, Daniel Palmer

Short version:
I want to start converting m68k (including nommu) to use DT for booting
so I can add few cool boards I have (e.g. dual 040/060 VME board..).
I need ideas, help etc. Maybe if someone converted an m68k machine they
are using to DT alongside me this would have some hope of actually happening?

All of my WIP in-progress very messy code etc is here:
https://github.com/fifteenhex/m68kjunk

Longer version:

As of today I have:
- Modern (2024.07) u-boot fork that works on 000/030/040 real hardware/QEMU
  that supports booting a Linux ELF image. For nommu a FDT blob address
  is passed via a regiser, for mmu the normal bootinfo is created and
  the FDT is passed via a bootinfo tag. nommu never used bootinfo and doesn't
  need to.

- A Linux branch for nommu that removes most of the current DragonBall
  code, makes it into a devicetree based machine and adds a bunch of
  drivers etc. This works in a fork of QEMU I have and on the real hardware.
  The DragonBall even has a working 1bpp framebuffer. The nommu branch also
  works on 010 and better.

- A Linux branch for mmu that uses the crappy patches in this series and some
  other bits to start moving the MVME147 board over to using DT.

- A buildroot fork that can build a 000 nommu userland etc. A patch to add
  support for building for 030 is already in buildroot, I plan to send one
  for 060 later.

- A bunch of DragonBall machines, an MVME147 030 machine, an Eltec E27 dual
  socket VME board with one 040 at the moment but I have 060s to go in it once
  I work out the need jumper changes, some other 060 VME boards, Amigas...

What I'm thinking:

- We initially add passing of an FDT via bootinfo for mmu
- Add support for a generic machine that can boot almost anything so I can
  bring up my new (to Linux) machines.
- I will migrate MVME147 to device tree.
- Some like minded person migrates a machine they have to device tree. :)
- Maybe embed a FDT for machines that'll never get a bootloader that
  supports this and use the machine type to select the embedded FDT
  and move all of that stuff over without needing to mess with bootloaders.

Issues I have:

- The head.S code is real confusing, I'm not sure how I make this support
  a generic machine right now.
- The head.S code sometimes gets stuck setting up the mmu on my MVME147 when
  the kernel binary layout changes. I thought for a long time my new code was
  wrong but then discovered just making the kernel bigger by adding some printk()s
  also caused it.

Sorry for the wall of text.

Cheers,

Daniel

Daniel Palmer (3):
  m68k: bootinfo: Add tag for FDT address
  m68k: bootinfo: Add generic machine type
  m68k: Add dt support (proof of concept)

 arch/m68k/Kconfig                     |  2 +
 arch/m68k/include/uapi/asm/bootinfo.h |  4 ++
 arch/m68k/kernel/setup_mm.c           | 63 ++++++++++++++++++++++++++-
 3 files changed, 68 insertions(+), 1 deletion(-)

-- 
2.45.2


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2025-03-05  3:42 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-05  7:14 [RFC PATCH 0/3] m68k goes DT Daniel Palmer
2025-01-05  7:14 ` [RFC PATCH 1/3] m68k: bootinfo: Add tag for FDT address Daniel Palmer
2025-01-05  7:14 ` [RFC PATCH 2/3] m68k: bootinfo: Add generic machine type Daniel Palmer
2025-01-05  7:14 ` [RFC PATCH 3/3] m68k: Add dt support (proof of concept) Daniel Palmer
2025-01-05  9:40 ` [RFC PATCH 0/3] m68k goes DT Finn Thain
2025-01-05 11:00   ` Daniel Palmer
2025-01-06  3:28     ` Finn Thain
2025-01-06 15:51       ` Josh Juran
2025-01-07  0:57         ` Bootloaders, was " Finn Thain
2025-03-04 10:43           ` Daniel Palmer
2025-03-05  3:42             ` Finn Thain
2025-01-09 10:06       ` Geert Uytterhoeven
2025-01-05 14:59 ` Greg Ungerer
2025-01-06  2:10   ` Daniel Palmer
2025-01-06 11:37   ` Brad Boyer
2025-01-06 22:14     ` Finn Thain
2025-01-09 10:29       ` Geert Uytterhoeven
2025-01-14  0:42         ` Finn Thain
2025-01-09 10:31 ` Geert Uytterhoeven
2025-01-09 14:08   ` Daniel Palmer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox