diff options
author | jmg <jmg@FreeBSD.org> | 2003-08-24 06:23:36 +0000 |
---|---|---|
committer | jmg <jmg@FreeBSD.org> | 2003-08-24 06:23:36 +0000 |
commit | 45596532dbd557423c773fa858ef675180a16923 (patch) | |
tree | a9f3b37ec3cbae3d15ba74adf466d7a065fa09d3 /sys | |
parent | ce0fe9a89c47ed92f32795a303901033f5621cf3 (diff) | |
download | FreeBSD-src-45596532dbd557423c773fa858ef675180a16923.zip FreeBSD-src-45596532dbd557423c773fa858ef675180a16923.tar.gz |
reenable the caches when a PCI peek faults. Takes my kernel compile
from 3770 real down to 1250 real.
Submitted by: jake
Diffstat (limited to 'sys')
-rw-r--r-- | sys/sparc64/sparc64/genassym.c | 2 | ||||
-rw-r--r-- | sys/sparc64/sparc64/support.S | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/sys/sparc64/sparc64/genassym.c b/sys/sparc64/sparc64/genassym.c index ffa3c47..9eba041 100644 --- a/sys/sparc64/sparc64/genassym.c +++ b/sys/sparc64/sparc64/genassym.c @@ -90,6 +90,8 @@ ASSYM(FPRS_DU, FPRS_DU); ASSYM(FPRS_FEF, FPRS_FEF); ASSYM(LSU_VW, LSU_VW); +ASSYM(LSU_IC, LSU_IC); +ASSYM(LSU_DC, LSU_DC); ASSYM(TAR_VPN_SHIFT, TAR_VPN_SHIFT); diff --git a/sys/sparc64/sparc64/support.S b/sys/sparc64/sparc64/support.S index 57ca637..3ac52fd 100644 --- a/sys/sparc64/sparc64/support.S +++ b/sys/sparc64/sparc64/support.S @@ -575,6 +575,10 @@ fas_nofault_end: .globl fas_fault ENTRY(fas_fault) + ldxa [%g0] ASI_LSU_CTL_REG, %o0 + or %o0, LSU_IC | LSU_DC, %o0 + stxa %o0, [%g0] ASI_LSU_CTL_REG + membar #Sync retl mov -1, %o0 END(fas_fault) |