On Sat Mar 2, 2024 at 12:14 AM AEST, Andrew Jones wrote: > On Fri, Mar 01, 2024 at 02:57:04PM +0100, Thomas Huth wrote: > > On 01/03/2024 14.45, Andrew Jones wrote: > > > On Fri, Mar 01, 2024 at 01:41:22PM +0100, 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? > > > > > > > > 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) > > > > > > If there's nothing better, then it should be possible to check the > > > QEMU_ACCEL environment variable which will be there with the default > > > environ. > > > > Well, but that's only available from the host side, not within the test > > (i.e. the guest). So that does not help much with report_xfail... > > powerpc has had environment variables in guests since commit f266c3e8ef15 > ("powerpc: enable environ"). QEMU_ACCEL is one of the environment > variables given to unit tests by default when ENVIRON_DEFAULT is 'yes', as > is the default set in configure. But... > > > I was rather thinking of something like checking the device tree, e.g. for > > the compatible property in /hypervisor to see whether it's KVM or TCG...? > > ...while QEMU_ACCEL will work when the environ is present, DT will always > be present, so checking the hypervisor node sounds better to me. Yeah I got that. One issue with xfail I noted when looking at this earlier, is that it *always* expects a fail, and fails if it succeeds. So if you fix a QEMU bug then you introduce a fail to kvm-unit-tests. So we really want a report_known_bug(cond, "SPRs look sane", "QEMU TCG before v9.0 and POWER9 DD2.0 is known to fail..."); and that could report a maybe-fail that doesn't make the test group fail. Thanks, Nick