[Qemu-devel] Build of master pollutes parent directory

2017-02-06 Thread Rebecca Cran
Building commit 7d2c6c95511e42dffe2b263275e09957723d0ff4 is causing pollution of the parent directory: e.g. ~/workspace/qemu/.. contains the following extra directories: audio backends block chardev crypto disas fsdev hw io linux-user migration ndb net qapi qom replay slirp target ui util

[Qemu-devel] Build of master pollutes parent directory

2017-02-06 Thread Rebecca Cran
Building commit 7d2c6c95511e42dffe2b263275e09957723d0ff4 is causing pollution of the parent directory: e.g. ~/workspace/qemu/.. contains the following extra directories: audio backends block chardev crypto disas fsdev hw io linux-user migration ndb net qapi qom replay slirp target ui util

[Qemu-devel] RDMA wrongly detected as being supported on FreeBSD

2018-07-24 Thread Rebecca Cran
generated. gmake[1]: *** [/home/bcran/workspace/qemu/rules.mak:69: hw/rdma/vmw/pvrdma_cmd.o] Error 1 gmake[1]: *** Waiting for unfinished jobs gmake: *** [Makefile:481: subdir-x86_64-softmmu] Error 2 -- Rebecca Cran

[Qemu-devel] [PATCH] Update the avx2 configure test to be compatible with clang

2019-08-08 Thread Rebecca Cran
clang doesn't support the GCC pragma to enable AVX2, but instead requires the command line option -mavx2. Since GCC also supports that, remove the pragma lines and add the -mavx2 option when building the test. Signed-off-by: Rebecca Cran --- configure | 4 +--- 1 file changed, 1 insertion(+), 3

[Qemu-devel] [PATCH v2] Update the avx2 configure test to be compatible with clang

2019-08-08 Thread Rebecca Cran
clang doesn't support the GCC pragma to enable AVX2, but instead requires the command line option -mavx2. Since GCC also supports that, remove the pragma lines and add the -mavx2 option when building the test. If AVX2 is supported, update QEMU_CFLAGS to include -mavx2 . Signed-off-by: Rebecca

Re: [Qemu-devel] [PATCH] Update the avx2 configure test to be compatible with clang

2019-08-09 Thread Rebecca Cran
cant rework in that case, so I'll just build with GCC instead for now! -- Rebecca Cran

[PATCH 2/2] target/arm: Set ID_AA64PFR0.DIT and ID_PFR0.DIT to 1 for "max" AA64 CPU

2020-12-10 Thread Rebecca Cran
Enable FEAT_DIT for the "max" AARCH64 CPU. Signed-off-by: Rebecca Cran --- target/arm/cpu64.c | 5 + 1 file changed, 5 insertions(+) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index 649213082ff9..223e0bfd22c2 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c

[PATCH 0/2] target/arm: Add support for DIT (Data Independent Timing)

2020-12-10 Thread Rebecca Cran
This series adds support for DIT (Data Independent Timing), and then enables it for the "max" aarch64 CPU type. Rebecca Cran (2): target/arm: add support for FEAT_DIT, Data Independent Timing target/arm: Set ID_AA64PFR0.DIT and ID_PFR0.DIT to 1 for "max" AA64 CP

[PATCH 1/2] target/arm: add support for FEAT_DIT, Data Independent Timing

2020-12-10 Thread Rebecca Cran
Add support for FEAT_DIT. DIT (Data Independent Timing) is a required feature for ARMv8.4. Since virtual machine execution is largely nondeterministic, it's implemented as a NOP. Signed-off-by: Rebecca Cran --- target/arm/cpu.h | 20 +- target/arm/helper.c| 28

[PATCH 0/3] target/arm: add FEAT_TLBIOS and FEAT_TLBIRANGE support

2020-12-14 Thread Rebecca Cran
This series adds support for FEAT_TLBIOS and FEAT_TLBIRANGE, both of which are mandatory in ARMv8.4. Rebecca Cran (3): target/arm: add FEAT_TLBIOS support target/arm: add FEAT_TLBIRANGE support target/arm: set ID_AA64ISAR0.TLB to 2 for max AARCH64 CPU type accel/tcg/cputlb.c | 24

[PATCH 1/3] target/arm: add FEAT_TLBIOS support

2020-12-14 Thread Rebecca Cran
ARMv8.4 adds the mandatory FEAT_TLBIOS, which provides instructions for TLB invalidation of entries in the Outer Shareable domain. Signed-off-by: Rebecca Cran --- target/arm/helper.c | 30 1 file changed, 30 insertions(+) diff --git a/target/arm/helper.c b/target/arm

[PATCH 3/3] target/arm: set ID_AA64ISAR0.TLB to 2 for max AARCH64 CPU type

2020-12-14 Thread Rebecca Cran
Enable support for FEAT_TLBIOS and FEAT_TLBIRANGE by setting ID_AA64ISAR0.TLB to 2 for the max AARCH64 CPU type. Signed-off-by: Rebecca Cran --- target/arm/cpu64.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index 649213082ff9..4b9c5887cc1c 100644

[PATCH 2/3] target/arm: add FEAT_TLBIRANGE support

2020-12-14 Thread Rebecca Cran
ARMv8.4 adds the mandatory FEAT_TLBIRANGE, which provides instructions for invalidating ranges of entries. Signed-off-by: Rebecca Cran --- accel/tcg/cputlb.c | 24 ++ include/exec/exec-all.h | 39 +++ target/arm/helper.c | 273 3 files changed, 336 insertions

Re: [PATCH 1/2] target/arm: add support for FEAT_DIT, Data Independent Timing

2020-12-14 Thread Rebecca Cran
uld fix? -- Rebecca Cran

