1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
id = 2669
title = "CPU Hotplug (Host Model) Causes the Windows VM to BSOD"
state = "opened"
created_at = "2024-11-11T12:52:57.717Z"
closed_at = "n/a"
labels = ["QAPI/QMP", "accel: KVM", "target: i386"]
url = "https://gitlab.com/qemu-project/qemu/-/issues/2669"
host-os = "Linux"
host-arch = "x86_64 (x64) -- Intel(R) Xeon(R) CPU E3-1230 v6"
qemu-version = "8.0.0, 9.1.0, 9.1.1, 9.1.50 (master)"
guest-os = "Windows"
guest-arch = "x64"
description = """The QEMU runs on a host with the Intel(R) Xeon(R) CPU E3-1230 v6 CPU which supports Software Guard Extension (SGX). I start a VM with Windows Server 2019 inside and with `-cpu host,...`. When I attempts to hotplug additional CPU (when the VM is running), the OS issues a bug check 0x3e (`MULTIPROCESSOR_CONFIGURATION_NOT_SUPPORTED`). The problem is that the newly hotplugged CPU is not evaluated as "equivalent enough" compared to the already present CPUs. I did some more digging and reverse engineering and it looks like the CPU being hotplugged has SGX turned off. This seems to be fixed when the VM reboots.
I tried to disable SGX through `-cpu host,-sgx` which helps (the VM successfully accepts the hotplugged CPU), however, `+sgx` does not help (seems to have no effect on the CPU being hotplugged).
My goal is to be able to hotplug CPUs even when the host CPU supports SGX.
I tested with QEMU 8.0.0, 9.1.0, 9.1.1 and 9.1.50 (current master) but with no luck."""
reproduce = """1. Create a simple Windows VM,
2. start the VM,
3. use `qpm-shell` to hotplug a CPU (https://www.qemu.org/docs/master/system/cpu-hotplug.html).
I can provide you the VM as well but its image (QCOW2) has around 10G in size.
Best regards
Martin Dráb"""
additional = "n/a"
|