Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 04 Feb 1997 18:19:39 -0800
From:      David Greenman <dg@root.com>
To:        "Brian J. McGovern" <mcgovern@spoon.beta.com>
Cc:        questions@freebsd.org, hackers@freebsd.org
Subject:   Re: Cyclades driver causes kernel panic 
Message-ID:  <199702050219.SAA03221@root.com>
In-Reply-To: Your message of "Tue, 04 Feb 1997 17:54:56 EST." <199702042254.RAA02641@spoon.beta.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
>Well, its back, and I'm pulling my hair out of my head. It appears
>that on HPs, Dells, Eclipse machines, and a handful of others,
>the Cyclades driver causes a RAM parity error, causing the kernel
>to panic, and the system to reboot. I've sen this on at least
>a half dozen systems. And I've found about two that work.
>
>Has anyone seen this? Worked around it? I'm kind of at a crunch
>to get some multi-port serial cards working, and I could use all
>the help I can get.
>
>The machines are HP 586/133s and 166s. The dells are Dell 586/100s. The
>only machine I've see it work in for any length of time was a AMD clone 586/100.
>
>I don't think its a RAM parity error, simply because a half-dozen
>machines with EDO Ram can't all be wrong (or i'd see it elsewhere),
>and the DOS drivers tend to get the card up and working on multiple
>ports with no problems.

   Install the attached patch...it has fixed the problem for other people.

-DG

David Greenman
Core-team/Principal Architect, The FreeBSD Project

Index: locore.s
===================================================================
RCS file: /home/ncvs/src/sys/i386/i386/locore.s,v
retrieving revision 1.52.4.5
diff -c -r1.52.4.5 locore.s
*** locore.s	1996/11/14 15:55:40	1.52.4.5
--- locore.s	1997/01/30 20:17:10
***************
*** 613,619 ****
  	movl    _KPTphys-KERNBASE,%ebx		/* base of kernel page tables */
  	lea     (0xa0 * PTESIZE)(%ebx),%ebx	/* hardwire ISA hole at KERNBASE + 0xa0000 */
  	movl	$0x100-0xa0,%ecx		/* for this many pte s, */
! 	movl	$(0xa0000|PG_V|PG_KW|PG_N),%eax	/* valid, kernel read/write, non-cacheable */
  	movl	%ebx,_atdevphys-KERNBASE	/* save phys addr of ptes */
  	fillkpt
  
--- 613,619 ----
  	movl    _KPTphys-KERNBASE,%ebx		/* base of kernel page tables */
  	lea     (0xa0 * PTESIZE)(%ebx),%ebx	/* hardwire ISA hole at KERNBASE + 0xa0000 */
  	movl	$0x100-0xa0,%ecx		/* for this many pte s, */
! 	movl	$(0xa0000|PG_V|PG_KW),%eax	/* valid, kernel read/write, non-cacheable */
  	movl	%ebx,_atdevphys-KERNBASE	/* save phys addr of ptes */
  	fillkpt
  
Index: pmap.c
===================================================================
RCS file: /home/ncvs/src/sys/i386/i386/pmap.c,v
retrieving revision 1.58.4.6
diff -c -r1.58.4.6 pmap.c
*** pmap.c	1996/06/26 06:18:10	1.58.4.6
--- pmap.c	1997/01/23 22:14:19
***************
*** 2043,2049 ****
  
  	for (tmpva = va; size > 0;) {
  		pte = vtopte(tmpva);
! 		*pte = (pt_entry_t) ((int) (pa | PG_RW | PG_V | PG_N));
  		size -= PAGE_SIZE;
  		tmpva += PAGE_SIZE;
  		pa += PAGE_SIZE;
--- 2043,2049 ----
  
  	for (tmpva = va; size > 0;) {
  		pte = vtopte(tmpva);
! 		*pte = (pt_entry_t) ((int) (pa | PG_RW | PG_V));
  		size -= PAGE_SIZE;
  		tmpva += PAGE_SIZE;
  		pa += PAGE_SIZE;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199702050219.SAA03221>