On 2/18/22 04:37, Alex Bennée wrote:
Peter Maydell <peter.mayd...@linaro.org> writes:
On Thu, 10 Feb 2022 at 04:04, Richard Henderson
<richard.hender...@linaro.org> wrote:
Changes for v2:
* Introduce FIELD_SEX64, instead of open-coding w/ sextract64.
* Set TCR_EL1 more completely for user-only.
* Continue to bound tsz within aa64_va_parameters;
provide an out-of-bound indicator for raising AddressSize fault.
* Split IPS patch.
* Fix debug registers for LVA.
* Fix long-format fsc for LPA2.
* Fix TLBI page shift.
* Validate TLBI granule vs TCR granule.
Not done:
* Validate translation levels which accept blocks.
There is still no upstream kernel support for FEAT_LPA2,
so that is essentially untested.
This series seems to break 'make check-acceptance':
(01/59) tests/avocado/boot_linux.py:BootLinuxAarch64.test_virt_tcg_gicv2:
INTERRUPTED: Test interrupted by SIGTERM\nRunner error occurred:
Timeout reached\nOriginal status: ERROR\n{'name':
'01-tests/avocado/boot_linux.py:BootLinuxAarch64.test_virt_tcg_gicv2',
'logdir':
'/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-clang/tests/results/j...
(900.74 s)
(02/59) tests/avocado/boot_linux.py:BootLinuxAarch64.test_virt_tcg_gicv3:
INTERRUPTED: Test interrupted by SIGTERM\nRunner error occurred:
Timeout reached\nOriginal status: ERROR\n{'name':
'02-tests/avocado/boot_linux.py:BootLinuxAarch64.test_virt_tcg_gicv3',
'logdir':
'/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-clang/tests/results/j...
(900.71 s)
UEFI runs in the guest and seems to launch the kernel, but there's
no output from the kernel itself in the logfile. Last thing it
prints is:
EFI stub: Booting Linux Kernel...
EFI stub: EFI_RNG_PROTOCOL unavailable, no randomness supplied
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services and installing virtual address map...
SetUefiImageMemoryAttributes - 0x000000007F500000 - 0x0000000000040000
(0x0000000000000008)
SetUefiImageMemoryAttributes - 0x000000007C190000 - 0x0000000000040000
(0x0000000000000008)
SetUefiImageMemoryAttributes - 0x000000007C140000 - 0x0000000000040000
(0x0000000000000008)
SetUefiImageMemoryAttributes - 0x000000007F4C0000 - 0x0000000000030000
(0x0000000000000008)
SetUefiImageMemoryAttributes - 0x000000007C0F0000 - 0x0000000000040000
(0x0000000000000008)
SetUefiImageMemoryAttributes - 0x000000007BFB0000 - 0x0000000000040000
(0x0000000000000008)
SetUefiImageMemoryAttributes - 0x000000007BE00000 - 0x0000000000030000
(0x0000000000000008)
SetUefiImageMemoryAttributes - 0x000000007BDC0000 - 0x0000000000030000
(0x0000000000000008)
This ought to be followed by the usual kernel boot log
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x000f0510]
etc but it isn't. Probably the kernel is crashing in early bootup
before it gets round to printing anything.
As this test runs under -cpu max it is likely exercising the new
features (and failing).
I would have thought so too. However...
I've bisected this to the final LPA2 patch. I have not tracked down what exactly is going
on with this, but it's definitely not the guest exercising the new feature -- there is no
upstream support for LPA2.
I'll keep looking.
r~