Commit Graph

22 Commits

Author SHA1 Message Date
Aurelien Jarno
211315fb5e softfloat: rename float*_eq() into float*_eq_quiet()
float*_eq functions have a different semantics than other comparison
functions. Fix that by first renaming float*_quiet() into float*_eq_quiet().

Note that it is purely mechanical, and the behaviour should be unchanged.
That said it clearly highlight problems due to this different semantics,
they are fixed later in this patch series.

Cc: Alexander Graf <agraf@suse.de>
Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-04-17 20:32:14 +02:00
Edgar E. Iglesias
6d76d23e82 microblaze: Add partial decoding of stream insns
Based on a patch from: Alejandro Cabrera <aldaya@gmail.com>

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2011-04-12 00:48:33 +02:00
Edgar E. Iglesias
5d0bb8239d microblaze: cleanup helper_addkc
Remove unused addition and rename to helper_carry.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2011-01-23 03:52:20 +01:00
Edgar E. Iglesias
e0a42ebc08 microblaze: Improve subkc
Move code from the helper into the translator. The remaining
helper parts can reuse helper_addkc, making it possible to
remove helper_subkc entirely.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2011-01-22 12:39:16 +01:00
Edgar E. Iglesias
40cbf5b709 microblaze: Improve addkc
* Optimize handling when carry is not updated.
* Optimize handling for adds with nop semantics.
* Move code from helper_addkc to the translator making
  helper_addkc PURE and CONST.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2011-01-22 12:02:53 +01:00
Peter Maydell
185698715d softfloat: Rename float*_is_nan() functions to float*_is_quiet_nan()
The softfloat functions float*_is_nan() were badly misnamed,
because they return true only for quiet NaNs, not for all NaNs.
Rename them to float*_is_quiet_nan() to more accurately reflect
what they do.

This change was produced by:
 perl -p -i -e 's/_is_nan/_is_quiet_nan/g' $(git grep -l is_nan)
(with the results manually checked.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Nathan Froyd <froydnj@codesourcery.com>
Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-01-02 11:15:25 +01:00
Edgar E. Iglesias
ef9d48da59 microblaze: Add support for fcmp.un
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@petalogix.com>
2010-09-09 22:05:48 +02:00
Edgar E. Iglesias
97694c57d7 microblaze: Add basic FPU emulation
Missing:
* fcmp.un insn
* Denormalized exceptions
* Exception model is not accurate

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@petalogix.com>
2010-09-09 10:20:17 +02:00
Paul Brook
3c7b48b74c Target specific usermode cleanup
Disable various target specific code that is only relevant to system emulation.

Signed-off-by: Paul Brook <paul@codesourcery.com>
2010-03-12 18:44:24 +00:00
Edgar E. Iglesias
e1aa325409 microblaze: Dont segfault when singlestepping first insn.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@petalogix.com>
2010-02-20 14:03:14 +01:00
Michal Simek
4c24aa0a69 microblaze: Print content of EAR register
I need to see EAR register in output because I need to parse irqsoff problem.

Signed-off-by: Michal Simek <monstr@monstr.eu>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-12-16 12:54:26 +01:00
Edgar E. Iglesias
17c52a43b4 microblaze: Update debug logs.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-12-16 12:52:56 +01:00
Edgar E. Iglesias
95b279de95 microblaze: Restore env when raising unmapped bus access.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-11-12 02:14:45 +01:00
Anthony Liguori
c227f0995e Revert "Get rid of _t suffix"
In the very least, a change like this requires discussion on the list.

The naming convention is goofy and it causes a massive merge problem.  Something
like this _must_ be presented on the list first so people can provide input
and cope with it.

This reverts commit 99a0949b72.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-10-01 16:12:16 -05:00
malc
99a0949b72 Get rid of _t suffix
Some not so obvious bits, slirp and Xen were left alone for the time
being.

Signed-off-by: malc <av1474@comtv.ru>
2009-10-01 22:45:02 +04:00
Edgar E. Iglesias
97f90cbfe8 microblaze: HW Exception fixes.
* Correct PVR checks for masking off individual exceptions.
* Correct FPU exception code.
* Set EAR on unaligned and unassigned exceptions.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-09-11 10:27:38 +02:00
Edgar E. Iglesias
3aa8098843 microblaze: Compute masks for alignment checks at translation time.
Thanks to Blue Swirl for reporting.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-09-03 22:28:21 +02:00
Edgar E. Iglesias
faed1c2a23 microblaze: Trap on bus accesses to unmapped areas.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-09-03 13:25:09 +02:00
Edgar E. Iglesias
968a40f6fa microblaze: Trap on unaligned data accesses.
Untested...

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-09-03 12:59:46 +02:00
Edgar E. Iglesias
821ebb33e4 microblaze: Trap on divizions by zero.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-09-03 12:52:01 +02:00
Blue Swirl
8167ee8839 Update to a hopefully more future proof FSF address
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-07-16 20:47:01 +00:00
Edgar E. Iglesias
4acb54baa6 microblaze: Add translation routines.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-05-26 21:10:11 +02:00