Module Name: src Committed By: martin Date: Mon Mar 9 10:36:42 UTC 2020
Modified Files: src/sys/arch/powerpc/ibm4xx [netbsd-9]: pmap.c src/sys/arch/powerpc/include/ibm4xx [netbsd-9]: pmap.h tlb.h Log Message: Pull up following revision(s) (requested by rin in ticket #773): sys/arch/powerpc/ibm4xx/pmap.c: revision 1.81 sys/arch/powerpc/ibm4xx/pmap.c: revision 1.82 sys/arch/powerpc/ibm4xx/pmap.c: revision 1.83 sys/arch/powerpc/ibm4xx/pmap.c: revision 1.84 sys/arch/powerpc/ibm4xx/pmap.c: revision 1.85 sys/arch/powerpc/include/ibm4xx/tlb.h: revision 1.6 sys/arch/powerpc/include/ibm4xx/pmap.h: revision 1.20 Misc non-critical fixes. - __asm --> __asm volatile for sure - turn DEBUG code in __asm into DIAGNOSTIC code in C - style ppc4xx_tlb_enter(): invalidate entry after clearing MSR for sure. pmap_procwr(): use dcbst instead of dcbf as a tiny optimization. Retire tlbpid_t (u_short): - PID (ctx, ASID) is 8-bit length, not half word. - For struct pmap, no need to use integer types smaller than word as pm_ctx because of alignment. - For ppc4xx_tlb_enter(), we need word-length storage for pid (and msr). XXX Better to rewrite pmap module with more suggestive integer types rather than char, int, long, and so on. Fix pmap_procwr(). While we need to turn off IMMU, DMMU should be kept on. Otherwise, dcbst (and also icbi probably, though not documented clearly both for 405 and 403) should not work correctly. To generate a diff of this commit: cvs rdiff -u -r1.76.20.1 -r1.76.20.2 src/sys/arch/powerpc/ibm4xx/pmap.c cvs rdiff -u -r1.19 -r1.19.2.1 src/sys/arch/powerpc/include/ibm4xx/pmap.h cvs rdiff -u -r1.5 -r1.5.6.1 src/sys/arch/powerpc/include/ibm4xx/tlb.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.