Date: Mon, 20 Sep 1999 02:27:17 -0700 (PDT) From: lxv@nest.org To: FreeBSD-gnats-submit@freebsd.org Subject: kern/13850: detect more VGA cards Message-ID: <199909200927.CAA37790@mix.nest.org>
index | next in thread | raw e-mail
>Number: 13850
>Category: kern
>Synopsis: detect more VGA cards
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Sep 20 02:30:01 PDT 1999
>Closed-Date:
>Last-Modified:
>Originator: Alex Vasylenko
>Release: FreeBSD 3.3-RC i386
>Organization:
>Environment:
$FreeBSD: src/sys/pci/pcisupport.c,v 1.127 1999/08/29 15:11:22
>Description:
detection code for more vga cards (port from xfree 3.3.5)
>How-To-Repeat:
install new VGA card, reboot :)
>Fix:
*** pcisupport.c.orig Sun Aug 29 15:11:22 1999
--- pcisupport.c Mon Sep 20 01:57:18 1999
*************** static const char* vga_match(device_t de
*** 1221,1231 ****
--- 1221,1248 ----
vendor = chip = type = 0;
switch (id & 0xffff) {
+ case 0x003d:
+ vendor = "Real 3D";
+ switch (id >> 16) {
+ case 0x00d1:
+ chip = "i740"; break;
+ }
+ break;
case 0x10c8:
vendor = "NeoMagic";
switch (id >> 16) {
+ case 0x0001:
+ chip = "NM2070"; break;
+ case 0x0002:
+ chip = "NM2090"; break;
+ case 0x0003:
+ chip = "NM2093"; break;
+ case 0x0083:
+ chip = "NM2097"; break;
case 0x0004:
chip = "NM2160 laptop"; break;
+ case 0x0005:
+ chip = "NM2200"; break;
}
break;
case 0x121a:
*************** static const char* vga_match(device_t de
*** 1250,1266 ****
chip = "MGA 1024SG/1064SG/1164SG"; break;
case 0x051b:
chip = "MGA 2164W"; break;
}
break;
-
case 0x1002:
vendor = "ATI";
type = "graphics accelerator";
switch (id >> 16) {
case 0x4158:
chip = "Mach32"; break;
! case 0x4758:
! chip = "Mach64-GX"; break;
case 0x4358:
chip = "Mach64-CX"; break;
case 0x4354:
--- 1267,1300 ----
chip = "MGA 1024SG/1064SG/1164SG"; break;
case 0x051b:
chip = "MGA 2164W"; break;
+ case 0x051f:
+ chip = "MGA 2164W AGP"; break;
+ case 0x1000:
+ chip = "MGA G100"; break;
+ case 0x1001:
+ chip = "MGA G100 AGP"; break;
+ case 0x0520:
+ chip = "MGA G200"; break;
+ case 0x0521:
+ chip = "MGA G200 AGP"; break;
+ case 0x0525:
+ chip = "MGA G400 AGP"; break;
}
break;
case 0x1002:
vendor = "ATI";
type = "graphics accelerator";
switch (id >> 16) {
case 0x4158:
chip = "Mach32"; break;
! case 0x5245:
! chip = "Rage128-RE"; break;
! case 0x5246:
! chip = "Rage128-RF"; break;
! case 0x524b:
! chip = "Rage128-RK"; break;
! case 0x524c:
! chip = "Rage128-RL"; break;
case 0x4358:
chip = "Mach64-CX"; break;
case 0x4354:
*************** static const char* vga_match(device_t de
*** 1271,1276 ****
--- 1305,1354 ----
chip = "Mach64-VT"; break;
case 0x4754:
chip = "Mach64-GT"; break;
+ case 0x4742:
+ chip = "Mach64-GB"; break;
+ case 0x4744:
+ chip = "Mach64-GD"; break;
+ case 0x4749:
+ chip = "Mach64-GI"; break;
+ case 0x474d:
+ chip = "Mach64-GM"; break;
+ case 0x474e:
+ chip = "Mach64-GN"; break;
+ case 0x474f:
+ chip = "Mach64-GO"; break;
+ case 0x4750:
+ chip = "Mach64-GP"; break;
+ case 0x4751:
+ chip = "Mach64-GQ"; break;
+ case 0x4752:
+ chip = "Mach64-GR"; break;
+ case 0x4753:
+ chip = "Mach64-GS"; break;
+ case 0x4755:
+ chip = "Mach64-GU"; break;
+ case 0x4756:
+ chip = "Mach64-GV"; break;
+ case 0x4757:
+ chip = "Mach64-GW"; break;
+ case 0x4758:
+ chip = "Mach64-GX"; break;
+ case 0x475a:
+ chip = "Mach64-GZ"; break;
+ case 0x4c42:
+ chip = "Mach64-LB"; break;
+ case 0x4c44:
+ chip = "Mach64-LD"; break;
+ case 0x4c47:
+ chip = "Mach64-LG"; break;
+ case 0x4c49:
+ chip = "Mach64-LI"; break;
+ case 0x4c50:
+ chip = "Mach64-LP"; break;
+ case 0x5655:
+ chip = "Mach64-VU"; break;
+ case 0x5656:
+ chip = "Mach64-VV"; break;
}
break;
case 0x1005:
*************** static const char* vga_match(device_t de
*** 1290,1296 ****
case 0x3207:
chip = "ET4000 W32P"; break;
case 0x3208:
! chip = "ET6000"; break;
case 0x4702:
chip = "ET6300"; break;
}
--- 1368,1374 ----
case 0x3207:
chip = "ET4000 W32P"; break;
case 0x3208:
! chip = "ET6000/6100"; break;
case 0x4702:
chip = "ET6300"; break;
}
*************** static const char* vga_match(device_t de
*** 1310,1315 ****
--- 1388,1397 ----
switch (id >> 16) {
case 0x0038:
chip = "GD7548"; break;
+ case 0x0040:
+ chip = "GD7555"; break;
+ case 0x004c:
+ chip = "GD7556"; break;
case 0x00a0:
chip = "GD5430"; break;
case 0x00a4:
*************** static const char* vga_match(device_t de
*** 1319,1328 ****
--- 1401,1415 ----
chip = "GD5436"; break;
case 0x00b8:
chip = "GD5446"; break;
+ case 0x00bc:
+ chip = "GD5480"; break;
case 0x00d0:
chip = "GD5462"; break;
case 0x00d4:
+ case 0x00d5:
chip = "GD5464"; break;
+ case 0x00d6:
+ chip = "GD5465"; break;
case 0x1200:
chip = "GD7542"; break;
case 0x1202:
*************** static const char* vga_match(device_t de
*** 1333,1343 ****
break;
case 0x1023:
vendor = "Trident";
! break; /* let default deal with it */
case 0x102c:
vendor = "Chips & Technologies";
! if ((id >> 16) == 0x00d8)
! chip = "65545";
break;
case 0x1033:
vendor = "NEC";
--- 1420,1444 ----
break;
case 0x1023:
vendor = "Trident";
! break; /* let default deal with it, (id>>16) == model */
case 0x102c:
vendor = "Chips & Technologies";
! switch (id >> 16) {
! case 0x00d8:
! chip = "65545"; break;
! case 0x00dc:
! chip = "65548"; break;
! case 0x00e0:
! chip = "65550"; break;
! case 0x00e4:
! chip = "65554"; break;
! case 0x00e5:
! chip = "65555"; break;
! case 0x00f4:
! chip = "68554"; break;
! case 0x00c0:
! chip = "69000"; break;
! }
break;
case 0x1033:
vendor = "NEC";
*************** static const char* vga_match(device_t de
*** 1356,1361 ****
--- 1457,1472 ----
chip = "86c202"; break;
case 0x0205:
chip = "86c205"; break;
+ case 0x0215:
+ chip = "86c215"; break;
+ case 0x0225:
+ chip = "86c225"; break;
+ case 0x0200:
+ chip = "5597/98"; break;
+ case 0x6326:
+ chip = "6326"; break;
+ case 0x6306:
+ chip = "530/620"; break;
}
break;
case 0x105d:
*************** static const char* vga_match(device_t de
*** 1363,1370 ****
type = "graphics accelerator";
switch (id >> 16) {
case 0x2309:
- case 0x2339:
chip = "Imagine 128"; break;
}
break;
case 0x1142:
--- 1474,1482 ----
type = "graphics accelerator";
switch (id >> 16) {
case 0x2309:
chip = "Imagine 128"; break;
+ case 0x2339:
+ chip = "Imagine 128 II"; break;
}
break;
case 0x1142:
*************** static const char* vga_match(device_t de
*** 1381,1387 ****
case 0x1236:
vendor = "Sigma Designs";
if ((id >> 16) == 0x6401)
! chip = "64GX";
break;
case 0x5333:
vendor = "S3";
--- 1493,1499 ----
case 0x1236:
vendor = "Sigma Designs";
if ((id >> 16) == 0x6401)
! chip = "REALmagic64/GX";
break;
case 0x5333:
vendor = "S3";
*************** static const char* vga_match(device_t de
*** 1392,1401 ****
case 0x8812:
chip = "Aurora 64"; break;
case 0x8814:
case 0x8901:
! chip = "Trio 64"; break;
case 0x8902:
chip = "Plato"; break;
case 0x8880:
chip = "868"; break;
case 0x88b0:
--- 1504,1516 ----
case 0x8812:
chip = "Aurora 64"; break;
case 0x8814:
+ chip = "Trio64UV+"; break;
case 0x8901:
! chip = "Trio64V2/DX/GX"; break;
case 0x8902:
chip = "Plato"; break;
+ case 0x8904:
+ chip = "Trio3D"; break;
case 0x8880:
chip = "868"; break;
case 0x88b0:
*************** static const char* vga_match(device_t de
*** 1414,1419 ****
--- 1529,1547 ----
chip = "ViRGE VX"; break;
case 0x8a01:
chip = "ViRGE DX/GX"; break;
+ case 0x8a10:
+ chip = "ViRGE GX2"; break;
+ case 0x8a13:
+ chip = "Trio3D/2X"; break;
+ case 0x8a20:
+ case 0x8a21:
+ chip = "Savage3D"; break;
+ case 0x8a22:
+ chip = "Savage 4"; break;
+ case 0x8c01:
+ chip = "ViRGE MX"; break;
+ case 0x8c03:
+ chip = "ViRGE MX+"; break;
}
break;
case 0xedd8:
*************** static const char* vga_match(device_t de
*** 1447,1464 ****
vendor = "NVidia";
type = "graphics accelerator";
switch (id >> 16) {
case 0x0020:
! chip = "Riva TNT"; break;
case 0x0028:
chip = "Riva TNT2"; break;
}
break;
case 0x12d2:
! vendor = "NVidia";
type = "graphics accelerator";
switch (id >> 16) {
case 0x0018:
! chip = "Riva128"; break;
}
break;
}
--- 1575,1632 ----
vendor = "NVidia";
type = "graphics accelerator";
switch (id >> 16) {
+ case 0x0008:
+ chip = "NV1"; break;
case 0x0020:
! chip = "Riva TNT"; break;
case 0x0028:
chip = "Riva TNT2"; break;
+ case 0x0029:
+ chip = "Riva Ultra TNT2"; break;
+ case 0x002c:
+ chip = "Riva Vanta TNT2"; break;
+ case 0x002d:
+ chip = "Riva Ultra Vanta TNT2"; break;
+ case 0x00a0:
+ chip = "Riva Integrated TNT2"; break;
}
break;
case 0x12d2:
! vendor = "NVidia/SGS-Thomson";
type = "graphics accelerator";
switch (id >> 16) {
case 0x0018:
! chip = "Riva128"; break;
! }
! break;
! case 0x1163:
! vendor = "Rendition";
! switch (id >> 16) {
! case 0x0001:
! chip = "Verite 1000"; break;
! case 0x2000:
! chip = "Verite 2x00"; break;
! }
! break;
! case 0x104a:
! vendor = "SGS-Thomson";
! switch (id >> 16) {
! case 0x0008:
! chip = "STG2000"; break;
! }
! break;
! case 0x8086:
! vendor = "Intel";
! if ((id >> 16) == 0x7800)
! chip = "i740 AGP";
! break;
! case 0x10ea:
! vendor = "Intergraphics";
! switch (id >> 16) {
! case 0x1680:
! chip = "IGA-1680"; break;
! case 0x1682:
! chip = "IGA-1682"; break;
}
break;
}
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199909200927.CAA37790>
