Hi all,

as I'm nearing completion of my HelenOS-for-Rust project, I'm trying to port the project to as many targets as possible. I was able to compile and run HelenOS on all supported CPU platforms except ia64, riscv and MIPS. IA64 is not supported by Rust/LLVM anyways, and riscv is not even documented on wiki, so I suppose the support is very beta. But I wanted to try MIPS, to demonstrate at least /some/ effort for my thesis.

Compiling and running qemu for malta-be or malta-le goes without issues, but then I found no way to access any console in the running OS. I'm not even sure if there should be one in the qemu UI, or if I should connect to some serial port from outside? The section about serial ports on wiki is marked just with "TODO write this section" :( https://www.helenos.org/wiki/UsersGuide/RunningInQEMU#Serialports . And wiki page about MIPS arch doesn't provide any special instructions either https://www.helenos.org/wiki/Arch/Mips32 . There's unusual amount of "No driver found" errors from devman in the log, no idea if that means something. Full log is attached.

Could anyone please assist? Am I doing something wrong, is this just some small issue, or is the mips port known to be currently broken?

Thanks in advance

matej
HelenOS bootloader, release 0.14.1 (Aladar), revision 0639afc53
Built on 2025-04-21 19:00:05 for mips32
Copyright (c) 2001-2024 HelenOS project

Memory statistics
 0x80100000|0x00100000: CPU map
 0x80101000|0x00101000: bootstrap stack
 0x80102000|0x00102000: boot info structure
 0x80200000|0x00200000: kernel entry point
 0x80103000|0x00103000: bootloader entry point
Boot loader: 0x80103000 -> 0x80108d10
Payload: 0x80108d10 -> 0x8041ed10
Kernel load address: 0x80200000
Kernel start: 0x80200000
RAM end: 0x81200000 (16777216 bytes available)
Moved payload: 0x80ee8000 -> 0x811fe000

Inflating components ... 
 0x80200000|0x80200000: kernel.elf.gz image (719848/128933 bytes)
 0x802b0000|0x802b0000: kernel.dbg.gz image (473984/184065 bytes)
 0x80324000|0x80324000: ns.gz image (141752/62708 bytes)
 0x80348000|0x80348000: loader.gz image (143380/63464 bytes)
 0x8036c000|0x8036c000: init.gz image (171556/75701 bytes)
 0x80398000|0x80398000: locsrv.gz image (162060/71562 bytes)
 0x803c0000|0x803c0000: rd.gz image (148500/65125 bytes)
 0x803e8000|0x803e8000: vfs.gz image (181256/79561 bytes)
 0x80418000|0x80418000: logger.gz image (157840/69842 bytes)
 0x80440000|0x80440000: ext4fs.gz image (227724/100215 bytes)
 0x80478000|0x80478000: initrd.img.gz image (8388608/2317883 bytes)
Done.
Copying CPU map ... 
Booting the kernel...
SPARTAN kernel, release 0.14.1 (Aladar), revision 0639afc53
Built on 2025-04-21 19:00:05 for mips32
Copyright (c) 2001-2024 HelenOS project
Detected 1 CPU(s), 131072 KiB free memory
Kernel console ready (press any key to activate)
Program loader at 0xc009c000
RAM disk at 0x00478000 (size 8388608 bytes)
[init:vfs(6)] vfs: HelenOS VFS server
[init:logger(7)] logger: HelenOS Logging Service
[init:ext4fs(8)] ext4fs: HelenOS ext4 file system server
[init:ns(2)] ns: HelenOS IPC Naming Service
[init:ns(2)] ns: Accepting connections
[init:init(3)] init: HelenOS init
[init:locsrv(4)] loc: HelenOS Location Service
[init:rd(5)] rd: HelenOS RAM disk server
[init:rd(5)] rd: Found RAM disk at 0x00478000, 8388608 bytes
[init:locsrv(4)] loc: Accepting connections
[init:logger(7)] logger: Accepting connections
[init:vfs(6)] vfs: Accepting connections
[init:rd(5)] rd: Accepting connections
[init:ext4fs(8)] ext4fs: Accepting connections
[init:init(3)] init: Root file system mounted on / (ext4fs at bd/initrd)
[init:init(3)] init: Starting /srv/system
[/srv/system(9)] system: HelenOS system server
[/srv/system(9)] system: Unable to stat /srv/fs/tmpfs
[/srv/system(9)] system: Unable to stat /srv/fs/exfat
[/srv/system(9)] system: Unable to stat /srv/fs/fat
[/srv/system(9)] system: Unable to stat /srv/fs/cdfs
[/srv/system(9)] system: Unable to stat /srv/fs/mfs
[/srv/system(9)] system: Starting /srv/klog
tlb_modified: TLBP failed in exception handler (badvaddr=0x70028b84, ASID=10).

