xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Maran Wilson <maran.wilson@oracle.com>
To: "Roger Pau Monné" <roger.pau@citrix.com>
Cc: andrew.cooper3@citrix.com, Jan Beulich <JBeulich@suse.com>,
	xen-devel@lists.xen.org
Subject: Re: [PATCH 1/1] x86/PVHv2: Add memory map pointer to hvm_start_info struct
Date: Tue, 13 Mar 2018 11:09:51 -0700	[thread overview]
Message-ID: <93d8769d-d55a-bd7e-b896-e938583d53cc@oracle.com> (raw)
In-Reply-To: <20180313171643.bg5757ll2q5lyzrs@MacBook-Pro-de-Roger.local>

On 3/13/2018 10:16 AM, Roger Pau Monné wrote:
> On Tue, Mar 13, 2018 at 09:55:20AM -0700, Maran Wilson wrote:
>> On 3/13/2018 9:34 AM, Jan Beulich wrote:
>>>>>> On 13.03.18 at 17:20, <maran.wilson@oracle.com> wrote:
>>>> On 3/13/2018 3:50 AM, Roger Pau Monné wrote:
>>>>> On Fri, Mar 02, 2018 at 12:54:29PM -0800, Maran Wilson wrote:
>>>>>> @@ -62,10 +72,34 @@
>>>>>>      *    | reserved       |
>>>>>>      * 32 +----------------+
>>>>>>      *
>>>>>> + * The layout of each entry in the memory map table is as follows:
>>>>>> + *
>>>>>> + *  0 +----------------+
>>>>>> + *    | addr           | Base address
>>>>>> + *  8 +----------------+
>>>>>> + *    | size           | Size of mapping in bytes
>>>>>> + * 16 +----------------+
>>>>>> + *    | type           | Type of mapping as defined between the hypervisor
>>>>>> + *    |                | and guest it's starting. E820_TYPE_xxx, for example.
>>>>> This needs a link to the expected type values (or a reference). Or you
>>>>> need to spell out the relation between the values and the memory types.
>>>> This field was discussed a good deal in v2 of the linux patches. I had
>>>> originally defined this to be a specific type field, matching the
>>>> x86/Linux definition for e820 memory mapping types. But Jan Beulich
>>>> successfully argued that we should keep the definition of this
>>>> particular interface agnostic to architecture and OS and not limit the
>>>> field to specific values. I believe the central idea behind Jan's
>>>> argument was to keep the interface x86-agnostic as well as preserving
>>>> the option to add additional memory mapping types in the future without
>>>> them being sanctioned by whoever maintains E820 type assignments.
>>>>
>>>> That's why I changed the comment wording to what it is now. Basically
>>>> spelling out the fact that this field simply needs to be agreed upon
>>>> between the producer and the consumer since a hypervisor should
>>>> generally know what type of guest it is starting. And I mentioned
>>>> e820_type_xxx as the *example* of one such implementation, since that is
>>>> the most obvious use case and the e820 types are part of the ACPI
>>>> standard (and thus easy to find/reference).
>>> But Roger makes a valid remark here. Statements like
>>> "E820_TYPE_xxx, for example" are simply to vague for a stable public
>>> interface.
>> How about "For example, E820 types like E820_RAM, E820_ACPI, etc as defined
>> in xen/include/asm-x86/e820.h of the Xen tree" ?
> No, it needs to be in a public header, e820.h is private to Xen.
>
> I would recommend that you list the types in this header, specifying
> that the 'type' values are arch-specific, and that this is the x86
> specific interface.

Can I provide that list in a comment block? Or are you saying you want 
me to create new #define values in this header file to enumerate the 
possible range of "type" values for x86 guests?

I'd prefer to avoid the latter since I would be redefining values that 
most certainly are already defined in every source tree where this 
header file is likely to show up. But if folks feel it is necessary, 
I'll add the symbols here.

> You likely also want to reference the section of
> the ACPI spec where those types are defined, so that the reader can
> figure out it's exact meaning.

Sure, I can add that. I'm thinking something like:

    For x86 guests, please see "Address Range Types" as defined in 
section 15 (System Address Map Interfaces) of the ACPI Specification 
(http://uefi.org/specifications)

Thanks,
-Maran

>
> Thanks, Roger.
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xenproject.org
> https://lists.xenproject.org/mailman/listinfo/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

  reply	other threads:[~2018-03-13 18:09 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-02 20:54 [PATCH 0/1] x86/PVHv2: Add memory map pointer to hvm_start_info struct Maran Wilson
2018-03-02 20:54 ` [PATCH 1/1] " Maran Wilson
2018-03-02 21:20   ` Konrad Rzeszutek Wilk
2018-03-02 22:29     ` Maran Wilson
2018-03-06 19:08       ` Daniel Kiper
2018-03-05  9:16   ` Jan Beulich
2018-03-13 10:50   ` Roger Pau Monné
2018-03-13 16:20     ` Maran Wilson
2018-03-13 16:34       ` Jan Beulich
2018-03-13 16:55         ` Maran Wilson
2018-03-13 17:16           ` Roger Pau Monné
2018-03-13 18:09             ` Maran Wilson [this message]
2018-03-14  7:43           ` Jan Beulich
2018-03-13 16:38       ` Roger Pau Monné

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=93d8769d-d55a-bd7e-b896-e938583d53cc@oracle.com \
    --to=maran.wilson@oracle.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=roger.pau@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).