Re: [PATCH v4 4/6] KVM: X86: Implement PV IPIs send hypercall

From: Paolo Bonzini
Date: Mon Jul 23 2018 - 02:19:42 EST


On 23/07/2018 08:10, Wanpeng Li wrote:
>>> On 20/07/2018 18:28, Wanpeng Li wrote:
>>>> +a0: ipi_bitmap low 64 bits
>>>> +a1: ipi_bitmap high 64 bits
>>>> +a2: the lowest APIC ID in bitmap
>>>> +a3: APIC ICR
>>>> +
>>>> +The hypercall lets a guest send multicast IPIs at most can handle
>>>> +128 vCPUs per hypercall on 64-bit machines and 64 vCPUs per hypercall
>>>> +on 32-bit machines.
>>>> +
>>>> +Returns 0 if successfully delivery the IPIs and 1 if discarded.
>>> This description does not mention what happens in 32-bit mode.
> Sorry, I think I mentioned "64 vCPUs per hypercall on 32-bit machines" above.

Yes, but the description of a0 and a1 is not accurate. Something like

a0: lower part of the bitmap of destination APIC IDs
a1: higher part of the bitmap of destination APIC IDs
....

The hypercall lets a guest send multicast IPIs, with at most 128
128 destinations per hypercall in 64-bit mode and 64 vCPUs per
hypercall in 32-bit mode. The destinations are represented by a bitmap
contained in the first two arguments (a0 and a1). Bit 0 of a0
corresponds to the APIC ID in the third argument (a2), bit 1 corresponds
to the APIC ID a2+1, and so on.

Thanks,

Paolo