diff mbox

[for-4.8] docs: document ACPI usage in PVHv2 guests

Message ID 1478175543-12337-1-git-send-email-roger.pau@citrix.com (mailing list archive)
State New, archived
Headers show

Commit Message

Roger Pau Monné Nov. 3, 2016, 12:19 p.m. UTC
It is possible for PVHv2 guests to get the hardware description from ACPI
tables, add this to the documentation also.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Tim Deegan <tim@xen.org>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 docs/misc/hvmlite.markdown | 11 +++++++++++
 1 file changed, 11 insertions(+)

Comments

Andrew Cooper Nov. 3, 2016, 12:22 p.m. UTC | #1
On 03/11/16 12:19, Roger Pau Monne wrote:
> It is possible for PVHv2 guests to get the hardware description from ACPI
> tables, add this to the documentation also.
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Wei Liu Nov. 3, 2016, 12:34 p.m. UTC | #2
On Thu, Nov 03, 2016 at 12:22:57PM +0000, Andrew Cooper wrote:
> On 03/11/16 12:19, Roger Pau Monne wrote:
> > It is possible for PVHv2 guests to get the hardware description from ACPI
> > tables, add this to the documentation also.
> >
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

Applied.
Jan Beulich Nov. 3, 2016, 1:06 p.m. UTC | #3
>>> On 03.11.16 at 13:19, <roger.pau@citrix.com> wrote:
> --- a/docs/misc/hvmlite.markdown
> +++ b/docs/misc/hvmlite.markdown
> @@ -64,3 +64,14 @@ The following VCPU hypercalls can be used in order to bring up secondary vCPUs:
>   * `VCPUOP_down` is used to bring down a vCPU.
>  
>   * `VCPUOP_is_up` is used to scan the number of available vCPUs.
> +
> +## Hardware description ##
> +
> +PVHv2 guests that have access to hardware (either emulated or real) will also
> +have ACPI tables with the description of the hardware that's available to the
> +guest. This applies to both privileged and unprivileged guests. A hint of
> +the position of the RSDP in memory (if present) can be fetched from the start
> +info structure that's passed at boot time (field rsdp_paddr).

Why "hint"?

Jan
Roger Pau Monné Nov. 3, 2016, 3:38 p.m. UTC | #4
On Thu, Nov 03, 2016 at 07:06:14AM -0600, Jan Beulich wrote:
> >>> On 03.11.16 at 13:19, <roger.pau@citrix.com> wrote:
> > --- a/docs/misc/hvmlite.markdown
> > +++ b/docs/misc/hvmlite.markdown
> > @@ -64,3 +64,14 @@ The following VCPU hypercalls can be used in order to bring up secondary vCPUs:
> >   * `VCPUOP_down` is used to bring down a vCPU.
> >  
> >   * `VCPUOP_is_up` is used to scan the number of available vCPUs.
> > +
> > +## Hardware description ##
> > +
> > +PVHv2 guests that have access to hardware (either emulated or real) will also
> > +have ACPI tables with the description of the hardware that's available to the
> > +guest. This applies to both privileged and unprivileged guests. A hint of
> > +the position of the RSDP in memory (if present) can be fetched from the start
> > +info structure that's passed at boot time (field rsdp_paddr).
> 
> Why "hint"?

Hm, maybe that's not the best word? (my English is clearly lacking 
sometimes). What I meant is that this is a pointer to the RSDP. I've 
probably used "hint" here because in FreeBSD the position of the RSDP is 
passed from the loader to the kernel as "hint.acpi.0.rsdp". Let me know if 
you would like me to rephrase this.

Roger.
Jan Beulich Nov. 3, 2016, 3:55 p.m. UTC | #5
>>> On 03.11.16 at 16:38, <roger.pau@citrix.com> wrote:
> On Thu, Nov 03, 2016 at 07:06:14AM -0600, Jan Beulich wrote:
>> >>> On 03.11.16 at 13:19, <roger.pau@citrix.com> wrote:
>> > --- a/docs/misc/hvmlite.markdown
>> > +++ b/docs/misc/hvmlite.markdown
>> > @@ -64,3 +64,14 @@ The following VCPU hypercalls can be used in order to 
> bring up secondary vCPUs:
>> >   * `VCPUOP_down` is used to bring down a vCPU.
>> >  
>> >   * `VCPUOP_is_up` is used to scan the number of available vCPUs.
>> > +
>> > +## Hardware description ##
>> > +
>> > +PVHv2 guests that have access to hardware (either emulated or real) will also
>> > +have ACPI tables with the description of the hardware that's available to the
>> > +guest. This applies to both privileged and unprivileged guests. A hint of
>> > +the position of the RSDP in memory (if present) can be fetched from the start
>> > +info structure that's passed at boot time (field rsdp_paddr).
>> 
>> Why "hint"?
> 
> Hm, maybe that's not the best word? (my English is clearly lacking 
> sometimes). What I meant is that this is a pointer to the RSDP. I've 
> probably used "hint" here because in FreeBSD the position of the RSDP is 
> passed from the loader to the kernel as "hint.acpi.0.rsdp". Let me know if 
> you would like me to rephrase this.

I indeed think this should be re-worded. After all that start info field
is iirc the _only_ way to get the pointer.

