cpu config: add helper to get the default CPU type

Signed-off-by: Filip Schauer <f.schauer@proxmox.com>
This commit is contained in:
Filip Schauer 2024-02-21 15:33:13 +01:00 committed by Thomas Lamprecht
parent a672c578e0
commit 5416ff700f

View File

@ -405,7 +405,7 @@ sub print_cpu_device {
my ($conf, $id) = @_; my ($conf, $id) = @_;
my $kvm = $conf->{kvm} // 1; my $kvm = $conf->{kvm} // 1;
my $cpu = $kvm ? "kvm64" : "qemu64"; my $cpu = get_default_cpu_type('x86_64', $kvm);
if (my $cputype = $conf->{cpu}) { if (my $cputype = $conf->{cpu}) {
my $cpuconf = PVE::JSONSchema::parse_property_string('pve-vm-cpu-conf', $cputype) my $cpuconf = PVE::JSONSchema::parse_property_string('pve-vm-cpu-conf', $cputype)
or die "Cannot parse cpu description: $cputype\n"; or die "Cannot parse cpu description: $cputype\n";
@ -515,10 +515,7 @@ sub parse_cpuflag_list {
sub get_cpu_options { sub get_cpu_options {
my ($conf, $arch, $kvm, $kvm_off, $machine_version, $winversion, $gpu_passthrough) = @_; my ($conf, $arch, $kvm, $kvm_off, $machine_version, $winversion, $gpu_passthrough) = @_;
my $cputype = $kvm ? "kvm64" : "qemu64"; my $cputype = get_default_cpu_type($arch, $kvm);
if ($arch eq 'aarch64') {
$cputype = 'cortex-a57';
}
my $cpu = {}; my $cpu = {};
my $custom_cpu; my $custom_cpu;
@ -719,6 +716,15 @@ sub get_cpu_from_running_vm {
return $1; return $1;
} }
sub get_default_cpu_type {
my ($arch, $kvm) = @_;
my $cputype = $kvm ? 'kvm64' : 'qemu64';
$cputype = 'cortex-a57' if $arch eq 'aarch64';
return $cputype;
}
__PACKAGE__->register(); __PACKAGE__->register();
__PACKAGE__->init(); __PACKAGE__->init();