From nobody  Fri May  1 19:19:14 1998
Received: (from nobody@localhost)
          by hub.freebsd.org (8.8.8/8.8.8) id TAA12812;
          Fri, 1 May 1998 19:19:14 -0700 (PDT)
          (envelope-from nobody)
Message-Id: <199805020219.TAA12812@hub.freebsd.org>
Date: Fri, 1 May 1998 19:19:14 -0700 (PDT)
From: lcremean@tidalwave.net
To: freebsd-gnats-submit@freebsd.org
Subject: Patches for VIA Socket 7 chipsets
X-Send-Pr-Version: www-1.0

>Number:         6481
>Category:       kern
>Synopsis:       Patches for VIA Socket 7 chipsets
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    se
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri May  1 19:20:00 PDT 1998
>Closed-Date:    Sun Jun 6 09:21:53 PDT 1999
>Last-Modified:  Sun Jun  6 09:22:36 PDT 1999
>Originator:     Lee Cremeans
>Release:        3.0-CURRENT-980430
>Organization:
>Environment:
>Description:
Patches are given here for pcisupport.c to recognise most of VIA 
Technologies' Socket 7 chipsets. This covers all of the Apollo chipsets 
except the Master (82C570) and the MVP3, and it also covers the cheap 
VXPro and VXTWO knockoffs of the VP1 and VPX.
>How-To-Repeat:
N/A
>Fix:
--- pcisupport.c.orig   Fri May  1 21:17:04 1998
+++ pcisupport.c        Fri May  1 21:58:36 1998
@@ -243,6 +243,26 @@
                return ("VLSI 82C535 Eagle II System Controller");
        case 0x01051004:
                return ("VLSI 82C147 IrDA Controller");
+       /* VIA Technologies -- vendor 0x1106 
+          Note that the old Apollo Master chipset is not in here, as VIA
+          does not seem to have any docs on their website for it, and I do
+          not have a Master board in my posession. -LC */
+
+       case 0x05851106:
+               return("VIA 82C585 (Apollo VP1/VPX) system controller");
+       case 0x05861106: /* south bridge section -- IDE is covered in ide_pci.c 
*/
+               return("VIA 82C586 PCI-ISA bridge");
+       case 0x05951106:
+       case 0x15951106:
+               return("VIA 82C595 (Apollo VP2) system controller");
+       case 0x05971106:
+               return("VIA 82C597 (Apollo VP3) system controller");
+               /* XXX need info on the MVP3 -- any takers? */
+       case 0x30381106:
+               return("VIA 82C586B USB host controller");
+       case 0x30401106:
+               return("VIA 82C586B ACPI interface");
+               
        };
 
        if (descr = generic_pci_bridge(tag))


>Release-Note:
>Audit-Trail:

