On 29.04.2020 15:13, Andrew Cooper wrote:
> On 20/04/2020 15:09, Jan Beulich wrote:
>> On 17.04.2020 17:50, Andrew Cooper wrote:
>>> --- a/xen/arch/x86/pv/domain.c
>>> +++ b/xen/arch/x86/pv/domain.c
>>> @@ -215,7 +215,7 @@ int switch_compat(struct domain *d)
>>> return 0;
>>>
>>> d->arch.has_32bit_shinfo = 1;
>>> - d->arch.is_32bit_pv = 1;
>>> + d->arch.pv.is_32bit = 1;
>>>
>>> for_each_vcpu( d, v )
>>> {
>>> @@ -235,7 +235,7 @@ int switch_compat(struct domain *d)
>>> return 0;
>>>
>>> undo_and_fail:
>>> - d->arch.is_32bit_pv = d->arch.has_32bit_shinfo = 0;
>>> + d->arch.pv.is_32bit = d->arch.has_32bit_shinfo = 0;
>>> for_each_vcpu( d, v )
>>> {
>>> free_compat_arg_xlat(v);
>>> @@ -358,7 +358,7 @@ int pv_domain_initialise(struct domain *d)
>>> d->arch.ctxt_switch = &pv_csw;
>>>
>>> /* 64-bit PV guest by default. */
>>> - d->arch.is_32bit_pv = d->arch.has_32bit_shinfo = 0;
>>> + d->arch.pv.is_32bit = d->arch.has_32bit_shinfo = 0;
>> Switch to true/false while you're touching these?
>
> Yes, but I'm tempted to delete these lines in the final hunk. Its
> writing zeros into a zeroed structures.
Oh, yes, agreed.
Jan