]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
KVM: selftests: Add coverage for 'b' (byte) sized fastops emulation
authorSean Christopherson <seanjc@google.com>
Tue, 9 Sep 2025 20:28:33 +0000 (13:28 -0700)
committerSean Christopherson <seanjc@google.com>
Thu, 11 Sep 2025 15:55:44 +0000 (08:55 -0700)
commit9bf5da1ca4275c0403de763547f21f29795f8366
tree4f50f63f331e77c9096a4d623a205c5f89c7e7d5
parent7b39b6c76942d42d3eecf0844d0f6a76fb64e805
KVM: selftests: Add coverage for 'b' (byte) sized fastops emulation

Extend the fastops test to cover instructions that operate on 8-bit data.
Support for 8-bit instructions was omitted from the original commit purely
due to complications with BT not having a r/m8 variant.  To keep the
RFLAGS.CF behavior deterministic and not heavily biased to '0' or '1',
continue using BT, but cast and load the to-be-tested value into a
dedicated 32-bit constraint.

Supporting 8-bit operations will allow using guest_test_fastops() as-is to
provide full coverage for DIV and IDIV.  For divide operations, covering
all operand sizes _is_ interesting, because KVM needs provide exception
fixup for each size (failure to handle a #DE could panic the host).

Link: https://lore.kernel.org/all/aIF7ZhWZxlkcpm4y@google.com
Link: https://lore.kernel.org/r/20250909202835.333554-3-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
tools/testing/selftests/kvm/x86/fastops_test.c