haiku_loader.riscv
Implemented simple ATA PIO mode driver in haiku_loader.riscv
and loading progressed a bit in RVVM:
Welcome to kernel debugger output!
Haiku revision: hrev55942+45+dirty, debug level: 2
arch_int_init()
CPU 0:
hartId: 0
plicContext: 0
reserve_io_interrupt_vectors: reserved 128 vectors starting from 0
PANIC: page fault with interrupts disabled
Welcome to Kernel Debugging Land...
Thread 0 "" running on CPU 0
Stack:
FP: 0xffffffc00062c970
FP: 0xffffffc00062c990, PC: 0xffffffc00015338a kdebug>
This would be a nice Haiku machine:
They look super cool, but someone needs to tell the devterm guys about hinges. And ergonomics.
I didnāt realise there was a market for RISC-V devkits with thermal printers
Instagram/Kickstarter driven development, I guess? If it looks cool, people will buy it. Doesnāt matter if itās usable for anything.
(more seriously, itās based on late 80s pocket computers like the Amstrad NC100, Z88 or the TRS-80 equivalent of that. But these arenāt really convenient machines to useā¦).
Maybe to cool the ARM64 processor. Not all models use RISC-V:
This might require the ARM ports to progress further first. The RISC-V port by comparison is much further ahead.
Yeah, I have an nc100 and the screen angle makes it basically unusableā¦ Which is a great shame. Theres a reason that form factor died! If they just made the screen able to tilt upwards a bit it would make a massive difference.
Difficulty radiating heat out of a enclosed box with no circulation ?
Progressed to ādid not find any boot partitions!ā on RVVM. Fixed some bug in haiku_loader.riscv
like enabling FPU before calling dprintf (it use FPU for print floating point values) and fixing ATA PIO driver.
Also implemented initial native Haiku GUI backend for RVVM (Xlibe was used before).
I managed to run Haiku desktop on RVVM with haiku_loader.riscv
. Keyboard and moue input is not working for now.
One of problems is that MMIO PCI BAR registers are not supported by Haiku ATA driver, I currently added MMIO support by quick hacks. ATA driver store 16 bit register addresses in ata_adapter_channel_info
structure that is used in multiple driver add-ons so changing it to support 32 bit MMIO registers will break API.
Did you have to make a lot of changes to RVVM to get it to run on Haiku and with a Haiku guest? It would be cool to upstream that, especially since the RVVM author mentions Haiku in the readme.
Currently Haiku can run in RVVM without RVVM changes, but Haiku side implementation is incomplete. I added Haiku GUI backed to RVVM so it can be used on Haiku host without xlib
.
Experiments with PS/2 bus in Mini OS.
I also published source code of Mini OS: GitHub - X547/Mini-OS: Simple OS for RISC-V architecture. Note that Mini OS is basically a testing playground and it is not intended for actual use.
Can you spin up a kernel add-on accelerant for the ata differences ? maybe just move these changes to 64b haiku ?
Is there a known list of compatible boards ??? Iām working on porting machine kit to haiku x86-64, but when Iām done Iām working on embedded boards next.
I may need help with porting the hal, thankfully linuxcnc and machine kit share that.