[L4alpha-cvscommit] CVS: L4Alpha/pal memory.mar,1.4,1.5
Status: Beta
Brought to you by:
dpotts
|
From: Daniel P. <dp...@us...> - 2001-11-27 00:36:54
|
Update of /cvsroot/l4alpha/L4Alpha/pal In directory usw-pr-cvs1:/tmp/cvs-serv26003/pal Modified Files: memory.mar Log Message: Intermediate fix to check for PT entries already present before adding matching entry. If a matching entry is discovered, it is overwritten so that the new permissions will be updated. Index: memory.mar =================================================================== RCS file: /cvsroot/l4alpha/L4Alpha/pal/memory.mar,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** memory.mar 2001/04/13 05:45:51 1.4 --- memory.mar 2001/11/27 00:36:49 1.5 *************** *** 669,672 **** --- 669,674 ---- GET_16CONS t5, ^x1c0 + bis t6, #PP_INTREE, t6 ; we want to check it doesn't already exist.. + task_nr t0, t0 ; t0 - task_nr pal_addr t1, pal_ptroots ; root pointer of ptabs *************** *** 705,710 **** ipte_translation_valid: bne t4, ipte_guard_fault ! PVC_JSR mem_insert_pte bsr=1 dest=1 ! ret zero, (ra) ; Entry is always in tabls ;+ --- 707,722 ---- ipte_translation_valid: bne t4, ipte_guard_fault ! ; NewCom2SerialPutChar ^x78,t10,t9 ; x ! ; Here there is already a translation ! ; we should get the pointer and update the (new) permissions ! ! GET_16CONS AT, ^x3ff ! bic t3, AT, t2 ! br zero, ipte_insert_empty ; overwrite old entry ! ! ; We don't bother flushing entry here, it can be done in TLB fault handler. ! ! ; PVC_JSR mem_insert_pte bsr=1 dest=1; ! ; ret zero, (ra) ; Entry is always in tabls ;+ |