[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v7 15/42] target/arm: Implement LDG, STG, ST2G instructions
From: |
Peter Maydell |
Subject: |
Re: [PATCH v7 15/42] target/arm: Implement LDG, STG, ST2G instructions |
Date: |
Thu, 18 Jun 2020 14:56:14 +0100 |
On Wed, 3 Jun 2020 at 02:13, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> v2: Split out allocation_tag_mem. Handle atomicity of stores.
> v3: Add X[t] input to these insns; require pre-cleaned addresses.
> v5: Fix !32-byte aligned operation of st2g.
> v6: Fix op2 extract, stg pre/post-index, stores vs sp, commentary;
> use pre-computed ata.
> v7: Fix STZG iteration (stephen long)
> ---
> +static void disas_ldst_tag(DisasContext *s, uint32_t insn)
> +{
> + addr = read_cpu_reg_sp(s, rn, true);
> + if (index >= 0) {
> + /* pre-index or signed offset */
> + tcg_gen_addi_i64(addr, addr, offset);
> + }
> +
> + if (is_load) {
> + tcg_rt = cpu_reg(s, rt);
> + if (s->ata) {
> + gen_helper_ldg(tcg_rt, cpu_env, addr, tcg_rt);
> + } else {
> + clean_addr = clean_data_tbi(s, addr);
> + gen_probe_access(s, clean_addr, MMU_DATA_LOAD, MO_8);
> + gen_address_with_allocation_tag0(tcg_rt, addr);
> + }
The pseudocode for LDG has an
address = Align(address, TAG_GRANULE);
in it. I don't see where in this code is the equivalent; have I missed it?
thanks
-- PMM
- Re: [PATCH v7 13/42] target/arm: Define arm_cpu_do_unaligned_access for user-only, (continued)
- [PATCH v7 16/42] target/arm: Implement the STGP instruction, Richard Henderson, 2020/06/02
- [PATCH v7 17/42] target/arm: Restrict the values of DCZID.BS under TCG, Richard Henderson, 2020/06/02
- [PATCH v7 14/42] target/arm: Add helper_probe_access, Richard Henderson, 2020/06/02
- [PATCH v7 21/42] target/arm: Move regime_el to internals.h, Richard Henderson, 2020/06/02
- [PATCH v7 15/42] target/arm: Implement LDG, STG, ST2G instructions, Richard Henderson, 2020/06/02
- Re: [PATCH v7 15/42] target/arm: Implement LDG, STG, ST2G instructions,
Peter Maydell <=
- [PATCH v7 22/42] target/arm: Move regime_tcr to internals.h, Richard Henderson, 2020/06/02
- [PATCH v7 20/42] target/arm: Implement the access tag cache flushes, Richard Henderson, 2020/06/02
- [PATCH v7 18/42] target/arm: Simplify DC_ZVA, Richard Henderson, 2020/06/02
- [PATCH v7 19/42] target/arm: Implement the LDGM, STGM, STZGM instructions, Richard Henderson, 2020/06/02
- [PATCH v7 23/42] target/arm: Add gen_mte_check1, Richard Henderson, 2020/06/02