[openbeos] ARM port

  • From: Nicholas Blachford <nicholas@xxxxxxxxxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Sun, 29 Jun 2008 13:23:50 +0100

From: Stephan Assmus wrote:

My opinion on the focus shift was that yes, it was a bad move but they
really had no other choice.
At the time Be couldn't even *give* BeOS to PC vendors so they jumped on
a potential market which never played out.

The worst thing about it is that they managed to convince quite a few
bigger application vendors to devote resources into ports and shortly
before those where ready, here comes the Focus Shift. From what I
understand, it wasn't just Nuendo.

If they'd waited until this stuff arrived maybe things could have been very different... Then again OSs are becoming increasingly commoditised so maybe it would only have held off the inevitable.

Anyway, I'm half considering doing the ARM port myself... I'll need to
start reading up on the Haiku kernel, anyone got any pointers where I
should start?

Now *that's* the spirit! :-)


I don't know if there is much material about
the subject although some material may be at <www.haiku-os.org/documents >.
The code should hopefully be well structured and there are some people
around with porting knowledge: Francois Revol is working on the M68K port right now (mmu_man in #haiku), Ingo Weinhold had worked on the PPC port at a time, Axel Dörfler of course and Travis (gheist), who wrote the NewOS
kernel, is also pretty helpful and usually around in #haiku. The best
approach may be to eventually get network booting going for short turn
around times, if your device supports it. Axel and Ingo can probably help
you best with that.

Ok, thanks.

Travis Geiselbrecht wrote:

Yep, however if you want anything reasonably close to a PC performance
wise, you're going to want to target an arm11 or above. arm9s have
serious restrictions on how the mmu/cpu cache works, and generally is
somewhat inefficient running systems with lots of address spaces
(context switches are pretty expensive).

François wrote:

Well it's what the OpenMoko FreeRunner uses:
as well as GP2X:

The boards I'm looking at to use are based on the Cortex A8, it is 2 generations newer, that said I'll have to look into the differences between V6 (ARM 11) and V7 (A8+) so it doesn't rule out the ARM11.

I'd be willing to help out. I work with low level arm code day in and
day out (currently doing linux hackery on ARM, previously did some of
the kernel hackery at apple to get darwin onto it). It's pretty
straightforward. I never got around to porting newos to arm mostly
because I was doing it at work, so I figured it wouldn't be a good
idea to do the same thing at home, but it's a pretty easy port.

If it'll help I can probably pretty quickly get newos ported to arm if
you want to use the code as reference. Probably wont take more than a
day or so to get the core kernel stuff running on it. It's the system
drivers that take a while with these chips, since essentially every
vendor's arm implementation is an entirely new architecture. The only
thing that is really shared is the instruction set, essentially.

At the minimum, come by #haiku and ask me questions if you need any
help. I've pretty much seen it and done it with regards to porting
stuff to arm, I doubt you'll stump me with anything new. :)

travis (geist)

OK, cool.

I've a *lot* to learn so anything that'll help will be most useful.

I've never done anything like this so I don't know how long it'll take (given limited time) or even if I'll ever finish it, but it sounds like a good challenge so I'll have a go at it.


Nicholas Blachford
"You made your point, you will be deleted."

Other related posts: