[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC 5/9] target/arm: introduce CPU feature dependency mechanism
From: |
Peng Liang |
Subject: |
Re: [RFC 5/9] target/arm: introduce CPU feature dependency mechanism |
Date: |
Sat, 15 Aug 2020 10:19:27 +0800 |
User-agent: |
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.1.1 |
On 8/13/2020 8:48 PM, Andrew Jones wrote:
> On Thu, Aug 13, 2020 at 06:26:53PM +0800, Peng Liang wrote:
>> Some CPU features are dependent on other CPU features. For example,
>> ID_AA64PFR0_EL1.FP field and ID_AA64PFR0_EL1.AdvSIMD must have the same
>> value, which means FP and ADVSIMD are dependent on each other, FPHP and
>> ADVSIMDHP are dependent on each other.
>>
>> This commit introduces a mechanism for CPU feature dependency in
>> AArch64. We build a directed graph from the CPU feature dependency
>> relationship, each edge from->to means the `to` CPU feature is dependent
>> on the `from` CPU feature. And we will automatically enable/disable CPU
>> feature according to the directed graph.
>>
>> For example, a, b, and c CPU features are in relationship a->b->c, which
>> means c is dependent on b and b is dependent on a. If c is enabled by
>> user, then a and b is enabled automatically. And if a is disabled by
>> user, then b and c is disabled automatically.
>
> And what if a is mutually exclusive with b? I.e. a and b can both be
> disabled, but only a or b may be enabled.
>
> Thanks,
> drew
>
> .
>
Currently, a and b will be both enabled or disabled. For example, a and b are
in relationship a->b, which means b is dependent on a. If -cpu host,a=off,b=on,
then both a and b are enabled. If -cpu host,b=on,a=off, then both a and b are
disabled. Maybe we should report an error to user in this scenario?
Thanks,
Peng
[RFC 6/9] target/arm: introduce KVM_CAP_ARM_CPU_FEATURE, Peng Liang, 2020/08/13
[RFC 1/9] target/arm: convert isar regs to array, Peng Liang, 2020/08/13
[RFC 7/9] target/arm: Add CPU features to query-cpu-model-expansion, Peng Liang, 2020/08/13