|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 05/14] x86/HVM: eliminate custom #MF/#XM handling
On Thu, Mar 15, 2018 at 07:06:36AM -0600, Jan Beulich wrote:
> @@ -8478,7 +8411,8 @@ x86_emulate(
> }
>
> complete_insn: /* Commit shadow register state. */
> - put_fpu(&fic, false, state, ctxt, ops);
> + put_fpu(fpu_type, false, state, ctxt, ops);
> + fpu_type = X86EMUL_FPU_none;
>
> /* Zero the upper 32 bits of %rip if not in 64-bit mode. */
> if ( !mode_64bit() )
> @@ -8502,13 +8436,22 @@ x86_emulate(
> ctxt->regs->eflags &= ~X86_EFLAGS_RF;
>
> done:
> - put_fpu(&fic, fic.insn_bytes > 0 && dst.type == OP_MEM, state, ctxt,
> ops);
> + put_fpu(fpu_type, insn_bytes > 0 && dst.type == OP_MEM, state, ctxt,
> ops);
> put_stub(stub);
> return rc;
> #undef state
>
> #ifdef __XEN__
> emulation_stub_failure:
> + generate_exception_if(stub_exn.info.fields.trapnr == EXC_MF, EXC_MF);
> + if ( stub_exn.info.fields.trapnr == EXC_XM )
> + {
> + unsigned long cr4;
> +
> + if ( !ops->read_cr || !ops->read_cr(4, &cr4, ctxt) == X86EMUL_OKAY )
Is the second expression in the above line missing parentheses:
if ( !ops->read_cr || !(ops->read_cr(4, &cr4, ctxt) == X86EMUL_OKAY) )
Or should this be:
if ( !ops->read_cr || ops->read_cr(4, &cr4, ctxt) != X86EMUL_OKAY )
clang complains with:
In file included from x86_emulate.c:44:
./x86_emulate/x86_emulate.c:8665:31: error: logical not is only applied to the
left hand side of
this comparison [-Werror,-Wlogical-not-parentheses]
if ( !ops->read_cr || !ops->read_cr(4, &cr4, ctxt) == X86EMUL_OKAY )
^ ~~
./x86_emulate/x86_emulate.c:8665:31: note: add parentheses after the '!' to
evaluate the comparison
first
if ( !ops->read_cr || !ops->read_cr(4, &cr4, ctxt) == X86EMUL_OKAY )
^
( )
./x86_emulate/x86_emulate.c:8665:31: note: add parentheses around left hand
side expression to
silence this warning
if ( !ops->read_cr || !ops->read_cr(4, &cr4, ctxt) == X86EMUL_OKAY )
^
( )
1 error generated.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |