From: Fiona Ebner <f.ebner@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
Filip Schauer <f.schauer@proxmox.com>
Subject: Re: [pve-devel] [PATCH qemu-server 1/4] cpu config: Add helper to get the default CPU type
Date: Mon, 19 Feb 2024 15:47:12 +0100 [thread overview]
Message-ID: <1c859d08-8df1-4ec1-b1c6-3c7924cf85fd@proxmox.com> (raw)
In-Reply-To: <20231219094023.25726-3-f.schauer@proxmox.com>
Am 19.12.23 um 10:40 schrieb Filip Schauer:
> Signed-off-by: Filip Schauer <f.schauer@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);
Not a new issue, but I think we should check the configured arch and die
with a clean error when it's not x86_64 (and also move the FIXME up
here), rather than continuing for some time and attempting a hotplug
with some known non-working device commandline.
> 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 {
Why put this into the Helpers module rather than CPUConfig? That would
be the most natural choice, because this is precisely concerned with the
CPU config and it's only used there too.
> + my ($arch, $kvm) = @_;
> +
> + my $cputype = $kvm ? 'kvm64' : 'qemu64';
> + $cputype = 'cortex-a57' if $arch eq 'aarch64';
> +
> + return $cputype;
> +}
> +
> 1;
next prev parent reply other threads:[~2024-02-19 14:47 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-19 9:40 [pve-devel] [PATCH-SERIES v7 qemu-server, common] Prevent starting a 32-bit VM using a 64-bit OVMF BIOS Filip Schauer
2023-12-19 9:40 ` [pve-devel] [PATCH common 1/1] tools: Add is_native sub to compare the CPU architecture Filip Schauer
2024-02-19 14:46 ` Fiona Ebner
2024-02-21 14:37 ` Filip Schauer
2023-12-19 9:40 ` [pve-devel] [PATCH qemu-server 1/4] cpu config: Add helper to get the default CPU type Filip Schauer
2024-02-19 14:47 ` Fiona Ebner [this message]
2023-12-19 9:40 ` [pve-devel] [PATCH v7 qemu-server 2/4] Prevent starting a 32-bit VM using a 64-bit OVMF BIOS Filip Schauer
2024-02-19 14:47 ` Fiona Ebner
2024-02-19 14:58 ` Fiona Ebner
2023-12-19 9:40 ` [pve-devel] [PATCH qemu-server 3/4] Move is_native from PVE::QemuServer to PVE::Tools Filip Schauer
2023-12-19 9:40 ` [pve-devel] [PATCH qemu-server 4/4] cpu config: Unify the default value for 'kvm' Filip Schauer
2024-02-19 14:47 ` Fiona Ebner
2024-02-21 15:39 ` Filip Schauer
2024-02-22 9:35 ` Fiona Ebner
2024-02-23 11:59 ` Filip Schauer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1c859d08-8df1-4ec1-b1c6-3c7924cf85fd@proxmox.com \
--to=f.ebner@proxmox.com \
--cc=f.schauer@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox