Hello, Everyone:
This patch series adds libvirt support for loongarch.Although the bios
path and name has not been officially integrated into qemu and we think
there are still many shortcomings, we try to push a version of patch to
the community according to the opinions of the community, hoping to
listen to everyone's opinions. Anyway we have a version of libvirt that
supports loongarch.
You can also get libvirt's patch from the link below:
https://gitlab.com/lixianglai/libvirt
branch: loongarch
Since the patch associated with loongarch has not yet been submitted to
the virt-manager community, we are providing a temporary patch with
loongarch for the time being patch's virt-manager, the open source work
of virt-manager adding loongarch will be followed up later or
synchronized with the open source libvirt.
You can get the virt-manager code with loongarch patch from the link below:
https://github.com/lixianglai/virt-manager
branch: loongarch
loongarch's virtual machine bios is not yet available in qemu, so you can get it
from the following link
https://github.com/lixianglai/LoongarchVirtFirmware
(Note: You should clone the repository using git instead of downloading the file via wget
or you'll get xml)
We named the bios QEMU_EFI.fd, QEMU_VARS.fd is used to store pflash images of
non-volatile
variables.After installing qemu-system-loongarch64,You can install the loongarch bios by
executing the script
install-loongarch-virt-firmware.sh
Since there is no fedora operating system that supports the loongarch
architecture, you can find an iso that supports loongarch at the link
below for testing purposes:
https://github.com/fedora-remix-loongarch/releases-info
Well, if you have completed the above steps I think you can now install loongarch
virtual machine,
you can install it through the virt-manager graphical interface, or install it through
vrit-install,
here is an example of installing it using virt-install:
virt-install \
--virt-type=qemu \
--name loongarch-test \
--memory 4096 \
--vcpus=4 \
--arch=loongarch64 \
--boot cdrom \
--disk device=cdrom,bus=scsi,path=/root/livecd-fedora-mate-4.loongarch64.iso \
--disk
path=/var/lib/libvirt/images/debian12-loongarch64.qcow2,size=10,format=qcow2,bus=scsi \
--network network=default \
--osinfo archlinux \
--video=virtio \
--graphics=vnc,listen=0.0.0.0
CHANGES
V1->V2:
1.Modify the link addresses of virtu-manager and firmeware in the cover
letter. Please obtain the code and firmware from the latest link
address.
2.Rename the bios name. Delete the loongarch bios name from libvirt
and use the json file to obtain the bios path.
3.Refer to riscv64 to simplify the implementation of loongarch cpu
driver.And fix some code style errors.
4.Delete unnecessary or redundant device enablement.Such as USB NEC.
5.Add some test cases for loongarch.
xianglai li (4):
Add loongarch cpu support
Config some capabilities for loongarch virt machine
Implement the method of getting host info for loongarch
Add test script for loongarch
src/conf/schemas/basictypes.rng | 1 +
src/cpu/cpu.c | 2 +
src/cpu/cpu_loongarch.c | 80 +
src/cpu/cpu_loongarch.h | 25 +
src/cpu/meson.build | 1 +
src/qemu/qemu_capabilities.c | 12 +-
src/qemu/qemu_domain.c | 33 +-
src/qemu/qemu_domain.h | 1 +
src/util/virarch.c | 4 +
src/util/virarch.h | 4 +
src/util/virhostcpu.c | 7 +-
src/util/virsysinfo.c | 3 +-
.../qemu_8.2.0-tcg-virt.loongarch64.xml | 163 +
.../qemu_8.2.0-virt.loongarch64.xml | 167 +
tests/domaincapstest.c | 13 +
.../caps_8.2.0_loongarch64.replies | 30140 ++++++++++++++++
.../caps_8.2.0_loongarch64.xml | 175 +
.../qemucaps2xmloutdata/caps.loongarch64.xml | 28 +
...o-type-loongarch64.loongarch64-latest.args | 34 +
.../default-video-type-loongarch64.xml | 18 +
...ch64-virt-graphics.loongarch64-latest.args | 56 +
.../loongarch64-virt-graphics.xml | 48 +
...ch64-virt-headless.loongarch64-latest.args | 52 +
.../loongarch64-virt-headless.xml | 42 +
...ongarch64-virt-pci.loongarch64-latest.args | 39 +
.../qemuxml2argvdata/loongarch64-virt-pci.xml | 27 +
.../loongarch64-virt.loongarch64-latest.args | 44 +
tests/qemuxml2argvdata/loongarch64-virt.xml | 22 +
tests/qemuxml2argvtest.c | 9 +
...eo-type-loongarch64.loongarch64-latest.xml | 45 +
...rch64-virt-graphics.loongarch64-latest.xml | 114 +
...rch64-virt-headless.loongarch64-latest.xml | 100 +
...oongarch64-virt-pci.loongarch64-latest.xml | 48 +
.../loongarch64-virt.loongarch64-latest.xml | 66 +
tests/qemuxml2xmltest.c | 6 +
tests/testutilshostcpus.h | 10 +
36 files changed, 31633 insertions(+), 6 deletions(-)
create mode 100644 src/cpu/cpu_loongarch.c
create mode 100644 src/cpu/cpu_loongarch.h
create mode 100644 tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml
create mode 100644 tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml
create mode 100644 tests/qemucapabilitiesdata/caps_8.2.0_loongarch64.replies
create mode 100644 tests/qemucapabilitiesdata/caps_8.2.0_loongarch64.xml
create mode 100644 tests/qemucaps2xmloutdata/caps.loongarch64.xml
create mode 100644
tests/qemuxml2argvdata/default-video-type-loongarch64.loongarch64-latest.args
create mode 100644 tests/qemuxml2argvdata/default-video-type-loongarch64.xml
create mode 100644
tests/qemuxml2argvdata/loongarch64-virt-graphics.loongarch64-latest.args
create mode 100644 tests/qemuxml2argvdata/loongarch64-virt-graphics.xml
create mode 100644
tests/qemuxml2argvdata/loongarch64-virt-headless.loongarch64-latest.args
create mode 100644 tests/qemuxml2argvdata/loongarch64-virt-headless.xml
create mode 100644 tests/qemuxml2argvdata/loongarch64-virt-pci.loongarch64-latest.args
create mode 100644 tests/qemuxml2argvdata/loongarch64-virt-pci.xml
create mode 100644 tests/qemuxml2argvdata/loongarch64-virt.loongarch64-latest.args
create mode 100644 tests/qemuxml2argvdata/loongarch64-virt.xml
create mode 100644
tests/qemuxml2xmloutdata/default-video-type-loongarch64.loongarch64-latest.xml
create mode 100644
tests/qemuxml2xmloutdata/loongarch64-virt-graphics.loongarch64-latest.xml
create mode 100644
tests/qemuxml2xmloutdata/loongarch64-virt-headless.loongarch64-latest.xml
create mode 100644 tests/qemuxml2xmloutdata/loongarch64-virt-pci.loongarch64-latest.xml
create mode 100644 tests/qemuxml2xmloutdata/loongarch64-virt.loongarch64-latest.xml
--
2.39.1