diff options
author | nwhitehorn <nwhitehorn@FreeBSD.org> | 2012-10-29 14:27:28 +0000 |
---|---|---|
committer | nwhitehorn <nwhitehorn@FreeBSD.org> | 2012-10-29 14:27:28 +0000 |
commit | 6169e186fd79ecdd061bf61fd454e5506798c984 (patch) | |
tree | d38c88ad73b297103906ae9263536d76ffc4c7eb /sys/powerpc/powermac/openpic_macio.c | |
parent | fa229bcba8f49eaaba2a69f57bb4ebac95387d92 (diff) | |
download | FreeBSD-src-6169e186fd79ecdd061bf61fd454e5506798c984.zip FreeBSD-src-6169e186fd79ecdd061bf61fd454e5506798c984.tar.gz |
Work around broken device tree on last-generation PowerPC iMacs
(PowerMac12,1), which have a mac-io MPIC cell that indifies itself
as the root PIC despite the actual root PIC being on the northbridge.
No CPC945 systems have a mac-io PIC that does anything so just don't
attach on CPC945 (U4) systems.
MFC after: 3 days
Diffstat (limited to 'sys/powerpc/powermac/openpic_macio.c')
-rw-r--r-- | sys/powerpc/powermac/openpic_macio.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/powerpc/powermac/openpic_macio.c b/sys/powerpc/powermac/openpic_macio.c index e542ae3..b40f951 100644 --- a/sys/powerpc/powermac/openpic_macio.c +++ b/sys/powerpc/powermac/openpic_macio.c @@ -94,6 +94,10 @@ openpic_macio_probe(device_t dev) if (strcmp(type, "open-pic") != 0) return (ENXIO); + /* On some U4 systems, there is a phantom MPIC in the mac-io cell */ + if (OF_finddevice("/u4") != (phandle_t)-1) + return (ENXIO); + device_set_desc(dev, OPENPIC_DEVSTR); return (0); } |