[kernel/other] note: Program loader at 0xc009c000
[/srv/system(9)] system: Starting /srv/fs/locfs
[kernel/other] note: RAM disk at 0x00478000 (size 8388608 bytes)
[kernel/arch] warn: tlb_modified: TLBP failed in exception handler 
(badvaddr=0x70028b84, ASID=10).
[/srv/fs/locfs(11)] locfs: HelenOS Device Filesystem
[/srv/fs/locfs(11)] locfs: Accepting connections
[/srv/system(9)] system: Location service file system mounted on /loc (locfs)
[/srv/system(9)] system: Temporary file system not mounted on /tmp ([ENOFS] No 
such file system type)
[/srv/system(9)] system: Starting /srv/devman
[/srv/devman(12)] devman: HelenOS Device Manager
[/srv/devman(12)] devman: Accepting connections.
[devman] note: Wait for device tree to stabilize.
[/drv/root/root(13)] root: HelenOS root device driver
[devman] note: The `root' driver was successfully registered as running.
[/drv/virt/virt(14)] virt: HelenOS virtual devices root driver
[/drv/malta/malta(15)] malta: HelenOS Malta platform driver
[devman] note: The `malta' driver was successfully registered as running.
[devman] note: The `virt' driver was successfully registered as running.
[virt] note: Registered child device `kfb'
[/drv/kfb/kfb(17)] kfb: HelenOS kernel framebuffer driver
[devman] note: The `kfb' driver was successfully registered as running.
[/drv/pciintel/pciintel(16)] pciintel: HelenOS PCI bus driver (Intel method 1).
[/drv/kfb/kfb(17)] kfb: Accepting connections
[devman] note: The `pciintel' driver was successfully registered as running.
[pciintel] note: Function 00:00.0 uses irq 0.
[devman] error: No driver found for device `/hw/pci0/00:00.0'.
tlb_modified: TLBP failed in exception handler (badvaddr=0x70028b84, ASID=18).

[kernel/arch] warn: tlb_modified: TLBP failed in exception handler 
(badvaddr=0x70028b84, ASID=18).
[devman] error: No driver found for device `/hw/pci0/00:0a.1'.
[pciintel] note: Function 00:0a.2 uses irq 0.
[pciintel] note: Function 00:0a.3 uses irq 0.
[devman] error: No driver found for device `/hw/pci0/00:0a.2'.
[devman] error: No driver found for device `/hw/pci0/00:0a.3'.
[devman] error: No driver found for device `/hw/pci0/00:12.0'.
[pciintel] note: Function 00:13.0 uses irq 0.
[devman] error: No driver found for device `/hw/pci0/00:13.0'.
[pciintel] note: Function 00:14.0 uses irq 0.
[pciintel] note: Function 00:15.0 uses irq 0.
[devman] error: No driver found for device `/hw/pci0/00:14.0'.
[devman] error: No driver found for device `/hw/pci0/00:15.0'.
[devman] note: Function `/hw/pci0/ctl' added to category `pci'.
[/drv/isa/isa(18)] isa: HelenOS ISA bus driver
[devman] note: The `isa' driver was successfully registered as running.
[isa] note: ISA Bridge
[isa] note: Added mem range (addr=0x20, size=0x2) to function i8259
[isa] note: Added mem range (addr=0xa0, size=0x2) to function i8259
[isa] note: Added mem range (addr=0xfec00000, size=0x14) to function apic
[devman] error: No driver found for device `/hw/pci0/00:0a.0/apic'.
[isa] note: Added irq 0x4 to function com1
[isa] note: Added io range (addr=0x3f8, size=0x8) to function com1
[isa] note: Added irq 0x3 to function com2
[isa] note: Added io range (addr=0x2f8, size=0x8) to function com2
[isa] note: Added io range (addr=0x378, size=0x8) to function lpt1
[isa] note: Added irq 0x7 to function lpt1
[devman] error: No driver found for device `/hw/pci0/00:0a.0/lpt1'.
[isa] note: Added io range (addr=0x278, size=0x8) to function lpt2
[isa] note: Added irq 0x5 to function lpt2
[isa] note: Added irq 0x1 to function i8042
[devman] error: No driver found for device `/hw/pci0/00:0a.0/lpt2'.
[isa] note: Added irq 0xc to function i8042
[isa] note: Added io range (addr=0x60, size=0x5) to function i8042
[isa] note: Added irq 0x5 to function ne2k
[isa] note: Added io range (addr=0x300, size=0x20) to function ne2k
[devman] error: No driver found for device `/hw/pci0/00:0a.0/ne2k'.
[isa] note: Added io range (addr=0x220, size=0x20) to function sb16
[isa] note: Added io range (addr=0x330, size=0x2) to function sb16
[isa] note: Added irq 0x5 to function sb16
[isa] note: Added dma 0x1 to function sb16
[isa] note: Added dma 0x5 to function sb16
[devman] error: No driver found for device `/hw/pci0/00:0a.0/sb16'.
[isa] note: Added io range (addr=0x70, size=0x2) to function cmos-rtc
[devman] error: No driver found for device `/hw/pci0/00:0a.0/cmos-rtc'.
[isa] note: Added io range (addr=0x3f0, size=0x8) to function fdc
[/drv/i8259/i8259(19)] i8259: i8259 Interrupt Controller driver
[isa] note: Added irq 0x6 to function fdc
[isa] note: Added dma 0x2 to function fdc
[devman] note: The `i8259' driver was successfully registered as running.
[devman] error: No driver found for device `/hw/pci0/00:0a.0/fdc'.
[isa] note: Added io range (addr=0x1f0, size=0x8) to function ide1
[isa] note: Added io range (addr=0x3f0, size=0x8) to function ide1
[isa] note: Added io range (addr=0x170, size=0x8) to function ide1
[isa] note: Added io range (addr=0x370, size=0x8) to function ide1
[isa] note: Added irq 0xe to function ide1
[devman] note: Function `/hw/pci0/00:0a.0/i8259/a' added to category `irc'.
[isa] note: Added irq 0xf to function ide1
[isa] note: Finished enumerating legacy functions
[/drv/ns8250/ns8250(20)] ns8250: HelenOS serial port driver
[devman] note: The `ns8250' driver was successfully registered as running.
[/drv/i8042/i8042(21)] i8042: HelenOS PS/2 driver.
[ns8250] note: Device com1 was assigned irq = 0x4.
[ns8250] note: Device com1 was assigned I/O address = 0x0x180003f8.
[devman] note: The `i8042' driver was successfully registered as running.
_______________________________________________
HelenOS-devel mailing list
HelenOS-devel@lists.modry.cz
http://lists.modry.cz/listinfo/helenos-devel

Reply via email to