Re: [RFC PATCH v2 1/2] xen/pvh: Add memory map pointer to hvm_start_info struct

From: Jan Beulich
Date: Tue Dec 12 2017 - 03:06:55 EST


>>> On 11.12.17 at 22:59, <pbonzini@xxxxxxxxxx> wrote:
> On 08/12/2017 09:49, Jan Beulich wrote:
>>> + * The layout of each entry in the memory map table is as follows and no
>>> + * padding is used between entries in the array:
>>> + *
>>> + * 0 +----------------+
>>> + * | addr | Base address
>>> + * 8 +----------------+
>>> + * | size | Size of mapping
>>> + * 16 +----------------+
>>> + * | type | E820_TYPE_xxx
>>> + * 20 +----------------|
>> I'm not convinced of re-using E820 types here. I can see that this
>> might ease the consumption in Linux, but I don't think there should
>> be any connection to x86 aspects here - the data being supplied is
>> x86-agnostic, and Linux'es placement of the header is also making
>> no connection to x86 (oddly enough, the current placement in the
>> Xen tree does, for a reason which escapes me).
>
> FWIW, e820 types are now part of the ACPI standard. So using them is
> not necessarily related to x86, and reasonably x86-agnostic.

Sort of - the description of it starts with "This interface is used in
real mode only on IA-PC-based systems ..."

But it being there is useful in another way: It shows that there's
an optional field making the full structure 64-bit aligned again. (It
at the same time shows - I admit I had forgotten about this aspect -
that the structure size isn't fixed in the first place, so consumers
have to convert [truncate/extend] the output to their internal
representation anyway, and hence there's even less of a reason
to tie the proposed structure's layout to the E820 one.)

Jan