[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [PATCH v5 41/48] target/nios2: Introduce shadow register sets
From: |
Amir Gonnen |
Subject: |
RE: [PATCH v5 41/48] target/nios2: Introduce shadow register sets |
Date: |
Sun, 13 Mar 2022 11:55:22 +0000 |
(Continue discussion from Re: [PATCH v4 24/33] target/nios2: Introduce shadow
register sets)
> > How does "cpu_crs_R" work?
> > ... Otherwise, each gpr access would be indirect. I'm probably missing
> > something here.
> They are indirect, but with some optimization.
Why not always access directly?
With an EIC each interrupt handler is associated with a specific shadow
register set, so we can expect that (on a sane use case) each block always
executes on the same register set.
If we update cpu_get_tb_cpu_state to translate differently based on STATUS.CRS
we would still end up with a single translation for each block.
This way the translator could emit direct registers access for shadow
registers, and we won't need to rely on optimizations to lower indirect access.
Thanks,
Amir
- [PATCH v5 33/48] target/nios2: Drop CR_STATUS_EH from tb->flags, (continued)
- [PATCH v5 33/48] target/nios2: Drop CR_STATUS_EH from tb->flags, Richard Henderson, 2022/03/10
- [PATCH v5 32/48] target/nios2: Introduce dest_gpr, Richard Henderson, 2022/03/10
- [PATCH v5 34/48] target/nios2: Enable unaligned traps for system mode, Richard Henderson, 2022/03/10
- [PATCH v5 38/48] target/nios2: Use tcg_gen_lookup_and_goto_ptr, Richard Henderson, 2022/03/10
- [PATCH v5 31/48] target/nios2: Use tcg_constant_tl, Richard Henderson, 2022/03/10
- [PATCH v5 35/48] target/nios2: Create gen_jumpr, Richard Henderson, 2022/03/10
- [PATCH v5 37/48] target/nios2: Use gen_goto_tb for DISAS_TOO_MANY, Richard Henderson, 2022/03/10
- [PATCH v5 36/48] target/nios2: Hoist set of is_jmp into gen_goto_tb, Richard Henderson, 2022/03/10
- [PATCH v5 39/48] target/nios2: Implement Misaligned destination exception, Richard Henderson, 2022/03/10
- [PATCH v5 41/48] target/nios2: Introduce shadow register sets, Richard Henderson, 2022/03/10
- RE: [PATCH v5 41/48] target/nios2: Introduce shadow register sets,
Amir Gonnen <=
- [PATCH v5 46/48] hw/nios2: Introduce Nios2MachineState, Richard Henderson, 2022/03/10
- [PATCH v5 40/48] linux-user/nios2: Handle various SIGILL exceptions, Richard Henderson, 2022/03/10
- [PATCH v5 42/48] target/nios2: Implement rdprs, wrprs, Richard Henderson, 2022/03/10
- [PATCH v5 43/48] target/nios2: Update helper_eret for shadow registers, Richard Henderson, 2022/03/10
- [PATCH v5 44/48] target/nios2: Implement EIC interrupt processing, Richard Henderson, 2022/03/10
- [PATCH v5 45/48] hw/intc: Vectored Interrupt Controller (VIC), Richard Henderson, 2022/03/10