qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 1/2] hw/pflash_cfi01: add "0xf0" to select and deselect read mode
@ 2012-03-20 14:48 Liming Wang
  2012-03-20 14:48 ` [Qemu-devel] [PATCH 2/2] hw/pflash_cfi01: change print method to avoid complaint Liming Wang
  0 siblings, 1 reply; 4+ messages in thread
From: Liming Wang @ 2012-03-20 14:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Anthony Liguori

In CFI Specification, "0xff" and "0xf0" are both the data
to select and deselect read mode, so add "0xf0" here.

Linux guest os often uses "0xf0" to select read mode, which leads
qemu printing "pflash_write: Unimplemented flash cmd sequence
(offset 00000000, wcycle 0x0 cmd 0x0 value 0xf0)". This patch fixes
this mistake.

Signed-off-by: Liming Wang <walimisdev@gmail.com>
---
 hw/pflash_cfi01.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/hw/pflash_cfi01.c b/hw/pflash_cfi01.c
index b03f623..2e6fa71 100644
--- a/hw/pflash_cfi01.c
+++ b/hw/pflash_cfi01.c
@@ -313,7 +313,8 @@ static void pflash_write(pflash_t *pfl, target_phys_addr_t offset,
             DPRINTF("%s: Write to buffer\n", __func__);
             pfl->status |= 0x80; /* Ready! */
             break;
-        case 0xff: /* Read array mode */
+        case 0xf0: /* Read array mode */
+        case 0xff:
             DPRINTF("%s: Read array mode\n", __func__);
             goto reset_flash;
         default:
@@ -367,7 +368,7 @@ static void pflash_write(pflash_t *pfl, target_phys_addr_t offset,
             }
             break;
         case 0x98:
-            if (cmd == 0xff) {
+            if (cmd == 0xff || cmd == 0xf0) {
                 goto reset_flash;
             } else {
                 DPRINTF("%s: leaving query mode\n", __func__);
-- 
1.7.0.4

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

* [Qemu-devel] [PATCH 2/2] hw/pflash_cfi01: change print method to avoid complaint
  2012-03-20 14:48 [Qemu-devel] [PATCH 1/2] hw/pflash_cfi01: add "0xf0" to select and deselect read mode Liming Wang
@ 2012-03-20 14:48 ` Liming Wang
  2012-03-20 23:43   ` Stefan Weil
  0 siblings, 1 reply; 4+ messages in thread
From: Liming Wang @ 2012-03-20 14:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: Anthony Liguori

Linux guest os often writes invalid cmd data to reset into read mode,
which leads many qemu complaint. Here we place all the debug
message into macro PFLASH_DEBUG. We can turn on the all debug info by
define PFLASH_DEBUG if we want to debug pflash_cfi01.

Signed-off-by: Liming Wang <walimisdev@gmail.com>
---
 hw/pflash_cfi01.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/hw/pflash_cfi01.c b/hw/pflash_cfi01.c
index 2e6fa71..4e39ea6 100644
--- a/hw/pflash_cfi01.c
+++ b/hw/pflash_cfi01.c
@@ -433,7 +433,7 @@ static void pflash_write(pflash_t *pfl, target_phys_addr_t offset,
     return;
 
  error_flash:
-    printf("%s: Unimplemented flash cmd sequence "
+    DPRINTF("%s: Unimplemented flash cmd sequence "
            "(offset " TARGET_FMT_plx ", wcycle 0x%x cmd 0x%x value 0x%x)\n",
            __func__, offset, pfl->wcycle, pfl->cmd, value);
 
-- 
1.7.0.4

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

* Re: [Qemu-devel] [PATCH 2/2] hw/pflash_cfi01: change print method to avoid complaint
  2012-03-20 14:48 ` [Qemu-devel] [PATCH 2/2] hw/pflash_cfi01: change print method to avoid complaint Liming Wang
@ 2012-03-20 23:43   ` Stefan Weil
  2012-03-21  1:59     ` walimis
  0 siblings, 1 reply; 4+ messages in thread
From: Stefan Weil @ 2012-03-20 23:43 UTC (permalink / raw)
  To: Liming Wang; +Cc: Anthony Liguori, qemu-devel

