qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 34602f: tricore: added triboard with tc27x_so


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 34602f: tricore: added triboard with tc27x_soc
Date: Mon, 15 Mar 2021 09:54:19 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 34602f9904aaea163e63a157a568ccc70d38397c
      
https://github.com/qemu/qemu/commit/34602f9904aaea163e63a157a568ccc70d38397c
  Author: Andreas Konopik <andreas.konopik@efs-auto.de>
  Date:   2021-03-14 (Sun, 14 Mar 2021)

  Changed paths:
    M default-configs/devices/tricore-softmmu.mak
    M hw/tricore/Kconfig
    M hw/tricore/meson.build
    A hw/tricore/tc27x_soc.c
    A hw/tricore/triboard.c
    A include/hw/tricore/tc27x_soc.h
    A include/hw/tricore/triboard.h

  Log Message:
  -----------
  tricore: added triboard with tc27x_soc

Reviewed-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
Signed-off-by: Andreas Konopik <andreas.konopik@efs-auto.de>
Signed-off-by: David Brenken <david.brenken@efs-auto.de>
Signed-off-by: Georg Hofstetter <georg.hofstetter@efs-auto.de>
Signed-off-by: Robert Rasche <robert.rasche@efs-auto.de>
Signed-off-by: Lars Biermanski <lars.biermanski@efs-auto.de>
Message-Id: <20201109165055.10508-2-david.brenken@efs-auto.org>
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>


  Commit: 27e4661638c16e9f4f5941019ad5e0ebce8b7815
      
https://github.com/qemu/qemu/commit/27e4661638c16e9f4f5941019ad5e0ebce8b7815
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2021-03-14 (Sun, 14 Mar 2021)

  Changed paths:
    M target/tricore/helper.c

  Log Message:
  -----------
  target/tricore: Replace magic value by MMU_DATA_LOAD definition

cpu_get_phys_page_debug() uses 'DATA LOAD' MMU access type.

Reviewed-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20210127224255.3505711-2-f4bug@amsat.org>
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>


  Commit: 5513b7700c6cfa1beebcfcd20e9c7458d1ebd3ea
      
https://github.com/qemu/qemu/commit/5513b7700c6cfa1beebcfcd20e9c7458d1ebd3ea
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2021-03-14 (Sun, 14 Mar 2021)

  Changed paths:
    M target/tricore/helper.c

  Log Message:
  -----------
  target/tricore: Pass MMUAccessType to get_physical_address()

'int access_type' and ACCESS_INT are unused, drop them.
Provide the mmu_idx argument to match other targets.
'int rw' is actually the MMUAccessType, rename it.

Reviewed-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20210127224255.3505711-3-f4bug@amsat.org>
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>


  Commit: 4f293079402ad9cd1eae73c256d7adedc0b897b5
      
https://github.com/qemu/qemu/commit/4f293079402ad9cd1eae73c256d7adedc0b897b5
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2021-03-14 (Sun, 14 Mar 2021)

  Changed paths:
    M target/tricore/cpu.h

  Log Message:
  -----------
  target/tricore: Remove unused definitions

Remove these confusing and unused definitions.

Reviewed-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20210127224255.3505711-4-f4bug@amsat.org>
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>


  Commit: 9b620609d79ca0e101af024435c5b38b80478969
      
https://github.com/qemu/qemu/commit/9b620609d79ca0e101af024435c5b38b80478969
  Author: Andreas Konopik <andreas.konopik@efs-auto.de>
  Date:   2021-03-14 (Sun, 14 Mar 2021)

  Changed paths:
    M target/tricore/translate.c

  Log Message:
  -----------
  tricore: fixed faulty conditions for extr and imask

According to the TC 1.3.1. Architecture Manual [1; page 174], results are
undefined, if pos + width > 32 and not 31 or if width = 0.

We found this error because of a different behavior between qemu-tricore
and the real tricore processor. For pos + width = 32, qemu-tricore did not
generate any intermediate code and ran into a different state compared to
the real hardware.

