cpu/x86: make set_msr_bit publicly available
Haswell and model_2065 implement a static set_msr_bit helper which should be publicly available instead. Move it to cpu/x86. Change-Id: I68b314c917f15fc6e5351de1c539d5a3ae646df8 Signed-off-by: Michael Niewöhner <foss@mniewoehner.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/36338 Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-by: Nico Huber <nico.h@gmx.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
		
				
					committed by
					
						 Patrick Georgi
						Patrick Georgi
					
				
			
			
				
	
			
			
			
						parent
						
							9a100b5c1d
						
					
				
				
					commit
					af1cbe2278
				
			| @@ -301,5 +301,25 @@ static inline enum mca_err_code_types mca_err_type(msr_t reg) | ||||
| 	return MCA_ERRTYPE_UNKNOWN; | ||||
| } | ||||
|  | ||||
|  | ||||
| /* Helper for setting single MSR bits */ | ||||
| static inline void msr_set_bit(unsigned int reg, unsigned int bit) | ||||
| { | ||||
| 	msr_t msr = rdmsr(reg); | ||||
|  | ||||
| 	if (bit < 32) { | ||||
| 		if (msr.lo & (1 << bit)) | ||||
| 			return; | ||||
| 		msr.lo |= 1 << bit; | ||||
| 	} else { | ||||
| 		if (msr.hi & (1 << (bit - 32))) | ||||
| 			return; | ||||
| 		msr.hi |= 1 << (bit - 32); | ||||
| 	} | ||||
|  | ||||
| 	wrmsr(reg, msr); | ||||
| } | ||||
|  | ||||
|  | ||||
| #endif /* __ASSEMBLER__ */ | ||||
| #endif /* CPU_X86_MSR_H */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user