Statistics
| Branch: | Revision:

root / target-alpha / op_helper.c @ 9a78eead

History | View | Annotate | Download (30.3 kB)

# Date Author Comment
18f8e2c0 04/27/2010 06:50 am Richard Henderson

target-alpha: Implement RPCC.

A minimal implementation that more or less corresponds to the
user-level version used by target-i386. More hoops will want
to be jumped through when alpha gets system-level emulation.

Signed-off-by: Richard Henderson <>...

dc96be4b 04/27/2010 06:50 am Richard Henderson

target-alpha: Implement cpys{, n, e} inline.

Signed-off-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

ac316ca4 04/27/2010 06:50 am Richard Henderson

target-alpha: Implement rs/rc properly.

This is a per-cpu flag; there's no need for a spinlock of any kind.

We were also failing to manipulate the flag with $31 as a target reg
and failing to clear the flag on execution of a return-from-interrupt
instruction....

593f17e5 04/27/2010 06:50 am Richard Henderson

target-alpha: Implement cvtlq inline.

It's a simple shift and mask sequence.

Signed-off-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

6910b8f6 04/27/2010 06:50 am Richard Henderson

target-alpha: Fix load-locked/store-conditional.

Use an exception plus start_exclusive to implement the compare-and-swap.
This follows the example set by the MIPS and PPC ports.

Signed-off-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

735cf45f 04/10/2010 03:44 am Richard Henderson

target-alpha: Implement cvtql inline.

It's a simple mask and shift sequence.
Also, fix a typo in the actual masks used.

Signed-off-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

f24518b5 02/28/2010 06:45 pm Richard Henderson

target-alpha: Implement IEEE FP qualifiers.

IEEE FP instructions are split up so that the rounding mode
coming from the instruction and exceptions (both masking and
delivery) are handled external to the base FP operation.
FP exceptions are properly raised for non-finite inputs to...

866be65d 02/24/2010 12:36 am Richard Henderson

target-alpha: Clean up arithmetic traps.

Replace the EXCP_ARITH_OVERFLOW placeholder with the complete
set of bits from the EXC_SUM IPR. Use them in the existing
places where we raise arithmetic exceptions.

Signed-off-by: Richard Henderson <>...

c2c789cf 02/24/2010 12:36 am Richard Henderson

target-alpha: Mark helper_excp as NORETURN.

Signed-off-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

68bd052e 12/17/2009 07:12 pm Richard Henderson

target-alpha: Fix cvtlq.

We were missing the 0xc0000000 mask, leading to incorrect results.

Signed-off-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

d0af5445 12/17/2009 07:12 pm Richard Henderson

target-alpha: Fix float32_to_s vs zero exponent.

There was a bug in float32_to_s that incorrectly mapped a zero exponent
to 0x38. This meant 0.0f != 0. At the same time, fix a generic type
punning bug in helper_memory_to_s and helper_s_to_memory.

Signed-off-by: Richard Henderson <>...

dbb30fe6 12/17/2009 07:12 pm Richard Henderson

target-alpha: Implement fp branch/cmov inline.

The old fcmov implementation had a typo:
- tcg_gen_mov_i64(cpu_fir[rc], cpu_fir[ra]);
which moved the condition, not the second source, to the destination.

But it's also easy to implement the simplified fp comparison inline....

248c42f3 12/13/2009 10:36 pm Richard Henderson

target-alpha: Expand ins*l inline.

Similar in difficulty to ext*l, already expanded.

Signed-off-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

14ab1634 12/13/2009 10:36 pm Richard Henderson

target-alpha: Expand msk*l inline.

Similar in difficulty to ext*l, already expanded.

Signed-off-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

ffec44f1 12/13/2009 10:36 pm Richard Henderson

target-alpha: Expand msk*h inline.

Signed-off-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

50eb6e5c 12/13/2009 10:36 pm Richard Henderson

target-alpha: Expand ins*h inline.

Signed-off-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

13e4df99 12/13/2009 10:26 pm Richard Henderson

target-alpha: Implement missing MVI instructions.

Signed-off-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

19188121 12/13/2009 09:32 pm Richard Henderson

target-alpha: Remove bogus DO_TB_FLUSH code from translator.

Signed-off-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

ba0e276d 12/13/2009 09:32 pm Richard Henderson

target-alpha: Fixes for alpha-linux syscalls.

1. Add correct definitions of error numbers.
2. Implement SYS_osf_sigprocmask
3. Implement SYS_osf_get/setsysinfo for IEEE_FP_CONTROL.

This last requires exposing the FPCR value to do_syscall.
Since this value is actually split up into the float_status,...

c227f099 10/02/2009 12:12 am Anthony Liguori

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...

99a0949b 10/01/2009 09:45 pm malc

Get rid of _t suffix

Some not so obvious bits, slirp and Xen were left alone for the time
being.

Signed-off-by: malc <>

6f4fc367 09/21/2009 09:39 pm Blue Swirl

Add 'static' to please Sparse

Signed-off-by: Blue Swirl <>

636aa200 08/16/2009 12:06 pm Blue Swirl

Replace always_inline with inline

We define inline as always_inline.

Signed-off-by: Blue Swirl <>

8167ee88 07/16/2009 11:47 pm Blue Swirl

Update to a hopefully more future proof FSF address

Signed-off-by: Blue Swirl <>

1a1f7dbc 04/11/2009 12:27 am aurel32

target-alpha: remove amask helper

The direct use of helper_amask in translate.c was bogus (as env is not
assigned). Directly code amask in tcg and remove the helper.

Signed-off-by: Tristan Gingold <>
Signed-off-by: Aurelien Jarno <>...

8579095b 04/11/2009 12:27 am aurel32

target-alpha: remove helper_load_implver

There is no need to use an helper. Directly load the value with tcg code.

Signed-off-by: Tristan Gingold <>
Signed-off-by: Aurelien Jarno <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7074 c046a42c-6fe2-441c-8c8c-71466251a162

ecbb5ea1 04/11/2009 12:27 am aurel32

target-alpha: overflow condition for sublv and subqv

The conditions to detect overflow in sub operations was wrong.

This patch is necessary to boot Tru64.

Signed-off-by: Tristan Gingold <>
Signed-off-by: Aurelien Jarno <>...

75fc9c0c 03/29/2009 02:14 am aurel32

target-alpha: tb_flush helper should flush the tb (and not the tlb).

Looks to be a typo fix.

Signed-off-by: Tristan Gingold <>
Signed-off-by: Aurelien Jarno <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6926 c046a42c-6fe2-441c-8c8c-71466251a162

fad6cb1a 01/05/2009 12:05 am aurel32

Update FSF address in GPL/LGPL boilerplate

The attached patch updates the FSF address in the GPL/LGPL boilerplate
in most GPL/LGPLed files, and also in COPYING.LIB.

Signed-off-by: Stuart Brady <>
Signed-off-by: Aurelien Jarno <>...

e2eb2798 11/22/2008 01:49 am aurel32

target-alpha: use CPU_Float/CPU_Double instead of ugly casts

Signed-off-by: Aurelien Jarno <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5771 c046a42c-6fe2-441c-8c8c-71466251a162

a7812ae4 11/17/2008 04:43 pm pbrook

TCG variable type checking.

Signed-off-by: Paul Brook <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5729 c046a42c-6fe2-441c-8c8c-71466251a162

970d622e 11/10/2008 01:10 pm aurel32

target-alpha: fix cmpbge instruction

The cmpbge instruction should compare all 8 bytes of one 64-bit value with
another. However, we were looping with a < 7 condition which was skipping
the top byte. So if we were doing a compare where the top byte was...

8bb6e981 09/30/2008 09:45 am aurel32

target-alpha: convert palcode ops to TCG

