On 11/20/24 19:49, Anton Johansson wrote:
> Temporary vectors in helper-to-tcg generated code are allocated from an
> array of bytes in CPUArchState, specified with --temp-vector-block.
>
> This commits adds such a block of memory to CPUArchState, if
> CONFIG_HELPER_TO_TCG is set.
>
> Signed-off-by: Anton Johansson <anjo@rev.ng>
> ---
> target/hexagon/cpu.h | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/target/hexagon/cpu.h b/target/hexagon/cpu.h
> index 7be4b5769e..fa6ac83e01 100644
> --- a/target/hexagon/cpu.h
> +++ b/target/hexagon/cpu.h
> @@ -97,6 +97,10 @@ typedef struct CPUArchState {
> MMVector future_VRegs[VECTOR_TEMPS_MAX] QEMU_ALIGNED(16);
> MMVector tmp_VRegs[VECTOR_TEMPS_MAX] QEMU_ALIGNED(16);
>
> +#ifdef CONFIG_HELPER_TO_TCG
> + uint8_t tmp_vmem[4096] QEMU_ALIGNED(16);
> +#endif
> +
> MMQReg QRegs[NUM_QREGS] QEMU_ALIGNED(16);
> MMQReg future_QRegs[NUM_QREGS] QEMU_ALIGNED(16);
>
Wow. Do you really require 4k in temp storage?
r~