Hi John and Pyun,

Ok got the new kernel installed and tested. Yes it works! :-) Maybe that will also fix a simular problem with the sun cards (cas[03]), except I don't see a define like that in if_cas.c. Suggestions?

    Thanks,
    Clif


John Baldwin wrote:
On Thursday, May 30, 2013 1:12:14 am YongHyeon PYUN wrote:
On Wed, May 29, 2013 at 08:58:10PM -0700, Mr. Clif wrote:
Sorry for the confusion Pyun,

I started looking at it in the context of pfsense, but they rejected my
bug report which was understandable because it's an upstream issue. They
suggested I resubmit it to you guys if I could reproduce it. So I booted
FreeBSD and lo and behold the same two ports failed in exactly the same
Ok, I'd like to fix that.
Hmmm, the dc(4) driver is using the I/O port BARs rather than the
memory BARs for its registers and this bug seems to be that the dc(4)
device can't properly access its registers on dc0 and dc1 on the
Atom box.  The one thing I see is that the BIOS on the Atom box assigns
addresses in the 0x1100-0x11ff range for dc0 and dc1.  Those addresses
conflict with ISA I/O aliases for the 0x100-0x1ff range.  The Dell BIOS
is more careful to avoid these ranges.

I think the fix is that I need to fix the PCI-PCI bridge to reject these
resource ranges if the ISA enable bit is set in the bridge's control
register.  However, for the time being you can change dc(4) to use the
memory BAR instead of the I/O port BAR as a workaround:

Index: if_dc.c
===================================================================
--- if_dc.c     (revision 251132)
+++ if_dc.c     (working copy)
@@ -128,7 +128,7 @@ __FBSDID("$FreeBSD$");
  #include<dev/pci/pcireg.h>
  #include<dev/pci/pcivar.h>

-#define        DC_USEIOSPACE
+//#define      DC_USEIOSPACE

  #include<dev/dc/if_dcreg.h>


If this fixes it then I can take this PR as a test case for handling the ISA
enable bit in the PCI-PCI bridge code.


_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to