From: Christophe de Dinechin <dinechin@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Eduardo Habkost" <ehabkost@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Igor Mammedov" <imammedo@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@redhat.com>,
"Richard Henderson" <rth@twiddle.net>
Subject: Re: [RFC 1/3] acpi: cpuhp: fix 'Command data' description is spec
Date: Tue, 22 Oct 2019 19:17:13 +0200 [thread overview]
Message-ID: <m11rv4og2u.fsf@redhat.com> (raw)
In-Reply-To: <cd0713b5-fd64-d3e1-7f83-3a0725b819a3@redhat.com>
Laszlo Ersek writes:
> On 10/10/19 15:31, Laszlo Ersek wrote:
>> 2nd round:
>>
>> On 10/09/19 15:22, Igor Mammedov wrote:
>>> QEMU returns 0, in case of erro or invalid value in 'Command field',
>>> make spec match reality, i.e.
>>
>> AHA! so this is exactly where you meant to list the particular cases
>> when "command data" reads as 0:
>> - CPU >= max_cpus selected,
>> - CPU with pending events asked for, but none found
>>
>>> Also fix returned value description in case 'Command field' == 0x0,
>>> it's in not PXM but CPU selector value with pending event
>>>
>>> Signed-off-by: Igor Mammedov <imammedo@redhat.com>
>>> ---
>>> docs/specs/acpi_cpu_hotplug.txt | 5 +++--
>>> 1 file changed, 3 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/docs/specs/acpi_cpu_hotplug.txt b/docs/specs/acpi_cpu_hotplug.txt
>>> index ee219c8358..ac5903b2b1 100644
>>> --- a/docs/specs/acpi_cpu_hotplug.txt
>>> +++ b/docs/specs/acpi_cpu_hotplug.txt
>>> @@ -44,9 +44,10 @@ read access:
>>> 3-7: reserved and should be ignored by OSPM
>>> [0x5-0x7] reserved
>>> [0x8] Command data: (DWORD access)
>>> - in case of error or unsupported command reads is 0xFFFFFFFF
>>> + in case of error or unsupported command reads is 0x0
>>> current 'Command field' value:
>>> - 0: returns PXM value corresponding to device
>>> + 0: returns CPU selector value corresponding to a CPU with
>>> + pending event.
>>>
>>> write access:
>>> offset:
>>>
>>
>> How about:
>>
>> [0x8] Command data: (DWORD access, little endian)
>> If the "CPU selector" value last stored by the guest refers to
>> an impossible CPU, then 0.
>> Otherwise, if the "Command field" value last stored by the
>> guest differs from 0, then 0.
>> Otherwise, if there is at least one CPU with a pending event,
>> then that CPU has been selected; the command data register
>> returns that selector.
>> Otherwise, 0.
>
> Hmmm not exactly. Let me try again.
>
> [0x8] Command data: (DWORD access, little endian)
> If the "CPU selector" value last stored by the guest refers to
> an impossible CPU, then 0.
> Otherwise, if the "Command field" value last stored by the
> guest differs from 0, then 0.
> Otherwise, the currently selected CPU.
How about phrasing it to put the more general case first, e.g.
[0x8] Command data: (DWORD access, little endian)
The currently selected CPU, unless:
- The "CPU selector" value refers to an impossible CPU
- The "Command field" value last stored by the guest differs
from 0
In these last two cases, the value is 0.
>
> Thanks,
> Laszlo
--
Cheers,
Christophe de Dinechin (IRC c3d)
next prev parent reply other threads:[~2019-10-22 17:18 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-09 13:22 [RFC 0/3] acpi: cphp: add CPHP_GET_CPU_ID_CMD command to cpu hotplug MMIO interface Igor Mammedov
2019-10-09 13:22 ` [RFC 1/3] acpi: cpuhp: fix 'Command data' description is spec Igor Mammedov
2019-10-10 12:33 ` Laszlo Ersek
2019-10-17 15:41 ` Igor Mammedov
2019-10-18 13:24 ` Laszlo Ersek
2019-10-10 13:31 ` Laszlo Ersek
2019-10-10 13:36 ` Laszlo Ersek
2019-10-22 17:17 ` Christophe de Dinechin [this message]
2019-10-22 17:37 ` Laszlo Ersek
2019-10-09 13:22 ` [RFC 2/3] acpi: cpuhp: add typical usecases into spec Igor Mammedov
2019-10-10 13:04 ` Laszlo Ersek
2019-10-10 13:15 ` Laszlo Ersek
2019-10-10 14:13 ` Laszlo Ersek
2019-10-18 14:45 ` Igor Mammedov
2019-10-09 13:22 ` [RFC 3/3] acpi: cpuhp: add CPHP_GET_CPU_ID_CMD command Igor Mammedov
2019-10-10 14:56 ` Laszlo Ersek
2019-10-10 15:06 ` Michael S. Tsirkin
2019-10-10 17:23 ` Igor Mammedov
2019-10-10 17:53 ` Laszlo Ersek
2019-10-10 19:26 ` Eduardo Habkost
2019-10-11 8:07 ` Laszlo Ersek
2019-10-18 16:18 ` Igor Mammedov
2019-10-21 13:06 ` Laszlo Ersek
2019-10-22 12:39 ` Laszlo Ersek
2019-10-22 14:42 ` Igor Mammedov
2019-10-22 15:49 ` Laszlo Ersek
2019-10-23 14:59 ` Igor Mammedov
2019-10-24 15:07 ` Philippe Mathieu-Daudé
2019-10-10 9:56 ` [RFC 0/3] acpi: cphp: add CPHP_GET_CPU_ID_CMD command to cpu hotplug MMIO interface Michael S. Tsirkin
2019-10-10 13:39 ` Igor Mammedov
2019-10-10 13:59 ` Michael S. Tsirkin
2019-10-10 15:57 ` Igor Mammedov
2019-10-10 18:15 ` Michael S. Tsirkin
2019-10-11 7:41 ` Laszlo Ersek
2019-10-10 19:20 ` Eduardo Habkost
2019-10-11 8:01 ` Laszlo Ersek
2019-10-11 13:00 ` Michael S. Tsirkin
2019-10-11 16:13 ` Laszlo Ersek
2019-10-11 10:47 ` Igor Mammedov
2019-10-11 6:54 ` Laszlo Ersek
2019-10-10 14:16 ` Eduardo Habkost
2019-10-10 14:49 ` Michael S. Tsirkin
2019-10-10 17:09 ` Igor Mammedov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m11rv4og2u.fsf@redhat.com \
--to=dinechin@redhat.com \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=kraxel@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.