CFT: nfe(4) MSI/MSIX support

Rainer Hurling rhurlin at gwdg.de
Wed May 9 20:19:53 UTC 2007


Hello Pyun YongHyeon,

my mainboard is K9N Neo from MSI with BIOS version 1.60.

I compiled CURRENT from 05/09/07 on i386 with your new if_nfe files and
your patch for ciphy (/usr/src/sys/dev/mii). Before, I had to use 
polling mode with nfe(4), now this is not neccessary any more :-)


boot -v gives me:
-------------------
pcib0: slot 1 INTA routed to irq 20 via \\_SB_.LSMB
MSI supports 4 messages, 64 bit
...
pcib0: slot 5 INTA routed to irq 23 via \\_SB_.LSA0
MSI supports 4 messages, 64 bit
...
pcib0: slot 5 INTB routed to irq 20 via \\_SB_.LSA1
MSI supports 1 message, 64 bit, vector masks
...
pcib0: slot 6 INTB routed to irq 21 via \\_SB_.LAZA
MSI supports 8 messages, 64 bit, vector masks
MSI-X supports 8 messages in maps 0x18 and 0x1c
...
pcib0: slot 8 INTA routed to irq 22 via \\_SB_.LMAC
MSI supports 2 messages, 64 bit
MSI supports 2 messages, 64 bit
MSI supports 2 messages, 64 bit
MSI supports 2 messages, 64 bit
MSI supports 2 messages, 64 bit
...
pci6: physical bus=6
MSI supports 1 message, 64 bit
...
nfe0: <NVIDIA nForce MCP55 Networking Adapter> port 0xb000-0xb007 mem
0xfbef3000-0xfbef3fff,0xfbefa800-0xfbefa8ff,0
xfbefa400-0xfbefa40f irq 22 at device 8.0 on pci0
nfe0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0xfbef3000
nfe0: attempting to allocate 8 MSI vectors (8 supported)
msi: routing MSI IRQ 256 to vector 56
msi: routing MSI IRQ 257 to vector 57
msi: routing MSI IRQ 258 to vector 58
msi: routing MSI IRQ 259 to vector 59
msi: routing MSI IRQ 260 to vector 60
msi: routing MSI IRQ 261 to vector 61
msi: routing MSI IRQ 262 to vector 62
msi: routing MSI IRQ 263 to vector 63
nfe0: using IRQs 256-263 for MSI
nfe0: Using 8 MSI messages
miibus0: <MII bus> on nfe0
ciphy0: <VSC8601 10/100/1000TX PHY> PHY 1 on miibus0
ciphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT,
1000baseT-FDX, auto
nfe0: bpf attached
nfe0: Ethernet address: xx:xx:xx:xx:xx:xx
nfe0: [MPSAFE]
nfe0: [FILTER]
nfe0: [MPSAFE]
nfe0: [FILTER]
nfe0: [MPSAFE]
nfe0: [FILTER]
nfe0: [MPSAFE]
nfe0: [FILTER]
nfe0: [MPSAFE]
nfe0: [FILTER]
nfe0: [MPSAFE]
nfe0: [FILTER]
nfe0: [MPSAFE]
nfe0: [FILTER]
nfe0: [MPSAFE]
nfe0: [FILTER]
...
msi: Assigning MSI IRQ 256 to local APIC 0
msi: Assigning MSI IRQ 257 to local APIC 1
msi: Assigning MSI IRQ 258 to local APIC 0
msi: Assigning MSI IRQ 259 to local APIC 1
msi: Assigning MSI IRQ 260 to local APIC 0
msi: Assigning MSI IRQ 261 to local APIC 1
msi: Assigning MSI IRQ 262 to local APIC 0
msi: Assigning MSI IRQ 263 to local APIC 1
-------------------


It seems that everything is alright know.

Thank you very much,
Rainer


Pyun YongHyeon schrieb:
> Dear all,
> 
> I've received a patch from Shigeaki Tagashira. The patch enables
> MSI/MSIX capability on nVidia network adapters. I've slightly modified
> the patch and merged it into existing overhauled nfe(4).
> I guess the nfe(4) now supports almost all hardware capabilities
> including MSI/MSIX, IP/TCP/UDP checksum offload, TCP segmentation
> offload and hardware assisted VLAN processing.
> 
> Shigeaki Tagashira tested only MSI due to lack of hardwares so there
> might be bugs in MSIX support code. I don't have nVidia hardwares
> that supports MSI/MSIX so I need user's feedback to improve it. If
> you have one of nVidia network adapters that have MSI/MSIX capability
> please give it spin and let me know how it goes on your system.
> 
> Overhauled nfe(4) can be found at the following URL.
> http://people.freebsd.org/~yongari/nfe/WIP/if_nfe.c
> http://people.freebsd.org/~yongari/nfe/WIP/if_nfereg.h
> http://people.freebsd.org/~yongari/nfe/WIP/if_nfevar.h
> 
> Thanks.



More information about the freebsd-current mailing list