qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [Bug 1085658] [NEW] exec, cpu log
@ 2012-12-02 16:16 Daniil Troshkov
  2012-12-02 16:17 ` [Qemu-devel] [Bug 1085658] " Daniil Troshkov
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Daniil Troshkov @ 2012-12-02 16:16 UTC (permalink / raw)
  To: qemu-devel

Public bug reported:

Hello!

CPU_LOG_EXEC (and CPU_LOG_TB_CPU) does not work (i.e. not of each tb dumped) because tb links is occur.
Patch:

diff --git a/cpu-exec.c b/cpu-exec.c
index 904ee73..509d50c 100644
--- a/cpu-exec.c
+++ b/cpu-exec.c
@@ -582,7 +582,11 @@ int cpu_exec(CPUArchState *env)
                 /* see if we can patch the calling TB. When the TB
                    spans two pages, we cannot safely do a direct
                    jump. */
-                if (next_tb != 0 && tb->page_addr[1] == -1) {
+                if (next_tb != 0 && tb->page_addr[1] == -1
+#ifdef CONFIG_DEBUG_EXEC
+                    && !qemu_loglevel_mask(CPU_LOG_EXEC | CPU_LOG_TB_CPU)
+#endif
+                ) {
                     tb_add_jump((TranslationBlock *)(next_tb & ~3), next_tb & 3, tb);
                 }
                 spin_unlock(&tb_lock);

** Affects: qemu
     Importance: Undecided
         Status: New

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

Title:
  exec, cpu log

Status in QEMU:
  New

Bug description:
  Hello!

  CPU_LOG_EXEC (and CPU_LOG_TB_CPU) does not work (i.e. not of each tb dumped) because tb links is occur.
  Patch:

  diff --git a/cpu-exec.c b/cpu-exec.c
  index 904ee73..509d50c 100644
  --- a/cpu-exec.c
  +++ b/cpu-exec.c
  @@ -582,7 +582,11 @@ int cpu_exec(CPUArchState *env)
                   /* see if we can patch the calling TB. When the TB
                      spans two pages, we cannot safely do a direct
                      jump. */
  -                if (next_tb != 0 && tb->page_addr[1] == -1) {
  +                if (next_tb != 0 && tb->page_addr[1] == -1
  +#ifdef CONFIG_DEBUG_EXEC
  +                    && !qemu_loglevel_mask(CPU_LOG_EXEC | CPU_LOG_TB_CPU)
  +#endif
  +                ) {
                       tb_add_jump((TranslationBlock *)(next_tb & ~3), next_tb & 3, tb);
                   }
                   spin_unlock(&tb_lock);

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

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

* [Qemu-devel] [Bug 1085658] Re: exec, cpu log
  2012-12-02 16:16 [Qemu-devel] [Bug 1085658] [NEW] exec, cpu log Daniil Troshkov
@ 2012-12-02 16:17 ` Daniil Troshkov
  2012-12-02 18:31 ` Peter Maydell
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Daniil Troshkov @ 2012-12-02 16:17 UTC (permalink / raw)
  To: qemu-devel

** Attachment added: "patch_exec"
   https://bugs.launchpad.net/qemu/+bug/1085658/+attachment/3449861/+files/patch_exec

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

Title:
  exec, cpu log

Status in QEMU:
  New

Bug description:
  Hello!

  CPU_LOG_EXEC (and CPU_LOG_TB_CPU) does not work (i.e. not of each tb dumped) because tb links is occur.
  Patch:

  diff --git a/cpu-exec.c b/cpu-exec.c
  index 904ee73..509d50c 100644
  --- a/cpu-exec.c
  +++ b/cpu-exec.c
  @@ -582,7 +582,11 @@ int cpu_exec(CPUArchState *env)
                   /* see if we can patch the calling TB. When the TB
                      spans two pages, we cannot safely do a direct
                      jump. */
  -                if (next_tb != 0 && tb->page_addr[1] == -1) {
  +                if (next_tb != 0 && tb->page_addr[1] == -1
  +#ifdef CONFIG_DEBUG_EXEC
  +                    && !qemu_loglevel_mask(CPU_LOG_EXEC | CPU_LOG_TB_CPU)
  +#endif
  +                ) {
                       tb_add_jump((TranslationBlock *)(next_tb & ~3), next_tb & 3, tb);
                   }
                   spin_unlock(&tb_lock);

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

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

* [Qemu-devel] [Bug 1085658] Re: exec, cpu log
  2012-12-02 16:16 [Qemu-devel] [Bug 1085658] [NEW] exec, cpu log Daniil Troshkov
  2012-12-02 16:17 ` [Qemu-devel] [Bug 1085658] " Daniil Troshkov