Re: [PATCH 1/2] target/arm: add support for FEAT_DIT, Data Independent Timing

2020-12-11 Thread Rebecca Cran
8.4-DIT -- need to move SS somewhere else. */     return cpsr_read(env) & ~(CPSR_EXEC | PSTATE_SS); } -- Rebecca Cran

[PATCH 1/1] gitlab-ci: Use $CI_REGISTRY instead of hard-coding registry.gitlab.com

2020-11-13 Thread Rebecca Cran
Update containers.yml to use the $CI_REGISTRY variable as other files such as edk2.yml do. Signed-off-by: Rebecca Cran --- .gitlab-ci.d/containers.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml index 11d079ea5810

Re: [PATCH v2 1/3] target/arm: Remove PSTATE_SS from cpsr and move it into env->pstate.

2021-01-22 Thread Rebecca Cran
On 1/22/21 2:03 PM, Richard Henderson wrote: On 1/21/21 6:45 PM, Rebecca Cran wrote: cpsr_write(env, spsr, mask, CPSRWriteRaw); -if (!arm_singlestep_active(env)) { -env->uncached_cpsr &= ~PSTATE_SS; -} +env->pstate &= ~PSTATE_SS;

Re: [PATCH v2 3/3] target/arm: Set ID_AA64PFR0.DIT and ID_PFR0.DIT to 1 for "max" AA64 CPU

2021-01-22 Thread Rebecca Cran
On 1/22/21 2:06 PM, Richard Henderson wrote: On 1/21/21 6:45 PM, Rebecca Cran wrote: Enable FEAT_DIT for the "max" AARCH64 CPU. Signed-off-by: Rebecca Cran Reviewed-by: Richard Henderson --- target/arm/cpu64.c | 5 + 1 file changed, 5 insertions(+) There is also a 32-bit

[PATCH v2 0/3] target/arm: Add support for FEAT_DIT, Data Independent Timing

2021-01-21 Thread Rebecca Cran
ion is incomplete. Rebecca Cran (3): target/arm: Remove PSTATE_SS from cpsr and move it into env->pstate. target/arm: Add support for FEAT_DIT, Data Independent Timing target/arm: Set ID_AA64PFR0.DIT and ID_PFR0.DIT to 1 for "max" AA64 CPU target/arm/cpu.h | 12 + ta

[PATCH v2 1/3] target/arm: Remove PSTATE_SS from cpsr and move it into env->pstate.

2021-01-21 Thread Rebecca Cran
cpsr has been treated as being the same as spsr, but it isn't. Since PSTATE_SS isn't in cpsr, remove it and move it into env->pstate. Signed-off-by: Rebecca Cran --- target/arm/helper-a64.c | 4 +--- target/arm/helper.c | 4 ++-- target/arm/op_helper.c | 9 + 3 files changed

[PATCH v2 2/3] target/arm: Add support for FEAT_DIT, Data Independent Timing

2021-01-21 Thread Rebecca Cran
Add support for FEAT_DIT. DIT (Data Independent Timing) is a required feature for ARMv8.4. Since virtual machine execution is largely nondeterministic and TCG is outside of the security domain, it's implemented as a NOP. Signed-off-by: Rebecca Cran --- target/arm/cpu.h | 12

[PATCH v2 3/3] target/arm: Set ID_AA64PFR0.DIT and ID_PFR0.DIT to 1 for "max" AA64 CPU

2021-01-21 Thread Rebecca Cran
Enable FEAT_DIT for the "max" AARCH64 CPU. Signed-off-by: Rebecca Cran Reviewed-by: Richard Henderson --- target/arm/cpu64.c | 5 + 1 file changed, 5 insertions(+) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index 5e851028c592..9a5cfd4fc632 100644 --- a/target/arm/cpu

Re: [PATCH v4 2/4] target/arm: Support AA32 DIT by moving PSTATE_SS from cpsr into env->pstate

