How to get a device_t

John Baldwin jhb at FreeBSD.org
Fri Aug 8 11:28:50 PDT 2003


On 08-Aug-2003 Poul-Henning Kamp wrote:
> In message <20030808083617.E7321 at freebsd1.cimlogic.com.au>, John Birrell writes
>:
> 
>>I'm not convinced that any hacking is required other than passing the
>>device_t parent to nexus_pcib_is_host_bridge (in STABLE) as Bernd says.
>>I traced the boot on my system and the MMCR is initialised early (when
>>the Timecounter "ELAN" output occurs). Immediately following that
>>initialisation, 'pcib' is added as a child of 'nexus'. I don't see why
>>'mmcr' couldn't be added as a child of 'nexus' too. At this point,
>>nexus isn't walking through it's children so there shouldn't be a problem.
>>Then the ELAN specific devices (like GPIO and flash) can attach to 'mmcr'.
>>
>>This seems straight forward. Maybe I'm missing something. 8-)
> 
> That's my take too.  And MMCR belongs on nexus not on legacy from an
> architectural point of view.

Well, that would be a major pain on current since nexus is already
finished attaching many of its drivers by the time it gets to here.
Also, if you use ACPI and if ACPI exists, then this function _won't_
_ever_ _be_ _called_.  If you use a hostb PCI driver, then it will
work both for ACPI and legacy.

-- 

John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/


More information about the freebsd-hackers mailing list