From: woods@zeus.leitch.com (Greg A. Woods)
To: FreeBSD-gnats-submit@freebsd.org
Cc: freebsd-bugs@freebsd.org
Subject: Re: kern/6481: Patches for VIA Socket 7 chipsets
Date: Mon, 4 May 1998 18:40:55 -0400 (EDT)

 The following hunk of code (in sys/pci/pcisupport.c:chipset_probe() from
 2.2.6) shows a bit more detail on the FIC PA-2012 motherboard w/VIA-VP3
 that we're testing....  Chip revision details were derived from the
 on-line datasheets at www.via.com.tw.  Seems a bit silly to do all this
 just for the probe messages, but it is kinda neat to see it all and know
 you've got what you think you have.  It might be nice if the probe
 message in which these strings appear used hex for the "rev" value too...
 
 	/* VIA Technologies -- vendor 0x1106 (no MVP3 datasheets yet) */
 
 	case 0x05851106:
 		return("VIA 82C585 (Apollo VP1/VPX) system controller");
 	case 0x05861106: /* south bridge section -- IDE (0x0571) is covered in pci.c */
 #if 0
 	{
 		char *descr;
 		unsigned classreg = pci_conf_read(tag, PCI_CLASS_REG);
 		unsigned chiptype;
 
 		chiptype = (classreg >> 4) & 0x0f;
 		descr = malloc(sizeof("VIA 82C586B (3041 Production) PCI-ISA bridge (silicon rev=0xF)"),
 			       M_DEVBUF, M_WAITOK);
 		if (descr) {
 			sprintf(descr, "VIA 82C586%s PCI-ISA bridge (silicon rev=%01x)",
 				chiptype == 0 ? "" : 
 				chiptype == 2 ? "A" :
 				chiptype == 3 ? "B (3040 OEM)" :
 				chiptype == 4 ? "B (3041 Production)" : "?",
 				classreg & 0x0f);
 		}
 		return descr;
 	}
 #else
 		/* low nibble is silicon revision # */
 		/* high nibble is chip type */
 		rev = ((unsigned) pci_conf_read(tag, PCI_CLASS_REG) >> 4) & 0x0f;
 		if (rev == 0)
 			return("VIA 82C586 PCI-ISA bridge");
 		if (rev == 2)
 			return("VIA 82C586A PCI-ISA bridge");
 		if (rev == 3)
 			return("VIA 82C586B (3040 OEM) PCI-ISA bridge");
 		if (rev == 4)
 			return("VIA 82C586B (3041 Production) PCI-ISA bridge");
 		return("VIA 82C586? PCI-ISA bridge");
 #endif
 	case 0x05951106:
 	case 0x15951106: /* This code is not mentioned in the VT82C595 preliminary datasheet */
 		return("VIA 82C595 (Apollo VP2) system controller");
 	case 0x05971106: /* also known as the "host bridge" */
 		return("VIA 82C597 Device 0 (Apollo VP3) system controller");
 	case 0x85971106:
 		return("VIA 82C597 Device 1 (Apollo VP3) PCI-PCI bridge");
 	case 0x30381106:
 		return("VIA 82C586B or 83C572 USB host controller");
 	case 0x30401106:
 #if 0
 		/* low nibble is silicon revision #
 		 * 0 = 3040 OEM
 		 * 1 = 3041 Production]
 		 */
 		/* high nibble is silicon version code
 		 * depends on revision #
 		 * for 3040:  0 = 3040E, 1 = 3040F
 		 * for 3041:  0 = 3041A
 		 */
 		rev = (unsigned) pci_conf_read (tag, PCI_CLASS_REG) & 0xff;
 #endif
 		return("VIA 82C586B ACPI Power Management interface");
 
 -- 
 							Greg A. Woods
 
 +1 416 443-1734      VE3TCP      <gwoods@acm.org>      <robohack!woods>
 Planix, Inc. <woods@planix.com>; Secrets of the Weird <woods@weird.com>

From: Stefan Esser <se@FreeBSD.ORG>
To: "Greg A. Woods" <woods@zeus.leitch.com>, FreeBSD-gnats-submit@freebsd.org
Cc: freebsd-bugs@freebsd.org, Stefan Esser <se@freebsd.org>
Subject: Re: kern/6481: Patches for VIA Socket 7 chipsets
Date: Tue, 5 May 1998 23:53:21 +0200

 On 1998-05-04 18:40 -0400, "Greg A. Woods" <woods@zeus.leitch.com> wrote:
 > The following hunk of code (in sys/pci/pcisupport.c:chipset_probe() from
 > 2.2.6) shows a bit more detail on the FIC PA-2012 motherboard w/VIA-VP3
 > that we're testing....  Chip revision details were derived from the
 > on-line datasheets at www.via.com.tw.  Seems a bit silly to do all this
 > just for the probe messages, but it is kinda neat to see it all and know
 > you've got what you think you have.  It might be nice if the probe
 > message in which these strings appear used hex for the "rev" value too...
 
 I'll look into this when I have some spare time.
 There is code to print messages based on the contents
 of arbitrary configuration registers (see what's done
 for the Intel Saturn chip-set, for example, that's the
 one I implemented the feature for, originally ...)
 
 But in fact I think those register dumps should be 
 moved out of the kernel and into a user-land program,
 which accesses the configuration registers through the
 ioctl interface (/dev/pci), see pciconf.
 
 Regards, STefan
State-Changed-From-To: open->analyzed 
State-Changed-By: phk 
State-Changed-When: Wed May 6 01:30:20 PDT 1998 
State-Changed-Why:  
over to stefan 


Responsible-Changed-From-To: freebsd-bugs->se 
Responsible-Changed-By: phk 
Responsible-Changed-When: Wed May 6 01:30:20 PDT 1998 
Responsible-Changed-Why:  
. 

