Subject: [PATCH v2 7/7] ARM: KVM: Unlock vgic-v3 support

From: [email-masked] (Vladimir Murzin)
Date: Wed, 7 Sep 2016 11:48:52 +0100

On 06/09/16 17:55, Christoffer Dall wrote:
> On Tue, Sep 06, 2016 at 02:23:16PM +0100, Vladimir Murzin wrote:
>>
>> Sorry, missed this one
>>
>> On 05/09/16 12:29, Christoffer Dall wrote:
>>>>  
>>>>> +static bool __hyp_text __has_useable_gicv3_cpuif(void)
>>>>> +{
>>>>> +	if (IS_ENABLED(CONFIG_ARM_GIC_V3) && (read_sysreg(ID_PFR1) >> 28))
>>> Do we have a define for bit 28 we could use?
>>
>> I'll check it.
>>
>>>
>>> Does this actually work on all v7 boards?  The v7 ARM ARM seems to state
>>> that this bitfield is Reserved, UNK.  Does that somehow mean 'is going
>>> to be zero'?
>>
>> It is how v7ARM ARM I have defines UNK
>>
>> An abbreviation indicating that software must treat a field as
>> containing an UNKNOWN value. Hardware must implement the bit as read as
>> 0, or all 0s for a bit field. Software must not rely on the field
>> reading as zero.
>>
>> It seems goes under 'is going to be zero' case, no?
>>
> The last sentence is disturbing to me, and feels slightly contradicting
> itself.  Reading the UNKNOWN description doesn't help much either.
> 
> Perhaps you can ask around internally and figure out what the precise
> answer to this is?

Since it is kind of implementation dependant thing the precise answer
from here hardly help, IMO. We still have non-zero chance to see
something scary.

OTOH, why do we care of all v7 boards if none of them have
CONFIG_ARM_GIC_V3 defined?

Cheers
Vladimir

> Thanks,
> -Christoffer