aOn Wed, 26 Jan 2022 13:21:17 +0000, Mark Brown broonie@kernel.org wrote:
[1 <text/plain; us-ascii (7bit)>] On Wed, Jan 26, 2022 at 01:05:01PM +0000, Marc Zyngier wrote:
Mark Brown broonie@kernel.org wrote:
So you now only test whether it is possible to create a virtual GICv3, but don't actually create it. How does this work?
Oh, that's rather obscure in the API - so the file descriptor returned if the test flag is specified can't actually be used?
No file descriptor is returned at all from the kernel, so you should always get -1 as populated by kvm_create_device().
See virt/kvm/kvm_main.c::kvm_ioctl_create_device().
Ugh, right - the descriptor is returned separately to the return code but is then mapped onto the return code by the library since the library just aborts on error in the non-test case and in the test case the kernel returns an inverted boolean which gets passed straight through. Like I say the API seems a bit confusing here.
That's a very... "kind" way of putting it.
M.