MIPS: Probe for and report hardware virtualization support.
The presence of the MIPS Virtualization Application-Specific Extension is indicated by CP0_Config3[23]. Probe for this and report it in /proc/cpuinfo. Signed-off-by: David Daney <david.daney@cavium.com> Patchwork: http://patchwork.linux-mips.org/patch/4904/ Signed-off-by: John Crispin <blogic@openwrt.org>
This commit is contained in:
		
					parent
					
						
							
								27ea052acb
							
						
					
				
			
			
				commit
				
					
						1e7decdb27
					
				
			
		
					 5 changed files with 9 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -263,4 +263,8 @@
 | 
			
		|||
#define cpu_has_perf_cntr_intr_bit	(cpu_data[0].options & MIPS_CPU_PCI)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef cpu_has_vz
 | 
			
		||||
#define cpu_has_vz		(cpu_data[0].ases & MIPS_ASE_VZ)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif /* __ASM_CPU_FEATURES_H */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -336,6 +336,6 @@ enum cpu_type_enum {
 | 
			
		|||
#define MIPS_ASE_DSP		0x00000010 /* Signal Processing ASE */
 | 
			
		||||
#define MIPS_ASE_MIPSMT		0x00000020 /* CPU supports MIPS MT */
 | 
			
		||||
#define MIPS_ASE_DSP2P		0x00000040 /* Signal Processing ASE Rev 2 */
 | 
			
		||||
 | 
			
		||||
#define MIPS_ASE_VZ		0x00000080 /* Virtualization ASE */
 | 
			
		||||
 | 
			
		||||
#endif /* _ASM_CPU_H */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -596,6 +596,7 @@
 | 
			
		|||
#define MIPS_CONF3_RXI		(_ULCAST_(1) << 12)
 | 
			
		||||
#define MIPS_CONF3_ULRI		(_ULCAST_(1) << 13)
 | 
			
		||||
#define MIPS_CONF3_ISA		(_ULCAST_(3) << 14)
 | 
			
		||||
#define MIPS_CONF3_VZ		(_ULCAST_(1) << 23)
 | 
			
		||||
 | 
			
		||||
#define MIPS_CONF4_MMUSIZEEXT	(_ULCAST_(255) << 0)
 | 
			
		||||
#define MIPS_CONF4_MMUEXTDEF	(_ULCAST_(3) << 14)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -442,6 +442,8 @@ static inline unsigned int decode_config3(struct cpuinfo_mips *c)
 | 
			
		|||
		c->options |= MIPS_CPU_ULRI;
 | 
			
		||||
	if (config3 & MIPS_CONF3_ISA)
 | 
			
		||||
		c->options |= MIPS_CPU_MICROMIPS;
 | 
			
		||||
	if (config3 & MIPS_CONF3_VZ)
 | 
			
		||||
		c->ases |= MIPS_ASE_VZ;
 | 
			
		||||
 | 
			
		||||
	return config3 & MIPS_CONF_M;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -74,6 +74,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)
 | 
			
		|||
	if (cpu_has_dsp2)	seq_printf(m, "%s", " dsp2");
 | 
			
		||||
	if (cpu_has_mipsmt)	seq_printf(m, "%s", " mt");
 | 
			
		||||
	if (cpu_has_mmips)	seq_printf(m, "%s", " micromips");
 | 
			
		||||
	if (cpu_has_vz)		seq_printf(m, "%s", " vz");
 | 
			
		||||
	seq_printf(m, "\n");
 | 
			
		||||
 | 
			
		||||
	seq_printf(m, "shadow register sets\t: %d\n",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue