All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: "Richard Henderson" <richard.henderson@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	"Laurent Vivier" <laurent@vivier.eu>,
	"Anton Johansson" <anjo@rev.ng>,
	"Alistair Francis" <alistair@alistair23.me>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: [RFC PATCH-for-9.1 8/8] target/microblaze: Widen $ear to 64-bit
Date: Tue, 19 Mar 2024 07:28:55 +0100	[thread overview]
Message-ID: <20240319062855.8025-9-philmd@linaro.org> (raw)
In-Reply-To: <20240319062855.8025-1-philmd@linaro.org>

The Exception Address Register is 64-bit wide.
User emulation only access the 32 lower bits.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 target/microblaze/cpu.h       | 2 +-
 linux-user/elfload.c          | 2 +-
 target/microblaze/gdbstub.c   | 2 +-
 target/microblaze/translate.c | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/target/microblaze/cpu.h b/target/microblaze/cpu.h
index c3e2aba0ec..a9f93b37b7 100644
--- a/target/microblaze/cpu.h
+++ b/target/microblaze/cpu.h
@@ -251,7 +251,7 @@ struct CPUArchState {
     uint32_t pc;
     uint32_t msr;    /* All bits of MSR except MSR[C] and MSR[CC] */
     uint32_t msr_c;  /* MSR[C], in low bit; other bits must be 0 */
-    target_ulong ear;
+    uint64_t ear;
     uint32_t esr;
     uint32_t fsr;
     uint32_t btr;
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 60cf55b36c..4612aef95a 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -1498,7 +1498,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUMBState *env
     (*regs)[pos++] = tswapreg(env->pc);
     (*regs)[pos++] = tswapreg(mb_cpu_read_msr(env));
     (*regs)[pos++] = 0;
-    (*regs)[pos++] = tswapreg(env->ear);
+    (*regs)[pos++] = tswapreg((uint32_t)env->ear);
     (*regs)[pos++] = 0;
     (*regs)[pos++] = tswapreg(env->esr);
 }
diff --git a/target/microblaze/gdbstub.c b/target/microblaze/gdbstub.c
index 09d74e164d..147d20c3e4 100644
--- a/target/microblaze/gdbstub.c
+++ b/target/microblaze/gdbstub.c
@@ -63,7 +63,7 @@ int mb_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n)
         val = mb_cpu_read_msr(env);
         break;
     case GDB_EAR:
-        val = env->ear;
+        val = (uint32_t)env->ear;
         break;
     case GDB_ESR:
         val = env->esr;
diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c
index 493850c544..19b180501f 100644
--- a/target/microblaze/translate.c
+++ b/target/microblaze/translate.c
@@ -1835,7 +1835,7 @@ void mb_cpu_dump_state(CPUState *cs, FILE *f, int flags)
     }
 
     qemu_fprintf(f, "\nesr=0x%04x fsr=0x%02x btr=0x%08x edr=0x%x\n"
-                 "ear=0x" TARGET_FMT_lx " slr=0x%x shr=0x%x\n",
+                 "ear=0x%" PRIx64 " slr=0x%x shr=0x%x\n",
                  env->esr, env->fsr, env->btr, env->edr,
                  env->ear, env->slr, env->shr);
 
-- 
2.41.0



  parent reply	other threads:[~2024-03-19  6:31 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-19  6:28 [PATCH-for-9.1 0/8] target/microblaze: Sprint housekeeping Philippe Mathieu-Daudé
2024-03-19  6:28 ` [PATCH-for-9.1 1/8] target/microblaze: Use correct string format in do_unaligned_access() Philippe Mathieu-Daudé
2024-03-19 15:52   ` Anton Johansson via
2024-03-19 16:29   ` Edgar E. Iglesias
2024-03-19  6:28 ` [PATCH-for-9.1 2/8] target/microblaze: Use hwaddr/vaddr in cpu_get_phys_page_attrs_debug() Philippe Mathieu-Daudé
2024-03-19 15:53   ` Anton Johansson via
2024-03-19 16:29   ` Edgar E. Iglesias
2024-03-19  6:28 ` [PATCH-for-9.1 3/8] target/microblaze: Widen vaddr in mmu_translate() Philippe Mathieu-Daudé
2024-03-19 15:54   ` Anton Johansson via
2024-03-19 21:00   ` Edgar E. Iglesias
2024-03-19  6:28 ` [PATCH-for-9.1 4/8] target/microblaze: Use 32-bit destination in gen_goto_tb() Philippe Mathieu-Daudé
2024-03-19 15:57   ` Anton Johansson via
2024-03-19 21:01   ` Edgar E. Iglesias
2024-03-19  6:28 ` [PATCH-for-9.1 5/8] target/microblaze: Restrict 64-bit 'res_addr' to system emulation Philippe Mathieu-Daudé
2024-03-19 16:01   ` Anton Johansson via
2024-03-19 16:27   ` Edgar E. Iglesias
2024-03-19 18:17     ` Philippe Mathieu-Daudé
2024-03-19  6:28 ` [PATCH-for-9.1 6/8] target/microblaze: Rename helper.c -> sys_helper.c Philippe Mathieu-Daudé
2024-03-19 16:02   ` Anton Johansson via
2024-03-19 21:01   ` Edgar E. Iglesias
2024-03-19  6:28 ` [PATCH-for-9.1 7/8] target/microblaze: Move MMU helpers to sys_helper.c Philippe Mathieu-Daudé
2024-03-19 16:03   ` Anton Johansson via
2024-03-19 21:01   ` Edgar E. Iglesias
2024-03-19  6:28 ` Philippe Mathieu-Daudé [this message]
2024-03-19 16:21   ` [RFC PATCH-for-9.1 8/8] target/microblaze: Widen $ear to 64-bit Anton Johansson via
2024-03-19 21:07   ` Edgar E. Iglesias
2024-03-19  6:30 ` [PATCH-for-9.1 0/8] target/microblaze: Sprint housekeeping Philippe Mathieu-Daudé

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240319062855.8025-9-philmd@linaro.org \
    --to=philmd@linaro.org \
    --cc=alistair@alistair23.me \
    --cc=anjo@rev.ng \
    --cc=edgar.iglesias@gmail.com \
    --cc=laurent@vivier.eu \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.