On 3 June 2016 at 18:15, Sergey Sorokin <afaral...@yandex.ru> wrote:
> Address size is 40-bit for the AArch32 stage 2 translation,
> and t0sz can be negative (from -8 to 7),
> so we need to adjust it to use the existing TTBR selecting logic.
>
> Signed-off-by: Sergey Sorokin <afaral...@yandex.ru>
> ---
>  target-arm/helper.c | 38 ++++++++++++++++++++++----------------

> @@ -7348,15 +7354,15 @@ static bool get_phys_addr_lpae(CPUARMState *env, 
> target_ulong address,
>          }
>      }
>      t1sz = extract32(tcr->raw_tcr, 16, 6);
> -    if (va_size == 64) {
> +    if (aarch64) {
>          t1sz = MIN(t1sz, 39);
>          t1sz = MAX(t1sz, 16);
>      }

I wonder if we should move the extraction of t1sz into the preceding
if() -- then we could do the '3 bit field vs 6 bit field' thing the way
we do for t0sz. Still, that's a cleanup for a different patch.

Applied to target-arm.next, thanks.

-- PMM

Reply via email to