Subject: 164SX support.
To: None <port-alpha@NetBSD.ORG>
From: Anders Magnusson <ragge@ludd.luth.se>
List: port-alpha
Date: 02/16/1998 20:54:03
I'm pretty new to Alpha hardware but nevertheless I have a 164SX in front
of me, running NetBSD since a couple of days. Without too much knowledge 
of the chipsets I realized that the differences between the Intel PCI-ISA
bridge (sio) and the Cypress chip is very small from NetBSD's point of view.
Actually; most of the setup is done by the SRM. Provided below is my trivial
diffs to get NetBSD to run on this machine; this is probably not the correct
way to do this but it works.

Comment:
The BROKEN_PROM_CONSOLE fix seems to do ugly things to other machines
than my as well. Maybe it should not be turned on by default?

Question:
My machine is equipped with a IDE disk, NE2000 ethernet and Matrox graphics.
Everything works fine but I would like to be able to run X on this machine.
How is the correct way of making the X server work? I think that just doing
some small hacks would be easy but it's better to DTRT from start.

-- Ragge

Small patches:

*** sio.c.orig	Tue Jan 13 13:17:00 1998
--- sio.c	Mon Feb 16 17:44:10 1998
***************
*** 93,98 ****
--- 93,103 ----
  {
  	struct pci_attach_args *pa = aux;
  
+ 	if (PCI_VENDOR(pa->pa_id) == PCI_VENDOR_CONTAQ &&
+ 	    PCI_PRODUCT(pa->pa_id) == 0xc693 &&
+ 	    pa->pa_function == 0)
+ 		return (1);
+ 
  	if (PCI_VENDOR(pa->pa_id) != PCI_VENDOR_INTEL ||
  	    PCI_PRODUCT(pa->pa_id) != PCI_PRODUCT_INTEL_SIO)
  		return (0);
*** sio_pic.c.orig	Wed Sep  3 14:41:00 1997
--- sio_pic.c	Mon Feb 16 17:41:49 1998
***************
*** 58,64 ****
   * what will happen if new interrupts (that the PROM console doesn't
   * want) are turned on.  I'll burn that bridge when I come to it.
   */
! #define	BROKEN_PROM_CONSOLE
  
  /*
   * Private functions and variables.
--- 58,64 ----
   * what will happen if new interrupts (that the PROM console doesn't
   * want) are turned on.  I'll burn that bridge when I come to it.
   */
! #undef	BROKEN_PROM_CONSOLE
  
  /*
   * Private functions and variables.