Message ID | 20211208231154.392029-1-richard.henderson@linaro.org |
---|---|
Headers | show |
Series | target/arm: Implement LVA, LPA, LPA2 features | expand |
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(-)
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~
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