drivers for SiL3114 (Tyan 2881 motherboard) for FreeBSD 4.x
Gustavo De Nardin
nardin at inf.ufsc.br
Tue Aug 24 05:58:12 PDT 2004
Hello.
Below is a very simple patch for FreeBSD 4.10 to recognize the SiL3112.
Based on
<http://news.gw.com/freebsd.newbies/7574> and
<http://lists.freebsd.org/pipermail/freebsd-current/2004-March/023520.html>.
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);
More information about the freebsd-hardware
mailing list