2021-02-03 Thread Rebecca Cran
On 2/3/21 10:17 AM, Richard Henderson wrote: On 2/2/21 6:58 PM, Rebecca Cran wrote: if (!arm_singlestep_active(env)) { -env->uncached_cpsr &= ~PSTATE_SS; +env->pstate &= ~PSTATE_SS; +} else { +env->pstate |= PSTATE_SS;

[PATCH v3 1/4] target/arm: Remove PSTATE_SS from cpsr and move it into env->pstate.

2021-01-27 Thread Rebecca Cran
cpsr has been treated as being the same as spsr, but it isn't. Since PSTATE_SS isn't in cpsr, remove it and move it into env->pstate. Signed-off-by: Rebecca Cran --- target/arm/helper-a64.c | 2 +- target/arm/helper.c | 2 +- target/arm/op_helper.c | 9 + 3 files changed

[PATCH v3 2/4] target/arm: Add support for FEAT_DIT, Data Independent Timing

2021-01-27 Thread Rebecca Cran
Add support for FEAT_DIT. DIT (Data Independent Timing) is a required feature for ARMv8.4. Since virtual machine execution is largely nondeterministic and TCG is outside of the security domain, it's implemented as a NOP. Signed-off-by: Rebecca Cran Reviewed-by: Richard Henderson --- target/arm

[PATCH v3 4/4] target/arm: Set ID_PFR0.DIT to 1 for "max" 32-bit CPU

2021-01-27 Thread Rebecca Cran
Enable FEAT_DIT for the "max" 32-bit CPU. Signed-off-by: Rebecca Cran --- target/arm/cpu.c | 4 1 file changed, 4 insertions(+) diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 40142ac141e5..c98f44624423 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -2197,

[PATCH v3 0/4] target/arm: Add support for FEAT_DIT, Data Independent Timing

2021-01-27 Thread Rebecca Cran
Add support for FEAT_DIT. DIT (Data Independent Timing) is a required feature for ARMv8.4. Changes from v2 to v3: o Fixed PSTATE_SS patch: - Reverted the singlestep removal. - Fixed saving cpsr into spsr. o Added DIT to the max 32-bit CPU. Rebecca Cran (4): target/arm: Remove PSTATE_SS

[PATCH v3 3/4] target/arm: Set ID_AA64PFR0.DIT and ID_PFR0.DIT to 1 for "max" AA64 CPU

2021-01-27 Thread Rebecca Cran
Enable FEAT_DIT for the "max" AARCH64 CPU. Signed-off-by: Rebecca Cran Reviewed-by: Richard Henderson --- target/arm/cpu64.c | 5 + 1 file changed, 5 insertions(+) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index 5e851028c592..9a5cfd4fc632 100644 --- a/target/arm/cpu

[PATCH v4 0/4] target/arm: Add support for FEAT_DIT, Data Independent Timing

2021-02-02 Thread Rebecca Cran
Add support for FEAT_DIT. DIT (Data Independent Timing) is a required feature for ARMv8.4. Changes from v3 to v4: o Fixed AA32 DIT/PSTATE_SS patch following review feedback. Rebecca Cran (4): target/arm: Add support for FEAT_DIT, Data Independent Timing target/arm: Support AA32 DIT

[PATCH v4 1/4] target/arm: Add support for FEAT_DIT, Data Independent Timing

2021-02-02 Thread Rebecca Cran
Add support for FEAT_DIT. DIT (Data Independent Timing) is a required feature for ARMv8.4. Since virtual machine execution is largely nondeterministic and TCG is outside of the security domain, it's implemented as a NOP. Signed-off-by: Rebecca Cran Reviewed-by: Richard Henderson --- target/arm

[PATCH v4 2/4] target/arm: Support AA32 DIT by moving PSTATE_SS from cpsr into env->pstate

2021-02-02 Thread Rebecca Cran
cpsr has been treated as being the same as spsr, but it isn't. Since PSTATE_SS isn't in cpsr, remove it and move it into env->pstate. This allows us to add support for CPSR_DIT, adding helper functions to merge SPSR_ELx to and from CPSR. Signed-off-by: Rebecca Cran --- target/arm/helper-a6

[PATCH v4 3/4] target/arm: Set ID_AA64PFR0.DIT and ID_PFR0.DIT to 1 for "max" AA64 CPU

2021-02-02 Thread Rebecca Cran
Enable FEAT_DIT for the "max" AARCH64 CPU. Signed-off-by: Rebecca Cran Reviewed-by: Richard Henderson --- target/arm/cpu64.c | 5 + 1 file changed, 5 insertions(+) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index 5e851028c592..9a5cfd4fc632 100644 --- a/target/arm/cpu

[PATCH v4 4/4] target/arm: Set ID_PFR0.DIT to 1 for "max" 32-bit CPU

2021-02-02 Thread Rebecca Cran
Enable FEAT_DIT for the "max" 32-bit CPU. Signed-off-by: Rebecca Cran Reviewed-by: Richard Henderson --- target/arm/cpu.c | 4 1 file changed, 4 insertions(+) diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 40142ac141e5..c98f44624423 100644 --- a/target/arm/cpu.c +++ b/

Re: io_uring code appears to be broken

2021-05-08 Thread Rebecca Cran
Of course I realized I only have headers for version 0.2 and upstream is now up to 2.0, so it looks like I just need to update. -- Rebecca Cran On 5/8/21 3:19 PM, Rebecca Cran wrote: I noticed that after installing liburing-devel-0.2-lp152.2.1.x86_64, a "./configure" caus

io_uring code appears to be broken

2021-05-08 Thread Rebecca Cran
uring.c:305:9: error: nested extern declaration of ‘io_uring_sq_ready’ [-Werror=nested-externs] -- Rebecca Cran

[PATCH v9 0/3] target/arm: add support for FEAT_TLBIRANGE and FEAT_TLBIOS

2021-05-12 Thread Rebecca Cran
ed RVAE*OS entries from the tlbios to tlbirange table. Rebecca Cran (3): target/arm: Add support for FEAT_TLBIRANGE target/arm: Add support for FEAT_TLBIOS target/arm: set ID_AA64ISAR0.TLB to 2 for max AARCH64 CPU type target/arm/cpu.h| 10 + target/arm/cpu64.c | 1 + target/arm/help

[PATCH v9 3/3] target/arm: set ID_AA64ISAR0.TLB to 2 for max AARCH64 CPU type

2021-05-12 Thread Rebecca Cran
Indicate support for FEAT_TLBIOS and FEAT_TLBIRANGE by setting ID_AA64ISAR0.TLB to 2 for the max AARCH64 CPU type. Signed-off-by: Rebecca Cran Reviewed-by: Richard Henderson --- target/arm/cpu64.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index

[PATCH v9 2/3] target/arm: Add support for FEAT_TLBIOS

2021-05-12 Thread Rebecca Cran
ARMv8.4 adds the mandatory FEAT_TLBIOS. It provides TLBI maintenance instructions that extend to the Outer Shareable domain. Signed-off-by: Rebecca Cran --- target/arm/cpu.h| 5 +++ target/arm/helper.c | 43 2 files changed, 48 insertions(+) diff --git a/target/arm

[PATCH v9 1/3] target/arm: Add support for FEAT_TLBIRANGE

2021-05-12 Thread Rebecca Cran
ARMv8.4 adds the mandatory FEAT_TLBIRANGE. It provides TLBI maintenance instructions that apply to a range of input addresses. Signed-off-by: Rebecca Cran --- target/arm/cpu.h| 5 + target/arm/helper.c | 281 2 files changed, 286 insertions(+) diff --git a/target/arm

Re: [PATCH v9 0/3] target/arm: add support for FEAT_TLBIRANGE and FEAT_TLBIOS

2021-05-12 Thread Rebecca Cran
fore yours. Yes, it's needed. Sorry, I didn't realize there was an established process for this. From previous patches, I see the line should be: Based-on: 20210508201640.1045808-1-richard.hender...@linaro.org -- Rebecca Cran

[trivial PATCH 1/1] hw/intc: Improve formatting of MEMTX_ERROR guest error message

2021-07-06 Thread Rebecca Cran
Add a space in the message printed when gicr_read*/gicr_write* returns MEMTX_ERROR in arm_gicv3_redist.c. Signed-off-by: Rebecca Cran --- hw/intc/arm_gicv3_redist.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/intc/arm_gicv3_redist.c b/hw/intc/arm_gicv3_redist.c

[PATCH v8 3/4] target/arm: Add support for FEAT_TLBIOS

2021-05-04 Thread Rebecca Cran
ARMv8.4 adds the mandatory FEAT_TLBIOS. It provides TLBI maintenance instructions that extend to the Outer Shareable domain. Signed-off-by: Rebecca Cran --- target/arm/cpu.h| 5 ++ target/arm/helper.c | 75 2 files changed, 80 insertions(+) diff --git a/target/arm

[PATCH v8 1/4] accel/tcg: Add TLB invalidation support for ranges of addresses

2021-05-04 Thread Rebecca Cran
Add functions to support the FEAT_TLBIRANGE ARMv8.4 feature that adds TLB invalidation instructions to invalidate ranges of addresses. Signed-off-by: Rebecca Cran --- accel/tcg/cputlb.c | 128 +++- include/exec/exec-all.h | 46 +++ 2 files changed, 171 insertions(+), 3

[PATCH v8 0/4] aarch64: add support for FEAT_TLBIRANGE and FEAT_TLBIOS

2021-05-04 Thread Rebecca Cran
Improved readability and fixed a bug in tlb_flush_page_range_bits_by_mmuidx_async_0. Rebecca Cran (4): accel/tcg: Add TLB invalidation support for ranges of addresses target/arm: Add support for FEAT_TLBIRANGE target/arm: Add support for FEAT_TLBIOS target/arm: set ID_AA64ISAR0.TLB to 2

[PATCH v8 2/4] target/arm: Add support for FEAT_TLBIRANGE

2021-05-04 Thread Rebecca Cran
ARMv8.4 adds the mandatory FEAT_TLBIRANGE. It provides TLBI maintenance instructions that apply to a range of input addresses. Signed-off-by: Rebecca Cran --- target/arm/cpu.h| 5 + target/arm/helper.c | 296 2 files changed, 301 insertions(+) diff --git a/target/arm

[PATCH v8 4/4] target/arm: set ID_AA64ISAR0.TLB to 2 for max AARCH64 CPU type

2021-05-04 Thread Rebecca Cran
Indicate support for FEAT_TLBIOS and FEAT_TLBIRANGE by setting ID_AA64ISAR0.TLB to 2 for the max AARCH64 CPU type. Signed-off-by: Rebecca Cran Reviewed-by: Richard Henderson --- target/arm/cpu64.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index

[PATCH v5 3/4] target/arm: Set ID_AA64PFR0.DIT and ID_PFR0.DIT to 1 for "max" AA64 CPU

2021-02-08 Thread Rebecca Cran
Enable FEAT_DIT for the "max" AARCH64 CPU. Signed-off-by: Rebecca Cran Reviewed-by: Richard Henderson --- target/arm/cpu64.c | 5 + 1 file changed, 5 insertions(+) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index 10c51181767d..c255f1bcc393 100644 --- a/target/arm/cpu

[PATCH v5 0/4] target/arm: Add support for FEAT_DIT, Data Independent Timing

2021-02-08 Thread Rebecca Cran
Add support for FEAT_DIT. DIT (Data Independent Timing) is a required feature for ARMv8.4. Changes from v4 to v5: o Addressed review feedback. Rebecca Cran (4): target/arm: Add support for FEAT_DIT, Data Independent Timing target/arm: Support AA32 DIT by moving PSTATE_SS from cpsr

Re: [PATCH v4 2/4] target/arm: Support AA32 DIT by moving PSTATE_SS from cpsr into env->pstate

2021-02-08 Thread Rebecca Cran
On 2/3/21 10:19 AM, Richard Henderson wrote: On 2/2/21 6:58 PM, Rebecca Cran wrote: @@ -9433,8 +9448,9 @@ static void take_aarch32_exception(CPUARMState *env, int new_mode, * For exceptions taken to AArch32 we must clear the SS bit in both * PSTATE and in the old-state value we

[PATCH v5 2/4] target/arm: Support AA32 DIT by moving PSTATE_SS from cpsr into env->pstate

2021-02-08 Thread Rebecca Cran
cpsr has been treated as being the same as spsr, but it isn't. Since PSTATE_SS isn't in cpsr, remove it and move it into env->pstate. This allows us to add support for CPSR_DIT, adding helper functions to merge SPSR_ELx to and from CPSR. Signed-off-by: Rebecca Cran --- target/arm/helper-a6

[PATCH v5 1/4] target/arm: Add support for FEAT_DIT, Data Independent Timing

2021-02-08 Thread Rebecca Cran
Add support for FEAT_DIT. DIT (Data Independent Timing) is a required feature for ARMv8.4. Since virtual machine execution is largely nondeterministic and TCG is outside of the security domain, it's implemented as a NOP. Signed-off-by: Rebecca Cran Reviewed-by: Richard Henderson --- target/arm

[PATCH v5 4/4] target/arm: Set ID_PFR0.DIT to 1 for "max" 32-bit CPU

2021-02-08 Thread Rebecca Cran
Enable FEAT_DIT for the "max" 32-bit CPU. Signed-off-by: Rebecca Cran Reviewed-by: Richard Henderson --- target/arm/cpu.c | 4 1 file changed, 4 insertions(+) diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 8ddb2556f8cf..5cf6c056c50f 100644 --- a/target/arm/cpu.c +++ b/

Re: [PATCH v3 2/4] target/arm: Add support for FEAT_DIT, Data Independent Timing

2021-02-02 Thread Rebecca Cran
On 1/27/21 10:06 PM, Richard Henderson wrote: On 1/27/21 6:45 PM, Rebecca Cran wrote: Add support for FEAT_DIT. DIT (Data Independent Timing) is a required feature for ARMv8.4. Since virtual machine execution is largely nondeterministic and TCG is outside of the security domain, it's

Planning wiki page is outdated (says 5.0 is currently in development)

2021-03-30 Thread Rebecca Cran
I noticed https://wiki.qemu.org/Planning is outdated: 6.0 is listed under Planning Pages, but at the top it says 5.0 is the release that's currently in development. -- Rebecca Cran

Bug in tlbi_aa64_vae2is_write: tlbbits_for_regime called with swapped ARMMMUIdx_ values?

2021-03-15 Thread Rebecca Cran
geaddr); tlb_flush_page_bits_by_mmuidx_all_cpus_synced(cs, pageaddr, mask, bits); } -- Rebecca Cran

