diff mbox series

[v9,07/11] KVM: arm64: Enable writable for ID_AA64PFR0_EL1

Message ID 20230821212243.491660-8-jingzhangos@google.com (mailing list archive)
State New, archived
Headers show
Series Enable writable for idregs DFR0,PFR0, MMFR{0,1,2,3} | expand

Commit Message

Jing Zhang Aug. 21, 2023, 9:22 p.m. UTC
All valid fields in ID_AA64PFR0_EL1 are writable from userspace
with this change except AMU field which isn't exposed by KVM.

Signed-off-by: Jing Zhang <jingzhangos@google.com>
---
 arch/arm64/kvm/sys_regs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Marc Zyngier Aug. 22, 2023, 7:10 a.m. UTC | #1
On Mon, 21 Aug 2023 22:22:39 +0100,
Jing Zhang <jingzhangos@google.com> wrote:
> 
> All valid fields in ID_AA64PFR0_EL1 are writable from userspace
> with this change except AMU field which isn't exposed by KVM.
> 
> Signed-off-by: Jing Zhang <jingzhangos@google.com>
> ---
>  arch/arm64/kvm/sys_regs.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c
> index cee5f879df19..bf716f646872 100644
> --- a/arch/arm64/kvm/sys_regs.c
> +++ b/arch/arm64/kvm/sys_regs.c
> @@ -2043,7 +2043,7 @@ static const struct sys_reg_desc sys_reg_descs[] = {
>  	  .get_user = get_id_reg,
>  	  .set_user = set_id_reg,
>  	  .reset = read_sanitised_id_aa64pfr0_el1,
> -	  .val = ID_AA64PFR0_EL1_CSV2_MASK | ID_AA64PFR0_EL1_CSV3_MASK, },
> +	  .val = ~ID_AA64PFR0_EL1_AMU_MASK, },
>  	ID_SANITISED(ID_AA64PFR1_EL1),
>  	ID_UNALLOCATED(4,2),
>  	ID_UNALLOCATED(4,3),

Same thing. Does it mean we can disable the GIC? Or FP? Have you taken
my previous comment about the AMU as the only issue?

	M.
diff mbox series

Patch

diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c
index cee5f879df19..bf716f646872 100644
--- a/arch/arm64/kvm/sys_regs.c
+++ b/arch/arm64/kvm/sys_regs.c
@@ -2043,7 +2043,7 @@  static const struct sys_reg_desc sys_reg_descs[] = {
 	  .get_user = get_id_reg,
 	  .set_user = set_id_reg,
 	  .reset = read_sanitised_id_aa64pfr0_el1,
-	  .val = ID_AA64PFR0_EL1_CSV2_MASK | ID_AA64PFR0_EL1_CSV3_MASK, },
+	  .val = ~ID_AA64PFR0_EL1_AMU_MASK, },
 	ID_SANITISED(ID_AA64PFR1_EL1),
 	ID_UNALLOCATED(4,2),
 	ID_UNALLOCATED(4,3),