This series brings the emulated aarch64 vms to the gui. This could be configured on the api only previously.
The code also handles if the host has a non-x86 architecture, and is generally structured in a way that should make it (relatively) easy to add other architectures in the future. Some fields/panels needed adaptions to hide some values or change some defaults, since not every combination that can be configured makes sense. (e.g. seabios on aarch64 cannot work currently) Generally the backend allows many combinations that don't make sense on all architectures, so i tried to limit the users here to the 'correct' ones, but we should think about limiting them in the backend too. Also, the backend made some inconsistent choices with different architectures, such as the default controller changes with the architecture, but things like 'bios' or 'scsihw' do not. So I worked around these things a bit differently. What is still missing: * make the disk controllers selective per architecture (e.g. aarch64 has no ide controller, ovmf+aarch64 cannot boot from sata) * cpumodel + cpuflags need to be architecture aware other nice to haves not yet done, that also invovle changing the backend: * 'virt' machine support in our api, so one can choose older versions * allow 'pcie' passthrough on 'virt' Dominik Csapak (10): api/pvestatd: broadcast and expose non-x86 host architecture ui: resource store: add architecture field ui: qemu: add architecture field in wizard and hardware view ui: qemu: make scsi hw selector architecture aware ui: qemu: make osdefaults architecture aware ui: qemu: make os type selector architecture aware ui: qemu: make machine panels/fields architecture aware ui: qemu: make bios selector architecture aware ui: qemu: make sortByPreviousUsage architecture aware ui: qemu: wizard: use defaults to populate machine and bios PVE/API2/Cluster.pm | 9 +++ PVE/API2/Nodes.pm | 3 +- PVE/Service/pvestatd.pm | 10 +++ www/manager6/Makefile | 1 + www/manager6/Utils.js | 61 ++++++++++++++++-- www/manager6/data/ResourceStore.js | 6 ++ www/manager6/form/ControllerSelector.js | 9 ++- www/manager6/form/QemuBiosSelector.js | 61 ++++++++++++++++-- www/manager6/form/QemuMachineSelector.js | 64 +++++++++++++++++++ www/manager6/form/ScsiHwSelector.js | 63 ++++++++++++++++++ www/manager6/panel/MultiDiskEdit.js | 14 ++-- www/manager6/qemu/CIDriveEdit.js | 2 + www/manager6/qemu/CreateWizard.js | 27 ++++++++ www/manager6/qemu/HardwareView.js | 19 +++++- www/manager6/qemu/MachineEdit.js | 63 +++++++++++++----- www/manager6/qemu/MultiHDEdit.js | 3 +- www/manager6/qemu/NetworkEdit.js | 3 +- www/manager6/qemu/OSDefaults.js | 81 +++++++++++++++++++----- www/manager6/qemu/OSTypeEdit.js | 39 +++++++++++- www/manager6/qemu/QemuBiosEdit.js | 35 +++++++++- www/manager6/qemu/ScsiHwEdit.js | 1 + www/manager6/qemu/SystemEdit.js | 33 +++++++--- www/manager6/window/GuestDiskReassign.js | 1 + 23 files changed, 539 insertions(+), 69 deletions(-) create mode 100644 www/manager6/form/QemuMachineSelector.js -- 2.47.3 _______________________________________________ pve-devel mailing list [email protected] https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