Re: [PATCH v3 1/3] target/arm: Add support for FEAT_TLBIRANGE

2021-03-16 Thread Rebecca Cran
On 3/10/21 12:24 PM, Richard Henderson wrote: On 3/9/21 6:29 PM, Rebecca Cran wrote: +    uint64_t addr = (value & 0xFUL) << TARGET_PAGE_BITS; The manual does not explicitly say, but I'm certain that this should be a signed address, when regime_has_2_ranges().  Otherwis

[PATCH v4 3/3] target/arm: set ID_AA64ISAR0.TLB to 2 for max AARCH64 CPU type

2021-03-16 Thread Rebecca Cran
Indicate support for FEAT_TLBIOS and FEAT_TLBIRANGE by setting ID_AA64ISAR0.TLB to 2 for the max AARCH64 CPU type. Signed-off-by: Rebecca Cran Reviewed-by: Richard Henderson --- target/arm/cpu64.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index

[PATCH v4 1/3] target/arm: Add support for FEAT_TLBIRANGE

2021-03-16 Thread Rebecca Cran
ARMv8.4 adds the mandatory FEAT_TLBIRANGE. It provides TLBI maintenance instructions that apply to a range of input addresses. Signed-off-by: Rebecca Cran --- accel/tcg/cputlb.c | 135 + include/exec/exec-all.h | 45 +++ target/arm/cpu.h| 5 + target/arm/helper.c

