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

Submitted by Reimar Döffinger on Aug. 12, 2009, 8:53 a.m.

Details

Message ID 20090812085347.GA11559@1und1.de
State Superseded
Headers show

Commit Message

Reimar Döffinger Aug. 12, 2009, 8:53 a.m.
With these changes in addition, OpenSolaris boots and works with the
eepro100 network device (without it, qemu crashes due to asserts).

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
---
 hw/eepro100.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

         }
@@ -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);

Patch hide | download patch | download mbox

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");