diff options
author | se <se@FreeBSD.org> | 1995-02-04 14:02:44 +0000 |
---|---|---|
committer | se <se@FreeBSD.org> | 1995-02-04 14:02:44 +0000 |
commit | a10ae91aa4c835a0ac7e90e3d795bf8cdc1853cf (patch) | |
tree | f89cb7fb746085941a00e061ce111979271a88af /sys/pci | |
parent | 4564ae83e73c7ba0239044a89b389dcc8a4fce31 (diff) | |
download | FreeBSD-src-a10ae91aa4c835a0ac7e90e3d795bf8cdc1853cf.zip FreeBSD-src-a10ae91aa4c835a0ac7e90e3d795bf8cdc1853cf.tar.gz |
Disable I/O port accesses in case the BIOS enabled them.
Clear all output lines except ATN and ACK when waiting
for target phase change.
Submitted by: wolf (Wolfgang Stanglmeier)
Diffstat (limited to 'sys/pci')
-rw-r--r-- | sys/pci/ncr.c | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/sys/pci/ncr.c b/sys/pci/ncr.c index f9cd370..87ee90f 100644 --- a/sys/pci/ncr.c +++ b/sys/pci/ncr.c @@ -1,6 +1,6 @@ /************************************************************************** ** -** $Id: ncr.c,v 1.16 1995/02/02 13:12:15 davidg Exp $ +** $Id: ncr.c,v 1.17 1995/02/02 15:50:57 se Exp $ ** ** Device driver for the NCR 53C810 PCI-SCSI-Controller. ** @@ -44,7 +44,7 @@ *************************************************************************** */ -#define NCR_PATCHLEVEL "pl6 95/02/02" +#define NCR_PATCHLEVEL "pl8 95/02/04" #define NCR_VERSION (2) #define MAX_UNITS (16) @@ -1121,7 +1121,7 @@ struct script { ncrcmd prepare2 [ 24]; ncrcmd setmsg [ 5]; ncrcmd clrack [ 2]; - ncrcmd dispatch [ 31]; + ncrcmd dispatch [ 33]; ncrcmd no_data [ 17]; ncrcmd checkatn [ 10]; ncrcmd command [ 15]; @@ -1231,7 +1231,7 @@ static void ncr_attach (pcici_t tag, int unit); static char ident[] = - "\n$Id: ncr.c,v 1.16 1995/02/02 13:12:15 davidg Exp $\n"; + "\n$Id: ncr.c,v 1.17 1995/02/02 15:50:57 se Exp $\n"; u_long ncr_version = NCR_VERSION + (u_long) sizeof (struct ncb) @@ -1689,6 +1689,11 @@ static struct script script0 = { 0, SCR_INT ^ IFTRUE (DATA (HS_NEGOTIATE)), SIR_NEGO_FAILED, + /* + ** remove bogus output signals + */ + SCR_REG_REG (socl, SCR_AND, CACK|CATN), + 0, SCR_RETURN ^ IFTRUE (WHEN (SCR_DATA_OUT)), 0, SCR_RETURN ^ IFTRUE (IF (SCR_DATA_IN)), @@ -3234,6 +3239,19 @@ static void ncr_attach (pcici_t config_id, int unit) np->unit = unit; /* + ** Enables: + ** response to memory addresses. + ** devices bus master ability. + ** + ** DISABLEs: + ** response to io addresses. + ** usage of "Write and invalidate" cycles. + */ + + (void) pci_conf_write (config_id, PCI_COMMAND_STATUS_REG, + PCI_COMMAND_MEM_ENABLE|PCI_COMMAND_MASTER_ENABLE); + + /* ** Try to map the controller chip to ** virtual and physical memory. */ |