Port-m68k archive

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

Re: Porting to my custom 030 board




> On Oct 1, 2025, at 3:59 AM, Lawrence Manning <lawrence%aslak.net@localhost> wrote:
> 
> Hi Chris,
> 
> Thanks for the mail and your interest in my board, and desire to get
> NetBSD working on it. I've had a very brief look at 11 but still can't
> really figure out how to begin my own porting effort. Do you have a
> set of changes which just add support for a new machine? Ideally
> something m68k, but I might glean some knowledge looking at another
> machine type.
> 
> FWIW my offer is still open, but I can gather from the lack of
> interest that either not enough skilled people are interested in such
> a board, or that they know it would be a reasonable amount of work
> even for them?

Not a lack of interest on my part, certainly (just had other life stuff going on and it’s not always easy to have time for hobbies).  I’m also working on a home-brew 68030 system (the board design is basically done; I’m still working on test cases for all of the Verilog for the 3 CPLDs on the board).

I’ve been involved with the m68k ports in NetBSD since the early-90s, and I will be the first to admit that it’s a bit of a mess in terms of “how much code is duplicated”.  I’ve been working on that, slowly, over the years.  The arc of the universe, etc. etc. etc.

Almost 2 years ago, as a fun project over the Christmas holiday, I did the “virt68k” port.  I don’t recall exactly how long it took me, but I’m pretty sure it was less than 2 weeks.  Sure, it’s a “virt” port, but it’s a pretty decent example.  It clearly shows machine-specific attachments to generic drivers.

For my own home-brew machine, I decided to take a step back and examine the landscape.  There are a fair number of 68030 home-brew systems out there in the wild, and so for my own machine I decided to try and make it easier for others to port NetBSD to their boards.  My plan is to use Flattened Device Tree, like NetBSD’s ARM SoC ports use.  This will make is SUPER easy to support additional home-brew machine with very few code changes because the device tree describes the hardware in a generic way, and the hardware that home-brewers use is all fairly common.  In my case, my system’s firmware has the device tree compiled in to the ROM, and it passes a pointer to it to the kernel using the standard m68k ABI.  But it’s not necessary to do it that way; it’s also possible to embed the device tree into a kernel binary or some auxiliary loader.  There are plenty of options.

Anyway, I’d suggest you poke around in sys/arch/virt68k as a starting point to get a feel for how a light-weight m68k port is put together.  I’m happy to answer any specific questions you have, and happy to discuss your board in more detail!

-- thorpej



Home | Main Index | Thread Index | Old Index