qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] Realtek 8139 PCI NIC driver


From: Igor Kovalenko
Subject: [Qemu-devel] [PATCH] Realtek 8139 PCI NIC driver
Date: Mon, 09 Jan 2006 03:55:02 +0300
User-agent: Mail/News 1.6a1 (X11/20051112)

Hi!

This emulation driver provides Realtek 8139 PCI ethernet card
which seems to be supported by Linux and Darwin. I cannot run
Darwin/PPC 8.0.1 installer under qemu so only little-endian x86
was really checked to work.

There is no 8139C+ mode emulation available, so Linux user would
choose 8139too driver (not 8139cp if suggested by OS). It should
not be too hard to add C+ mode emulation.

Please find attached rtl8139.c.gz the gzipped driver source
and qemu800-pc-rtl8139.diff patch to replace ne2000 PCI driver
with rtl8139 driver in PC emulation.

--
Kind regards,
Igor V. Kovalenko

Attachment: rtl8139.c.gz
Description: GNU Zip compressed data

Index: vl.h
===================================================================
RCS file: /cvsroot/qemu/qemu/vl.h,v
retrieving revision 1.99
diff -u -r1.99 vl.h
--- vl.h        18 Dec 2005 20:34:32 -0000      1.99
+++ vl.h        9 Jan 2006 00:54:29 -0000
@@ -729,6 +729,10 @@
 void isa_ne2000_init(int base, int irq, NICInfo *nd);
 void pci_ne2000_init(PCIBus *bus, NICInfo *nd);
 
+/* rtl8139.c */
+
+void pci_rtl8139_init(PCIBus *bus, NICInfo *nd);
+
 /* pckbd.c */
 
 void kbd_init(void);
Index: Makefile.target
===================================================================
RCS file: /cvsroot/qemu/qemu/Makefile.target,v
retrieving revision 1.90
diff -u -r1.90 Makefile.target
--- Makefile.target     6 Dec 2005 21:42:17 -0000       1.90
+++ Makefile.target     9 Jan 2006 00:54:29 -0000
@@ -307,12 +307,14 @@
 ifeq ($(TARGET_BASE_ARCH), i386)
 # Hardware support
 VL_OBJS+= ide.o ne2000.o pckbd.o ps2.o vga.o $(SOUND_HW) dma.o $(AUDIODRV)
+VL_OBJS+= rtl8139.o
 VL_OBJS+= fdc.o mc146818rtc.o serial.o i8259.o i8254.o pc.o
 VL_OBJS+= cirrus_vga.o mixeng.o apic.o parallel.o
 DEFINES += -DHAS_AUDIO
 endif
 ifeq ($(TARGET_BASE_ARCH), ppc)
 VL_OBJS+= ppc.o ide.o ne2000.o pckbd.o ps2.o vga.o $(SOUND_HW) dma.o 
$(AUDIODRV)
+VL_OBJS+= rtl8139.o
 VL_OBJS+= mc146818rtc.o serial.o i8259.o i8254.o fdc.o m48t59.o
 VL_OBJS+= ppc_prep.o ppc_chrp.o cuda.o adb.o openpic.o heathrow_pic.o mixeng.o
 DEFINES += -DHAS_AUDIO
@@ -324,6 +326,7 @@
 ifeq ($(TARGET_BASE_ARCH), sparc)
 ifeq ($(TARGET_ARCH), sparc64)
 VL_OBJS+= sun4u.o ide.o ne2000.o pckbd.o ps2.o vga.o
+VL_OBJS+= rtl8139.o
 VL_OBJS+= fdc.o mc146818rtc.o serial.o m48t59.o
 VL_OBJS+= cirrus_vga.o parallel.o
 VL_OBJS+= magic-load.o
Index: hw/pc.c
===================================================================
RCS file: /cvsroot/qemu/qemu/hw/pc.c,v
retrieving revision 1.50
diff -u -r1.50 pc.c
--- hw/pc.c     18 Dec 2005 20:34:32 -0000      1.50
+++ hw/pc.c     9 Jan 2006 00:54:29 -0000
@@ -802,7 +802,7 @@
 
     if (pci_enabled) {
         for(i = 0; i < nb_nics; i++) {
-            pci_ne2000_init(pci_bus, &nd_table[i]);
+            pci_rtl8139_init(pci_bus, &nd_table[i]);
         }
         pci_piix3_ide_init(pci_bus, bs_table);
     } else {

reply via email to

[Prev in Thread] Current Thread [Next in Thread]