Serious Progess Re: smbios.ko probes successfully if i disable acpi sysresource, fails if i do not

John Baldwin jhb at freebsd.org
Mon Oct 30 21:13:35 UTC 2006


On Thursday 26 October 2006 22:19, John Utz wrote:
> 
> On Oct 26, 2006, at 2:14 PM, Nate Lawson wrote:
> 
> > John Baldwin wrote:
> >> On Thursday 26 October 2006 12:28, Nate Lawson wrote:
> >>> John Utz wrote:
> >>>> Hello;
> >>>>
> >>>> as you may know i am attempting to use fbsd's smbios  
> >>>> functionality to support porting the linux i8k-utils dell smbios  
> >>>> keyboard and fan stuff.
> >>>>
> >>>> i just discovered today that disabling sysresource allows the  
> >>>> module to attach.
> >>>>
> >>>> so, here's the part that i'd love some help with understanding:
> >>>>
> >>>> 1. with acpi enabled, is smbios.ko supposed to be asking acpi  
> >>>> for a resource handle or something?
> >>>>
> >>>> 2. is acpi_resource.c behaving in error? should it not be  
> >>>> consuming the smbios startaddr?
> >>>>
> >>>> note that startaddr for smbios is 0xf000, bios.c looks for  
> >>>> pnpbios and pcibios starting at 0xe000 and completely ignores  
> >>>> smbios.
> >>>>
> >>>> it seems to me that either statement 1 or 2 is correct, but not  
> >>>> both.
> >>>>
> >>>> of course, i could be totally wrong, can anybody enlighten me?
> >>> ACPI reserves sysresource objects for downstream devices.  Then,  
> >>> those devices get the resources they request via ACPI.  Anyway,  
> >>> all this should be transparent to the downstream devices.  They  
> >>> shouldn't care if they're getting their resources from nexus  
> >>> (top, pseudo-device) or acpi.
> >>>
> >>> Are you using bus_alloc_resource() or the equivalent to get the  
> >>> resources in your driver?
> 
> this was the us$64K question, thankyou for answering it!
> 
> man bus_alloc_resource sez 'dont use this any earlier than attach,  
> and smbios.c (and several other things) are using it in probe().
> 
> once i yanked that out of probe, then it cohabitates with acpi

They should likely use pmap_mapbios() (pmap_mapdev() on 6.x) to locate and map 
tables instead.

-- 
John Baldwin


More information about the freebsd-acpi mailing list