From owner-announce-jp@jp.freebsd.org  Mon Dec  4 17:06:56 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id RAA04115;
	Mon, 4 Dec 2000 17:06:56 +0900 (JST)
	(envelope-from owner-announce-jp@jp.FreeBSD.org)
Date: Mon, 4 Dec 2000 16:54:25 +0900 (JST)
Message-Id: <200012040754.QAA03041@castle.jp.freebsd.org>
To: announce-jp@jp.freebsd.org
Reply-To: FreeBSD98-hackers@jp.freebsd.org
From: Nobuyuki Koganemaru <kogane@jp.freebsd.org>
X-ML-maintainer: owner-announce-jp@jp.FreeBSD.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: announce-jp 630
Subject: ANNOUNCE: FreeBSD(98) 4.1.1R-Rev01 Errata98.txt r01
Errors-To: owner-announce-jp@jp.freebsd.org
Sender: owner-announce-jp@jp.freebsd.org


  FreeBSD(98) $B0\?"%A!<%`$h$j$N$*CN$i$;$G$9!#(B

  FreeBSD(98) $B0\?"%A!<%`$G$O%j%j!<%98e$K8+$D$+$C$?>c32$N>pJs$r(B Errata98.txt
  $B%U%!%$%k$GDs6!$7$F$$$^$9!#K\%"%J%&%s%9$r9T$&$H$H$b$KG[I[%G%#%l%/%H%j$N(B
  98readme $B$KCV$+$l$^$9!#(B

