forked from Mirrors/opensbi
		
	lib: sbi: Add Smstateen extension defines
Smstateen extension provides a mechanism to plug potential covert channels which are opened by extensions that add to processor state that may not get context-switched. Signed-off-by: Mayuresh Chitale <mchitale@ventanamicro.com> Reviewed-by: Xiang W <wxjstz@126.com> Reviewed-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
		
				
					committed by
					
						
						Anup Patel
					
				
			
			
				
	
			
			
			
						parent
						
							794986f87f
						
					
				
				
					commit
					499601a4ff
				
			@@ -345,6 +345,12 @@
 | 
			
		||||
#define CSR_SIEH			0x114
 | 
			
		||||
#define CSR_SIPH			0x154
 | 
			
		||||
 | 
			
		||||
/* Supervisor stateen CSRs */
 | 
			
		||||
#define CSR_SSTATEEN0			0x10C
 | 
			
		||||
#define CSR_SSTATEEN1			0x10D
 | 
			
		||||
#define CSR_SSTATEEN2			0x10E
 | 
			
		||||
#define CSR_SSTATEEN3			0x10F
 | 
			
		||||
 | 
			
		||||
/* ===== Hypervisor-level CSRs ===== */
 | 
			
		||||
 | 
			
		||||
/* Hypervisor Trap Setup (H-extension) */
 | 
			
		||||
@@ -413,6 +419,16 @@
 | 
			
		||||
#define CSR_VSIEH			0x214
 | 
			
		||||
#define CSR_VSIPH			0x254
 | 
			
		||||
 | 
			
		||||
/* Hypervisor stateen CSRs */
 | 
			
		||||
#define CSR_HSTATEEN0			0x60C
 | 
			
		||||
#define CSR_HSTATEEN0H			0x61C
 | 
			
		||||
#define CSR_HSTATEEN1			0x60D
 | 
			
		||||
#define CSR_HSTATEEN1H			0x61D
 | 
			
		||||
#define CSR_HSTATEEN2			0x60E
 | 
			
		||||
#define CSR_HSTATEEN2H			0x61E
 | 
			
		||||
#define CSR_HSTATEEN3			0x60F
 | 
			
		||||
#define CSR_HSTATEEN3H			0x61F
 | 
			
		||||
 | 
			
		||||
/* ===== Machine-level CSRs ===== */
 | 
			
		||||
 | 
			
		||||
/* Machine Information Registers */
 | 
			
		||||
@@ -686,6 +702,17 @@
 | 
			
		||||
#define CSR_MVIEN			0x308
 | 
			
		||||
#define CSR_MVIP			0x309
 | 
			
		||||
 | 
			
		||||
/* Smstateen extension registers */
 | 
			
		||||
/* Machine stateen CSRs */
 | 
			
		||||
#define CSR_MSTATEEN0			0x30C
 | 
			
		||||
#define CSR_MSTATEEN0H			0x31C
 | 
			
		||||
#define CSR_MSTATEEN1			0x30D
 | 
			
		||||
#define CSR_MSTATEEN1H			0x31D
 | 
			
		||||
#define CSR_MSTATEEN2			0x30E
 | 
			
		||||
#define CSR_MSTATEEN2H			0x31E
 | 
			
		||||
#define CSR_MSTATEEN3			0x30F
 | 
			
		||||
#define CSR_MSTATEEN3H			0x31F
 | 
			
		||||
 | 
			
		||||
/* Machine-Level High-Half CSRs (AIA) */
 | 
			
		||||
#define CSR_MIDELEGH			0x313
 | 
			
		||||
#define CSR_MIEH			0x314
 | 
			
		||||
@@ -715,6 +742,23 @@
 | 
			
		||||
#define CAUSE_VIRTUAL_INST_FAULT	0x16
 | 
			
		||||
#define CAUSE_STORE_GUEST_PAGE_FAULT	0x17
 | 
			
		||||
 | 
			
		||||
/* Common defines for all smstateen */
 | 
			
		||||
#define SMSTATEEN_MAX_COUNT		4
 | 
			
		||||
#define SMSTATEEN0_CS_SHIFT		0
 | 
			
		||||
#define SMSTATEEN0_CS			(_ULL(1) << SMSTATEEN0_CS_SHIFT)
 | 
			
		||||
#define SMSTATEEN0_FCSR_SHIFT		1
 | 
			
		||||
#define SMSTATEEN0_FCSR			(_ULL(1) << SMSTATEEN0_FCSR_SHIFT)
 | 
			
		||||
#define SMSTATEEN0_IMSIC_SHIFT		58
 | 
			
		||||
#define SMSTATEEN0_IMSIC		(_ULL(1) << SMSTATEEN0_IMSIC_SHIFT)
 | 
			
		||||
#define SMSTATEEN0_AIA_SHIFT		59
 | 
			
		||||
#define SMSTATEEN0_AIA			(_ULL(1) << SMSTATEEN0_AIA_SHIFT)
 | 
			
		||||
#define SMSTATEEN0_SVSLCT_SHIFT		60
 | 
			
		||||
#define SMSTATEEN0_SVSLCT		(_ULL(1) << SMSTATEEN0_SVSLCT_SHIFT)
 | 
			
		||||
#define SMSTATEEN0_HSENVCFG_SHIFT	62
 | 
			
		||||
#define SMSTATEEN0_HSENVCFG		(_ULL(1) << SMSTATEEN0_HSENVCFG_SHIFT)
 | 
			
		||||
#define SMSTATEEN_STATEN_SHIFT		63
 | 
			
		||||
#define SMSTATEEN_STATEN		(_ULL(1) << SMSTATEEN_STATEN_SHIFT)
 | 
			
		||||
 | 
			
		||||
/* ===== Instruction Encodings ===== */
 | 
			
		||||
 | 
			
		||||
#define INSN_MATCH_LB			0x3
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user