svn commit: r198431 - head/sys/dev/pci

John Baldwin jhb at freebsd.org
Mon Oct 26 18:13:59 UTC 2009


On Monday 26 October 2009 1:45:39 pm Nathan Whitehorn wrote:
> John Baldwin wrote:
> > On Monday 26 October 2009 12:32:48 pm Marcel Moolenaar wrote:
> >   
> >> On Oct 26, 2009, at 5:37 AM, John Baldwin wrote:
> >>
> >>     
> >>>> Log:
> >>>>  BIOSes, buggy or otherwise, are i386 or amd64 specific.
> >>>>  Have the early USB takeover enabled for i386 and amd64
> >>>>  by default.
> >>>>  This also avoids a panic on PowerPC where the resource
> >>>>  isn't released properly and we find a busy resource
> >>>>  when the USB host controller wants to allocate it...
> >>>>         
> >>     
> >>> Presumably such systems won't set the 'BIOS owned' bit in the their  
> >>> legacy
> >>> support registers in which case these routines are NOPs (they just  
> >>> read the
> >>> register, see the bit is clear, and exit).  The resource bug sounds  
> >>> like a
> >>> real one that should be fixed and would probably affect any x86  
> >>> systems who
> >>> have USB disabled in the BIOS, so that should be fixed rather than  
> >>> papered
> >>> over.  Please revert.
> >>>       
> >> *sigh*
> >>
> >> The change was made because 1) doing this as part of the PCI code is
> >> unnecessary for non-PC HW, and 2) it's entirely untested on non-PC
> >> HW and the gratuitous change can therefore only do harm -- he, guess
> >> what, it did do harm.
> >>
> >> Unless people fix the resource stuff this change cannot be reverted.
> >>
> >> After the resource fix has gone in, I still object to this being
> >> reverted on grounds of gratuitous code bloat. I say this with ARM,
> >> MIPS and PowerPC/Book-E in mind.
> >>     
> >
> > You didn't remove anything, you merely toggled the setting of a variable.  
> > Code bloat is a non-argument in that case.  Could you care to provide 
details 
> > on the resource issue you are encountering?  I don't see any obvious 
resource 
> > leaks, etc. in the current set of changes.
> >
> >   
> The real problem in this case is that the 
> bus_(deactivate|release)_resource methods are not implemented on several 
> PCI bus drivers on PowerPC (e.g. uninorth, where this problem arose). Up 
> until now, I guess it has never mattered.

Ahh, ok.  I'm fine with having it off for those architectures that can't
yet handle it with the hope they will be fixed.

-- 
John Baldwin


More information about the svn-src-all mailing list