[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 1/3] x86: drop is_pv_32on64_vcpu()



On 24/06/2015 22:35, Boris Ostrovsky wrote:
> On 06/23/2015 11:18 AM, Jan Beulich wrote:
>> ... as being identical to is_pv_32bit_vcpu() after the x86-32 removal.
>>
>> In a few cases this includes an additional is_pv_32bit_vcpu() ->
>> is_pv_32bit_domain() conversion.
>>
>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
>
> We have
> struct arch_domain
> {
>     ...
>     /* Is a 32-bit PV (non-HVM) guest? */
>     bool_t is_32bit_pv;
>     /* Is shared-info page in 32-bit format? */
>     bool_t has_32bit_shinfo;
>    ...
> }
>
> and currently both of these fields are set/unset together (except for
> one HVM case --- hvm_latch_shinfo_size()). Why not have a single 'bool
> is_32bit' and then replace macros at the top of
> include/asm-x86/domain.h with is_32bit_vcpu/domain()?
>
> I think in majority of places when we test for
> is_pv_32bit_vcpu/domain() we already know that we are PV so it
> shouldn't add any additional tests.

For the PV case, the two are equivalent.  For HVM, they are not.

HVM domains have shared info, but may be latched as either 32 or 64bit,
depending on the mode they were running in when they most recently wrote
a hypercall page.  Sadly, the shared info layout is width-dependent
which is why such hacks need to exist.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.