Module Name: src Committed By: mrg Date: Wed Mar 10 06:57:23 UTC 2010
Modified Files: src/sys/arch/sparc64/sparc64: db_interface.c locore.s pmap.c Log Message: XXX: workaround we'd like to remove when pmap / uvm locking is cleaned up: - rename pseg_get() and pseg_set() to pseg_get_real() and pseg_set_real(). - if USE_LOCKSAFE_PSEG_GETSET is defined, which it current is by default, define pseg_[gs]et() in terms of functions that take a new pseg_lock mutex at IPL_VM while calling into the real functions. this seems to avoid the pseg_set() crashes we've seen: 1 - spare needed, when pseg_get() just worked for this pmap 2 - the 2rd ldxa via ASI_PHYS_CACHED in pseg_set() loads garbage into %o4, and causes the 3rd ldxa to fault To generate a diff of this commit: cvs rdiff -u -r1.123 -r1.124 src/sys/arch/sparc64/sparc64/db_interface.c cvs rdiff -u -r1.326 -r1.327 src/sys/arch/sparc64/sparc64/locore.s cvs rdiff -u -r1.258 -r1.259 src/sys/arch/sparc64/sparc64/pmap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.