Hi All:
I am sorry I spent so long a time on E100 emulator, you know, windows
is really hard to debug. Anyway it working now, and seems performs better than
rtl8139.
The attachment is the patch enable E100 in XEN. Hope you can try it on
your box to see if everything is ok.
Some codes of this emulator are from old eepro100 implementation in
QEMU. Thanks Stefan Weil. Also thanks Kouya share his windbg script with me, it
helps me a lot.
NOTICE:
1. Linux has two drivers for E100 card. One is named eepro100.c, another one is
e100.c(this is default one for e100 card). Unfortunately, the e100.c has a bug
in its interrupt handler, it will cause interrupt losing in guest.
That's a native driver bug but not emulator's bug. I will post a patch to
e100's community to fix it. So before that, you could only use eepro100.c in
linux, pls select it when you do "make menuconfig"
2. Use new open firmware which has Alex's MMIO space fixing patch.
3.Remember to set model parameter of vif to 'e100' in configure file, such as
below:
vif = [ 'type=ioemu, mac=00:16:3e:00:00:11,bridge=eth0, model=e100' ]
Performance:
I did a rough performance compare between E100 and RTL8139.
Env: linux guest
Case: scp dom0:/a big file vti-guest:/dev/null
( this case bypass low disk IO and test out the max 'scp' value)
RTL8139: 8.4M/s ~ 9.3M/s
E100: 11M/s ~ 11.7M/s ( the max value reaches 12.8M/s )
In this rough test, E100 performs better than RTL8139.
Haven't do performance test in windows guest.
Good good study,day day up ! ^_^
-Wing(zhang xin)
OTC,Intel Corporation
e100.patch
Description: e100.patch
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|