Jan
George Dunlap Nov. 3, 2016, 4 p.m. UTC | #6
On 03/11/16 15:55, Jan Beulich wrote:
>>>> On 03.11.16 at 16:38, <roger.pau@citrix.com> wrote:
>> On Thu, Nov 03, 2016 at 07:06:14AM -0600, Jan Beulich wrote:
>>>>>> On 03.11.16 at 13:19, <roger.pau@citrix.com> wrote:
>>>> --- a/docs/misc/hvmlite.markdown
>>>> +++ b/docs/misc/hvmlite.markdown
>>>> @@ -64,3 +64,14 @@ The following VCPU hypercalls can be used in order to 
>> bring up secondary vCPUs:
>>>>   * `VCPUOP_down` is used to bring down a vCPU.
>>>>  
>>>>   * `VCPUOP_is_up` is used to scan the number of available vCPUs.
>>>> +
>>>> +## Hardware description ##
>>>> +
>>>> +PVHv2 guests that have access to hardware (either emulated or real) will also
>>>> +have ACPI tables with the description of the hardware that's available to the
>>>> +guest. This applies to both privileged and unprivileged guests. A hint of
>>>> +the position of the RSDP in memory (if present) can be fetched from the start
>>>> +info structure that's passed at boot time (field rsdp_paddr).
>>>
>>> Why "hint"?
>>
>> Hm, maybe that's not the best word? (my English is clearly lacking 
>> sometimes). What I meant is that this is a pointer to the RSDP. I've 
>> probably used "hint" here because in FreeBSD the position of the RSDP is 
>> passed from the loader to the kernel as "hint.acpi.0.rsdp". Let me know if 
>> you would like me to rephrase this.
> 
> I indeed think this should be re-worded. After all that start info field
> is iirc the _only_ way to get the pointer.

Yes, a hint, particularly in computer science, is a bit of information
which 1) isn't strictly needed, and 2) may not actually be correct; a
hint may be ignored with no change in functionality (only performance).
You might hint to the OS that a bit of memory is going to be very hot
and should therefore not be paged out; but the OS can ignore that hint
if it wants.  SCHEDOP_yield in Xen is a hint.

Since as Jan says, the information *is* strictly needed, and must always
be correct, you should probably just call it a pointer.

 -George
George Dunlap Nov. 3, 2016, 4:06 p.m. UTC | #7
On 03/11/16 15:55, Jan Beulich wrote:
>>>> On 03.11.16 at 16:38, <roger.pau@citrix.com> wrote:
>> On Thu, Nov 03, 2016 at 07:06:14AM -0600, Jan Beulich wrote:
>>>>>> On 03.11.16 at 13:19, <roger.pau@citrix.com> wrote:
>>>> --- a/docs/misc/hvmlite.markdown
>>>> +++ b/docs/misc/hvmlite.markdown
>>>> @@ -64,3 +64,14 @@ The following VCPU hypercalls can be used in order to 
>> bring up secondary vCPUs:
>>>>   * `VCPUOP_down` is used to bring down a vCPU.
>>>>  
>>>>   * `VCPUOP_is_up` is used to scan the number of available vCPUs.
>>>> +
>>>> +## Hardware description ##
>>>> +
>>>> +PVHv2 guests that have access to hardware (either emulated or real) will also
>>>> +have ACPI tables with the description of the hardware that's available to the
>>>> +guest. This applies to both privileged and unprivileged guests. A hint of
>>>> +the position of the RSDP in memory (if present) can be fetched from the start
>>>> +info structure that's passed at boot time (field rsdp_paddr).
>>>
>>> Why "hint"?
>>
>> Hm, maybe that's not the best word? (my English is clearly lacking 
>> sometimes). What I meant is that this is a pointer to the RSDP. I've 
>> probably used "hint" here because in FreeBSD the position of the RSDP is 
>> passed from the loader to the kernel as "hint.acpi.0.rsdp". Let me know if 
>> you would like me to rephrase this.
> 
> I indeed think this should be re-worded. After all that start info field
> is iirc the _only_ way to get the pointer.

In plain English, a "hint" is a bit of information that is meant to help
you reach the answer to a puzzle more quickly; but without which you
should (in theory) be able to solve it yourself.  If a student was
struggling with a mathematical proof, the teacher might say something
like, "Here's a hint: x is never negative." (Or whatever.)  Or if you
had hidden something for someone to find, you might say, "Here's a hint:
It's near something blue."

But if you wanted to come visit me, I couldn't say, "Here's a hint: My
address is 123 Easy St", because I certainly wasn't expecting you to
figure out what my address was by doing a brute-force search. :-)

 -George
diff mbox

Patch

diff --git a/docs/misc/hvmlite.markdown b/docs/misc/hvmlite.markdown
index 09051ee..946908e 100644
--- a/docs/misc/hvmlite.markdown
+++ b/docs/misc/hvmlite.markdown
@@ -64,3 +64,14 @@  The following VCPU hypercalls can be used in order to bring up secondary vCPUs:
  * `VCPUOP_down` is used to bring down a vCPU.
 
  * `VCPUOP_is_up` is used to scan the number of available vCPUs.
+
+## Hardware description ##
+
+PVHv2 guests that have access to hardware (either emulated or real) will also
+have ACPI tables with the description of the hardware that's available to the
+guest. This applies to both privileged and unprivileged guests. A hint of
+the position of the RSDP in memory (if present) can be fetched from the start
+info structure that's passed at boot time (field rsdp_paddr).
+
+Description of paravirtualized devices will come from XenStore, just as it's
+done for HVM guests.