Up to [cvs.NetBSD.org] / src / doc
Request diff between arbitrary revisions
Default branch: MAIN
Current tag: netbsd-5-1-3-RELEASE
Revision 1.110.2.2.6.1 / (download) - annotate - [select for diffs], Sat Mar 17 18:46:29 2012 UTC (12 years ago) by bouyer
Branch: netbsd-5-1
CVS Tags: netbsd-5-1-5-RELEASE,
netbsd-5-1-4-RELEASE,
netbsd-5-1-3-RELEASE
Changes since 1.110.2.2: +1 -13
lines
Diff to previous 1.110.2.2 (unified) next main 1.110.2.3 (unified)
Pull up following revision(s) (requested by nakayama in ticket #1736): sys/arch/sparc64/conf/Makefile.sparc64: revision 1.71 doc/HACKS: revision 1.123 sys/arch/sparc64/conf/files.sparc64: revision 1.138 sys/arch/sparc64/sparc64/locore.s: revision 1.340 Fix the root cause of the hack "disable optimizations for uvm_bio.c on 32 bit kernels". gcc converts a division in the calculation of UBC_UMAP_ADDR macro to multiplication (smul or combination of add/sll), and the register of its result contains a garbage in upper 32 bits (the upper 32 bits of smul/add/sll's result isn't zero cleared). Then it passes to pseg_get{,_real} through pmap_extract without the zero clear of upper 32 bits in the optimization case. So the result of pseg_get and pmap_extact sometimes gets screwed up. The hack has been resolved in the revision 1.340 of sys/arch/sparc64/sparc64/locore.s.