]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Some chipset drivers redefine the busspace_isa_{io|mem} tags. This
authormarcel <marcel@FreeBSD.org>
Thu, 16 Jun 2005 18:06:38 +0000 (18:06 +0000)
committermarcel <marcel@FreeBSD.org>
Thu, 16 Jun 2005 18:06:38 +0000 (18:06 +0000)
commitbf3a36a69556e94c9c7baca4c054ea6b0f511453
tree4c6faa17e74354f154ad4726d2387610a1dd5b11
parent67602b23a9cbc3d6057b58ac382ad2e52d3648d3
Some chipset drivers redefine the busspace_isa_{io|mem} tags. This
not only means that it's possible (though unlikely) that we hand out
differing tags for the same bus space, it also means that the tags
we handed out are not used during bus enumeration. Both affect our
ability to compare tags. Fix the first by initializing our tags only
once. Fix the second by testing if one of the tags to compare is our
tag and the other is a busspace_isa_{io|mem} tag and declare them
equal if so.

This fixes using uart(4) as the serial console on a ds10. That is,
the low-level console worked, but we could not match the resources
to one of the UARTs found during bus enumeration, which prevented
uart(4) from becoming the console in single- or multi-user mode.

Approved by: re (kensmith)
MFC after: 2 days
Thanks to: all involved in getting a ds10 to me; directly or indirectly.
Special thanks to: Dave Knight, ISC (for not scratching my Porsche :-)
sys/dev/uart/uart_cpu_alpha.c