All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/2] target-arm: Missed gen_set_condexec() in AA32 translation
@ 2015-11-17 13:38 Sergey Fedorov
  2015-11-17 13:38 ` [Qemu-devel] [PATCH v2 1/2] target-arm: Update condexec before CP access check " Sergey Fedorov
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Sergey Fedorov @ 2015-11-17 13:38 UTC (permalink / raw)
  To: qemu-devel; +Cc: Sergey Fedorov, qemu-arm, Peter Maydell

Changes in v2:
 * Typo fixed in the first patch

Sergey Fedorov (2):
  target-arm: Update condexec before CP access check in AA32 translation
  target-arm: Update condexec before arch BP check in AA32 translation

 target-arm/translate.c | 2 ++
 1 file changed, 2 insertions(+)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Qemu-devel] [PATCH v2 1/2] target-arm: Update condexec before CP access check in AA32 translation
  2015-11-17 13:38 [Qemu-devel] [PATCH v2 0/2] target-arm: Missed gen_set_condexec() in AA32 translation Sergey Fedorov
@ 2015-11-17 13:38 ` Sergey Fedorov
  2015-11-17 13:38 ` [Qemu-devel] [PATCH v2 2/2] target-arm: Update condexec before arch BP " Sergey Fedorov
  2015-11-19 13:07 ` [Qemu-devel] [PATCH v2 0/2] target-arm: Missed gen_set_condexec() " Peter Maydell
  2 siblings, 0 replies; 4+ messages in thread
From: Sergey Fedorov @ 2015-11-17 13:38 UTC (permalink / raw)
  To: qemu-devel; +Cc: Sergey Fedorov, qemu-arm, Peter Maydell

Coprocessor access instructions are allowed inside IT block.
gen_helper_access_check_cp_reg() can raise an exceptions thus condexec
bits should be updated before.

Signed-off-by: Sergey Fedorov <serge.fdrv@gmail.com>
---

Notes:
    Changes in v2:
     * Typo fixed

 target-arm/translate.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/target-arm/translate.c b/target-arm/translate.c
index 4351854..739f373 100644
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -7210,6 +7210,7 @@ static int disas_coproc_insn(DisasContext *s, uint32_t insn)
                 break;
             }
 
+            gen_set_condexec(s);
             gen_set_pc_im(s, s->pc - 4);
             tmpptr = tcg_const_ptr(ri);
             tcg_syn = tcg_const_i32(syndrome);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Qemu-devel] [PATCH v2 2/2] target-arm: Update condexec before arch BP check in AA32 translation
  2015-11-17 13:38 [Qemu-devel] [PATCH v2 0/2] target-arm: Missed gen_set_condexec() in AA32 translation Sergey Fedorov
  2015-11-17 13:38 ` [Qemu-devel] [PATCH v2 1/2] target-arm: Update condexec before CP access check " Sergey Fedorov
@ 2015-11-17 13:38 ` Sergey Fedorov
  2015-11-19 13:07 ` [Qemu-devel] [PATCH v2 0/2] target-arm: Missed gen_set_condexec() " Peter Maydell
  2 siblings, 0 replies; 4+ messages in thread
From: Sergey Fedorov @ 2015-11-17 13:38 UTC (permalink / raw)
  To: qemu-devel; +Cc: Sergey Fedorov, qemu-arm, Peter Maydell

Architectural breakpoint check could raise an exceptions, thus condexec
bits should be updated before calling gen_helper_check_breakpoints().

Signed-off-by: Sergey Fedorov <serge.fdrv@gmail.com>
---
 target-arm/translate.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/target-arm/translate.c b/target-arm/translate.c
index 739f373..5d22879 100644
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -11374,6 +11374,7 @@ void gen_intermediate_code(CPUARMState *env, TranslationBlock *tb)
             QTAILQ_FOREACH(bp, &cs->breakpoints, entry) {
                 if (bp->pc == dc->pc) {
                     if (bp->flags & BP_CPU) {
+                        gen_set_condexec(dc);
                         gen_set_pc_im(dc, dc->pc);
                         gen_helper_check_breakpoints(cpu_env);
                         /* End the TB early; it's likely not going to be executed */
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH v2 0/2] target-arm: Missed gen_set_condexec() in AA32 translation
  2015-11-17 13:38 [Qemu-devel] [PATCH v2 0/2] target-arm: Missed gen_set_condexec() in AA32 translation Sergey Fedorov
  2015-11-17 13:38 ` [Qemu-devel] [PATCH v2 1/2] target-arm: Update condexec before CP access check " Sergey Fedorov
  2015-11-17 13:38 ` [Qemu-devel] [PATCH v2 2/2] target-arm: Update condexec before arch BP " Sergey Fedorov
@ 2015-11-19 13:07 ` Peter Maydell
  2 siblings, 0 replies; 4+ messages in thread
From: Peter Maydell @ 2015-11-19 13:07 UTC (permalink / raw)
  To: Sergey Fedorov; +Cc: qemu-arm, QEMU Developers

On 17 November 2015 at 13:38, Sergey Fedorov <serge.fdrv@gmail.com> wrote:
> Changes in v2:
>  * Typo fixed in the first patch
>
> Sergey Fedorov (2):
>   target-arm: Update condexec before CP access check in AA32 translation
>   target-arm: Update condexec before arch BP check in AA32 translation
>
>  target-arm/translate.c | 2 ++
>  1 file changed, 2 insertions(+)



Applied to target-arm.next, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-11-19 13:07 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-17 13:38 [Qemu-devel] [PATCH v2 0/2] target-arm: Missed gen_set_condexec() in AA32 translation Sergey Fedorov
2015-11-17 13:38 ` [Qemu-devel] [PATCH v2 1/2] target-arm: Update condexec before CP access check " Sergey Fedorov
2015-11-17 13:38 ` [Qemu-devel] [PATCH v2 2/2] target-arm: Update condexec before arch BP " Sergey Fedorov
2015-11-19 13:07 ` [Qemu-devel] [PATCH v2 0/2] target-arm: Missed gen_set_condexec() " Peter Maydell

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.