[GSoC 2022] ARM port and device tree support Phase 1 | Haiku Project

In the first stage of work, the following content was completed:

The following will show how to compile haiku on osx and run it on qemu (my version: hrev56168)


This is a companion discussion topic for the original entry at https://www.haiku-os.org/blog/zhihong/2022-06-24_gsoc_2022_arm_port_and_device_tree_support_phase_1/
11 Likes

Nice work! Missing some images I think in the post :wink:

3 Likes

Thanks, dear Zhihong - NIU - !
If I would have a Mac actually, I would follow your nice rabbit :))
as you were dragging me in to discover development stuff with you when I red your post.

So you want a joyride with the whole community, huh ? :smiley:
Mostly we are only waiting lazily and peeking over the shoulders what and how was coded - and of course the results
This way your format was likewise to enable that.and can bring more readers with status progress and solved challanges :wink:

Have a huge joy breaking bushes of a development you selected and a resulted device tree you would satisfied and hopefully being merged !

Kudos and be blessed !

2 Likes

This is a great work, i wanna see more of that!

Thanks!

Any news news news? :slight_smile:

1 Like

I’ve also been wondering about ARM progress since I’ve noticed a lot of commits:

Seems @davidkaroly has been busy! :slight_smile:

6 Likes

well, you could check it precisely …
as well as @milek7 - he contributes to ARM64

ARM and ARM64 progress parallel and together as well
There are works on EFI loader progress, and differentially the kernel as well.
Also the supports of platforms in kernel started to separated that way some codes get out from x86 or x86_64 what can be used in ARM or ARM64, RISC-V as well.
Some parts must be rewritten as ARM, ARM64 or RISC-V use different methods (HW/SW) to help device detection/configuration during boot and addressing - so those should be developed. For example PCI is not really so important as in PC machines regarding to interfaces, but of course exists - if I understood well from comments in patches and the discussions in forum posts.about EFI / ARM progress.

I think it would worth to write an article about in a blogpost to cover what happens and will happen for those people in the community who cannot spend time to read all those things on forum and other available sources.

Yes, you are right : we get portions of ARM and RISC-V news in every monthly update reports - but as it is overall progress of Haiku not the best place for write about some roadmap - like progress or enhancements in this topic.

But of course I think as those who develops actually - they would rather write the new codes or enhance the existing code to use their available time efficiently - I do not know who could write an article about it :slight_smile: …
who knows the problems and the gains Haiku has actually and have enough time to write about it in a wider prospect.

2 Likes

I did see a mike in the commits, I didn’t know the forum person to tag.

It would be interesting to learn more about how the low-level stuff works, and what aspects are architecture-specific. I also hope that the PPC port will progress, and perhaps have PPC64 someday :slight_smile:. Someone this week asked on Reddit about it.

yep, I spent some time on testing and formatting the patches from @milek7 to get them integrated into the tree… I’ll write an update on that soon in the arm64 topic

8 Likes

The thing is, from the user perspective there is not a lot of progress. I think Haiku is still not getting past early kernel init on these architectures. It is less and less “early”, but it is still not running userspace. I guess the big announcement will come when that happens?

There is still probably material for a blog post, to know things are happening and what the next steps are.

1 Like

Dear @rjzak !

I think related to PPC architecture the question is first you mean PPC legacy HW so older Macs and even older AIM things for PCs, or newer PPC you could refer as PPC64.
Both cases needs a developer who has enough knowledge about old or new architecture and have enough free time to do it.
I assume it lacks developing for that platform as the old ones can be used with another OSes with more application programs like Haiku and probably not used or tried to use as a daily driver anymore. You could have hope if some big old developer(s) of this architecture would find interest again in this old PPC architecture besides their actual users who would give a second life for their old machines besides probably used older BeOS or Linux even MacIntosh.
Someone probably make me more precise on this topic if I left out something of sorting possibilities of available OSes and their ratio related to available apps on them.
For really new open and lately developed PPC hardware the chosen OS is Linux or AROS if I understood well.
AROS for lovers of AmigaOS, Linux as a swiss knife for new architectures.
As you could seen from new HW the RISC-V and ARM64 has Haiku developers actually.
ARM is obvious as they who contributing now they told that have experience in them related to this HW, so they intersted in it - it’s really cool.
RISC-V as new architecture possibly seducing as a wider support players assigned themself they will support it : the first HWs and documentations are available
I do not know exactly why not popped up a developer who would like to develop to PPC, possibly there are but would like to coding application(s) instead of kernel and APIS, interfaces drivers and so on … :wink: that is needed for Haiku PPC actually.

So both who expects Haiku on PPC (legacy and new HW owners) actually has no such developer who would contribute writing / porting an OS to those architectures.

I see this way - it’s my opinion. I do not say no more hope, I just say actually there is no such person in the community. (Or do it in really-really secret way :)) )

{Sorry for an Off-topic answer - I just wanted to react to your wish to PPC progress. }

I want to build a new computer, my current desktop is from 2016. I was thinking of building one around the Raptor Talos II, dual 8-core POWER9. I asked Reddit, and people think I should go for it. I don’t know much about such low-level things, but I’m a programmer and have been professionally for 16 years (and I teach C programming too). There will be fun and exciting challenges with such a system, and I’ll have it working as a desktop no problem, and was thinking about possibilities!

POWER9 != PPC AFAIK. (Short and all caps!?)

1 Like

PowerPC was a marketing term for a specific POWER line, but as people don’t know the difference often use this for POWER in generall.

Well, Yes and No.

As wiki PowerPC - Wikipedia
says

" PowerPC is largely based on the earlier IBM POWER architecture, and retains a high level of compatibility with it; the architectures have remained close enough that the same programs and operating systems will run on both if some care is taken in preparation; newer chips in the Power series use the Power ISA. "

… later …

" The PowerPC specification is now handled by Power.org where IBM, Freescale, and AMCC are members. PowerPC, Cell and POWER processors are now jointly marketed as the Power Architecture. Power.org released a unified ISA, combining POWER and PowerPC ISAs into the new Power ISA v.2.03 specification and a new reference platform for servers called PAPR (Power Architecture Platform Reference). "

So if Power9 would be chosen just that is 64bit and based on Power ISA the answer probably No - of course I am not sure.

However the classic PPC is 32bit basically even if there are earlier Power CPUs those can run PPC code somehow. At least as I interpret the wiki page content.

Any news about progress of your device tree development part of ARM supporting ? :))