Commit 9fceefa7d12c832c4da69737ce216c415309a7c3

Authored by j_mayer
1 parent 5b52b991

Don't print any message when a priviledge exception occurs on mfpvr

as the Linux allows applications to read this register.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3510 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 10 additions and 4 deletions
target-ppc/translate.c
... ... @@ -3550,11 +3550,17 @@ static always_inline void gen_op_mfspr (DisasContext *ctx)
3550 3550 gen_op_store_T0_gpr(rD(ctx->opcode));
3551 3551 } else {
3552 3552 /* Privilege exception */
3553   - if (loglevel != 0) {
3554   - fprintf(logfile, "Trying to read privileged spr %d %03x\n",
3555   - sprn, sprn);
  3553 + /* This is a hack to avoid warnings when running Linux:
  3554 + * this OS breaks the PowerPC virtualisation model,
  3555 + * allowing userland application to read the PVR
  3556 + */
  3557 + if (sprn != SPR_PVR) {
  3558 + if (loglevel != 0) {
  3559 + fprintf(logfile, "Trying to read privileged spr %d %03x\n",
  3560 + sprn, sprn);
  3561 + }
  3562 + printf("Trying to read privileged spr %d %03x\n", sprn, sprn);
3556 3563 }
3557   - printf("Trying to read privileged spr %d %03x\n", sprn, sprn);
3558 3564 GEN_EXCP_PRIVREG(ctx);
3559 3565 }
3560 3566 } else {
... ...