Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1228844

Re: [PATCH 1/2] x86/math-emu: Add support for FCMOVcc and F[U]COMI[P] insns

From Ingo Molnar <mingo@kernel.org>
Newsgroups linux.kernel
Subject Re: [PATCH 1/2] x86/math-emu: Add support for FCMOVcc and F[U]COMI[P] insns
Date 2015-09-20 10:20 +0200
Message-ID <qaI0O-2H1-9@gated-at.bofh.it> (permalink)
References <q9qSl-5HH-3@gated-at.bofh.it> <q9Yr1-4pF-23@gated-at.bofh.it> <qa5iP-5JO-45@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


* Denys Vlasenko <dvlasenk@redhat.com> wrote:

> >>  arch/x86/math-emu/fpu_aux.c     |  70 ++++++++++++++++++++++
> >>  arch/x86/math-emu/fpu_entry.c   |  49 +++++++++------
> >>  arch/x86/math-emu/fpu_proto.h   |  12 ++++
> >>  arch/x86/math-emu/reg_compare.c | 128 ++++++++++++++++++++++++++++++++++++++++
> >>  4 files changed, 241 insertions(+), 18 deletions(-)
> > 
> > I wanted to apply this patch, but noticed the following problem: why are two 
> > instruction families added in a single patch?
> 
> They were introduced at the same time in the CPU evolution
> (when CMOV feature was added).
> 
> The idea is that there may be programs which assume that "cmov"
> in /proc/cpuinfo means both these insns are safe to use,
> which is true for all real CPUs.

I see, that makes sense - and this makes bisection of any bugs in the emulator 
implementation harder.

Still, it cannot hurt I suppose.

Btw., has anyone explored the possibility to have an emulator 'runtime test' on 
FPU-capable CPUs: to run in FPU emulation and to run the emulation code, but to 
also run the real hardware instruction(s) against that context and double check 
that the two FPU register sets match up, bit for bit?

If the emulator is perfect then the two would always match: the hardware 
instruction generates the exact same result as software emulation.

This would slows down emulation a bit (but emulation is slow anyway due to trap 
overhead), but makes it a lot more obvious that the emulator is correct.

It's not a trivial feature though I suspect, exceptions would have to be taken 
care of, etc.

The motivation would be to make it much easier to extend the emulator, which would 
be useful to run modern Linux distros on future low-power x86 designs that have no 
FPU circuitry altogether.

Thanks,

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[PATCH 1/2] x86/math-emu: Add support for FCMOVcc and F[U]COMI[P] insns Denys Vlasenko <dvlasenk@redhat.com> - 2015-09-16 21:50 +0200
  [PATCH 2/2] x86/math-emu: Remove define layer for undocumented opcodes Denys Vlasenko <dvlasenk@redhat.com> - 2015-09-16 21:50 +0200
    Re: [PATCH 2/2] x86/math-emu: Remove define layer for undocumented  opcodes Ingo Molnar <mingo@kernel.org> - 2015-09-18 09:40 +0200
  Re: [PATCH 1/2] x86/math-emu: Add support for FCMOVcc and F[U]COMI[P]  insns Denys Vlasenko <dvlasenk@redhat.com> - 2015-09-16 22:00 +0200
    Re: [PATCH 1/2] x86/math-emu: Add support for FCMOVcc and  F[U]COMI[P] insns Ingo Molnar <mingo@kernel.org> - 2015-09-17 09:30 +0200
  Re: [PATCH 1/2] x86/math-emu: Add support for FCMOVcc and  F[U]COMI[P] insns Ingo Molnar <mingo@kernel.org> - 2015-09-18 09:40 +0200
    Re: [PATCH 1/2] x86/math-emu: Add support for FCMOVcc and F[U]COMI[P]  insns Denys Vlasenko <dvlasenk@redhat.com> - 2015-09-18 17:00 +0200
      Re: [PATCH 1/2] x86/math-emu: Add support for FCMOVcc and  F[U]COMI[P] insns Ingo Molnar <mingo@kernel.org> - 2015-09-20 10:20 +0200

csiph-web