summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdlib/system.c
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2015-05-05 04:13:48 +0000
committerimp <imp@FreeBSD.org>2015-05-05 04:13:48 +0000
commitb3050ea40fc593853be302acdacbdd5f82833aec (patch)
treef9f1d28c7cdbd40bae048f4b6eca703b36cade1e /lib/libc/stdlib/system.c
parent9f65bd95656d108012dfd35a491ecf8c04a48a8c (diff)
downloadFreeBSD-src-b3050ea40fc593853be302acdacbdd5f82833aec.zip
FreeBSD-src-b3050ea40fc593853be302acdacbdd5f82833aec.tar.gz
When dealing with the TI12XX family of parts, we sometimes need to
initialize the MFUNC registers. Our old test of assuming that if this register is set at all is not quite right. Many scenarios (including the power-on defaults for chips w/o EEPROMs) land us in trouble. The MFUNC0 pin should be set to signal #INTA and the MFUNC1 pin should be set to signal #INTB of multi-socketed devices. Since my memory recalls issues with blindly clearing the upper bytes of this register, perform the heuristic only when both MFUNC0 and 1 are clear. We won't work well using these pins for GPIO, and the serial interrupts won't save us because we go out of our way to generally disable them. They are needed to support legacy drivers for 16-bit PC Cards that are hard-wired to specific IRQ values. Since FreeBSD never had any of these, we configure the more reliable direct signaling. This was just one small piece of that which had been left out back in the day.
Diffstat (limited to 'lib/libc/stdlib/system.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud