On 05/03/2024 03.30, Nicholas Piggin wrote:
On Fri Mar 1, 2024 at 11:45 PM AEST, 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.
@@ -0,0 +1,415 @@
+/*
+ * Test interrupts
+ *
+ * Copyright 2024 Nicholas Piggin, IBM Corp.
+ *
+ * This work is licensed under the terms of the GNU LGPL, version 2.
I know, we're using this line in a lot of source files ... but maybe we
should do better for new files at least: "LGPL, version 2" is a little bit
ambiguous: Does it mean the "Library GPL version 2.0" or the "Lesser GPL
version 2.1"? Maybe you could clarify by additionally providing a SPDX
identifier here, or by explicitly writing 2.0 or 2.1.
Let's only add SPDX identifiers to new files.
+1
Speaking of which, a bunch of these just got inherited from the file
that was copied to begin with (I tried not to remove copyright
notices unless there was really nothing of the original remaining).
So for new code/files, is there any particular preference for the
license to use? I don't much mind between the *GPL*. Looks like almost
all the SPDX code use GPL 2.0 only, but that could be just from
coming from Linux. I might just go with that.
k-u-t were originally licensed under the LGPL, but in the course of time,
code has been copied from the Linux kernel here and there, so we updated the
license to GPL 2.
So yes, for code that might have been copied from the kernel, we have to use
GPL 2. For other code, it's up to the author to chose. (IIRC we once
discussed that LGPL would be nice for the files in the lib/ directory, while
GPL is fine for the other folders, but my memory might fail here and it was
never written in stone anyway)
Thomas