Loongarch is a new RISC instruction set architecture developed by Loongson Technology. The upstream QEMU has already added support for loongarch since version 7.1.0, and I hope libvirt can also support it.
Additional information
I am willing to help with testing and providing feedback if needed. I appreciate your consideration and effort to support loongarch in libvirt.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related or that one is blocking others.
Learn more.
Loongarch is a new RISC instruction set architecture developed by Loongson Technology. The upstream QEMU has already added support for loongarch since version 7.1.0, and I hope libvirt can also support it.
Of course, libvirt is intended to support any guest arch that QEMU introduces. The main limitation is finding someone with the time todo the work....
I am willing to help with testing and providing feedback if needed. I appreciate your consideration and effort to support loongarch in libvirt.
If you are able to contribute patches too, that will likely be the quickest path to getting loongarch added to libvirt.
Looking at the "Anolis OS" (RHEL rebuild?) libvirt package it seems that a Loongson employee has indeed already implemented loongarch64 support. The most sensible way forward would be for them to polish those patches and submit them upstream. Duplicating the effort, with the additional obstacle of not having access to the hardware, would just be silly...
Engineers from Loongson explained that they need to wait for the edk2-loongarch code to be merged into the upstream before they can push the libvirt patch to the upstream; because there are dependencies between them.
I skimmed the patches and they seem to go in the right direction. There are going to be review comments of course, but I didn't spot anything too outlandish.
I don't think there's any need to wait for edk2 support to land before posting the libvirt patches. For one, I expect that direct kernel boot would already be viable today; more importantly, even if we ultimately decide not to merge loongarch support right away, posting the patches early means that they can be improved and polished in parallel, while the firmware part is being finalized.
Since you seem to be in touch with the Loongson developers, please encourage them to submit their work sooner rather than later :)
@abologna Hi Andrea, Thank you for your reply and encouragement. And I've forwarded your reply to them, but haven't gotten a response yet :)
I've started fedora-remix-loongarch image successfully by using the new build on Fedora-39-x86_64;
will do more test with virt-install, It seems that virt-install also needs to make some adaptations to the new arch/machine-type, otherwise the generated default qemu options will not work correctly.
@abologna Hello, I submitted loongarch related patch to libvirt community yesterday, but I haven't received any response. I'm not sure whether the submission meets the specification. Is there anything else I need to do
At the moment you just need to be a bit patient :) reviewers have their hands quite full, so it's not unusual for patches to sit on the list for a week or two before being looked at. If you get no response after a couple of weeks, it's okay to send a ping.
Note that Christmas is just around the corner, meaning that most people who work on libvirt are going to start taking time off. That could slow things down by up to two additional weeks.
Now that I've set your expectations right :) I'll try to give the patches at least a quick look today. No promises though!
Thank you again for submitting your work upstream! I'm really looking forward to see it merged :)
e478a6d3 Add test script for loongarch 0038b155 Implement the method of getting host info for loongarch 3243783c Support for loongarch64 in the QEMU driver a4e37189 Add loongarch cpu support