]> www.infradead.org Git - users/dwmw2/qemu.git/commitdiff
rtl8139: Fix behaviour for old kernels.
authorHans <sungdgdhtryrt@gmail.com>
Sat, 11 May 2024 20:11:36 +0000 (22:11 +0200)
committerJason Wang <jasowang@redhat.com>
Fri, 2 Aug 2024 03:04:03 +0000 (11:04 +0800)
Old linux kernel rtl8139 drivers (ex. debian 2.1) uses outb to set the rx
mode for RxConfig. Unfortunatelly qemu does not support outb for RxConfig.

Signed-off-by: Hans <sungdgdhtryrt@gmail.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
hw/net/rtl8139.c

index 897c86ec41e536cb68b29298588e43a42a055e46..03a204ef8ab7c50cf5f1ebd0be78ff99b475a6c8 100644 (file)
@@ -2738,7 +2738,11 @@ static void rtl8139_io_writeb(void *opaque, uint8_t addr, uint32_t val)
             }
 
             break;
-
+        case RxConfig:
+            DPRINTF("RxConfig write(b) val=0x%02x\n", val);
+            rtl8139_RxConfig_write(s,
+                (rtl8139_RxConfig_read(s) & 0xFFFFFF00) | val);
+            break;
         default:
             DPRINTF("not implemented write(b) addr=0x%x val=0x%02x\n", addr,
                 val);