forked from Mirrors/opensbi
		
	lib: sbi: Fix PMP CSR detection
HiFive unleashed currently implements fewer than 56 bits of physical
address so existing PMP CSR detection is broken.
PMP address register encodes bits 55-2 of a 56-bit physical address,
Not all physical address bits may be implemented, So just check
minimum 1 bit.
Fixes: 74d1db7062 ("lib: sbi: Improve PMP CSR detection and
progamming")
Signed-off-by: Pragnesh Patel <pragnesh.patel@sifive.com>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
			
			
This commit is contained in:
		
				
					committed by
					
						
						Anup Patel
					
				
			
			
				
	
			
			
			
						parent
						
							aaeca7eb4e
						
					
				
				
					commit
					7701ea13be
				
			@@ -403,7 +403,7 @@ static void hart_detect_features(struct sbi_scratch *scratch)
 | 
			
		||||
	__check_csr_32(__csr + 32, __rdonly, __wrval, __field, __skip)
 | 
			
		||||
 | 
			
		||||
	/* Detect number of PMP regions */
 | 
			
		||||
	__check_csr_64(CSR_PMPADDR0, 0, PMP_ADDR_MASK, pmp_count, __pmp_skip);
 | 
			
		||||
	__check_csr_64(CSR_PMPADDR0, 0, 1UL, pmp_count, __pmp_skip);
 | 
			
		||||
__pmp_skip:
 | 
			
		||||
 | 
			
		||||
	/* Detect number of MHPM counters */
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user