qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 2b5166: target-arm/translate.c: Use arm_dc_fe


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 2b5166: target-arm/translate.c: Use arm_dc_feature() in EN...
Date: Tue, 04 Nov 2014 07:00:08 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 2b51668fca761f412f52a2675fcadb16521d9c4f
      
https://github.com/qemu/qemu/commit/2b51668fca761f412f52a2675fcadb16521d9c4f
  Author: Peter Maydell <address@hidden>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M target-arm/translate.c

  Log Message:
  -----------
  target-arm/translate.c: Use arm_dc_feature() in ENABLE_ARCH_ macros

All the places where we use the ENABLE_ARCH_* and ARCH() macros have a
DisasContext* s, so switch them over to use arm_dc_feature() rather than
arm_feature() so we don't need to pass the CPUARMState* env around too.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Message-id: address@hidden
Reviewed-by: Claudio Fontana <address@hidden>


  Commit: d614a51378f38f1e3193834ac121a3147ae89e34
      
https://github.com/qemu/qemu/commit/d614a51378f38f1e3193834ac121a3147ae89e34
  Author: Peter Maydell <address@hidden>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M target-arm/translate.c

  Log Message:
  -----------
  target-arm/translate.c: Use arm_dc_feature() rather than arm_feature()

Use arm_dc_feature() rather than arm_feature() to avoid using
CPUARMState unnecessarily.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Message-id: address@hidden
Reviewed-by: Claudio Fontana <address@hidden>


  Commit: b53d8923a599ef608a73748981a5b4a7355d11e5
      
https://github.com/qemu/qemu/commit/b53d8923a599ef608a73748981a5b4a7355d11e5
  Author: Peter Maydell <address@hidden>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M target-arm/translate.c

  Log Message:
  -----------
  target-arm/translate.c: Don't use IS_M()

Instead of using IS_M(), use arm_dc_feature(s, ARM_FEATURE_M), so we
don't need to pass CPUARMState pointers around the decoder.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Message-id: address@hidden
Reviewed-by: Claudio Fontana <address@hidden>


  Commit: 7dcc1f894d6c50b4f20ce3d2e9c1a90165bc85af
      
https://github.com/qemu/qemu/commit/7dcc1f894d6c50b4f20ce3d2e9c1a90165bc85af
  Author: Peter Maydell <address@hidden>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M target-arm/translate.c

  Log Message:
  -----------
  target-arm/translate.c: Don't pass CPUARMState around in the decoder

Passing the CPUARMState around in the decoder is a recipe for
bugs where we accidentally generate code that depends on CPU
state which isn't reflected in the TB flags. Stop doing this
and instead use DisasContext as a way to pass around those
bits of CPU state which are known to be safe to use.

This commit simply removes initial "CPUARMState *env" parameters
from various function definitions, and removes the initial "env"
argument from the places where those functions are called.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Message-id: address@hidden
Reviewed-by: Claudio Fontana <address@hidden>


  Commit: f4df22102a0081ff1bd0df4cb5552411e410eb3e
      
https://github.com/qemu/qemu/commit/f4df22102a0081ff1bd0df4cb5552411e410eb3e
  Author: Peter Maydell <address@hidden>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M target-arm/translate.c

  Log Message:
  -----------
  target-arm/translate.c: Don't pass CPUARMState * to disas_arm_insn()

Refactor to avoid passing a CPUARMState * to disas_arm_insn(). To do this
we move the "read insn from memory" code to the callsite and pass the
insn to the function instead.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Message-id: address@hidden
Reviewed-by: Claudio Fontana <address@hidden>


  Commit: b5c633c5bd6993df1bf3401d94042fb8a910a92a
      
https://github.com/qemu/qemu/commit/b5c633c5bd6993df1bf3401d94042fb8a910a92a
  Author: Peter Maydell <address@hidden>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M target-arm/cpu.c
    M target-arm/cpu.h

  Log Message:
  -----------
  target-arm: Separate out M profile cpu_exec_interrupt handling

The M profile cpu_exec_interrupt handling is fairly simple
but does include an M profile specific oddity (disabling
interrupts for certain PC values). A/R profile handling
on the other hand is getting rapidly more complicated
with the support for EL2 and EL3. Split the M profile
code out into its own implementation of cpu_exec_interrupt
to keep these two things out of each others' way.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Edgar E. Iglesias <address@hidden>
Message-id: address@hidden


  Commit: 9fae24f55496ea178e9e8e351f82a02f34ddaf4d
      
https://github.com/qemu/qemu/commit/9fae24f55496ea178e9e8e351f82a02f34ddaf4d
  Author: Peter Maydell <address@hidden>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M target-arm/cpu.h

  Log Message:
  -----------
  target-arm: Correct condition for taking VIRQ and VFIQ

The VIRQ and VFIQ exceptions are (as the comments say) only
taken if the CPU is in Non-secure state and the IMO/FMO bits
are set to enable virtualized interrupts. Correct the code
to actually implement this.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Edgar E. Iglesias <address@hidden>
Message-id: address@hidden


  Commit: 45da08fa8a26717eda5a18abac81b478d51d457f
      
https://github.com/qemu/qemu/commit/45da08fa8a26717eda5a18abac81b478d51d457f
  Author: Peter Maydell <address@hidden>
  Date:   2014-11-04 (Tue, 04 Nov 2014)

  Changed paths:
    M target-arm/cpu.c
    M target-arm/cpu.h
    M target-arm/translate.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20141104' 
into staging

target-arm queue:
 * avoid passing CPU env pointer around in A32/T32 decoders
 * split M profile exception masking out from A/R profile

# gpg: Signature made Tue 04 Nov 2014 12:28:15 GMT using RSA key ID 14360CDE
# gpg: Good signature from "Peter Maydell <address@hidden>"

* remotes/pmaydell/tags/pull-target-arm-20141104:
  target-arm: Correct condition for taking VIRQ and VFIQ
  target-arm: Separate out M profile cpu_exec_interrupt handling
  target-arm/translate.c: Don't pass CPUARMState * to disas_arm_insn()
  target-arm/translate.c: Don't pass CPUARMState around in the decoder
  target-arm/translate.c: Don't use IS_M()
  target-arm/translate.c: Use arm_dc_feature() rather than arm_feature()
  target-arm/translate.c: Use arm_dc_feature() in ENABLE_ARCH_ macros

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/6943109011e4...45da08fa8a26

reply via email to

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