Am 20.03.2012 15:48, schrieb Liming Wang:
> Linux guest os often writes invalid cmd data to reset into read mode,
> which leads many qemu complaint. Here we place all the debug
> message into macro PFLASH_DEBUG. We can turn on the all debug info by
> define PFLASH_DEBUG if we want to debug pflash_cfi01.
>
> Signed-off-by: Liming Wang <walimisdev@gmail.com>
> ---
> hw/pflash_cfi01.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/hw/pflash_cfi01.c b/hw/pflash_cfi01.c
> index 2e6fa71..4e39ea6 100644
> --- a/hw/pflash_cfi01.c
> +++ b/hw/pflash_cfi01.c
> @@ -433,7 +433,7 @@ static void pflash_write(pflash_t *pfl, 
> target_phys_addr_t offset,
> return;
>
> error_flash:
> - printf("%s: Unimplemented flash cmd sequence "
> + DPRINTF("%s: Unimplemented flash cmd sequence "
> "(offset " TARGET_FMT_plx ", wcycle 0x%x cmd 0x%x value 0x%x)\n",
> __func__, offset, pfl->wcycle, pfl->cmd, value);

Using the trace mechanism of QEMU might be better here than DPRINTF
It allows users to enable trace messages without recompilation.
See docs/tracing.txt for details.

I personally like this special printf statement, because it shows me
since several years that there _are_ flash command sequences which should
be implemented (just boot MIPS Malta with Linux). Maybe one day I'll fix
them. With DPRINTF, I'll never again get a reminder.

Regards,
Stefan Weil

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

* Re: [Qemu-devel] [PATCH 2/2] hw/pflash_cfi01: change print method to avoid complaint
  2012-03-20 23:43   ` Stefan Weil
@ 2012-03-21  1:59     ` walimis
  0 siblings, 0 replies; 4+ messages in thread
From: walimis @ 2012-03-21  1:59 UTC (permalink / raw)
  To: Stefan Weil; +Cc: Anthony Liguori, qemu-devel

On Wed, Mar 21, 2012 at 12:43:49AM +0100, Stefan Weil wrote:
>Am 20.03.2012 15:48, schrieb Liming Wang:
>>Linux guest os often writes invalid cmd data to reset into read mode,
>>which leads many qemu complaint. Here we place all the debug
>>message into macro PFLASH_DEBUG. We can turn on the all debug info by
>>define PFLASH_DEBUG if we want to debug pflash_cfi01.
>>
>>Signed-off-by: Liming Wang <walimisdev@gmail.com>
>>---
>>hw/pflash_cfi01.c | 2 +-
>>1 files changed, 1 insertions(+), 1 deletions(-)
>>
>>diff --git a/hw/pflash_cfi01.c b/hw/pflash_cfi01.c
>>index 2e6fa71..4e39ea6 100644
>>--- a/hw/pflash_cfi01.c
>>+++ b/hw/pflash_cfi01.c
>>@@ -433,7 +433,7 @@ static void pflash_write(pflash_t *pfl,
>>target_phys_addr_t offset,
>>return;
>>
>>error_flash:
>>- printf("%s: Unimplemented flash cmd sequence "
>>+ DPRINTF("%s: Unimplemented flash cmd sequence "
>>"(offset " TARGET_FMT_plx ", wcycle 0x%x cmd 0x%x value 0x%x)\n",
>>__func__, offset, pfl->wcycle, pfl->cmd, value);
>
>Using the trace mechanism of QEMU might be better here than DPRINTF
>It allows users to enable trace messages without recompilation.
>See docs/tracing.txt for details.

Agree, I'm also using that.

>
>I personally like this special printf statement, because it shows me

If we want to reserve it, also don't expect anonying complaint by Linux,
I suggest to skip special cmds that not used in pflash_cfi01, such as 
0xaa, 0x55. How do you think so?

>since several years that there _are_ flash command sequences which should
>be implemented (just boot MIPS Malta with Linux). Maybe one day I'll fix

Do you remeber what issues the command sequences, by bootloader or Linux?
I fixed one Unimplemented flash cmd sequence in my first patch, it prints:
"pflash_write: Unimplemented flash cmd sequence (offset 00000000, 
wcycle 0x0 cmd 0x0 value 0xf0)"

>them. With DPRINTF, I'll never again get a reminder.

If I can reproduce that, I may help to fix them.

Thanks
Liming Wang

>
>Regards,
>Stefan Weil
>

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

end of thread, other threads:[~2012-03-21  2:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-20 14:48 [Qemu-devel] [PATCH 1/2] hw/pflash_cfi01: add "0xf0" to select and deselect read mode Liming Wang
2012-03-20 14:48 ` [Qemu-devel] [PATCH 2/2] hw/pflash_cfi01: change print method to avoid complaint Liming Wang
2012-03-20 23:43   ` Stefan Weil
2012-03-21  1:59     ` walimis

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).