qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 64603d: target/microblaze: Renumber D_FLAG


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 64603d: target/microblaze: Renumber D_FLAG
Date: Tue, 08 Sep 2020 08:30:32 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 64603d1efffc8fa0883656c371e6471f6269be92
      
https://github.com/qemu/qemu/commit/64603d1efffc8fa0883656c371e6471f6269be92
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-09-07 (Mon, 07 Sep 2020)

  Changed paths:
    M target/microblaze/cpu.h

  Log Message:
  -----------
  target/microblaze: Renumber D_FLAG

ESS[DS] is bit 19 in the manual, but the manual uses big-endian bit
numbering.  This corresponds to bit 12 in little-endian numbering.
Let the comment about matching the ESR be true by renumbering it.

Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: a9f614587bdfdfce7a5e41c1a092eb7c0c10705a
      
https://github.com/qemu/qemu/commit/a9f614587bdfdfce7a5e41c1a092eb7c0c10705a
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-09-07 (Mon, 07 Sep 2020)

  Changed paths:
    M target/microblaze/helper.c

  Log Message:
  -----------
  target/microblaze: Cleanup mb_cpu_do_interrupt

Reindent; remove dead/commented code.
Use D_FLAG to set ESS[DS].
Sink MSR adjustment for kernel entry, iflags and res_addr clear.
Improve CPU_LOG_INT formatting; report pc and msr before and after.

Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 8ce97bc188ecebd5030059411b6e29f2cec64dc1
      
https://github.com/qemu/qemu/commit/8ce97bc188ecebd5030059411b6e29f2cec64dc1
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-09-07 (Mon, 07 Sep 2020)

  Changed paths:
    M target/microblaze/cpu.h
    M target/microblaze/helper.c
    M target/microblaze/mmu.c
    M target/microblaze/mmu.h

  Log Message:
  -----------
  target/microblaze: Rename mmu structs

Introduce typedefs and follow CODING_STYLE for naming.
Rename struct microblaze_mmu to MicroBlazeMMU.
Rename struct microblaze_mmu_lookup to MicroBlazeMMULookup.

Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 17e777965257e19b17dfbf7c08c495f05303a860
      
https://github.com/qemu/qemu/commit/17e777965257e19b17dfbf7c08c495f05303a860
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-09-07 (Mon, 07 Sep 2020)

  Changed paths:
    M target/microblaze/translate.c

  Log Message:
  -----------
  target/microblaze: Rename DISAS_UPDATE to DISAS_EXIT

The name "update" suggests that something needs updating, but
this is not the case.  Use "exit" to emphasize that nothing
needs doing except to exit.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: f6278ca9699dfd5df21a3f844945ec1e3122c44c
      
https://github.com/qemu/qemu/commit/f6278ca9699dfd5df21a3f844945ec1e3122c44c
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-09-07 (Mon, 07 Sep 2020)

  Changed paths:
    M target/microblaze/translate.c

  Log Message:
  -----------
  target/microblaze: Introduce DISAS_EXIT_NEXT, DISAS_EXIT_JUMP

Like DISAS_EXIT, except we need to update cpu_pc,
either to pc_next or to btarget respectively.

Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 43b341346662099850f4b4a3353dc25fb00cc400
      
https://github.com/qemu/qemu/commit/43b341346662099850f4b4a3353dc25fb00cc400
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-09-07 (Mon, 07 Sep 2020)

  Changed paths:
    M target/microblaze/translate.c

  Log Message:
  -----------
  target/microblaze: Replace cpustate_changed with DISAS_EXIT_NEXT

Rather than look for the combination of DISAS_NEXT with a separate
variable, go ahead and set is_jmp to the desired state.

Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 3d35bcc2135faefa7565f1023ce3e7df9032aedc
      
https://github.com/qemu/qemu/commit/3d35bcc2135faefa7565f1023ce3e7df9032aedc
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-09-07 (Mon, 07 Sep 2020)

  Changed paths:
    M target/microblaze/translate.c

  Log Message:
  -----------
  target/microblaze: Handle DISAS_EXIT_NEXT in delay slot

It is legal to put an mts instruction into a delay slot.
We should continue to return to the main loop in that
case so that we recognize any pending interrupts.

Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 3c745866ed8169638accecd81e61dcfafa3cb3fb
      
