[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 09/10] tools/x86emul: Advertise more CPUID features for testing purposes
>>> On 27.03.17 at 11:56, <andrew.cooper3@xxxxxxxxxx> wrote: > Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> > --- > CC: Jan Beulich <JBeulich@xxxxxxxx> > CC: George Dunlap <george.dunlap@xxxxxxxxxxxxx> > CC: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> > CC: Wei Liu <wei.liu2@xxxxxxxxxx> > --- > tools/tests/x86_emulator/x86_emulate.c | 41 > ++++++++++++++++++++++++---------- > 1 file changed, 29 insertions(+), 12 deletions(-) > > diff --git a/tools/tests/x86_emulator/x86_emulate.c > b/tools/tests/x86_emulator/x86_emulate.c > index cea0595..2c49954 100644 > --- a/tools/tests/x86_emulator/x86_emulate.c > +++ b/tools/tests/x86_emulator/x86_emulate.c > @@ -73,20 +73,37 @@ int emul_test_cpuid( > : "a" (leaf), "c" (subleaf)); > > /* > - * The emulator doesn't itself use MOVBE, so we can always run the > - * respective tests. > + * Some instructions and features can be emulated without specific > + * hardware support. These features are unconditionally reported here, > + * for testing and fuzzing-coverage purposes. > */ > - if ( leaf == 1 ) > - res->c |= 1U << 22; > - > - /* > - * The emulator doesn't itself use ADCX/ADOX/RDPID, so we can always > run > - * the respective tests. > - */ > - if ( leaf == 7 && subleaf == 0 ) > + switch ( leaf ) > { > - res->b |= 1U << 19; > - res->c |= 1U << 22; > + case 1: > + res->c |= 1U << 22; /* MOVBE */ > + break; > + > + case 7: > + switch ( subleaf ) > + { > + case 0: > + res->b |= 1U << 11; /* rtm */ Upper case? > + res->b |= 1U << 19; /* ADCX/ADOX */ > + res->b |= 1U << 20; /* STAC/CLAC */ SMAP? > + res->b |= 1U << 24; /* CLWB */ > + > + res->c |= 1U << 22; /* RDPID */ > + break; > + } > + break; > + > + case 0x80000001: > + res->c |= 1U << 4; /* cr8_legacy */ I think this one is AMD-only, just like ... > + if ( ctxt->vendor == X86_VENDOR_AMD ) > + res->c |= 1U << 7; /* misalignsse */ ... this. And what about LAHF_LM, LZCNT, and CLFLUSH{,OPT}? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |