[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] target/arm: Fix handling of LPAE block descriptors
From: |
Peter Maydell |
Subject: |
Re: [PATCH] target/arm: Fix handling of LPAE block descriptors |
Date: |
Mon, 14 Mar 2022 19:33:24 +0000 |
On Mon, 14 Mar 2022 at 19:29, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> On 3/4/22 08:56, Peter Maydell wrote:
> > page_size = (1ULL << ((stride * (4 - level)) + 3));
> > + descaddr &= ~(page_size - 1);
> > descaddr |= (address & (page_size - 1));
>
> As is,
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
>
> though I wonder if it reads better as
>
> page_bits = stride * (4 - level) + 3;
> descaddr = deposit64(descaddr, 0, page_bits, address);
I thought about that, but we specifically need page_size
anyway to return it later:
*page_size_ptr = page_size;
and calculating both page_bits and page_size felt a bit awkward.
-- PMM