qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 1796520] Re: autogen crashes on qemu-sh4-user after 61


From: Peter Maydell
Subject: [Qemu-devel] [Bug 1796520] Re: autogen crashes on qemu-sh4-user after 61dedf2af7
Date: Fri, 09 Aug 2019 14:00:14 -0000

I can reproduce this bug, but I'm not sure what QEMU is doing wrong.
Looking at the "SH4 Software Manual", it definitely says that if the
FPSCR.PR bit is 0 then the 'frchg' and 'fschg' instructions should both
trap.

The 'frchg' that autogen is hitting is the one in glibc's "getcontext" 
implementation:
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/sh/sh4/getcontext.S;hb=b6d2c4475d5abc05dd009575b90556bdd3c78ad0#l70

QEMU linux-user mode runs with FPSCR=0x000800000, which is "FPSCR.PR ==
1", ie "double precision". This seems to match what the kernel has for
its FPSCR_INIT value.

Are you in a position to test what the actual hardware/real Linux kernel
using for its FPSCR value when running sh4 userspace binaries ?

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1796520

Title:
  autogen crashes on qemu-sh4-user after 61dedf2af7

Status in QEMU:
  Confirmed

Bug description:
  Running "autogen --help" crashes on qemu-sh4-user with:

  (sid-sh4-sbuild)root@nofan:/# autogen --help
  Unhandled trap: 0x180
  pc=0xf64dd2de sr=0x00000000 pr=0xf63b9c74 fpscr=0x00080000
  spc=0x00000000 ssr=0x00000000 gbr=0xf61102a8 vbr=0x00000000
  sgr=0x00000000 dbr=0x00000000 delayed_pc=0xf64dd2a0 fpul=0x00000003
  r0=0xf6fc1320 r1=0x00000000 r2=0xffff5dc4 r3=0xf67bfb50
  r4=0xf6fc1230 r5=0xf6fc141c r6=0x000003ff r7=0x00000000
  r8=0x00000004 r9=0xf63e20bc r10=0xf6fc141c r11=0xf63e28f0
  r12=0xf63e2258 r13=0xf63eae1c r14=0x00000804 r15=0xf6fc1220
  r16=0x00000000 r17=0x00000000 r18=0x00000000 r19=0x00000000
  r20=0x00000000 r21=0x00000000 r22=0x00000000 r23=0x00000000
  (sid-sh4-sbuild)root@nofan:/#

  Bi-secting found this commit to be the culprit:

  61dedf2af79fb5866dc7a0f972093682f2185e17 is the first bad commit
  commit 61dedf2af79fb5866dc7a0f972093682f2185e17
  Author: Richard Henderson <address@hidden>
  Date:   Tue Jul 18 10:02:50 2017 -1000

      target/sh4: Add missing FPSCR.PR == 0 checks
      
      Both frchg and fschg require PR == 0, otherwise undefined_operation.
      
      Reviewed-by: Aurelien Jarno <address@hidden>
      Signed-off-by: Richard Henderson <address@hidden>
      Message-Id: <address@hidden>
      Signed-off-by: Aurelien Jarno <address@hidden>

  :040000 040000 980d79b69ae712f23a1e4c56983e97a843153b4a
  1024c109f506c7ad57367c63bc8bbbc8a7a36cd7 M      target

  Reverting 61dedf2af79fb5866dc7a0f972093682f2185e17 fixes the problem
  for me.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1796520/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]