[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 28/60] target/arm: Reorg ARMCPRegInfo type field bits
From: |
Peter Maydell |
Subject: |
Re: [PATCH v3 28/60] target/arm: Reorg ARMCPRegInfo type field bits |
Date: |
Fri, 22 Apr 2022 10:49:02 +0100 |
On Sun, 17 Apr 2022 at 19:03, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> Instead of defining ARM_CP_FLAG_MASK to remove flags,
> define ARM_CP_SPECIAL_MASK to isolate special cases.
> Sort the specials to the low bits. Use an enum.
>
> Make ARM_CP_CONST a special case, and ARM_CP_NOP an alias.
This is a behaviour change -- read of an ARM_CP_NOP register
currently is "do not change the destination GPR", but
read of an ARM_CP_CONST register does change the GPR.
Maybe that's OK, but we do have several r/w NOP register
definitions at the moment, and if we do think it's OK to change
that behaviour we should do that carefully in a separate patch.
Also, currently we do not migrate ARM_CP_NOP registers but
we do migrate ARM_CP_CONST registers (and this is important for
KVM --migrating the constant ID registers is how the check for
"is the destination a different host CPU to the source" works).
So overall I don't think it's safe to squash NOP and CONST,
or to treat CONST as one of the SPECIALs.
thanks
-- PMM
- Re: [PATCH v3 26/60] target/arm: Replace sentinels with ARRAY_SIZE in cpregs.h, (continued)
[PATCH v3 27/60] target/arm: Make some more cpreg data static const, Richard Henderson, 2022/04/17
[PATCH v3 24/60] target/arm: Split out cpregs.h, Richard Henderson, 2022/04/17
[PATCH v3 28/60] target/arm: Reorg ARMCPRegInfo type field bits, Richard Henderson, 2022/04/17
- Re: [PATCH v3 28/60] target/arm: Reorg ARMCPRegInfo type field bits,
Peter Maydell <=
[PATCH v3 30/60] target/arm: Name CPState type, Richard Henderson, 2022/04/17
[PATCH v3 29/60] target/arm: Change cpreg access permissions to enum, Richard Henderson, 2022/04/17
[PATCH v3 37/60] target/arm: Merge zcr reginfo, Richard Henderson, 2022/04/17
[PATCH v3 31/60] target/arm: Name CPSecureState type, Richard Henderson, 2022/04/17
[PATCH v3 38/60] target/arm: Add isar predicates for FEAT_Debugv8p2, Richard Henderson, 2022/04/17
[PATCH v3 39/60] target/arm: Adjust definition of CONTEXTIDR_EL2, Richard Henderson, 2022/04/17