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

Reply via email to