forked from mirrors/linux
		
	MIPS: Remove a temporary hack for debugging cache flushes in SMTC configuration
Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Cc: Leonid Yegoshin <Leonid.Yegoshin@imgtec.com> Cc: linux-mips@linux-mips.org Cc: aaro.koskinen@iki.fi Cc: david.daney@cavium.com Cc: linux-kernel@vger.kernel.org Cc: markos.chandras@imgtec.com Cc: dengcheng.zhu@imgtec.com Cc: chenhc@lemote.com Cc: akpm@linux-foundation.org Patchwork: https://patchwork.linux-mips.org/patch/8535/
This commit is contained in:
		
							parent
							
								
									85546d7ec8
								
							
						
					
					
						commit
						ac41f9c462
					
				
					 1 changed files with 0 additions and 59 deletions
				
			
		| 
						 | 
				
			
			@ -47,79 +47,20 @@ extern void (*r4k_blast_icache)(void);
 | 
			
		|||
 | 
			
		||||
#ifdef CONFIG_MIPS_MT
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Optionally force single-threaded execution during I-cache flushes.
 | 
			
		||||
 */
 | 
			
		||||
#define PROTECT_CACHE_FLUSHES 1
 | 
			
		||||
 | 
			
		||||
#ifdef PROTECT_CACHE_FLUSHES
 | 
			
		||||
 | 
			
		||||
extern int mt_protiflush;
 | 
			
		||||
extern int mt_protdflush;
 | 
			
		||||
extern void mt_cflush_lockdown(void);
 | 
			
		||||
extern void mt_cflush_release(void);
 | 
			
		||||
 | 
			
		||||
#define BEGIN_MT_IPROT \
 | 
			
		||||
	unsigned long flags = 0;			\
 | 
			
		||||
	unsigned long mtflags = 0;			\
 | 
			
		||||
	if(mt_protiflush) {				\
 | 
			
		||||
		local_irq_save(flags);			\
 | 
			
		||||
		ehb();					\
 | 
			
		||||
		mtflags = dvpe();			\
 | 
			
		||||
		mt_cflush_lockdown();			\
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
#define END_MT_IPROT \
 | 
			
		||||
	if(mt_protiflush) {				\
 | 
			
		||||
		mt_cflush_release();			\
 | 
			
		||||
		evpe(mtflags);				\
 | 
			
		||||
		local_irq_restore(flags);		\
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
#define BEGIN_MT_DPROT \
 | 
			
		||||
	unsigned long flags = 0;			\
 | 
			
		||||
	unsigned long mtflags = 0;			\
 | 
			
		||||
	if(mt_protdflush) {				\
 | 
			
		||||
		local_irq_save(flags);			\
 | 
			
		||||
		ehb();					\
 | 
			
		||||
		mtflags = dvpe();			\
 | 
			
		||||
		mt_cflush_lockdown();			\
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
#define END_MT_DPROT \
 | 
			
		||||
	if(mt_protdflush) {				\
 | 
			
		||||
		mt_cflush_release();			\
 | 
			
		||||
		evpe(mtflags);				\
 | 
			
		||||
		local_irq_restore(flags);		\
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
#else
 | 
			
		||||
 | 
			
		||||
#define BEGIN_MT_IPROT
 | 
			
		||||
#define BEGIN_MT_DPROT
 | 
			
		||||
#define END_MT_IPROT
 | 
			
		||||
#define END_MT_DPROT
 | 
			
		||||
 | 
			
		||||
#endif /* PROTECT_CACHE_FLUSHES */
 | 
			
		||||
 | 
			
		||||
#define __iflush_prologue						\
 | 
			
		||||
	unsigned long redundance;					\
 | 
			
		||||
	extern int mt_n_iflushes;					\
 | 
			
		||||
	BEGIN_MT_IPROT							\
 | 
			
		||||
	for (redundance = 0; redundance < mt_n_iflushes; redundance++) {
 | 
			
		||||
 | 
			
		||||
#define __iflush_epilogue						\
 | 
			
		||||
	END_MT_IPROT							\
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
#define __dflush_prologue						\
 | 
			
		||||
	unsigned long redundance;					\
 | 
			
		||||
	extern int mt_n_dflushes;					\
 | 
			
		||||
	BEGIN_MT_DPROT							\
 | 
			
		||||
	for (redundance = 0; redundance < mt_n_dflushes; redundance++) {
 | 
			
		||||
 | 
			
		||||
#define __dflush_epilogue \
 | 
			
		||||
	END_MT_DPROT	 \
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
#define __inv_dflush_prologue __dflush_prologue
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue