diff options
author | j_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-11-19 11:39:29 +0000 |
---|---|---|
committer | j_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-11-19 11:39:29 +0000 |
commit | 5b8105fa50b0dfde4ac49d7b1dd8044fb82caec6 (patch) | |
tree | 980703e8b407759bcf977e4eaddabcdbc2d12923 /target-ppc | |
parent | 73560bc8e347e8c71bd646e977282efab204ff44 (diff) | |
download | qemu-5b8105fa50b0dfde4ac49d7b1dd8044fb82caec6.zip qemu-5b8105fa50b0dfde4ac49d7b1dd8044fb82caec6.tar.gz qemu-5b8105fa50b0dfde4ac49d7b1dd8044fb82caec6.tar.bz2 |
PowerPC instruction fixes:
- hrfid is part of the hypervisor extension
- fix stfiwx naming
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3705 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-ppc')
-rw-r--r-- | target-ppc/op_mem.h | 12 | ||||
-rw-r--r-- | target-ppc/translate.c | 6 |
2 files changed, 9 insertions, 9 deletions
diff --git a/target-ppc/op_mem.h b/target-ppc/op_mem.h index 971cc18..a1b3e36 100644 --- a/target-ppc/op_mem.h +++ b/target-ppc/op_mem.h @@ -414,7 +414,7 @@ static always_inline void glue(stfs, MEMSUFFIX) (target_ulong EA, double d) #define WORD0 1 #define WORD1 0 #endif -static always_inline void glue(stfiwx, MEMSUFFIX) (target_ulong EA, double d) +static always_inline void glue(stfiw, MEMSUFFIX) (target_ulong EA, double d) { union { double d; @@ -430,11 +430,11 @@ static always_inline void glue(stfiwx, MEMSUFFIX) (target_ulong EA, double d) PPC_STF_OP(fd, stfq); PPC_STF_OP(fs, stfs); -PPC_STF_OP(fiwx, stfiwx); +PPC_STF_OP(fiw, stfiw); #if defined(TARGET_PPC64) PPC_STF_OP_64(fd, stfq); PPC_STF_OP_64(fs, stfs); -PPC_STF_OP_64(fiwx, stfiwx); +PPC_STF_OP_64(fiw, stfiw); #endif static always_inline void glue(stfqr, MEMSUFFIX) (target_ulong EA, double d) @@ -471,7 +471,7 @@ static always_inline void glue(stfsr, MEMSUFFIX) (target_ulong EA, double d) glue(stfl, MEMSUFFIX)(EA, u.f); } -static always_inline void glue(stfiwxr, MEMSUFFIX) (target_ulong EA, double d) +static always_inline void glue(stfiwr, MEMSUFFIX) (target_ulong EA, double d) { union { double d; @@ -489,11 +489,11 @@ static always_inline void glue(stfiwxr, MEMSUFFIX) (target_ulong EA, double d) PPC_STF_OP(fd_le, stfqr); PPC_STF_OP(fs_le, stfsr); -PPC_STF_OP(fiwx_le, stfiwxr); +PPC_STF_OP(fiw_le, stfiwr); #if defined(TARGET_PPC64) PPC_STF_OP_64(fd_le, stfqr); PPC_STF_OP_64(fs_le, stfsr); -PPC_STF_OP_64(fiwx_le, stfiwxr); +PPC_STF_OP_64(fiw_le, stfiwr); #endif /*** Floating-point load ***/ diff --git a/target-ppc/translate.c b/target-ppc/translate.c index d7d5db2..45e8d1b 100644 --- a/target-ppc/translate.c +++ b/target-ppc/translate.c @@ -2764,8 +2764,8 @@ GEN_STFS(fs, 0x14, PPC_FLOAT); /* Optional: */ /* stfiwx */ -OP_ST_TABLE(fiwx); -GEN_STXF(fiwx, 0x17, 0x1E, PPC_FLOAT_STFIWX); +OP_ST_TABLE(fiw); +GEN_STXF(fiw, 0x17, 0x1E, PPC_FLOAT_STFIWX); /*** Branch ***/ static always_inline void gen_goto_tb (DisasContext *ctx, int n, @@ -3088,7 +3088,7 @@ GEN_HANDLER(rfid, 0x13, 0x12, 0x00, 0x03FF8001, PPC_64B) #endif } -GEN_HANDLER(hrfid, 0x13, 0x12, 0x08, 0x03FF8001, PPC_64B) +GEN_HANDLER(hrfid, 0x13, 0x12, 0x08, 0x03FF8001, PPC_64H) { #if defined(CONFIG_USER_ONLY) GEN_EXCP_PRIVOPC(ctx); |