[pve-devel] [PATCH qemu-server 1/4] cpu config: Add helper to get the default CPU type

Filip Schauer f.schauer at proxmox.com
Tue Dec 19 10:40:20 CET 2023


Signed-off-by: Filip Schauer <f.schauer at proxmox.com>
---
 PVE/QemuServer/CPUConfig.pm |  9 +++------
 PVE/QemuServer/Helpers.pm   | 10 ++++++++++
 2 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/PVE/QemuServer/CPUConfig.pm b/PVE/QemuServer/CPUConfig.pm
index ca2946b..c25c2c8 100644
--- a/PVE/QemuServer/CPUConfig.pm
+++ b/PVE/QemuServer/CPUConfig.pm
@@ -5,7 +5,7 @@ use warnings;
 
 use PVE::JSONSchema;
 use PVE::Cluster qw(cfs_register_file cfs_read_file);
-use PVE::QemuServer::Helpers qw(min_version);
+use PVE::QemuServer::Helpers qw(get_default_cpu_type min_version);
 
 use base qw(PVE::SectionConfig Exporter);
 
@@ -405,7 +405,7 @@ sub print_cpu_device {
     my ($conf, $id) = @_;
 
     my $kvm = $conf->{kvm} // 1;
-    my $cpu = $kvm ? "kvm64" : "qemu64";
+    my $cpu = get_default_cpu_type('x86_64', $kvm);
     if (my $cputype = $conf->{cpu}) {
 	my $cpuconf = PVE::JSONSchema::parse_property_string('pve-vm-cpu-conf', $cputype)
 	    or die "Cannot parse cpu description: $cputype\n";
@@ -515,10 +515,7 @@ sub parse_cpuflag_list {
 sub get_cpu_options {
     my ($conf, $arch, $kvm, $kvm_off, $machine_version, $winversion, $gpu_passthrough) = @_;
 
-    my $cputype = $kvm ? "kvm64" : "qemu64";
-    if ($arch eq 'aarch64') {
-	$cputype = 'cortex-a57';
-    }
+    my $cputype = get_default_cpu_type($arch, $kvm);
 
     my $cpu = {};
     my $custom_cpu;
diff --git a/PVE/QemuServer/Helpers.pm b/PVE/QemuServer/Helpers.pm
index 0afb631..77052ad 100644
--- a/PVE/QemuServer/Helpers.pm
+++ b/PVE/QemuServer/Helpers.pm
@@ -15,6 +15,7 @@ min_version
 config_aware_timeout
 parse_number_sets
 windows_version
+get_default_cpu_type
 );
 
 my $nodename = PVE::INotify::nodename();
@@ -225,4 +226,13 @@ sub windows_version {
     return $winversion;
 }
 
+sub get_default_cpu_type {
+    my ($arch, $kvm) = @_;
+
+    my $cputype = $kvm ? 'kvm64' : 'qemu64';
+    $cputype = 'cortex-a57' if $arch eq 'aarch64';
+
+    return $cputype;
+}
+
 1;
-- 
2.39.2





More information about the pve-devel mailing list