Patchwork Implement the trivial diagnose CU and RU abort commands. These are necessary to make the device work with OpenSolaris 0609 (111b).

login
register
mail settings
Submitter Reimar Döffinger
Date Sept. 12, 2009, 1:50 p.m.
Message ID <20090912135045.GA15004@1und1.de>
Download mbox | patch
Permalink /patch/33526/
State Superseded
Headers show

Comments

Reimar Döffinger - Sept. 12, 2009, 1:50 p.m.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
---
 hw/eepro100.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
Anthony Liguori - Oct. 5, 2009, 1:24 p.m.
Reimar Döffinger wrote:
> Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
> ---
>  hw/eepro100.c |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/hw/eepro100.c b/hw/eepro100.c
> index 2099459..7c951c0 100644
> --- a/hw/eepro100.c
> +++ b/hw/eepro100.c
> @@ -771,6 +771,10 @@ static void eepro100_cu_command(EEPRO100State * s, uint8_t val)
>              /* Starting with offset 8, the command contains
>               * 64 dwords microcode which we just ignore here. */
>              break;
> +        case CmdDiagnose:
> +            logout("diagnose\n");
> +            status = 0; // make sure error flag is not set
>   

Please avoid introducing C99 comments.  Also keep the first sentence of 
the description concise and < 80 characters.

Regards,

Anthony Liguori

Patch

diff --git a/hw/eepro100.c b/hw/eepro100.c
index 2099459..7c951c0 100644
--- a/hw/eepro100.c
+++ b/hw/eepro100.c
@@ -771,6 +771,10 @@  static void eepro100_cu_command(EEPRO100State * s, uint8_t val)
             /* Starting with offset 8, the command contains
              * 64 dwords microcode which we just ignore here. */
             break;
+        case CmdDiagnose:
+            logout("diagnose\n");
+            status = 0; // make sure error flag is not set
+            break;
         default:
             missing("undefined command");
         }
@@ -864,6 +868,9 @@  static void eepro100_ru_command(EEPRO100State * s, uint8_t val)
         }
         set_ru_state(s, ru_ready);
         break;
+    case RX_ABORT:
+        set_ru_state(s, ru_idle);
+        break;
     case RX_ADDR_LOAD:
         /* Load RU base. */
         logout("val=0x%02x (RU base address)\n", val);