On Wed, Jan 26, 2022 at 01:05:01PM +0000, Marc Zyngier wrote: > Mark Brown <broonie@xxxxxxxxxx> 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.
Attachment:
signature.asc
Description: PGP signature