Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 06 Sep 1997 20:43:59 -0600
From:      Steve Passe <smp@csn.net>
To:        smp@freebsd.org
Cc:        current@freebsd.org
Subject:   FIXED: Fatal trap 12
Message-ID:  <199709070243.UAA23614@Ilsa.StevesCafe.com>

next in thread | raw e-mail | index | archive | help
Hi,

John found and fixed the "Fatal trap 12" bug in SMP.  It fixes the problem
for both his and my test cases.    The fix has been committed to freefall.

For the impatient behind slow mirrors, the patch:

------------------------------------ cut ------------------------------------
*** pmap.c.orig 1997/09/07 01:55:48
--- pmap.c      1997/09/07 01:55:57
***************
*** 1464,1470 ****
                pdir_pde(PTD, kernel_vm_end) = (pd_entry_t) 
(VM_PAGE_TO_PHYS(nkp
g) | PG_V | PG_RW | pgeflag);
  
  #ifdef SMP
!               for (i = 0; i < mp_naps; i++) {
                        if (IdlePTDS[i])
                                pdir_pde(IdlePTDS[i], kernel_vm_end) = 
(pd_entry
_t) (VM_PAGE_TO_PHYS(nkpg) | PG_V | PG_RW | pgeflag);
                }
--- 1464,1470 ----
                pdir_pde(PTD, kernel_vm_end) = (pd_entry_t) 
(VM_PAGE_TO_PHYS(nkp
g) | PG_V | PG_RW | pgeflag);
  
  #ifdef SMP
!               for (i = 0; i < mp_ncpus; i++) {
                        if (IdlePTDS[i])
                                pdir_pde(IdlePTDS[i], kernel_vm_end) = 
(pd_entry
_t) (VM_PAGE_TO_PHYS(nkpg) | PG_V | PG_RW | pgeflag);
                }
------------------------------------ cut ------------------------------------

--
Steve Passe	| powered by
smp@csn.net	|            Symmetric MultiProcessor FreeBSD





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