In this patch series, we try to make more register fields writable like ID_AA64PFR1_EL1.BT since this can benifit the migration between some of the machines which have different BT values.
Changelog: ---------- RFCv1 -> v1: * Fix the compilation error. * Delete the machine specific information and make the description more generable.
RFCv1: https://lore.kernel.org/all/20240612023553.127813-1-shahuang@redhat.com/
Shaoqin Huang (2): KVM: arm64: Allow BT field in ID_AA64PFR1_EL1 writable KVM: selftests: aarch64: Add writable test for ID_AA64PFR1_EL1
arch/arm64/kvm/sys_regs.c | 2 +- tools/testing/selftests/kvm/aarch64/set_id_regs.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-)
Add test for the BT field in the ID_AA64PFR1_EL1 register.
Signed-off-by: Shaoqin Huang shahuang@redhat.com --- tools/testing/selftests/kvm/aarch64/set_id_regs.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/tools/testing/selftests/kvm/aarch64/set_id_regs.c b/tools/testing/selftests/kvm/aarch64/set_id_regs.c index 16e2338686c1..5381b8ec5562 100644 --- a/tools/testing/selftests/kvm/aarch64/set_id_regs.c +++ b/tools/testing/selftests/kvm/aarch64/set_id_regs.c @@ -133,6 +133,11 @@ static const struct reg_ftr_bits ftr_id_aa64pfr0_el1[] = { REG_FTR_END, };
+static const struct reg_ftr_bits ftr_id_aa64pfr1_el1[] = { + REG_FTR_BITS(FTR_LOWER_SAFE, ID_AA64PFR1_EL1, BT, 0), + REG_FTR_END, +}; + static const struct reg_ftr_bits ftr_id_aa64mmfr0_el1[] = { REG_FTR_BITS(FTR_LOWER_SAFE, ID_AA64MMFR0_EL1, ECV, 0), REG_FTR_BITS(FTR_LOWER_SAFE, ID_AA64MMFR0_EL1, EXS, 0), @@ -199,6 +204,7 @@ static struct test_feature_reg test_regs[] = { TEST_REG(SYS_ID_AA64ISAR1_EL1, ftr_id_aa64isar1_el1), TEST_REG(SYS_ID_AA64ISAR2_EL1, ftr_id_aa64isar2_el1), TEST_REG(SYS_ID_AA64PFR0_EL1, ftr_id_aa64pfr0_el1), + TEST_REG(SYS_ID_AA64PFR1_EL1, ftr_id_aa64pfr1_el1), TEST_REG(SYS_ID_AA64MMFR0_EL1, ftr_id_aa64mmfr0_el1), TEST_REG(SYS_ID_AA64MMFR1_EL1, ftr_id_aa64mmfr1_el1), TEST_REG(SYS_ID_AA64MMFR2_EL1, ftr_id_aa64mmfr2_el1),
On Mon, Jun 17, 2024 at 03:51:29AM -0400, Shaoqin Huang wrote:
In this patch series, we try to make more register fields writable like ID_AA64PFR1_EL1.BT since this can benifit the migration between some of the machines which have different BT values.
Changelog:
RFCv1 -> v1:
- Fix the compilation error.
- Delete the machine specific information and make the description more generable.
Can you please address Marc's feedback?
If we only make things writable a field at a time it's going to take forever to catch up w/ the architecture.
https://lore.kernel.org/kvmarm/86zfrpjkt6.wl-maz@kernel.org/
Hi Oliver,
On 6/18/24 01:40, Oliver Upton wrote:
On Mon, Jun 17, 2024 at 03:51:29AM -0400, Shaoqin Huang wrote:
In this patch series, we try to make more register fields writable like ID_AA64PFR1_EL1.BT since this can benifit the migration between some of the machines which have different BT values.
Changelog:
RFCv1 -> v1:
- Fix the compilation error.
- Delete the machine specific information and make the description more generable.
Can you please address Marc's feedback?
If we only make things writable a field at a time it's going to take forever to catch up w/ the architecture.
https://lore.kernel.org/kvmarm/86zfrpjkt6.wl-maz@kernel.org/
Ok. I will update the patch series again with tackling the full register.
Thanks, Shaoqin
linux-kselftest-mirror@lists.linaro.org