On 05/03/2024 03.19, Nicholas Piggin wrote:
On Fri Mar 1, 2024 at 10:41 PM AEST, Thomas Huth wrote:
On 26/02/2024 11.12, Nicholas Piggin wrote:
Add basic testing of various kinds of interrupts, machine check,
page fault, illegal, decrementer, trace, syscall, etc.
This has a known failure on QEMU TCG pseries machines where MSR[ME]
can be incorrectly set to 0.
Two questions out of curiosity:
Any chance that this could be fixed easily in QEMU?
Yes I have a fix on the mailing list. It should get into 9.0 and
probably stable.
Ok, then it's IMHO not worth the effort to make the k-u-t work around this
bug in older QEMU versions.
Or is there a way to detect TCG from within the test? (for example, we have
a host_is_tcg() function for s390x so we can e.g. use report_xfail() for
tests that are known to fail on TCG there)
I do have a half-done patch which adds exactly this.
One (minor) annoyance is that it doesn't seem possible to detect QEMU
version to add workarounds. E.g., we would like to test the fixed
functionality, but older qemu should not. Maybe that's going too much
into a rabbit hole. We *could* put a QEMU version into device tree
to deal with this though...
No, let's better not do this - hardwired version checks are often a bad
idea, e.g. when a bug is in QEMU 8.0.0 and 8.1.0, it could be fixed in 8.0.1
and then it could get really messy with the version checks...
Thomas