[PATCH v4 0/3] target/arm: Add support for FEAT_TLBIOS and FEAT_TLBIRANGE

2021-03-16 Thread Rebecca Cran
flushing a range of addresses. o Changed the API from num_pages to length. o Removed the exception generation from tlbi_aa64_range_get_num_pages. o The addr is no longer passed into tlbi_aa64_range_get_num_pages. o Other changes based on feedback. Rebecca Cran (3): target/arm: Add support

[PATCH v4 2/3] target/arm: Add support for FEAT_TLBIOS

2021-03-16 Thread Rebecca Cran
ARMv8.4 adds the mandatory FEAT_TLBIOS. It provides TLBI maintenance instructions that extend to the Outer Shareable domain. Signed-off-by: Rebecca Cran --- target/arm/cpu.h| 5 ++ target/arm/helper.c | 75 2 files changed, 80 insertions(+) diff --git a/target/arm

Re: [PATCH v3 1/3] target/arm: Add support for FEAT_TLBIRANGE

2021-03-16 Thread Rebecca Cran
On 3/16/21 9:09 AM, Richard Henderson wrote: On 3/16/21 12:20 AM, Rebecca Cran wrote: On 3/10/21 12:24 PM, Richard Henderson wrote: On 3/9/21 6:29 PM, Rebecca Cran wrote: +    uint64_t addr = (value & 0xFUL) << TARGET_PAGE_BITS; The manual does not explicitly say, but I

Re: [PATCH v2 1/3] target/arm: Add support for FEAT_TLBIRANGE

2021-03-09 Thread Rebecca Cran
On 3/8/21 4:11 PM, Rebecca Cran wrote: ARMv8.4 adds the mandatory FEAT_TLBIRANGE. It provides TLBI maintenance instructions that apply to a range of input addresses. Signed-off-by: Rebecca Cran I realized this only partially addresses the feedback from v1. Specifically, it still doesn't take

Re: [PATCH v3 1/3] target/arm: Add support for FEAT_TLBIRANGE

2021-03-10 Thread Rebecca Cran
On 3/10/21 12:24 PM, Richard Henderson wrote: On 3/9/21 6:29 PM, Rebecca Cran wrote: +void tlb_flush_page_range_by_mmuidx(CPUState *cpu, target_ulong addr, +    unsigned int num_pages, uint16_t idxmap) I am not keen on this interface.  I think you should take