Signed-off-by: Aurelien Jarno <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5360 c046a42c-6fe2-441c-8c8c-71466251a162

f18cd223 09/29/2008 08:21 pm aurel32

target-alpha: convert FP ops to TCG

- Convert FP ops to TCG
- Fix S format
- Implement F and G formats (untested)
- Fix MF_FPCR an MT_FPCR
- Fix FTOIS, FTOIT, ITOFF, ITOFS, ITOFT
- Fix CPYSN, CPYSE

Signed-off-by: Aurelien Jarno <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5354 c046a42c-6fe2-441c-8c8c-71466251a162

04acd307 09/18/2008 04:45 pm aurel32

target-alpha: convert remaining arith3 functions to TCG

Signed-off-by: Aurelien Jarno <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5254 c046a42c-6fe2-441c-8c8c-71466251a162

6ad02592 09/18/2008 03:02 am aurel32

target-alpha: switch a few helpers to TCG

Switch a few helpers to TCG and implement RC and RS instructions

Signed-off-by: Aurelien Jarno <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5247 c046a42c-6fe2-441c-8c8c-71466251a162

b3249f63 09/18/2008 01:04 am aurel32

target-alpha: convert byte manipulation instructions to TCG

Signed-off-by: Aurelien Jarno <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5246 c046a42c-6fe2-441c-8c8c-71466251a162

ae8ecd42 09/17/2008 01:44 am aurel32

target-alpha: convert arith2 instructions to TCG

Replace gen_arith2 generic macro and dyngon ops by instruction specific
optimized TCG code.

Signed-off-by: Aurelien Jarno <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5235 c046a42c-6fe2-441c-8c8c-71466251a162

9b7b85d2 05/25/2008 03:36 am pbrook

Fix off-by-one unwinding error.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4570 c046a42c-6fe2-441c-8c8c-71466251a162

2d8ee4e7 12/01/2007 10:18 am blueswir1

Fix Sparc host compile problem reported by Shaddy Baddah

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3750 c046a42c-6fe2-441c-8c8c-71466251a162

44f8625d 11/11/2007 02:35 pm bellard

fixed invalid type

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3582 c046a42c-6fe2-441c-8c8c-71466251a162

273af660 10/29/2007 04:39 pm ths

Adjust s390 addresses (the MSB is defined as "to be ignored").

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3486 c046a42c-6fe2-441c-8c8c-71466251a162

603fccce 10/28/2007 02:54 pm j_mayer

Make Alpha and PowerPC targets use shared helpers
for clz, clo, ctz, cto and ctpop.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3466 c046a42c-6fe2-441c-8c8c-71466251a162

f071b4d3 10/28/2007 03:56 am j_mayer

Alpha coding style and inlining fixes.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3462 c046a42c-6fe2-441c-8c8c-71466251a162

e14fe0a9 10/26/2007 02:34 am j_mayer

Use host-utils for Alpha 64x64 bits multiplications.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3443 c046a42c-6fe2-441c-8c8c-71466251a162

b1806c9e 10/14/2007 11:18 am j_mayer

Generate micro-ops for Alpha executive and supervisor modes.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3385 c046a42c-6fe2-441c-8c8c-71466251a162

6ebbf390 10/14/2007 10:07 am j_mayer

Replace is_user variable with mmu_idx in softmmu core,
allowing support of more than 2 mmu access modes.
Add backward compatibility is_user variable in targets code when needed.
Implement per target cpu_mmu_index function, avoiding duplicated code
and #ifdef TARGET_xxx in softmmu core functions....

5fafdf24 09/17/2007 12:08 am ths

find -type f | xargs sed -i 's/[\t ]$//g' # on most files

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3173 c046a42c-6fe2-441c-8c8c-71466251a162

4c9649a9 04/05/2007 09:58 am j_mayer

Alpha architecture emulation core.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2597 c046a42c-6fe2-441c-8c8c-71466251a162