Haiku dual socket KGPE-D16 progress

I have Haiku booted up on a KGPE-D16 however I have to disable Local APIC or it crashes.

Otherwise Ethernet, my Radeon RX460 and USB devices seem to be working as well as SATA SSD. Currently I have 64GB ram installed and that shows up however I have another 192GB I intend to test adding shortly.

I’ll see about uploading a serial log of the crash with Local APIC enabled. Especially as I think this means I am running without SMP.

I was able to boot up a single socket last night without disabling the APIC. Disabling IO APIC has no effect. And none of the other options are required in this configuration.

That said if I boot up with the Aspeed BMC VGA controller it crashes and reboots before getting to the desktop. I should add a log of this also.


Disabling the second socket lets me boot up with 16 cores also disables half the ram.


Pastebin edited as I missed part of the log.

Yes, there is some issue with SMP on dual-socket machines. I don’t think anyone’s had time to investigate (or if any developers who understand the relevant code have the relevant hardware?) Is there some way to emulate this configuration in kvm? That may help.

Probably, I’ll look into it and let you know, also I plan on fiddling with it at least on the weekends and trying to get a few new things working in Haiku. I feel like NVMe is probably a low hanging fruit… so maybe I’ll have a go at getting that working. I picked up a specific NVMe drive that I think will be useful for testing as much as possible.

Also, it may behave differently running coreboot, all my current testing is on the latest revision of the stock BIOS.

Who knows how far I’ll get but I guess that’s how everybody starts out… Haiku is a slower moving project than Linux at lest so it feels more aproachable for me anyway. And it isn’t jumping into OS development from zero either since it’s an existing fairly mature project.

Getting Haiku running on NUMA setups is going to become important as high end systems like this come down in price and become common for workstation use. Threadripper for instance should be very similar to this except just in one package.

I have a precision workstation 530 with dual xeons that works without any issues

Would you mind posting a syslog? As well as output of listpci and listusb?

Also I suspect your system works because it is not a NUMA system… the KGPE-D16 is kind of like 2 computers linked together over a hypertransport bus and also to a chipset. Both the sockets have thier own independent RAM which the other CPU has to go over hypertransport to access (most of which is transparent to the OS).

Older multi socket systems go like this most often
RAM <--> chipset <--> CPU CPU CPU CPU
            '-> PCI etc...
Newer ones go like this usually
RAM <-----> CPU <---------> CPU <-----> RAM
PCIe etc..<-' '->  CHIPSET<-' '-> PCIe etc..
                     '-> PCIe etc..


I believe the KGPE-D16 actually has two PCIE roots, but one of them is typically slaved to the other or something, or you can run them completely separate etc to reduce latency issues… but that’s more aplicable to VM setups than Haiku I think.

i know haiku had problems detecting the second cpu with many older multi socket tyan boards i tried.

Nah, boots fine on the multitude of dual socket boards i have. Currently running sweetly on an AMD dual socket Tyan S2885 mobo. My dual socket Tyan P3 also works just fine.

(sound however does not work), but thats ok as i have a Audigy2 card for that.

The dual P3 is no surprise (memory goes through the chipset the same as my Tyan Thunder ATX dual PII).

The Tyan S2885 is a bit more similar to this machine though, uses hypertransport (version 1) and has integrated memory controllers on the socket, so you’d think it would have the same issue, perhaps the LAPIC is in the chipset though, could you upload a syslog from that machine it might be helpful in narrowing down the differences.

Ofcourse, I’ll upload it when I get home. :slight_smile:

1 Like

i have a dual p3 tyan board that haiku wouldn’t see the second cpu on but beos 5 would.