NetBSD-Bugs archive

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

Re: port-mips/55139: Misunderstanding on R5000 L2 cachePage_Invalidate(S) op size



The following reply was made to PR port-mips/55139; it has been noted by GNATS.

From: Izumi Tsutsui <tsutsui%ceres.dti.ne.jp@localhost>
To: nick.hudson%gmx.co.uk@localhost
Cc: gnats-bugs%netbsd.org@localhost, tsutsui%ceres.dti.ne.jp@localhost
Subject: Re: port-mips/55139: Misunderstanding on R5000 L2 cachePage_Invalidate(S)
	 op size
Date: Sat, 4 Apr 2020 22:21:00 +0900

 > why isn't this correct? I didn't follow your logic
 
 There are two points:
 
 1) trunc/round macros were changed from "(128 * 32)" to "PAGE_SIZE", but
    a corresponding increment count in iteration was left as "(128 * 32)".
    (I'm not sure if it was intentional or not)
 
 2) R5000 Page_Invalidate_S op flushes fixed 4096 bytes (128 lines),
    but "PAGE_SIZE" on MIPS3 is no longer 4096 (== 128 * 32) by default:
 
  https://nxr.netbsd.org/xref/src/sys/arch/mips/include/mips_param.h?r=1.38#87
 ---
 #ifdef ENABLE_MIPS_16KB_PAGE
 #define	PGSHIFT		14		/* LOG2(NBPG) */
 #elif defined(ENABLE_MIPS_8KB_PAGE) \
     || (!defined(ENABLE_MIPS_4KB_PAGE) && __mips >= 3)
 #define	PGSHIFT		13		/* LOG2(NBPG) */
 #else
 #define	PGSHIFT		12		/* LOG2(NBPG) */
 #endif
 ---
 
 ---
 Izumi Tsustui
 


Home | Main Index | Thread Index | Old Index