@ 2012-12-02 18:31 ` Peter Maydell
  2012-12-02 21:03 ` Daniil Troshkov
  2012-12-02 21:08 ` Daniil Troshkov
  3 siblings, 0 replies; 5+ messages in thread
From: Peter Maydell @ 2012-12-02 18:31 UTC (permalink / raw)
  To: qemu-devel

> CPU_LOG_EXEC (and CPU_LOG_TB_CPU) does not work (i.e. not of each tb
dumped) because tb links is occur.

This is true, but I'm afraid I don't think this patch is the right
approach. Enabling debug tracing shouldn't cause us to change behaviour,
so we can't just disable TB linking when doing debug logging.

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

Title:
  exec, cpu log

Status in QEMU:
  New

Bug description:
  Hello!

  CPU_LOG_EXEC (and CPU_LOG_TB_CPU) does not work (i.e. not of each tb dumped) because tb links is occur.
  Patch:

  diff --git a/cpu-exec.c b/cpu-exec.c
  index 904ee73..509d50c 100644
  --- a/cpu-exec.c
  +++ b/cpu-exec.c
  @@ -582,7 +582,11 @@ int cpu_exec(CPUArchState *env)
                   /* see if we can patch the calling TB. When the TB
                      spans two pages, we cannot safely do a direct
                      jump. */
  -                if (next_tb != 0 && tb->page_addr[1] == -1) {
  +                if (next_tb != 0 && tb->page_addr[1] == -1
  +#ifdef CONFIG_DEBUG_EXEC
  +                    && !qemu_loglevel_mask(CPU_LOG_EXEC | CPU_LOG_TB_CPU)
  +#endif
  +                ) {
                       tb_add_jump((TranslationBlock *)(next_tb & ~3), next_tb & 3, tb);
                   }
                   spin_unlock(&tb_lock);

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

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

* [Qemu-devel] [Bug 1085658] Re: exec, cpu log
  2012-12-02 16:16 [Qemu-devel] [Bug 1085658] [NEW] exec, cpu log Daniil Troshkov
  2012-12-02 16:17 ` [Qemu-devel] [Bug 1085658] " Daniil Troshkov
  2012-12-02 18:31 ` Peter Maydell
@ 2012-12-02 21:03 ` Daniil Troshkov
  2012-12-02 21:08 ` Daniil Troshkov
  3 siblings, 0 replies; 5+ messages in thread
From: Daniil Troshkov @ 2012-12-02 21:03 UTC (permalink / raw)
  To: qemu-devel

** Description changed:

  Hello!
  
  CPU_LOG_EXEC (and CPU_LOG_TB_CPU) does not work (i.e. not of each tb dumped) because tb links is occur.
  Patch:
  
  diff --git a/cpu-exec.c b/cpu-exec.c
  index 904ee73..509d50c 100644
  --- a/cpu-exec.c
  +++ b/cpu-exec.c
  @@ -582,7 +582,11 @@ int cpu_exec(CPUArchState *env)
-                  /* see if we can patch the calling TB. When the TB
-                     spans two pages, we cannot safely do a direct
-                     jump. */
+                  /* see if we can patch the calling TB. When the TB
+                     spans two pages, we cannot safely do a direct
+                     jump. */
  -                if (next_tb != 0 && tb->page_addr[1] == -1) {
  +                if (next_tb != 0 && tb->page_addr[1] == -1
  +#ifdef CONFIG_DEBUG_EXEC
  +                    && !qemu_loglevel_mask(CPU_LOG_EXEC | CPU_LOG_TB_CPU)
  +#endif
  +                ) {
-                      tb_add_jump((TranslationBlock *)(next_tb & ~3), next_tb & 3, tb);
-                  }
-                  spin_unlock(&tb_lock);
+                      tb_add_jump((TranslationBlock *)(next_tb & ~3), next_tb & 3, tb);
+                  }
+                  spin_unlock(&tb_lock);

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

Title:
  exec, cpu log

Status in QEMU:
  Invalid

Bug description:
  Hello!

  CPU_LOG_EXEC (and CPU_LOG_TB_CPU) does not work (i.e. not of each tb dumped) because tb links is occur.
  Patch:

  diff --git a/cpu-exec.c b/cpu-exec.c
  index 904ee73..509d50c 100644
  --- a/cpu-exec.c
  +++ b/cpu-exec.c
  @@ -582,7 +582,11 @@ int cpu_exec(CPUArchState *env)
                   /* see if we can patch the calling TB. When the TB
                      spans two pages, we cannot safely do a direct
                      jump. */
  -                if (next_tb != 0 && tb->page_addr[1] == -1) {
  +                if (next_tb != 0 && tb->page_addr[1] == -1
  +#ifdef CONFIG_DEBUG_EXEC
  +                    && !qemu_loglevel_mask(CPU_LOG_EXEC | CPU_LOG_TB_CPU)
  +#endif
  +                ) {
                       tb_add_jump((TranslationBlock *)(next_tb & ~3), next_tb & 3, tb);
                   }
                   spin_unlock(&tb_lock);

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

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

* [Qemu-devel] [Bug 1085658] Re: exec, cpu log
  2012-12-02 16:16 [Qemu-devel] [Bug 1085658] [NEW] exec, cpu log Daniil Troshkov
                   ` (2 preceding siblings ...)
  2012-12-02 21:03 ` Daniil Troshkov
@ 2012-12-02 21:08 ` Daniil Troshkov
  3 siblings, 0 replies; 5+ messages in thread
