From owner-freebsd-hardware@FreeBSD.ORG Tue Aug 24 12:58:12 2004 Return-Path: Delivered-To: freebsd-hardware@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 93A5E16A4CF for ; Tue, 24 Aug 2004 12:58:12 +0000 (GMT) Received: from terra.inf.ufsc.br (terra.inf.ufsc.br [150.162.60.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 89E4243D4C for ; Tue, 24 Aug 2004 12:58:08 +0000 (GMT) (envelope-from nardin@inf.ufsc.br) Received: from localhost (ns2.inf.ufsc.br [150.162.60.11]) (INE/CTC/UFSC)) with ESMTP id EDE141DDAD; Tue, 24 Aug 2004 15:40:41 -0300 (EST) Received: from netuno.inf.ufsc.br ([127.0.0.1]) by localhost (netuno [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 25342-10; Tue, 24 Aug 2004 09:58:04 -0300 (EST) Received: from juno (juno.inf.ufsc.br [150.162.60.3]) (INE/CTC/UFSC)) with ESMTP id 8077C5CABE; Tue, 24 Aug 2004 09:58:04 -0300 (EST) Date: Tue, 24 Aug 2004 09:59:15 -0300 (EST) From: Gustavo De Nardin X-X-Sender: nardin@juno To: freebsd-hardware@freebsd.org Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Scanned: by amavisd-new at inf.ufsc.br cc: Raj Chahal Subject: Re: drivers for SiL3114 (Tyan 2881 motherboard) for FreeBSD 4.x X-BeenThere: freebsd-hardware@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: General discussion of FreeBSD hardware List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Aug 2004 12:58:12 -0000 Hello. Below is a very simple patch for FreeBSD 4.10 to recognize the SiL3112. Based on and . Just change the ids for the SiL3114, then cd /usr/src && patch < the_patch, then configure a kernel small enough to fit gzipped in the kernel install floppy, then start the installation via this custom floppy. (at least that's how I remember doing it) I believe you'll have to install the sources && apply the patch && compile && install a patched GENERIC kernel after installing. cya diff -ur sys_/dev/ata/ata-dma.c sys/dev/ata/ata-dma.c --- sys_/dev/ata/ata-dma.c Wed Apr 28 09:28:01 2004 +++ sys/dev/ata/ata-dma.c Mon Jun 14 09:46:15 2004 @@ -741,6 +741,7 @@ /* we could set PIO mode timings, but we assume the BIOS did that */ break; + case 0x31121095: /* SiI 3112 SATA controller */ case 0x06801095: /* SiI 0680 ATA133 controller */ { u_int8_t ureg = 0xac + (device * 0x02) + (channel * 0x10); diff -ur sys_/dev/ata/ata-pci.c sys/dev/ata/ata-pci.c --- sys_/dev/ata/ata-pci.c Wed Apr 28 09:28:01 2004 +++ sys/dev/ata/ata-pci.c Mon Jun 14 09:44:28 2004 @@ -213,6 +213,9 @@ else return "SiS 5591 ATA33 controller"; + case 0x31121095: + return "SiI 3112 SATA controller"; + case 0x06801095: return "SiI 0680 ATA133 controller"; @@ -692,7 +695,7 @@ start, end, count, flags); if (res) { start = rman_get_start(res) + 2; - end = rman_get_start(res) + ATA_ALTIOSIZE - 1; + end = start + ATA_ALTIOSIZE - 1; count = ATA_ALTIOSIZE; BUS_RELEASE_RESOURCE(device_get_parent(dev), dev, SYS_RES_IOPORT, myrid, res);