Re: [PATCH v3 1/3] target/arm: Add support for FEAT_TLBIRANGE

2021-03-15 Thread Rebecca Cran
On 3/10/21 12:24 PM, Richard Henderson wrote: On 3/9/21 6:29 PM, Rebecca Cran wrote: +void tlb_flush_page_range_by_mmuidx(CPUState *cpu, target_ulong addr, +    unsigned int num_pages, uint16_t idxmap) I am not keen on this interface.  I think you should take

Re: [PATCH v4 1/3] target/arm: Add support for FEAT_TLBIRANGE

2021-03-16 Thread Rebecca Cran
On 3/16/21 12:09 PM, Richard Henderson wrote: On 3/16/21 9:49 AM, Rebecca Cran wrote: +    for (page = addr; page < (addr + length); page += TARGET_PAGE_SIZE) { This test means that it's impossible to flush the last page of the address space (addr + length == 0).  I think better to

[PATCH v5 1/4] accel/tcg: Add TLB invalidation support for ranges of addresses

2021-03-17 Thread Rebecca Cran
Add functions to support the FEAT_TLBIRANGE ARMv8.4 feature that adds TLB invalidation instructions to invalidate ranges of addresses. Signed-off-by: Rebecca Cran --- accel/tcg/cputlb.c | 130 +++- include/exec/exec-all.h | 45 +++ 2 files changed, 172 insertions(+), 3

[PATCH v5 0/4] target/arm: Add support for FEAT_TLBIOS and FEAT_TLBIRANGE

2021-03-17 Thread Rebecca Cran
a bool from tlb_flush_page_bits_locked to indicate if a full flush has been done. o Update flush_page_range_bits_* to exit early when a full flush has been done. o Run tb_flush_jmp_cache in a separate loop. o Don't check for 2 regimes for cases where we know there's only one. Rebecca Cran (4

[PATCH v5 4/4] target/arm: set ID_AA64ISAR0.TLB to 2 for max AARCH64 CPU type

2021-03-17 Thread Rebecca Cran
Indicate support for FEAT_TLBIOS and FEAT_TLBIRANGE by setting ID_AA64ISAR0.TLB to 2 for the max AARCH64 CPU type. Signed-off-by: Rebecca Cran Reviewed-by: Richard Henderson --- target/arm/cpu64.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index

[PATCH v5 2/4] target/arm: Add support for FEAT_TLBIRANGE

2021-03-17 Thread Rebecca Cran
ARMv8.4 adds the mandatory FEAT_TLBIRANGE. It provides TLBI maintenance instructions that apply to a range of input addresses. Signed-off-by: Rebecca Cran --- target/arm/cpu.h| 5 + target/arm/helper.c | 294 2 files changed, 299 insertions(+) diff --git a/target/arm

[PATCH v5 3/4] target/arm: Add support for FEAT_TLBIOS

2021-03-17 Thread Rebecca Cran
ARMv8.4 adds the mandatory FEAT_TLBIOS. It provides TLBI maintenance instructions that extend to the Outer Shareable domain. Signed-off-by: Rebecca Cran --- target/arm/cpu.h| 5 ++ target/arm/helper.c | 75 2 files changed, 80 insertions(+) diff --git a/target/arm

[PATCH v3 0/3] target/arm: Add support for FEAT_TLBIOS and FEAT_TLBIRANGE

2021-03-09 Thread Rebecca Cran
be a short-term implementation. Testing: o Ran scripts/checkpatch.pl: functions in exec-all.h fail, but I think that's acceptable? o Built all targets o Ran test code that executed the new instructions o Ran "make test" Rebecca Cran (3): target/arm: Add support for FEAT

[PATCH v3 2/3] target/arm: Add support for FEAT_TLBIOS

2021-03-09 Thread Rebecca Cran
ARMv8.4 adds the mandatory FEAT_TLBIOS. It provides TLBI maintenance instructions that extend to the Outer Shareable domain. Signed-off-by: Rebecca Cran --- target/arm/cpu.h| 6 ++ target/arm/helper.c | 75 2 files changed, 81 insertions(+) diff --git a/target/arm

[PATCH v3 3/3] target/arm: set ID_AA64ISAR0.TLB to 2 for max AARCH64 CPU type

2021-03-09 Thread Rebecca Cran
Indicate support for FEAT_TLBIOS and FEAT_TLBIRANGE by setting ID_AA64ISAR0.TLB to 2 for the max AARCH64 CPU type. Signed-off-by: Rebecca Cran --- target/arm/cpu64.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index f0a9e968c9c1..e34a6a6174fe

[PATCH v3 1/3] target/arm: Add support for FEAT_TLBIRANGE

2021-03-09 Thread Rebecca Cran
ARMv8.4 adds the mandatory FEAT_TLBIRANGE. It provides TLBI maintenance instructions that apply to a range of input addresses. Signed-off-by: Rebecca Cran --- accel/tcg/cputlb.c | 22 ++ include/exec/exec-all.h | 41 target/arm/cpu.h| 5 + target/arm/helper.c | 248

SubmitAPatch wiki page has broken link to coding style

2021-03-07 Thread Rebecca Cran
oject/qemu/-/blob/master/docs/devel/style.rst -- Rebecca Cran

[PATCH v2 3/3] target/arm: set ID_AA64ISAR0.TLB to 2 for max AARCH64 CPU type

2021-03-08 Thread Rebecca Cran
Indicate support for FEAT_TLBIOS and FEAT_TLBIRANGE by setting ID_AA64ISAR0.TLB to 2 for the max AARCH64 CPU type. Signed-off-by: Rebecca Cran --- target/arm/cpu64.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index c255f1bcc393..e1003fd96138

[PATCH v2 0/3] target/arm: Add support for FEAT_TLBIOS and FEAT_TLBIRANGE

2021-03-08 Thread Rebecca Cran
"make test": a qtest-sparc repeatedly timed out, but that's unlikely to be due to my changes. Rebecca Cran (3): target/arm: Add support for FEAT_TLBIRANGE target/arm: Add support for FEAT_TLBIOS target/arm: set ID_AA64ISAR0.TLB to 2 for max AARCH64 CPU type accel/tcg/cputlb.c

[PATCH v2 1/3] target/arm: Add support for FEAT_TLBIRANGE

2021-03-08 Thread Rebecca Cran
ARMv8.4 adds the mandatory FEAT_TLBIRANGE. It provides TLBI maintenance instructions that apply to a range of input addresses. Signed-off-by: Rebecca Cran --- accel/tcg/cputlb.c | 67 ++ include/exec/exec-all.h | 41 target/arm/cpu.h| 5 + target/arm/helper.c | 248

[PATCH v2 2/3] target/arm: Add support for FEAT_TLBIOS

2021-03-08 Thread Rebecca Cran
ARMv8.4 adds the mandatory FEAT_TLBIOS. It provides TLBI maintenance instructions that extend to the Outer Shareable domain. Signed-off-by: Rebecca Cran --- target/arm/cpu.h| 6 ++ target/arm/helper.c | 75 2 files changed, 81 insertions(+) diff --git a/target/arm

Re: [PATCH v2 1/3] target/arm: Add support for FEAT_SSBS, Speculative Store Bypass Safe

2021-03-01 Thread Rebecca Cran
On 2/16/21 8:45 PM, Richard Henderson wrote: On 2/16/21 2:45 PM, Rebecca Cran wrote: Add support for FEAT_SSBS. SSBS (Speculative Store Bypass Safe) is an optional feature in ARMv8.0, and mandatory in ARMv8.5. Signed-off-by: Rebecca Cran --- target/arm/cpu.h | 15 +++- target

Re: [PATCH v2 3/3] target/arm: Set ID_PFR2.SSBS to 1 for "max" 32-bit CPU

2021-03-05 Thread Rebecca Cran
On 3/5/21 4:31 AM, Peter Maydell wrote: On Tue, 16 Feb 2021 at 22:45, Rebecca Cran wrote: Enable FEAT_SSBS for the "max" 32-bit CPU. Signed-off-by: Rebecca Cran Reviewed-by: Richard Henderson --- target/arm/cpu.c | 4 1 file changed, 4 insertions(+) diff --git a/target/a

[PATCH v6 4/4] target/arm: set ID_AA64ISAR0.TLB to 2 for max AARCH64 CPU type

2021-04-07 Thread Rebecca Cran
Indicate support for FEAT_TLBIOS and FEAT_TLBIRANGE by setting ID_AA64ISAR0.TLB to 2 for the max AARCH64 CPU type. Signed-off-by: Rebecca Cran Reviewed-by: Richard Henderson --- target/arm/cpu64.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index

[PATCH v6 2/4] target/arm: Add support for FEAT_TLBIRANGE

2021-04-07 Thread Rebecca Cran
ARMv8.4 adds the mandatory FEAT_TLBIRANGE. It provides TLBI maintenance instructions that apply to a range of input addresses. Signed-off-by: Rebecca Cran --- target/arm/cpu.h| 5 + target/arm/helper.c | 294 2 files changed, 299 insertions(+) diff --git a/target/arm

[PATCH v6 1/4] accel/tcg: Add TLB invalidation support for ranges of addresses

2021-04-07 Thread Rebecca Cran
Add functions to support the FEAT_TLBIRANGE ARMv8.4 feature that adds TLB invalidation instructions to invalidate ranges of addresses. Signed-off-by: Rebecca Cran --- accel/tcg/cputlb.c | 130 +++- include/exec/exec-all.h | 46 +++ 2 files changed, 173 insertions(+), 3

[PATCH v6 3/4] target/arm: Add support for FEAT_TLBIOS

2021-04-07 Thread Rebecca Cran
ARMv8.4 adds the mandatory FEAT_TLBIOS. It provides TLBI maintenance instructions that extend to the Outer Shareable domain. Signed-off-by: Rebecca Cran --- target/arm/cpu.h| 5 ++ target/arm/helper.c | 75 2 files changed, 80 insertions(+) diff --git a/target/arm

[PATCH v6 0/4] target/arm: Add support for FEAT_TLBIOS and FEAT_TLBIRANGE

2021-04-07 Thread Rebecca Cran
limit. checkpatch.pl now passes. Rebecca Cran (4): accel/tcg: Add TLB invalidation support for ranges of addresses target/arm: Add support for FEAT_TLBIRANGE target/arm: Add support for FEAT_TLBIOS target/arm: set ID_AA64ISAR0.TLB to 2 for max AARCH64 CPU type accel/tcg/cputlb.c | 130

Re: [PATCH v7 0/4] Add support for FEAT_TLBIOS and FEAT_TLBIRANGE

2021-04-19 Thread Rebecca Cran
Hi Richard, Could you review this patch series again please? I've fixed several issues recently, and am interested to know if it's ready to commit or would need further changes. -- Rebecca Cran On 4/14/2021 2:32 PM, Rebecca Cran wrote: ARMv8.4 adds the mandatory FEAT_TLBIOS

[PATCH v7 1/4] accel/tcg: Add TLB invalidation support for ranges of addresses

2021-04-14 Thread Rebecca Cran
Add functions to support the FEAT_TLBIRANGE ARMv8.4 feature that adds TLB invalidation instructions to invalidate ranges of addresses. Signed-off-by: Rebecca Cran --- accel/tcg/cputlb.c | 130 +++- include/exec/exec-all.h | 46 +++ 2 files changed, 173 insertions(+), 3

[PATCH v7 4/4] target/arm: set ID_AA64ISAR0.TLB to 2 for max AARCH64 CPU type

2021-04-14 Thread Rebecca Cran
Indicate support for FEAT_TLBIOS and FEAT_TLBIRANGE by setting ID_AA64ISAR0.TLB to 2 for the max AARCH64 CPU type. Signed-off-by: Rebecca Cran Reviewed-by: Richard Henderson --- target/arm/cpu64.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index

[PATCH v7 0/4] Add support for FEAT_TLBIOS and FEAT_TLBIRANGE

2021-04-14 Thread Rebecca Cran
the correct value into functions which use an ARMMMUIdx. o Fixed comments in helper.c which referred to non-existent instructions. Testing: o Booted Linux 5.11 - verified the previous assert failure in qemu is resolved. o Ran checkpatch.pl. Rebecca Cran (4): accel/tcg: Add TLB invalidation

[PATCH v7 2/4] target/arm: Add support for FEAT_TLBIRANGE

2021-04-14 Thread Rebecca Cran
ARMv8.4 adds the mandatory FEAT_TLBIRANGE. It provides TLBI maintenance instructions that apply to a range of input addresses. Signed-off-by: Rebecca Cran --- target/arm/cpu.h| 5 + target/arm/helper.c | 296 2 files changed, 301 insertions(+) diff --git a/target/arm

[PATCH v7 3/4] target/arm: Add support for FEAT_TLBIOS

2021-04-14 Thread Rebecca Cran
ARMv8.4 adds the mandatory FEAT_TLBIOS. It provides TLBI maintenance instructions that extend to the Outer Shareable domain. Signed-off-by: Rebecca Cran --- target/arm/cpu.h| 5 ++ target/arm/helper.c | 75 2 files changed, 80 insertions(+) diff --git a/target/arm

Re: [PATCH] target/arm: Flush correct TLBs in tlbi_aa64_vae2is_write()

2021-04-20 Thread Rebecca Cran
-by: Rebecca Cran Signed-off-by: Peter Maydell --- target/arm/helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index d9220be7c5a..957f4247010 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -4742,7 +4742,7 @@ static

[PATCH 1/3] target/arm: Add support for FEAT_SSBS, Speculative Store Bypass Safe

2021-02-15 Thread Rebecca Cran
Add support for FEAT_SSBS. SSBS (Speculative Store Bypass Safe) is an optional feature in ARMv8.0, and mandatory in ARMv8.5. Signed-off-by: Rebecca Cran --- target/arm/cpu.h | 15 +- target/arm/helper-a64.c| 6 +++ target/arm/helper.c| 52 target

[PATCH 0/3] target/arm: Add support for FEAT_SSBS

2021-02-15 Thread Rebecca Cran
Add support for FEAT_SSBS, Speculative Store Bypass Safe. SSBS is an optional feature in ARMv8.0 and is mandatory in ARMv8.5. Rebecca Cran (3): target/arm: Add support for FEAT_SSBS, Speculative Store Bypass Safe target/arm: Enable FEAT_SSBS for "max" AARCH64 CPU target/arm: S

[PATCH 2/3] target/arm: Enable FEAT_SSBS for "max" AARCH64 CPU

2021-02-15 Thread Rebecca Cran
Set ID_AA64PFR1_EL1.SSBS to 2 and ID_PFR2.SSBS to 1. Signed-off-by: Rebecca Cran --- target/arm/cpu64.c | 5 + 1 file changed, 5 insertions(+) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index c255f1bcc393..f0a9e968c9c1 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c

[PATCH 3/3] target/arm: Set ID_PFR2.SSBS to 1 for "max" 32-bit CPU

2021-02-15 Thread Rebecca Cran
Enable FEAT_SSBS for the "max" 32-bit CPU. Signed-off-by: Rebecca Cran --- target/arm/cpu.c | 4 1 file changed, 4 insertions(+) diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 5cf6c056c50f..88a6b183d325 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -2206,

Re: [PATCH 1/3] target/arm: Add support for FEAT_SSBS, Speculative Store Bypass Safe

2021-02-15 Thread Rebecca Cran
On 2/15/21 5:19 PM, Richard Henderson wrote: On 2/15/21 1:58 PM, Rebecca Cran wrote: @@ -960,6 +960,12 @@ static void cpsr_write_from_spsr_elx(CPUARMState *env, val |= CPSR_DIT; } +/* Move SSBS to the correct location for CPSR */ +if (val & PSTATE_

[PATCH v2 1/3] target/arm: Add support for FEAT_SSBS, Speculative Store Bypass Safe

2021-02-16 Thread Rebecca Cran
Add support for FEAT_SSBS. SSBS (Speculative Store Bypass Safe) is an optional feature in ARMv8.0, and mandatory in ARMv8.5. Signed-off-by: Rebecca Cran --- target/arm/cpu.h | 15 +++- target/arm/helper.c| 37 target/arm/internals.h | 6

[PATCH v2 0/3] target/arm: Add support for FEAT_SSBS

2021-02-16 Thread Rebecca Cran
in order. o Moved the check for SCTLR_DSSBS_32 in take_aarch32_exception. Rebecca Cran (3): target/arm: Add support for FEAT_SSBS, Speculative Store Bypass Safe target/arm: Enable FEAT_SSBS for "max" AARCH64 CPU target/arm: Set ID_PFR2.SSBS to 1 for "max" 32-bit CP

  1   2   >