[1] 
https://www.infineon.com/dgdl/tc_v131_instructionset_v138.pdf?fileId=db3a304412b407950112b409b6dd0352

[BK: Add the why to the commit message]
Reviewed-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
Signed-off-by: Andreas Konopik <andreas.konopik@efs-auto.de>
Signed-off-by: Georg Hofstetter <georg.hofstetter@efs-auto.de>
Signed-off-by: David Brenken <david.brenken@efs-auto.de>
Message-Id: <20210211115329.8984-2-david.brenken@efs-auto.org>
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>


  Commit: 007479842b27e03173a333b8c2e0dae14be64f8d
      
https://github.com/qemu/qemu/commit/007479842b27e03173a333b8c2e0dae14be64f8d
  Author: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
  Date:   2021-03-14 (Sun, 14 Mar 2021)

  Changed paths:
    M target/tricore/translate.c

  Log Message:
  -----------
  target/tricore: Fix imask OPC2_32_RRPW_IMASK for r3+1 == r2

if r3+1 and r2 are the same then we would overwrite r2 with our first
move and use the wrong result for the shift. Thus we store the result
from the mov in a temp.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>


  Commit: a21993c7f98862823280d1eb6d3e93cf6267896f
      
https://github.com/qemu/qemu/commit/a21993c7f98862823280d1eb6d3e93cf6267896f
  Author: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
  Date:   2021-03-14 (Sun, 14 Mar 2021)

  Changed paths:
    M target/tricore/translate.c

  Log Message:
  -----------
  target/tricore: Fix OPC2_32_RRPW_EXTR for width=0

if width was 0 we would run into the assertion:

qemu-system-tricore: tcg/tcg-op.c:217: tcg_gen_sari_i32: Assertion `arg2 >= 0 
&& arg2 < 32' failed.o

The instruction manual specifies undefined behaviour for this case. So
we bring this in line with the golden Infineon simlator 'tsim', which
simply writes 0 to the result in case of width=0.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>


  Commit: 51204c2f188ec1e2a38f14718d38a3772f850a4b
      
https://github.com/qemu/qemu/commit/51204c2f188ec1e2a38f14718d38a3772f850a4b
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-03-15 (Mon, 15 Mar 2021)

  Changed paths:
    M default-configs/devices/tricore-softmmu.mak
    M hw/tricore/Kconfig
    M hw/tricore/meson.build
    A hw/tricore/tc27x_soc.c
    A hw/tricore/triboard.c
    A include/hw/tricore/tc27x_soc.h
    A include/hw/tricore/triboard.h
    M target/tricore/cpu.h
    M target/tricore/helper.c
    M target/tricore/translate.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/bkoppelmann2/tags/pull-tricore-20210314' into staging

- Added triboard with tc27x_soc
- Cleaned up get_physical_address()
- Fixed corner case bugs in OPC2_32_RRPW_IMASK and OPC2_32_RRPW_IMASK
  insns

# gpg: Signature made Sun 14 Mar 2021 13:53:11 GMT
# gpg:                using RSA key 6E636A7E83F2DD0CFA6E6E370AD2C6396B69CA14
# gpg:                issuer "kbastian@mail.uni-paderborn.de"
# gpg: Good signature from "Bastian Koppelmann 
<kbastian@mail.uni-paderborn.de>" [full]
# Primary key fingerprint: 6E63 6A7E 83F2 DD0C FA6E  6E37 0AD2 C639 6B69 CA14

* remotes/bkoppelmann2/tags/pull-tricore-20210314:
  target/tricore: Fix OPC2_32_RRPW_EXTR for width=0
  target/tricore: Fix imask OPC2_32_RRPW_IMASK for r3+1 == r2
  tricore: fixed faulty conditions for extr and imask
  target/tricore: Remove unused definitions
  target/tricore: Pass MMUAccessType to get_physical_address()
  target/tricore: Replace magic value by MMU_DATA_LOAD definition
  tricore: added triboard with tc27x_soc

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/36d840f35b4f...51204c2f188e



reply via email to

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