Commit 5b8105fa50b0dfde4ac49d7b1dd8044fb82caec6

Authored by j_mayer
1 parent 73560bc8

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
target-ppc/op_mem.h
... ... @@ -414,7 +414,7 @@ static always_inline void glue(stfs, MEMSUFFIX) (target_ulong EA, double d)
414 414 #define WORD0 1
415 415 #define WORD1 0
416 416 #endif
417   -static always_inline void glue(stfiwx, MEMSUFFIX) (target_ulong EA, double d)
  417 +static always_inline void glue(stfiw, MEMSUFFIX) (target_ulong EA, double d)
418 418 {
419 419 union {
420 420 double d;
... ... @@ -430,11 +430,11 @@ static always_inline void glue(stfiwx, MEMSUFFIX) (target_ulong EA, double d)
430 430  
431 431 PPC_STF_OP(fd, stfq);
432 432 PPC_STF_OP(fs, stfs);
433   -PPC_STF_OP(fiwx, stfiwx);
  433 +PPC_STF_OP(fiw, stfiw);
434 434 #if defined(TARGET_PPC64)
435 435 PPC_STF_OP_64(fd, stfq);
436 436 PPC_STF_OP_64(fs, stfs);
437   -PPC_STF_OP_64(fiwx, stfiwx);
  437 +PPC_STF_OP_64(fiw, stfiw);
438 438 #endif
439 439  
440 440 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)
471 471 glue(stfl, MEMSUFFIX)(EA, u.f);
472 472 }
473 473  
474   -static always_inline void glue(stfiwxr, MEMSUFFIX) (target_ulong EA, double d)
  474 +static always_inline void glue(stfiwr, MEMSUFFIX) (target_ulong EA, double d)
475 475 {
476 476 union {
477 477 double d;
... ... @@ -489,11 +489,11 @@ static always_inline void glue(stfiwxr, MEMSUFFIX) (target_ulong EA, double d)
489 489  
490 490 PPC_STF_OP(fd_le, stfqr);
491 491 PPC_STF_OP(fs_le, stfsr);
492   -PPC_STF_OP(fiwx_le, stfiwxr);
  492 +PPC_STF_OP(fiw_le, stfiwr);
493 493 #if defined(TARGET_PPC64)
494 494 PPC_STF_OP_64(fd_le, stfqr);
495 495 PPC_STF_OP_64(fs_le, stfsr);
496   -PPC_STF_OP_64(fiwx_le, stfiwxr);
  496 +PPC_STF_OP_64(fiw_le, stfiwr);
497 497 #endif
498 498  
499 499 /*** Floating-point load ***/
... ...
target-ppc/translate.c
... ... @@ -2764,8 +2764,8 @@ GEN_STFS(fs, 0x14, PPC_FLOAT);
2764 2764  
2765 2765 /* Optional: */
2766 2766 /* stfiwx */
2767   -OP_ST_TABLE(fiwx);
2768   -GEN_STXF(fiwx, 0x17, 0x1E, PPC_FLOAT_STFIWX);
  2767 +OP_ST_TABLE(fiw);
  2768 +GEN_STXF(fiw, 0x17, 0x1E, PPC_FLOAT_STFIWX);
2769 2769  
2770 2770 /*** Branch ***/
2771 2771 static always_inline void gen_goto_tb (DisasContext *ctx, int n,
... ... @@ -3088,7 +3088,7 @@ GEN_HANDLER(rfid, 0x13, 0x12, 0x00, 0x03FF8001, PPC_64B)
3088 3088 #endif
3089 3089 }
3090 3090  
3091   -GEN_HANDLER(hrfid, 0x13, 0x12, 0x08, 0x03FF8001, PPC_64B)
  3091 +GEN_HANDLER(hrfid, 0x13, 0x12, 0x08, 0x03FF8001, PPC_64H)
3092 3092 {
3093 3093 #if defined(CONFIG_USER_ONLY)
3094 3094 GEN_EXCP_PRIVOPC(ctx);
... ...