@@ -142,18 +142,14 @@ func (mpu *MPU_Type) Enable(enable bool) {
142
142
if enable {
143
143
mpu .CTRL .Set (MPU_CTRL_PRIVDEFENA_Msk | MPU_CTRL_ENABLE_Msk )
144
144
SystemControl .SHCSR .SetBits (SCB_SHCSR_MEMFAULTENA_Msk )
145
- arm .AsmFull (`
146
- dsb 0xF
147
- isb 0xF
148
- ` , nil )
145
+ arm .Asm ("dsb 0xF" )
146
+ arm .Asm ("isb 0xF" )
149
147
enableDcache (true )
150
148
enableIcache (true )
151
149
} else {
152
150
enableIcache (false )
153
151
enableDcache (false )
154
- arm .AsmFull (`
155
- dmb 0xF
156
- ` , nil )
152
+ arm .Asm ("dmb 0xF" )
157
153
SystemControl .SHCSR .ClearBits (SCB_SHCSR_MEMFAULTENA_Msk )
158
154
mpu .CTRL .ClearBits (MPU_CTRL_ENABLE_Msk )
159
155
}
@@ -188,31 +184,21 @@ func (mpu *MPU_Type) SetRASR(size RegionSize, access AccessPerms, ext Extension,
188
184
func enableIcache (enable bool ) {
189
185
if enable != SystemControl .CCR .HasBits (SCB_CCR_IC_Msk ) {
190
186
if enable {
191
- arm .AsmFull (`
192
- dsb 0xF
193
- isb 0xF
194
- ` , nil )
187
+ arm .Asm ("dsb 0xF" )
188
+ arm .Asm ("isb 0xF" )
195
189
SystemControl .ICIALLU .Set (0 )
196
- arm .AsmFull (`
197
- dsb 0xF
198
- isb 0xF
199
- ` , nil )
190
+ arm .Asm ("dsb 0xF" )
191
+ arm .Asm ("isb 0xF" )
200
192
SystemControl .CCR .SetBits (SCB_CCR_IC_Msk )
201
- arm .AsmFull (`
202
- dsb 0xF
203
- isb 0xF
204
- ` , nil )
193
+ arm .Asm ("dsb 0xF" )
194
+ arm .Asm ("isb 0xF" )
205
195
} else {
206
- arm .AsmFull (`
207
- dsb 0xF
208
- isb 0xF
209
- ` , nil )
196
+ arm .Asm ("dsb 0xF" )
197
+ arm .Asm ("isb 0xF" )
210
198
SystemControl .CCR .ClearBits (SCB_CCR_IC_Msk )
211
199
SystemControl .ICIALLU .Set (0 )
212
- arm .AsmFull (`
213
- dsb 0xF
214
- isb 0xF
215
- ` , nil )
200
+ arm .Asm ("dsb 0xF" )
201
+ arm .Asm ("isb 0xF" )
216
202
}
217
203
}
218
204
}
@@ -227,9 +213,7 @@ func enableDcache(enable bool) {
227
213
if enable != SystemControl .CCR .HasBits (SCB_CCR_DC_Msk ) {
228
214
if enable {
229
215
SystemControl .CSSELR .Set (0 )
230
- arm .AsmFull (`
231
- dsb 0xF
232
- ` , nil )
216
+ arm .Asm ("dsb 0xF" )
233
217
ccsidr := SystemControl .CCSIDR .Get ()
234
218
sets := (ccsidr & SCB_CCSIDR_NUMSETS_Msk ) >> SCB_CCSIDR_NUMSETS_Pos
235
219
for sets != 0 {
@@ -242,23 +226,15 @@ func enableDcache(enable bool) {
242
226
}
243
227
sets --
244
228
}
245
- arm .AsmFull (`
246
- dsb 0xF
247
- ` , nil )
229
+ arm .Asm ("dsb 0xF" )
248
230
SystemControl .CCR .SetBits (SCB_CCR_DC_Msk )
249
- arm .AsmFull (`
250
- dsb 0xF
251
- isb 0xF
252
- ` , nil )
231
+ arm .Asm ("dsb 0xF" )
232
+ arm .Asm ("isb 0xF" )
253
233
} else {
254
234
SystemControl .CSSELR .Set (0 )
255
- arm .AsmFull (`
256
- dsb 0xF
257
- ` , nil )
235
+ arm .Asm ("dsb 0xF" )
258
236
SystemControl .CCR .ClearBits (SCB_CCR_DC_Msk )
259
- arm .AsmFull (`
260
- dsb 0xF
261
- ` , nil )
237
+ arm .Asm ("dsb 0xF" )
262
238
dcacheCcsidr .Set (SystemControl .CCSIDR .Get ())
263
239
dcacheSets .Set ((dcacheCcsidr .Get () & SCB_CCSIDR_NUMSETS_Msk ) >> SCB_CCSIDR_NUMSETS_Pos )
264
240
for dcacheSets .Get () != 0 {
@@ -271,10 +247,8 @@ func enableDcache(enable bool) {
271
247
}
272
248
dcacheSets .Set (dcacheSets .Get () - 1 )
273
249
}
274
- arm .AsmFull (`
275
- dsb 0xF
276
- isb 0xF
277
- ` , nil )
250
+ arm .Asm ("dsb 0xF" )
251
+ arm .Asm ("isb 0xF" )
278
252
}
279
253
}
280
254
}
0 commit comments