Hello,
It can be either 32bit or 64bit ARM, both are work in progress. @davidkaroly @tqh and @oruizdorantes also recently put some work into them and may have some info as well.
I think it’s fine to use QEMU to start with. It provides an easier platform to debug things, and can be configured to emulate a lot of different hardware.
To start with this project idea, I guess the best thing to do is:
- Decide if you want to work on 32 or 64bit ARM first
- Make sure you can build the corresponding version of Haiku and boot it in QEMU
- Check how far it boots (at the moment neither of these run well enough to give you a GUI or even a shell)
- Set up a plan for what needs to be worked on from there, and what can or can’t easily be tested
The first step will indeed be checking that the kernel can properly find the device tree (passed by the bootloader). Then, the main task would be adjusting device drivers to scan for devices in the FDT, in addition to the PCI bus.
On ARM64 it’s also possible that some devices will be discoverable from ACPI.
If the ARM ports are limiting the testing, and you want to focus on the FDT part of the project, working from the RISC-V or even the x86 port (32 or 64bit) is also possible. For example, on x86, we could use an FDT to represent all the legacy ISA devices (serial port, printer port, timer…) of the PC architecture which are currently all hardcoded.