* [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