https://github.com/qemu/qemu/commit/3c745866ed8169638accecd81e61dcfafa3cb3fb
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-09-07 (Mon, 07 Sep 2020)

  Changed paths:
    M target/microblaze/translate.c

  Log Message:
  -----------
  target/microblaze: Force rtid, rted, rtbd to exit

These return-from-exception type instructions have modified
MSR to re-enable various forms of interrupt.  Force a return
to the main loop.

Consolidate the cleanup of tb_flags into mb_tr_translate_insn.

Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 4059bd90eb29fb837636db278d6907f4df0f6158
      
https://github.com/qemu/qemu/commit/4059bd90eb29fb837636db278d6907f4df0f6158
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-09-07 (Mon, 07 Sep 2020)

  Changed paths:
    M target/microblaze/translate.c

  Log Message:
  -----------
  target/microblaze: Use tcg_gen_lookup_and_goto_ptr

Normal indirect jumps, or page-crossing direct jumps, can use
tcg_gen_lookup_and_goto_ptr to avoid returning to the main loop
simply to find an existing TB for the next pc.

Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 2a7567a2f3a2f2d1580f104efd7ddc67e598b071
      
https://github.com/qemu/qemu/commit/2a7567a2f3a2f2d1580f104efd7ddc67e598b071
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-09-07 (Mon, 07 Sep 2020)

  Changed paths:
    M target/microblaze/translate.c

  Log Message:
  -----------
  target/microblaze: Diagnose invalid insns in delay slots

These cases result in undefined and undocumented behaviour but the
behaviour is deterministic, i.e cores will not lock-up or expose
security issues.  However, RTL will not raise exceptions either.

Therefore, log a GUEST_ERROR and treat these cases as nops, to
avoid corner cases which could put qemu into an invalid state.

Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 84bf3249a3701d04c453ce6c77481d78c2606bfe
      
https://github.com/qemu/qemu/commit/84bf3249a3701d04c453ce6c77481d78c2606bfe
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-09-07 (Mon, 07 Sep 2020)

  Changed paths:
    M target/microblaze/cpu.h

  Log Message:
  -----------
  target/microblaze: Split out MicroBlazeCPUConfig

This struct was previously unnamed, and defined in MicroBlazeCPU.
Pull it out to its own typedef so that we can reuse it.

Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: a0b2d16a09374464450c47f280fc10df70a5de72
      
https://github.com/qemu/qemu/commit/a0b2d16a09374464450c47f280fc10df70a5de72
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-09-07 (Mon, 07 Sep 2020)

  Changed paths:
    M target/microblaze/cpu.h

  Log Message:
  -----------
  target/microblaze: Reorg MicroBlazeCPUConfig to minimize holes

Sort the elements by type and size, removing a number of holes
and reducing the size of the entire struct.

Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: a4bcfc3380c7fab42613dc5747d4b48f0bae29df
      
https://github.com/qemu/qemu/commit/a4bcfc3380c7fab42613dc5747d4b48f0bae29df
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-09-07 (Mon, 07 Sep 2020)

  Changed paths:
    M hw/microblaze/petalogix_ml605_mmu.c
    M target/microblaze/cpu.c
    M target/microblaze/cpu.h
    M target/microblaze/gdbstub.c
    M target/microblaze/helper.c
    M target/microblaze/op_helper.c
    M target/microblaze/translate.c

  Log Message:
  -----------
  target/microblaze: Move pvr regs to MicroBlazeCPUConfig

These values are constant, and are derived from the other
configuration knobs.  Move them into MicroBlazeCPUConfig
to emphasize that they are not variable.

Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 5ad7cc07e5eb4c716b70a8a70f87264ecd1346f9
      
https://github.com/qemu/qemu/commit/5ad7cc07e5eb4c716b70a8a70f87264ecd1346f9
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-09-07 (Mon, 07 Sep 2020)

  Changed paths:
    M target/microblaze/gdbstub.c
    M target/microblaze/translate.c

  Log Message:
  -----------
  target/microblaze: Treat pvr_regs as constant

Do not allow gdb to set the values, and don't bother dumping
unchanging values with -d cpu.

Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: de73ee1abe95d37fa1b9c3129cb8a778eea43159
      
https://github.com/qemu/qemu/commit/de73ee1abe95d37fa1b9c3129cb8a778eea43159
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-09-07 (Mon, 07 Sep 2020)

  Changed paths:
    M target/microblaze/cpu.c
    M target/microblaze/cpu.h
    M target/microblaze/helper.c
    M target/microblaze/mmu.c
    M target/microblaze/mmu.h

  Log Message:
  -----------
  target/microblaze: Move mmu parameters to MicroBlazeCPUConfig

