- arm/virt: Fix vcpu hotplug idx_from_topo_ids - Revert patches related to the vSVA - sync some bugfix patches from upstream - add generic vDPA device support Signed-off-by: yezengruan <yezengruan@huawei.com> (cherry picked from commit b99dbfd9847104300672fb4f559f1c2abba8aa33)
91 lines
4.0 KiB
Diff
91 lines
4.0 KiB
Diff
From 1ac38ad4f16bf8fe4cabf1e41036f36ad08cf14f Mon Sep 17 00:00:00 2001
|
|
From: tangbinzy <tangbin_yewu@cmss.chinamobile.com>
|
|
Date: Wed, 23 Nov 2022 15:07:57 +0000
|
|
Subject: [PATCH 14/29] target/arm: Add missing FEAT_TLBIOS instructions
|
|
|
|
mainline inclusion
|
|
commit b7469ef92a8034b32031ba22b84fb14046f9770e
|
|
category: bugfix
|
|
|
|
------------------------------------------------------------
|
|
|
|
Some of the instructions added by the FEAT_TLBIOS extension were forgotten
|
|
when the extension was originally added to QEMU.
|
|
|
|
Fixes: 7113d618505b ("target/arm: Add support for FEAT_TLBIOS")
|
|
Signed-off-by: Idan Horowitz <idan.horowitz@gmail.com>
|
|
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
|
|
Message-id: 20211231103928.1455657-1-idan.horowitz@gmail.com
|
|
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
|
|
|
|
Signed-off-by: tangbinzy <tangbin_yewu@cmss.chinamobile.com>
|
|
---
|
|
target/arm/helper.c | 32 ++++++++++++++++++++++++++++++++
|
|
1 file changed, 32 insertions(+)
|
|
|
|
diff --git a/target/arm/helper.c b/target/arm/helper.c
|
|
index 80737a8d7b..1854c65863 100644
|
|
--- a/target/arm/helper.c
|
|
+++ b/target/arm/helper.c
|
|
@@ -6998,18 +6998,42 @@ static const ARMCPRegInfo tlbios_reginfo[] = {
|
|
.opc0 = 1, .opc1 = 0, .crn = 8, .crm = 1, .opc2 = 0,
|
|
.access = PL1_W, .type = ARM_CP_NO_RAW,
|
|
.writefn = tlbi_aa64_vmalle1is_write },
|
|
+ { .name = "TLBI_VAE1OS", .state = ARM_CP_STATE_AA64,
|
|
+ .opc0 = 1, .opc1 = 0, .crn = 8, .crm = 1, .opc2 = 1,
|
|
+ .access = PL1_W, .type = ARM_CP_NO_RAW,
|
|
+ .writefn = tlbi_aa64_vae1is_write },
|
|
{ .name = "TLBI_ASIDE1OS", .state = ARM_CP_STATE_AA64,
|
|
.opc0 = 1, .opc1 = 0, .crn = 8, .crm = 1, .opc2 = 2,
|
|
.access = PL1_W, .type = ARM_CP_NO_RAW,
|
|
.writefn = tlbi_aa64_vmalle1is_write },
|
|
+ { .name = "TLBI_VAAE1OS", .state = ARM_CP_STATE_AA64,
|
|
+ .opc0 = 1, .opc1 = 0, .crn = 8, .crm = 1, .opc2 = 3,
|
|
+ .access = PL1_W, .type = ARM_CP_NO_RAW,
|
|
+ .writefn = tlbi_aa64_vae1is_write },
|
|
+ { .name = "TLBI_VALE1OS", .state = ARM_CP_STATE_AA64,
|
|
+ .opc0 = 1, .opc1 = 0, .crn = 8, .crm = 1, .opc2 = 5,
|
|
+ .access = PL1_W, .type = ARM_CP_NO_RAW,
|
|
+ .writefn = tlbi_aa64_vae1is_write },
|
|
+ { .name = "TLBI_VAALE1OS", .state = ARM_CP_STATE_AA64,
|
|
+ .opc0 = 1, .opc1 = 0, .crn = 8, .crm = 1, .opc2 = 7,
|
|
+ .access = PL1_W, .type = ARM_CP_NO_RAW,
|
|
+ .writefn = tlbi_aa64_vae1is_write },
|
|
{ .name = "TLBI_ALLE2OS", .state = ARM_CP_STATE_AA64,
|
|
.opc0 = 1, .opc1 = 4, .crn = 8, .crm = 1, .opc2 = 0,
|
|
.access = PL2_W, .type = ARM_CP_NO_RAW,
|
|
.writefn = tlbi_aa64_alle2is_write },
|
|
+ { .name = "TLBI_VAE2OS", .state = ARM_CP_STATE_AA64,
|
|
+ .opc0 = 1, .opc1 = 4, .crn = 8, .crm = 1, .opc2 = 1,
|
|
+ .access = PL2_W, .type = ARM_CP_NO_RAW,
|
|
+ .writefn = tlbi_aa64_vae2is_write },
|
|
{ .name = "TLBI_ALLE1OS", .state = ARM_CP_STATE_AA64,
|
|
.opc0 = 1, .opc1 = 4, .crn = 8, .crm = 1, .opc2 = 4,
|
|
.access = PL2_W, .type = ARM_CP_NO_RAW,
|
|
.writefn = tlbi_aa64_alle1is_write },
|
|
+ { .name = "TLBI_VALE2OS", .state = ARM_CP_STATE_AA64,
|
|
+ .opc0 = 1, .opc1 = 4, .crn = 8, .crm = 1, .opc2 = 5,
|
|
+ .access = PL2_W, .type = ARM_CP_NO_RAW,
|
|
+ .writefn = tlbi_aa64_vae2is_write },
|
|
{ .name = "TLBI_VMALLS12E1OS", .state = ARM_CP_STATE_AA64,
|
|
.opc0 = 1, .opc1 = 4, .crn = 8, .crm = 1, .opc2 = 6,
|
|
.access = PL2_W, .type = ARM_CP_NO_RAW,
|
|
@@ -7030,6 +7054,14 @@ static const ARMCPRegInfo tlbios_reginfo[] = {
|
|
.opc0 = 1, .opc1 = 6, .crn = 8, .crm = 1, .opc2 = 0,
|
|
.access = PL3_W, .type = ARM_CP_NO_RAW,
|
|
.writefn = tlbi_aa64_alle3is_write },
|
|
+ { .name = "TLBI_VAE3OS", .state = ARM_CP_STATE_AA64,
|
|
+ .opc0 = 1, .opc1 = 6, .crn = 8, .crm = 1, .opc2 = 1,
|
|
+ .access = PL3_W, .type = ARM_CP_NO_RAW,
|
|
+ .writefn = tlbi_aa64_vae3is_write },
|
|
+ { .name = "TLBI_VALE3OS", .state = ARM_CP_STATE_AA64,
|
|
+ .opc0 = 1, .opc1 = 6, .crn = 8, .crm = 1, .opc2 = 5,
|
|
+ .access = PL3_W, .type = ARM_CP_NO_RAW,
|
|
+ .writefn = tlbi_aa64_vae3is_write },
|
|
REGINFO_SENTINEL
|
|
};
|
|
|
|
--
|
|
2.27.0
|
|
|