[PATCH for-7.0 0/6] target/arm: Implement LVA, LPA, LPA2 features

Richard Henderson posted 6 patches 4 years, 2 months ago
Test checkpatch failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20211208231154.392029-1-richard.henderson@linaro.org
Maintainers: Peter Maydell <peter.maydell@linaro.org>
There is a newer version of this series
target/arm/cpu-param.h |   4 +-
target/arm/cpu.h       |  17 ++++
target/arm/internals.h |  22 +----
target/arm/cpu64.c     |   5 +-
target/arm/helper.c    | 211 ++++++++++++++++++++++++++++++++++-------
5 files changed, 204 insertions(+), 55 deletions(-)
[PATCH for-7.0 0/6] target/arm: Implement LVA, LPA, LPA2 features
Posted by Richard Henderson 4 years, 2 months ago
These features are all related and relatively small.

Testing so far has been limited to booting a kernel
with 64k pages and VA and PA set to 52 bits, which
excercises LVA and LPA.

There is not yet upstream support for LPA2, probably
because it's an ARMv8.7 addition.


r~


Richard Henderson (6):
  target/arm: Fault on invalid TCR_ELx.TxSZ
  target/arm: Move arm_pamax out of line
  target/arm: Honor TCR_ELx.{I}PS
  target/arm: Implement FEAT_LVA
  target/arm: Implement FEAT_LPA
  target/arm: Implement FEAT_LPA2

 target/arm/cpu-param.h |   4 +-
 target/arm/cpu.h       |  17 ++++
 target/arm/internals.h |  22 +----
 target/arm/cpu64.c     |   5 +-
 target/arm/helper.c    | 211 ++++++++++++++++++++++++++++++++++-------
 5 files changed, 204 insertions(+), 55 deletions(-)

-- 
2.25.1


Re: [PATCH for-7.0 0/6] target/arm: Implement LVA, LPA, LPA2 features
Posted by Peter Maydell 4 years ago
On Wed, 8 Dec 2021 at 23:14, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> These features are all related and relatively small.
>
> Testing so far has been limited to booting a kernel
> with 64k pages and VA and PA set to 52 bits, which
> excercises LVA and LPA.
>
> There is not yet upstream support for LPA2, probably
> because it's an ARMv8.7 addition.



>  target/arm/cpu-param.h |   4 +-
>  target/arm/cpu.h       |  17 ++++
>  target/arm/internals.h |  22 +----
>  target/arm/cpu64.c     |   5 +-
>  target/arm/helper.c    | 211 ++++++++++++++++++++++++++++++++++-------
>  5 files changed, 204 insertions(+), 55 deletions(-)

I'd forgotten about this document too until a conversation today
brought it to mind, but when adding new feature support please
also update the list of supported emulated features in
docs/system/arm/emulation.rst

thanks
-- PMM

Re: [PATCH for-7.0 0/6] target/arm: Implement LVA, LPA, LPA2 features
Posted by Alex Bennée 4 years, 1 month ago
Richard Henderson <richard.henderson@linaro.org> writes:

> These features are all related and relatively small.
>
> Testing so far has been limited to booting a kernel
> with 64k pages and VA and PA set to 52 bits, which
> excercises LVA and LPA.

Do any distros ship with 64k pages that we could use for an avocado
test?

> There is not yet upstream support for LPA2, probably
> because it's an ARMv8.7 addition.

I guess we can defer adding tests for this until better upstream
support. Are there any WIP branches to test with? I've CC'd the kernel
guys.

>
>
> r~
>
>
> Richard Henderson (6):
>   target/arm: Fault on invalid TCR_ELx.TxSZ
>   target/arm: Move arm_pamax out of line
>   target/arm: Honor TCR_ELx.{I}PS
>   target/arm: Implement FEAT_LVA
>   target/arm: Implement FEAT_LPA
>   target/arm: Implement FEAT_LPA2
>
>  target/arm/cpu-param.h |   4 +-
>  target/arm/cpu.h       |  17 ++++
>  target/arm/internals.h |  22 +----
>  target/arm/cpu64.c     |   5 +-
>  target/arm/helper.c    | 211 ++++++++++++++++++++++++++++++++++-------
>  5 files changed, 204 insertions(+), 55 deletions(-)


-- 
Alex Bennée

Re: [PATCH for-7.0 0/6] target/arm: Implement LVA, LPA, LPA2 features
Posted by Richard Henderson 4 years, 1 month ago
On 12/14/21 8:37 AM, Alex Bennée wrote:
> 
> Richard Henderson <richard.henderson@linaro.org> writes:
> 
>> These features are all related and relatively small.
>>
>> Testing so far has been limited to booting a kernel
>> with 64k pages and VA and PA set to 52 bits, which
>> excercises LVA and LPA.
> 
> Do any distros ship with 64k pages that we could use for an avocado
> test?

Well, RHEL 8 has 64k pages but with a 48-bit address space.  There are separate kernel 
configuration options for 52-bits.


r~