The final 4 fields in MicroBlazeMMU are configuration constants.
Move them into MicroBlazeCPUConfig where they belong.

Remove the leading "c_" from the member names, as that presumably
implied "config", and that should not be explicit in the location.

Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 77f63e1dadb38bd0d4540c8bbf53156ecffa59a7
      
https://github.com/qemu/qemu/commit/77f63e1dadb38bd0d4540c8bbf53156ecffa59a7
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-09-07 (Mon, 07 Sep 2020)

  Changed paths:
    M target/microblaze/cpu.c
    M target/microblaze/cpu.h
    A target/microblaze/machine.c
    M target/microblaze/meson.build

  Log Message:
  -----------
  target/microblaze: Fill in VMStateDescription for cpu

Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 4b8936310b70056a8702f3b6b2b30f5aa72f887d
      
https://github.com/qemu/qemu/commit/4b8936310b70056a8702f3b6b2b30f5aa72f887d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-09-07 (Mon, 07 Sep 2020)

  Changed paths:
    M target/microblaze/translate.c

  Log Message:
  -----------
  target/microblaze: Put MicroBlazeCPUConfig into DisasContext

The bulk of the translator should not have access to the
complete cpu state, to avoid the temptation to examine bits
that are in run time, but not translation time context.

We do need access to the constant cpu configuration, and
that is sufficient, so put that into DisasContext.

Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 7df61837df419740963f020d7ee7b852f6401301
      
https://github.com/qemu/qemu/commit/7df61837df419740963f020d7ee7b852f6401301
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2020-09-07 (Mon, 07 Sep 2020)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: Do not set TARGET_ABI32 for microblaze

In 19f27b6c2493 TARGET_ABI_LONG was reduced to 32 bits for
CONFIG_USER_ONLY.  There is no need to set this by hand; it will
now be set automatically by include/exec/user/abitypes.h.

Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 00942071a0eabeb3ebc3bd594296859587f8f3c8
      
https://github.com/qemu/qemu/commit/00942071a0eabeb3ebc3bd594296859587f8f3c8
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-09-08 (Tue, 08 Sep 2020)

  Changed paths:
    M configure
    M hw/microblaze/petalogix_ml605_mmu.c
    M target/microblaze/cpu.c
    M target/microblaze/cpu.h
    M target/microblaze/gdbstub.c
    M target/microblaze/helper.c
    A target/microblaze/machine.c
    M target/microblaze/meson.build
    M target/microblaze/mmu.c
    M target/microblaze/mmu.h
    M target/microblaze/op_helper.c
    M target/microblaze/translate.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/rth/tags/pull-mb-20200907-2' into 
staging

Use lookup_and_goto_tb.
Cleanup and fill in VMStateDescription.

# gpg: Signature made Mon 07 Sep 2020 21:01:55 BST
# gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:                issuer "richard.henderson@linaro.org"
# gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" 
[full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* remotes/rth/tags/pull-mb-20200907-2:
  configure: Do not set TARGET_ABI32 for microblaze
  target/microblaze: Put MicroBlazeCPUConfig into DisasContext
  target/microblaze: Fill in VMStateDescription for cpu
  target/microblaze: Move mmu parameters to MicroBlazeCPUConfig
  target/microblaze: Treat pvr_regs as constant
  target/microblaze: Move pvr regs to MicroBlazeCPUConfig
  target/microblaze: Reorg MicroBlazeCPUConfig to minimize holes
  target/microblaze: Split out MicroBlazeCPUConfig
  target/microblaze: Diagnose invalid insns in delay slots
  target/microblaze: Use tcg_gen_lookup_and_goto_ptr
  target/microblaze: Force rtid, rted, rtbd to exit
  target/microblaze: Handle DISAS_EXIT_NEXT in delay slot
  target/microblaze: Replace cpustate_changed with DISAS_EXIT_NEXT
  target/microblaze: Introduce DISAS_EXIT_NEXT, DISAS_EXIT_JUMP
  target/microblaze: Rename DISAS_UPDATE to DISAS_EXIT
  target/microblaze: Rename mmu structs
  target/microblaze: Cleanup mb_cpu_do_interrupt
  target/microblaze: Renumber D_FLAG

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


Compare: https://github.com/qemu/qemu/compare/46853bd9e712...00942071a0ea



reply via email to

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