On Thu, 2 Feb 2023 at 21:12, Aaron Lindsay <aaron@os.amperecomputing.com> wrote:
>
> Signed-off-by: Aaron Lindsay <aaron@os.amperecomputing.com>
> ---
> target/arm/pauth_helper.c | 14 +++++++++-----
> 1 file changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/target/arm/pauth_helper.c b/target/arm/pauth_helper.c
> index f525ef7fad..a83956652f 100644
> --- a/target/arm/pauth_helper.c
> +++ b/target/arm/pauth_helper.c
> @@ -347,11 +347,15 @@ static uint64_t pauth_addpac(CPUARMState *env, uint64_t ptr, uint64_t modifier,
> */
> test = sextract64(ptr, bot_bit, top_bit - bot_bit);
> if (test != 0 && test != -1) {
> - /*
> - * Note that our top_bit is one greater than the pseudocode's
> - * version, hence "- 2" here.
> - */
> - pac ^= MAKE_64BIT_MASK(top_bit - 2, 1);
> + if (cpu_isar_feature(aa64_pauth_epac, env_archcpu(env))) {
> + pac = 0;
> + } else {
> + /*
> + * Note that our top_bit is one greater than the pseudocode's
> + * version, hence "- 2" here.
> + */
> + pac ^= MAKE_64BIT_MASK(top_bit - 2, 1);
> + }
> }
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
thanks
-- PMM