From: Daniil Troshkov @ 2012-12-02 21:08 UTC (permalink / raw)
  To: qemu-devel

** Changed in: qemu
     Assignee: (unassigned) => Daniil Troshkov (troshkovdanil)

** Changed in: qemu
       Status: New => Invalid

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

Title:
  exec, cpu log

Status in QEMU:
  Invalid

Bug description:
  Hello!

  CPU_LOG_EXEC (and CPU_LOG_TB_CPU) does not work (i.e. not of each tb dumped) because tb links is occur.
  Patch:

  diff --git a/cpu-exec.c b/cpu-exec.c
  index 904ee73..509d50c 100644
  --- a/cpu-exec.c
  +++ b/cpu-exec.c
  @@ -582,7 +582,11 @@ int cpu_exec(CPUArchState *env)
                   /* see if we can patch the calling TB. When the TB
                      spans two pages, we cannot safely do a direct
                      jump. */
  -                if (next_tb != 0 && tb->page_addr[1] == -1) {
  +                if (next_tb != 0 && tb->page_addr[1] == -1
  +#ifdef CONFIG_DEBUG_EXEC
  +                    && !qemu_loglevel_mask(CPU_LOG_EXEC | CPU_LOG_TB_CPU)
  +#endif
  +                ) {
                       tb_add_jump((TranslationBlock *)(next_tb & ~3), next_tb & 3, tb);
                   }
                   spin_unlock(&tb_lock);

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

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

end of thread, other threads:[~2012-12-02 21:15 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-02 16:16 [Qemu-devel] [Bug 1085658] [NEW] exec, cpu log Daniil Troshkov
2012-12-02 16:17 ` [Qemu-devel] [Bug 1085658] " Daniil Troshkov
2012-12-02 18:31 ` Peter Maydell
2012-12-02 21:03 ` Daniil Troshkov
2012-12-02 21:08 ` Daniil Troshkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).