On 20/03/2024 3:09 pm, Jan Beulich wrote: > On 20.03.2024 14:57, Roger Pau Monne wrote: >> There's no reason to force HVM guests to have a valid vcpu_info area when >> initializing a vCPU, as the vCPU can also be brought online using the local >> APIC, and on that path there's no requirement for vcpu_info to be setup ahead >> of the bring up. Note an HVM vCPU can operate normally without making use of >> vcpu_info. > While I'd agree if you started with "There's no real need to force ...", I > still think there is a reason: If one wants to use paravirt interfaces (i.e. > hypercalls), they would better do so consistently. After all there's also > no need to use VCPUOP_initialise, yet you're not disabling its use.
I firmly disagree. There are good reasons to use VCPUOP_initialise over INIT-SIPI-SIPI (like avoiding 16bit mode - in the case we want it here, to fix APIC_ID enumeration in a way that doesn't involve putting more complexity into HVMLoader), and forcing us to set up a useless structure before we can boot vCPU number 32 is just wrong. It was dumb to design a hypercall like this in the first place for PV guests, and it definitely isn't OK to keep guests broken because of it. ~Andrew