From owner-freebsd-hackers Tue Mar 21 21:39:34 2000 Delivered-To: freebsd-hackers@freebsd.org Received: from flood.ping.uio.no (flood.ping.uio.no [129.240.78.31]) by hub.freebsd.org (Postfix) with ESMTP id C953D37C0C3 for ; Tue, 21 Mar 2000 21:39:19 -0800 (PST) (envelope-from des@flood.ping.uio.no) Received: (from des@localhost) by flood.ping.uio.no (8.9.3/8.9.3) id GAA03990; Wed, 22 Mar 2000 06:39:13 +0100 (CET) (envelope-from des@flood.ping.uio.no) To: hackers@freebsd.org Subject: IBM Netfinity 5600 From: Dag-Erling Smorgrav Date: 22 Mar 2000 06:39:12 +0100 Message-ID: Lines: 56 User-Agent: Gnus/5.0802 (Gnus v5.8.2) Emacs/20.4 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG The following patch adds support for the host to pci bridge on IBM's new Netfinity 5600. It's based on the 3.4-RELEASE code, I don't know if it'll apply to 4.0 or 5.0. It's also quite a hack; I guess what you'd really want to do is either use NBUS instead of 2, or extract some kind of "correct" value from the chipset. Also, I have no idea what the chipset's real name is. Without the patch, the second (64-bit) PCI bus will not work, which is kind of a bummer since the first (32-bit) PCI bus only has two slots. For the curious, this was hacked up and tested on Netfinity 5600 assembly no. 52, which we have on loan from IBM to replace two downed servers (the disk enclosure died on us - never buy Trimm again!). It's a lovely little thang, I'd absolutely *love* to have a truckload of them in my server room... Kudos to Zippy for pointing us in the right direction. Index: pcisupport.c =================================================================== RCS file: /home/ncvs/src/sys/pci/pcisupport.c,v retrieving revision 1.86.2.13 diff -u -r1.86.2.13 pcisupport.c --- pcisupport.c 1999/11/01 22:48:34 1.86.2.13 +++ pcisupport.c 2000/03/22 05:30:07 @@ -233,8 +233,14 @@ } #endif } - +/* Hackety-hack-hack */ +static void +fixbushigh_nf5600(pcici_t tag) +{ + tag->secondarybus = tag->subordinatebus = 2; +} + static const char* chipset_probe (pcici_t tag, pcidi_t type) { @@ -242,6 +248,10 @@ char *descr; switch (type) { + /* IBM Netfinity 5600 */ + case 0x00091166: + fixbushigh_nf5600(tag); + return ("IBM Netfinity 5600 host to PCI bridge"); /* Intel -- vendor 0x8086 */ case 0x00088086: /* Silently ignore this one! What is it, anyway ??? */ DES (half past six aye emm, still at work...) -- Dag-Erling Smorgrav - des@flood.ping.uio.no To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message