Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: [netbsd-9] src/sys/arch/mips



Module Name:    src
Committed By:   martin
Date:           Sat Jun 20 16:38:42 UTC 2020

Modified Files:
        src/sys/arch/mips/include [netbsd-9]: cache_r5k.h
        src/sys/arch/mips/mips [netbsd-9]: cache_r5k.c cache_r5k_subr.S

Log Message:
Pull up following revision(s) (requested by tsutsui in ticket #965):

        sys/arch/mips/include/cache_r5k.h: revision 1.5
        sys/arch/mips/mips/cache_r5k_subr.S: revision 1.4
        sys/arch/mips/mips/cache_r5k.c: revision 1.21

Use proper "page" alignments for R5k Page Invalidate(S) op.  PR/55139

According to NEC "User's Manual VR5000, VR1000 64-BIT MICROPROCESSOR
INSTRUCTION" (U12754EJ1V0UMJ1), R5000 Page Invalidate (S) op does
"a page invalidate by doing a burst of 128 line invalidates to
the secondary cache at the page specified by the effective address
generated by the CACHE instruction, which must be page aligned."

This description looks a bit confusing, but "page" used here
implies fixed 32 byte cacheline * 128 lines == 4096 bytes,
not our variable "PAGE_SIZE" used in VM paging ops.  Note
the current default PAGE_SIZE for MIPS3 has been changed to 8192.

While here, also define and use proper macro for the "page" and CACHEOP
arg for the R5k Page_Invalidate_S op, as the manual also describes
the cache op field 10111 as "Page Invalidate" for the secondary cache.

No visible regression on Cobalt Qube 2700 (Rm5230) through
whole installation using netbsd-9 based Cobalt RestoreCD/USB.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.4.22.1 src/sys/arch/mips/include/cache_r5k.h
cvs rdiff -u -r1.20 -r1.20.14.1 src/sys/arch/mips/mips/cache_r5k.c
cvs rdiff -u -r1.3 -r1.3.60.1 src/sys/arch/mips/mips/cache_r5k_subr.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index