On Wed, Feb 05, 2020 at 04:26:40PM +0100, Paolo Bonzini wrote: > On 04/02/20 20:48, Sean Christopherson wrote: > > Use the host CPU model for the PCID tests to allow testing the various > > combinations of PCID and INVPCID enabled/disabled without having to > > manually change the kvm-unit-tests command line. I.e. give users the > > option of changing the command line *OR* running on a (virtual) CPU > > with or without PCID and/or INVPCID. > > I don't understand. :) I was trying to test a change in the code that clears INVPCID in guest's CPUID if PCID isn't supported. To do that, I ran the PCID unit test in L1, using L0 Qemu to hide PCID and/or INVPCID from L1 to iterate over the four combinations of PCID and INVPCID being enabled/disabled. But the test in L1 never exercised INVPCID=y because unittest.cfg runs with the test with "-cpu=qemu64,+pcid". By using qemu64, the only way to test INVPCID=y is to manually run the test a different "-cpu..." command. The idea behind "-cpu=host" is to enable running different combinations of the test in L1 by hiding features from L1 instead of by running the test with different commands. In other words, if I create an L1 with PCID=y and INVPCID=y, I expect that running the as-configured PCID unit tests would actually test PCID=Y and INVPCID=y.