From: Nick Hibma <nick.hibma@jrc.it>
To: freebsd-gnats-submit@freebsd.org, lcremean@tidalwave.net,
	se@freebsd.org
Cc:  
Subject: Re: kern/6481: Patches for VIA Socket 7 chipsets
Date: Sun, 06 Jun 1999 13:48:05 +0200

 The ID's used here are all present in the current pcisupport.c. Could we
 close this one?
 Printing more accurate info falls into the category of unneccessary
 kernel bloat.
 
 Maybe we should recommit the patch at the bottom for inclusion in some
 userland msd like utility.
 
 Nick
 

From: Lee Cremeans <lcremeans@erols.com>
To: Nick Hibma <nick.hibma@jrc.it>, freebsd-gnats-submit@freebsd.org,
	lcremean@tidalwave.net, se@freebsd.org
Cc:  
Subject: Re: kern/6481: Patches for VIA Socket 7 chipsets
Date: Sun, 6 Jun 1999 11:19:31 -0400

 On Sun, Jun 06, 1999 at 01:48:05PM +0200, Nick Hibma wrote:
 > The ID's used here are all present in the current pcisupport.c. Could we
 > close this one?
 > Printing more accurate info falls into the category of unneccessary
 > kernel bloat.
 
 I'd say go for it. Though I should note that the MVP3 (82C598)'s host-PCI
 bridge identifies itself as a VP3 (82C597), so the entry for 0x05981106
 should prolly go away. I've seen this on real VIA boards (VA-503+), and on
 my Soyo board which uses a "ETEQ" (really a relabelled MVP3) chipset.
 
 -lee
 
 -- 
 +--------------------------------------------------------------------+
 |      Lee Cremeans -- Manassas, VA, USA  (WakkyMouse on WTnet)      |  
 |         lcremeans@erols.com | http://wakky.dyndns.org/~lee         |
 
State-Changed-From-To: analyzed->open 
State-Changed-By: n_hibma 
State-Changed-When: Sun Jun 6 08:58:26 PDT 1999 
State-Changed-Why:  
CURRENT contains the pretty printing for this motherboard. 

From: Nick Hibma <nick.hibma@jrc.it>
To: Lee Cremeans <lcremeans@erols.com>
Cc: freebsd-gnats-submit@freebsd.org, lcremean@tidalwave.net,
	se@freebsd.org
Subject: Re: kern/6481: Patches for VIA Socket 7 chipsets
Date: Sun, 6 Jun 1999 17:56:30 +0200 (MET DST)

 What you are saying is that the
 
         case 0x05971106:
                 return("VIA 82C597 (Apollo VP3) system controller");
 
 is used, instead of
 
         case 0x05981106:
                 return("VIA 82C598MVP (Apollo MVP3) host bridge");
 
 I don't think it is really a big problem if we leave the later one in
 there anyway.
 
 I'll close the PR.
 
 Nick
 
 
 On Sun, 6 Jun 1999, Lee Cremeans wrote:
 
  > On Sun, Jun 06, 1999 at 01:48:05PM +0200, Nick Hibma wrote:
  > > The ID's used here are all present in the current pcisupport.c. Could we
  > > close this one?
  > > Printing more accurate info falls into the category of unneccessary
  > > kernel bloat.
  > 
  > I'd say go for it. Though I should note that the MVP3 (82C598)'s host-PCI
  > bridge identifies itself as a VP3 (82C597), so the entry for 0x05981106
  > should prolly go away. I've seen this on real VIA boards (VA-503+), and on
  > my Soyo board which uses a "ETEQ" (really a relabelled MVP3) chipset.
  > 
  > -lee
  > 
  > -- 
  > +--------------------------------------------------------------------+
  > |      Lee Cremeans -- Manassas, VA, USA  (WakkyMouse on WTnet)      |  
  > |         lcremeans@erols.com | http://wakky.dyndns.org/~lee         |
  > 
 
 -- 
 ISIS/STA, T.P.270, Joint Research Centre, 21020 Ispra, Italy
 
 
State-Changed-From-To: open->closed 
State-Changed-By: n_hibma 
State-Changed-When: Sun Jun 6 09:21:53 PDT 1999 
State-Changed-Why:  
CURRENT contains the pretty printing for this motherboard. 
(don't submit a message and do an edit-pr at the same time, big D'oh!) 
>Unformatted:
