On 14/01/14 20:52, Igor Kozhukhov
wrote:
On Jan 15, 2014, at 12:46 AM, Andrew Cooper wrote:
On 14/01/14 20:38, Igor
Kozhukhov wrote:
Hello All,
I have problems with ctfconvert with build sources of
xen-4.2 on illumos based platform:
could you please let me know - what the reason to
have a variable in structure 'struct hvm_hw_cpu_xsave' with
zero size:
struct { char x[0]; } ymm; /* YMM */
--
Best
regards,
Igor Kozhukhov
The structure is variable length depending on whether the VM
has enabled AVX support.
It is rather unfortunate that we have non-complient C used
to specify the ABI.
can we use here ?
struct
{ char x[1]; } ymm;
it will fix my problem.
-Igor
No, it wont.
The 'ymm' is either not present and has a size of 0 as far as
save_area is concerned, or is present, and has a size of 16 * 256bit
registers.
The content of this structure is only relevant as far as
hvm_{save,load}_cpu_xsave_states() goes, which resorts to some
pointer-trickary to move the data. Changing that char x[0] to char
x[1] will break the pointer trickary, and migration will suffer an
ABI breakage.
~Andrew
|