@@ -835,6 +835,11 @@ static struct id_reg_info id_dfr0_el1_info = {
.get_reset_val = get_reset_id_dfr0_el1,
};
+static struct id_reg_info id_dfr1_el1_info = {
+ .sys_reg = SYS_ID_DFR1_EL1,
+ .ftr_check_types = S_FCT(ID_DFR1_MTPMU_SHIFT, FCT_LOWER_SAFE),
+};
+
/*
* An ID register that needs special handling to control the value for the
* guest must have its own id_reg_info in id_reg_info_table.
@@ -845,6 +850,7 @@ static struct id_reg_info id_dfr0_el1_info = {
#define GET_ID_REG_INFO(id) (id_reg_info_table[IDREG_IDX(id)])
static struct id_reg_info *id_reg_info_table[KVM_ARM_ID_REG_MAX_NUM] = {
[IDREG_IDX(SYS_ID_DFR0_EL1)] = &id_dfr0_el1_info,
+ [IDREG_IDX(SYS_ID_DFR1_EL1)] = &id_dfr1_el1_info,
[IDREG_IDX(SYS_ID_AA64PFR0_EL1)] = &id_aa64pfr0_el1_info,
[IDREG_IDX(SYS_ID_AA64PFR1_EL1)] = &id_aa64pfr1_el1_info,
[IDREG_IDX(SYS_ID_AA64DFR0_EL1)] = &id_aa64dfr0_el1_info,
This patch adds id_reg_info for ID_DFR1_EL1 to make it writable by userspace. Signed-off-by: Reiji Watanabe <reijiw@google.com> --- arch/arm64/kvm/sys_regs.c | 6 ++++++ 1 file changed, 6 insertions(+)