From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id B12541FF137 for ; Tue, 03 Feb 2026 11:22:40 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 6F07519D46; Tue, 3 Feb 2026 11:22:24 +0100 (CET) From: Dominik Csapak To: pve-devel@lists.proxmox.com Subject: [PATCH manager v2 14/17] ui: qemu: wizard: make iso confid architecture specific Date: Tue, 3 Feb 2026 11:00:19 +0100 Message-ID: <20260203102118.1430545-15-d.csapak@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260203102118.1430545-1-d.csapak@proxmox.com> References: <20260203102118.1430545-1-d.csapak@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL -0.968 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment KAM_MAILER 2 Automated Mailer Tag Left in Email SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: RPZFWCJXJDFDARJZBMP32KPTR3UVOF2U X-Message-ID-Hash: RPZFWCJXJDFDARJZBMP32KPTR3UVOF2U X-MailFrom: d.csapak@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: e.g. on aarch64, there is no ide bus, so we can't use ide2. Instead use 'scsi2' there. We have to slightly adapt the MultiHDEdit panel to account for a possibly different confid here. Since windows is currently not available for aarch64, the confid for the second cd stays the same for now, but has to be adapted if we allow windows on aarch64 in the future. Signed-off-by: Dominik Csapak --- www/manager6/qemu/CreateWizard.js | 3 +++ www/manager6/qemu/MultiHDEdit.js | 4 +++- www/manager6/qemu/OSPanel.js | 10 ++++++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/www/manager6/qemu/CreateWizard.js b/www/manager6/qemu/CreateWizard.js index 14cb2c43..1302d9dc 100644 --- a/www/manager6/qemu/CreateWizard.js +++ b/www/manager6/qemu/CreateWizard.js @@ -225,6 +225,9 @@ Ext.define('PVE.qemu.CreateWizard', { { xtype: 'pveQemuOSPanel', title: gettext('OS'), + bind: { + arch: '{current.architecture}', + }, }, { xtype: 'pveQemuSystemPanel', diff --git a/www/manager6/qemu/MultiHDEdit.js b/www/manager6/qemu/MultiHDEdit.js index 220167de..e69f3885 100644 --- a/www/manager6/qemu/MultiHDEdit.js +++ b/www/manager6/qemu/MultiHDEdit.js @@ -45,11 +45,13 @@ Ext.define('PVE.qemu.MultiHDPanel', { let vm = me.getViewModel(); let res = { - ide2: 'media=cdrom', scsihw: vm.get('current.scsihw'), ostype: vm.get('current.ostype'), }; + let isoConfig = vm.get('current.isoConfig') ?? 'ide2'; + res[isoConfig] = 'media=cdrom'; + if (vm.get('current.ide0') === 'some') { res.ide0 = 'media=cdrom'; } diff --git a/www/manager6/qemu/OSPanel.js b/www/manager6/qemu/OSPanel.js index 136c0316..3d2b5a3e 100644 --- a/www/manager6/qemu/OSPanel.js +++ b/www/manager6/qemu/OSPanel.js @@ -10,6 +10,16 @@ Ext.define('PVE.qemu.OSPanel', { padding: '0 10', }, + setArch: function (arch) { + let me = this; + let [controller, id] = PVE.qemu.Architecture.defaultCDDrive[arch] ?? ['ide', 2]; + let vm = me.getController().getViewModel(); + let conf = `${controller}${id}`; + vm.set('current.isoConfig', conf); + me.lookup('cdSelector').confid = conf; + // TODO change confid for second cd if windows is allowed for other architectures + }, + controller: { xclass: 'Ext.app.ViewController', control: { -- 2.47.3