--

                FreeBSD(98) 4.1.1R-Rev01 $B>c32>pJs(B

                                        $BF|IU(B: $BJ?@.(B12$BG/(B(2000$BG/(B)10$B7n(B14$BF|(B ($BEZ(B)
                                        01 $BHG(B $BJ?@.(B12$BG/(B(2000$BG/(B)12$B7n(B04$BF|(B ($B7n(B)

$BK\%U%!%$%k$O(B FreeBSD(98) 4.1.1R-Rev01 $B%j%j!<%98e$K8+$D$+$C$?>c32$N>pJs$r5-(B
$B=R$7$F$$$^$9!#(B

---- $B%7%9%F%`99?7>pJs(B:

$B!&(BETHERNET 3COM 3C569B, 3C568B-J-TPO, 3C569B-J-COMBO $BMQ$N(B ep $B%I%i%$%P$,(B
 4.0R-Rev01, 4.1R-Rev01, 4.1.1R-Rev01 $B$G$OF0:n$7$J$$!#(B
    $B0J2<$N%Q%C%A$rEv$F$k$3$H$GF0:n2DG=!#(B4.2R-Rev01 $B$G$O=$@5$5$l$?!#(B
 
---- $B$3$3$+$i(B ----
*** sys/dev/ep/if_ep_isa.c	Sun Jan 23 17:46:21 2000
--- sys/dev/ep/if_ep_isa.c	Thu Nov 23 19:33:37 2000
***************
*** 73,78 ****
--- 73,82 ----
  #define ISA_ID_3C509_COMBO 0x506d5094
  #define ISA_ID_3C509_TPO   0x506d5095
  #define ISA_ID_3C509_TPC   0x506d5098
+ #ifdef PC98
+ #define ISA_ID_3C569B_COMBO 0x506d5694
+ #define ISA_ID_3C569B_TPO   0x506d5695
+ #endif
  
  static struct isa_ident ep_isa_devs[] = {
  	{ ISA_ID_3C509_TP,	"3Com 3C509-TP EtherLink III" },
***************
*** 80,85 ****
--- 84,93 ----
  	{ ISA_ID_3C509_COMBO,	"3Com 3C509-Combo EtherLink III" },
  	{ ISA_ID_3C509_TPO,	"3Com 3C509-TPO EtherLink III" },
  	{ ISA_ID_3C509_TPC,	"3Com 3C509-TPC EtherLink III" },
+ #ifdef PC98
+ 	{ ISA_ID_3C569B_COMBO,	"3Com 3C569B-J-Combo EtherLink III" },
+ 	{ ISA_ID_3C569B_TPO,	"3Com 3C569B-J-TPO EtherLink III" },
+ #endif
  	{ 0,			NULL },
  };
  
*** sys/pc98/conf/GENERIC98	Thu Apr 13 05:41:02 2000
--- sys/pc98/conf/GENERIC98	Thu Nov 23 20:28:47 2000
***************
*** 284,290 ****
  device		fe0	at isa? port 0x00d0 irq 3
  device		fe1	at isa? port 0x73d0 irq 5
  
! device		ep0	at isa? port 0x40d0 irq 3
  device		lnc0	at isa? port 0x03d0 irq 6
  
  # WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
--- 284,290 ----
  device		fe0	at isa? port 0x00d0 irq 3
  device		fe1	at isa? port 0x73d0 irq 5
  
! device		ep
  device		lnc0	at isa? port 0x03d0 irq 6
  
  # WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
---- $B$3$3$^$G(B ----

$B!&(BUIDE

---- $B$3$3$+$i(B ----
--- sys/dev/ata/ata-dma.c.orig	Sat Oct  7 19:15:26 2000
+++ sys/dev/ata/ata-dma.c	Thu Nov 30 23:30:55 2000
@@ -636,11 +636,9 @@
 			   (error) ? "failed" : "success");
 	    if (!error) {
 		artop_timing(scp, devno, ATA_UDMA4);
-		pci_write_config(parent, 0x40 + (devno << 1), 0x0401, 2);
-		pci_write_config(parent, 0x44 + (devno >> 1),
-				 pci_read_config(parent, 0x44, 2) |
-				  (0x3 << (devno * 4)), 2);
+		pci_write_config(parent, 0x40 + devno, 0x31, 1);
 		pci_write_config(parent, 0x4a, 0xa6, 1);
+		pci_write_config(parent, 0x49, 3, 1);
 		scp->mode[ATA_DEV(device)] = ATA_UDMA4;
 		return;
 	    }
@@ -654,12 +652,8 @@
 			   (error) ? "failed" : "success");
 	    if (!error) {
 		artop_timing(scp, devno, ATA_UDMA2);
-		if (scp->chiptype == 0x00071191) {
-		    pci_write_config(scp->dev, 0x40 + (devno << 1), 0x0401, 2);
-		    pci_write_config(parent, 0x44 + (devno >> 1),
-				     pci_read_config(parent, 0x44, 2) |
-				      (0x3 <<(devno * 4)), 2);
-		}
+		if (scp->chiptype == 0x00071191)
+		    pci_write_config(scp->dev, 0x40 + devno, 0x31, 1);
 		else
 		    pci_write_config(parent, 0x40 + (devno << 1), 0x0301, 2);
 		pci_write_config(parent, 0x4a, 0xa6, 1);
@@ -676,12 +670,8 @@
 			   (error) ? "failed" : "success");
 	    if (!error) {
 		artop_timing(scp, devno, ATA_WDMA2);
-		if (scp->chiptype == 0x00071191) {
-		    pci_write_config(parent, 0x40 + (devno << 1), 0x0401, 2);
-		    pci_write_config(parent, 0x44 + (devno >> 1),
-				     pci_read_config(parent, 0x44, 2) |
-				      (0x3 <<(devno * 4)), 2);
-		}
+		if (scp->chiptype == 0x00071191)
+		    pci_write_config(parent, 0x40 + devno, 0x31, 1);
 		else
 		    pci_write_config(parent, 0x40 + (devno << 1), 0x0301, 2);
 		pci_write_config(parent, 0x4a, 0xa6, 1);
@@ -933,6 +923,8 @@
 artop_timing(struct ata_softc *scp, int32_t devno, int32_t mode) 
 { 
     u_int32_t timing = 0; 
+    u_int8_t new54=0;
+    u_int16_t new44=0;
  
     switch (scp->chiptype) { 
     case 0x00051191:  /* ATP850UF */ 
@@ -946,6 +938,10 @@
 	case ATA_WDMA2: timing = 0; break; 
 	case ATA_UDMA2: timing = 3; break; 
 	} 
+	new54 = pci_read_config(device_get_parent(scp->dev), 0x54, 1);
+	new54 &= ~(3 << (devno << 1));
+	new54 |= timing << (devno << 1);
+	pci_write_config(device_get_parent(scp->dev), 0x54, new54, 1);
 	break; 
  
     case 0x00071191:  /* ATP860 */ 
@@ -957,13 +953,15 @@
 	case ATA_PIO3: 
 	case ATA_PIO4: 
 	case ATA_WDMA2: timing = 0; break; 
-	case ATA_UDMA2: timing = 2; break; 
-	case ATA_UDMA4: timing = 4; break; 
+	case ATA_UDMA2: timing = 3; break; 
+	case ATA_UDMA4: timing = 5; break; 
 	} 
+	new44 = pci_read_config(device_get_parent(scp->dev), 0x44, 2);
+	new44 &= ~(0xf << (devno << 2));
+	new44 |= timing << (devno << 2);
+	pci_write_config(device_get_parent(scp->dev), 0x44, new44, 2);
 	break; 
     } 
- 
-    pci_write_config(device_get_parent(scp->dev), 0x54, timing<<(devno*2), 1); 
 } 
 
 #else /* NPCI > 0 */
---- $B$3$3$^$G(B ----

$B0J>e!%(B
--
kogane@jp.freebsd.org
