From: Markus Frank <m.frank@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
Philipp Giersfeld <philipp.giersfeld@canarybit.eu>
Subject: Re: [pve-devel] [PATCH pve-manager v4 4/4] Add configuration options for AMD SEV-SNP
Date: Mon, 17 Mar 2025 11:13:25 +0100 [thread overview]
Message-ID: <cf05e1d9-c645-461e-b37b-051e71b8788c@proxmox.com> (raw)
In-Reply-To: <20250311150456.4071232-5-philipp.giersfeld@canarybit.eu>
Hello,
I noticed that currently I cannot disable 'allow-smt' in the WebUI.
The default value for allow-smt in qemu-server is '1'.
So setting it to 1 or no value in the WebUI results in allow-smt always being enabled.
To fix this, you can explicitly set allow-smt to 0 when the checkbox is not checked.
Also, currently if I uncheck the allow-smt checkbox, save it to config and then
reopen the window, the 'Allow SMT' checkbox is checked again.
See my suggested fixes inline:
On 2025-03-11 16:04, Philipp Giersfeld wrote:
> Expand input panel with AMD SEV-SNP selection, and relevant optional
> parameters similar to existing options for AMD SEV(-ES).
>
> Further, upon selecting AMD SEV-SNP, issue a warning that EFI disks are
> not included when using SEV-SNP.
>
> Signed-off-by: Philipp Giersfeld <philipp.giersfeld@canarybit.eu>
> Reviewed-by: Daniel Kral <d.kral@proxmox.com>
> ---
>
> no changes since last version
>
> www/manager6/qemu/Options.js | 1 +
> www/manager6/qemu/SevEdit.js | 46 ++++++++++++++++++++++++++++++++----
> 2 files changed, 42 insertions(+), 5 deletions(-)
>
> diff --git a/www/manager6/qemu/Options.js b/www/manager6/qemu/Options.js
> index cbe9e52b..49a921cd 100644
> --- a/www/manager6/qemu/Options.js
> +++ b/www/manager6/qemu/Options.js
> @@ -346,6 +346,7 @@ Ext.define('PVE.qemu.Options', {
> let amd_sev = PVE.Parser.parsePropertyString(value, "type");
> if (amd_sev.type === 'std') return 'AMD SEV (' + value + ')';
> if (amd_sev.type === 'es') return 'AMD SEV-ES (' + value + ')';
> + if (amd_sev.type === 'snp') return 'AMD SEV-SNP (' + value + ')';
> return value;
> },
> },
> diff --git a/www/manager6/qemu/SevEdit.js b/www/manager6/qemu/SevEdit.js
> index a2080f2d..3e0d0cbb 100644
> --- a/www/manager6/qemu/SevEdit.js
> +++ b/www/manager6/qemu/SevEdit.js
> @@ -9,7 +9,8 @@ Ext.define('PVE.qemu.SevInputPanel', {
> type: '__default__',
> },
> formulas: {
> - sevEnabled: get => get('type') !== '__default__',
> + sevEnabled: get => get('type') === 'std' || get('type') === 'es' || get('type') === 'snp',
> + snpEnabled: get => get('type') === 'snp',
> },
> },
>
> @@ -21,10 +22,14 @@ Ext.define('PVE.qemu.SevInputPanel', {
> if (!values.debug) {
> values["no-debug"] = 1;
> }
> - if (!values["key-sharing"]) {
> + if (values.smt) {
> + values["allow-smt"] = 1;
> + }
You could replace the if above with something like this:
if (!values.smt && values.type === 'snp') {
values["allow-smt"] = 0;
}
> + if (!values["key-sharing"] && values.type !== 'snp') {
> values["no-key-sharing"] = 1;
> }
> delete values.debug;
> + delete values.smt;
> delete values["key-sharing"];
> let ret = {};
> ret['amd-sev'] = PVE.Parser.printPropertyString(values, 'type');
> @@ -36,13 +41,16 @@ Ext.define('PVE.qemu.SevInputPanel', {
> if (PVE.Parser.parseBoolean(values["no-debug"])) {
> values.debug = 0;
> }
> + if (PVE.Parser.parseBoolean(values["allow-smt"])) {
> + values.smt = 1;
> + }
You could replace the if above with something like this:
values.smt = PVE.Parser.parseBoolean(values["allow-smt"], 1);
> if (PVE.Parser.parseBoolean(values["no-key-sharing"])) {
> values["key-sharing"] = 0;
> }
> this.callParent(arguments);
> },
>
> - items: {
> + items: [{
> xtype: 'proxmoxKVComboBox',
> fieldLabel: gettext('AMD SEV Type'),
> labelWidth: 150,
> @@ -52,11 +60,28 @@ Ext.define('PVE.qemu.SevInputPanel', {
> ['__default__', Proxmox.Utils.defaultText + ' (' + Proxmox.Utils.disabledText + ')'],
> ['std', 'AMD SEV'],
> ['es', 'AMD SEV-ES (highly experimental)'],
> + ['snp', 'AMD SEV-SNP (highly experimental)'],
> ],
> bind: {
> value: '{type}',
> },
> },
> + {
> + xtype: 'displayfield',
> + userCls: 'pmx-hint',
> + value: gettext('WARNING: When using SEV-SNP no EFI disk is loaded as pflash.'),
> + bind: {
> + hidden: '{!snpEnabled}',
> + },
> + },
> + {
> + xtype: 'displayfield',
> + userCls: 'pmx-hint',
> + value: gettext('Note: SEV-SNP requires host kernel version 6.11 or higher.'),
> + bind: {
> + hidden: '{!snpEnabled}',
> + },
> + }],
>
> advancedItems: [
> {
> @@ -77,8 +102,19 @@ Ext.define('PVE.qemu.SevInputPanel', {
> name: 'key-sharing',
> value: 1,
> bind: {
> - hidden: '{!sevEnabled}',
> - disabled: '{!sevEnabled}',
> + hidden: '{!sevEnabled || snpEnabled}',
> + disabled: '{!sevEnabled || snpEnabled}',
> + },
> + },
> + {
> + xtype: 'proxmoxcheckbox',
> + fieldLabel: gettext('Allow SMT'),
> + labelWidth: 150,
> + name: 'smt',
> + value: 1,
> + bind: {
> + hidden: '{!snpEnabled}',
> + disabled: '{!snpEnabled}',
> },
> },
> {
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
prev parent reply other threads:[~2025-03-17 10:13 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-11 15:04 [pve-devel] [PATCH edk2-firmware/qemu-server/manager v3 0/4] " Philipp Giersfeld
2025-03-11 15:04 ` [pve-devel] [PATCH edk2-firmware v4 1/4] Add OVMF targets for AMD SEV-ES and SEV-SNP Philipp Giersfeld
2025-03-11 15:04 ` [pve-devel] [PATCH qemu-server v4 2/4] Convert policy calculation Philipp Giersfeld
2025-03-11 15:04 ` [pve-devel] [PATCH qemu-server v4 3/4] config: add AMD SEV-SNP support Philipp Giersfeld
2025-03-11 15:04 ` [pve-devel] [PATCH pve-manager v4 4/4] Add configuration options for AMD SEV-SNP Philipp Giersfeld
2025-03-17 10:13 ` Markus Frank [this message]
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=cf05e1d9-c645-461e-b37b-051e71b8788c@proxmox.com \
--to=m.frank@proxmox.com \
--cc=philipp.giersfeld@canarybit.eu \
--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
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal