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
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 {
_______________________________________________ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel