@@ -113,15 +113,6 @@ pub struct Cpuid {
113
113
pub csselr : RW < u32 > ,
114
114
}
115
115
116
- const CSSELR_IND_POS : u32 = 0 ;
117
- const CSSELR_IND_MASK : u32 = 1 << CSSELR_IND_POS ;
118
- const CSSELR_LEVEL_POS : u32 = 1 ;
119
- const CSSELR_LEVEL_MASK : u32 = 0x7 << CSSELR_LEVEL_POS ;
120
- const CCSIDR_NUMSETS_POS : u32 = 13 ;
121
- const CCSIDR_NUMSETS_MASK : u32 = 0x7FFF << CCSIDR_NUMSETS_POS ;
122
- const CCSIDR_ASSOCIATIVITY_POS : u32 = 3 ;
123
- const CCSIDR_ASSOCIATIVITY_MASK : u32 = 0x3FF << CCSIDR_ASSOCIATIVITY_POS ;
124
-
125
116
/// Type of cache to select on CSSELR writes.
126
117
#[ cfg( armv7m) ]
127
118
pub enum CsselrCacheType {
@@ -140,6 +131,11 @@ impl Cpuid {
140
131
///
141
132
/// `level` is masked to be between 0 and 7.
142
133
pub fn select_cache ( & self , level : u8 , ind : CsselrCacheType ) {
134
+ const CSSELR_IND_POS : u32 = 0 ;
135
+ const CSSELR_IND_MASK : u32 = 1 << CSSELR_IND_POS ;
136
+ const CSSELR_LEVEL_POS : u32 = 1 ;
137
+ const CSSELR_LEVEL_MASK : u32 = 0x7 << CSSELR_LEVEL_POS ;
138
+
143
139
unsafe { self . csselr . write (
144
140
( ( ( level as u32 ) << CSSELR_LEVEL_POS ) & CSSELR_LEVEL_MASK ) |
145
141
( ( ( ind as u32 ) << CSSELR_IND_POS ) & CSSELR_IND_MASK )
@@ -148,6 +144,11 @@ impl Cpuid {
148
144
149
145
/// Returns the number of sets and ways in the selected cache
150
146
pub fn cache_num_sets_ways ( & self , level : u8 , ind : CsselrCacheType ) -> ( u16 , u16 ) {
147
+ const CCSIDR_NUMSETS_POS : u32 = 13 ;
148
+ const CCSIDR_NUMSETS_MASK : u32 = 0x7FFF << CCSIDR_NUMSETS_POS ;
149
+ const CCSIDR_ASSOCIATIVITY_POS : u32 = 3 ;
150
+ const CCSIDR_ASSOCIATIVITY_MASK : u32 = 0x3FF << CCSIDR_ASSOCIATIVITY_POS ;
151
+
151
152
self . select_cache ( level, ind) ;
152
153
:: asm:: dsb ( ) ;
153
154
let ccsidr = self . ccsidr . read ( ) ;
@@ -490,9 +491,6 @@ pub enum FpuAccessMode {
490
491
Privileged ,
491
492
}
492
493
493
- const SCB_CCR_IC_MASK : u32 = ( 1 <<17 ) ;
494
- const SCB_CCR_DC_MASK : u32 = ( 1 <<16 ) ;
495
-
496
494
const SCB_CPACR_FPU_MASK : u32 = 0b11_11 << 20 ;
497
495
const SCB_CPACR_FPU_ENABLE : u32 = 0b01_01 << 20 ;
498
496
const SCB_CPACR_FPU_USER : u32 = 0b10_10 << 20 ;
@@ -536,6 +534,15 @@ impl Scb {
536
534
}
537
535
}
538
536
537
+ #[ cfg( armv7m) ]
538
+ mod scb_consts {
539
+ pub const SCB_CCR_IC_MASK : u32 = ( 1 <<17 ) ;
540
+ pub const SCB_CCR_DC_MASK : u32 = ( 1 <<16 ) ;
541
+ }
542
+
543
+ #[ cfg( armv7m) ]
544
+ use self :: scb_consts:: * ;
545
+
539
546
#[ cfg( armv7m) ]
540
547
impl Scb {
541
548
/// Enables I-Cache if currently disabled
@@ -996,10 +1003,16 @@ pub struct Cbp {
996
1003
pub bpiall : WO < u32 > ,
997
1004
}
998
1005
999
- const CBP_SW_WAY_POS : u32 = 30 ;
1000
- const CBP_SW_WAY_MASK : u32 = 0x3 << CBP_SW_WAY_POS ;
1001
- const CBP_SW_SET_POS : u32 = 5 ;
1002
- const CBP_SW_SET_MASK : u32 = 0x1FF << CBP_SW_SET_POS ;
1006
+ #[ cfg( armv7m) ]
1007
+ mod cbp_consts {
1008
+ pub const CBP_SW_WAY_POS : u32 = 30 ;
1009
+ pub const CBP_SW_WAY_MASK : u32 = 0x3 << CBP_SW_WAY_POS ;
1010
+ pub const CBP_SW_SET_POS : u32 = 5 ;
1011
+ pub const CBP_SW_SET_MASK : u32 = 0x1FF << CBP_SW_SET_POS ;
1012
+ }
1013
+
1014
+ #[ cfg( armv7m) ]
1015
+ use self :: cbp_consts:: * ;
1003
1016
1004
1017
#[ cfg( armv7m) ]
1005
1018
impl Cbp {
0 commit comments