summary refs log tree commit diff stats
path: root/hw/eepro100.c
diff options
context:
space:
mode:
authorStefan Weil <weil@mail.berlios.de>2010-03-02 22:37:58 +0100
committerMichael S. Tsirkin <mst@redhat.com>2010-03-03 13:44:32 +0200
commitf80a7fc34e35293d209023d6d8f77d00a4e2c165 (patch)
tree10b440e17ed5f6c75b785c29b2895eb89ac04ed9 /hw/eepro100.c
parent3d0f4b9bb5da7d999afef3bc4b434f7f504a9899 (diff)
downloadfocaccia-qemu-f80a7fc34e35293d209023d6d8f77d00a4e2c165.tar.gz
focaccia-qemu-f80a7fc34e35293d209023d6d8f77d00a4e2c165.zip
eepro100: Add diagnose command
Real hardware would run an internal self-test.
The emulation just returns a passed status.

Original patch was from Reimar Döffinger, thanks.

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'hw/eepro100.c')
-rw-r--r--hw/eepro100.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/hw/eepro100.c b/hw/eepro100.c
index e10ce62426..0f07b702e4 100644
--- a/hw/eepro100.c
+++ b/hw/eepro100.c
@@ -958,6 +958,11 @@ static void action_command(EEPRO100State *s)
             /* Starting with offset 8, the command contains
              * 64 dwords microcode which we just ignore here. */
             break;
+        case CmdDiagnose:
+            TRACE(OTHER, logout("diagnose\n"));
+            /* Make sure error flag is not set. */
+            s->tx.status = 0;
+            break;
         default:
             missing("undefined command");
             success = false;