Skip to content

Commit 166717d

Browse files
committed
probe: mpu_ctrl
1 parent 91e6cf9 commit 166717d

File tree

1 file changed

+90
-72
lines changed

1 file changed

+90
-72
lines changed

cmd/probe/src/lib.rs

Lines changed: 90 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -473,86 +473,104 @@ fn probecmd(context: &mut humility::ExecutionContext) -> Result<()> {
473473
dscsr.set_sbrselen(true);
474474
dscsr.write(core)?;
475475

476-
let mpu_type = MPU_TYPE::read(core)?;
477-
print("MPU_S_TYPE", format!("0x{:x}", mpu_type.0));
478-
479-
if mpu_type.dregion() > 0 {
480-
let mpu_mair0 = MPU_MAIR0::read(core)?;
481-
humility::msg!(
482-
"{:>12} => 0x{:8}",
483-
"MPU_S_MAIR0",
484-
format!("{:x}", mpu_mair0.0)
485-
);
486-
487-
let mpu_mair1 = MPU_MAIR1::read(core)?;
488-
humility::msg!(
489-
"{:>12} => 0x{:8}",
490-
"MPU_S_MAIR1",
491-
format!("{:x}", mpu_mair1.0)
492-
);
493-
}
494-
495-
for rnr in 0..mpu_type.dregion() {
496-
let mut mpu_rnr = MPU_RNR(0);
497-
mpu_rnr.set_region(rnr);
498-
mpu_rnr.write(core)?;
499-
500-
let mpu_rbar = MPU_RBAR::read(core)?;
501-
humility::msg!(
502-
"{:>12} => 0x{:8}",
503-
format!("MPU_S_RBAR{}", rnr),
504-
format!("{:x}", mpu_rbar.0)
505-
);
476+
{
477+
let mpu_type = MPU_TYPE::read(core)?;
478+
print("MPU_S_TYPE", format!("0x{:x}", mpu_type.0));
479+
480+
if mpu_type.dregion() > 0 {
481+
let mpu_ctrl = MPU_CTRL::read(core)?;
482+
humility::msg!(
483+
"{:>12} => 0x{:8}",
484+
"MPU_S_CTRL",
485+
format!("{:x}", mpu_ctrl.0)
486+
);
487+
488+
let mpu_mair0 = MPU_MAIR0::read(core)?;
489+
humility::msg!(
490+
"{:>12} => 0x{:8}",
491+
"MPU_S_MAIR0",
492+
format!("{:x}", mpu_mair0.0)
493+
);
494+
495+
let mpu_mair1 = MPU_MAIR1::read(core)?;
496+
humility::msg!(
497+
"{:>12} => 0x{:8}",
498+
"MPU_S_MAIR1",
499+
format!("{:x}", mpu_mair1.0)
500+
);
501+
}
506502

507-
let mpu_rlar = MPU_RLAR::read(core)?;
508-
humility::msg!(
509-
"{:>12} => 0x{:8}",
510-
format!("MPU_S_RLAR{}", rnr),
511-
format!("{:x}", mpu_rlar.0)
512-
);
503+
for rnr in 0..mpu_type.dregion() {
504+
let mut mpu_rnr = MPU_RNR(0);
505+
mpu_rnr.set_region(rnr);
506+
mpu_rnr.write(core)?;
507+
508+
let mpu_rbar = MPU_RBAR::read(core)?;
509+
humility::msg!(
510+
"{:>12} => 0x{:8}",
511+
format!("MPU_S_RBAR{}", rnr),
512+
format!("{:x}", mpu_rbar.0)
513+
);
514+
515+
let mpu_rlar = MPU_RLAR::read(core)?;
516+
humility::msg!(
517+
"{:>12} => 0x{:8}",
518+
format!("MPU_S_RLAR{}", rnr),
519+
format!("{:x}", mpu_rlar.0)
520+
);
521+
}
513522
}
514523

515524
// Now switch to the Non-Secure versions
516525
dscsr.set_sbrsel(false);
517526
dscsr.write(core)?;
518527

519-
let mpu_type = MPU_TYPE::read(core)?;
520-
print("MPU_NS_TYPE", format!("0x{:x}", mpu_type.0));
521-
522-
if mpu_type.dregion() > 0 {
523-
let mpu_mair0 = MPU_MAIR0::read(core)?;
524-
humility::msg!(
525-
"{:>12} => 0x{:8}",
526-
"MPU_NS_MAIR0",
527-
format!("{:x}", mpu_mair0.0)
528-
);
529-
530-
let mpu_mair1 = MPU_MAIR1::read(core)?;
531-
humility::msg!(
532-
"{:>12} => 0x{:8}",
533-
"MPU_NS_MAIR1",
534-
format!("{:x}", mpu_mair1.0)
535-
);
536-
}
537-
538-
for rnr in 0..mpu_type.dregion() {
539-
let mut mpu_rnr = MPU_RNR(0);
540-
mpu_rnr.set_region(rnr);
541-
mpu_rnr.write(core)?;
542-
543-
let mpu_rbar = MPU_RBAR::read(core)?;
544-
humility::msg!(
545-
"{:>12} => 0x{:8}",
546-
format!("MPU_NS_RBAR{}", rnr),
547-
format!("{:x}", mpu_rbar.0)
548-
);
528+
{
529+
let mpu_type = MPU_TYPE::read(core)?;
530+
print("MPU_NS_TYPE", format!("0x{:x}", mpu_type.0));
531+
532+
if mpu_type.dregion() > 0 {
533+
let mpu_ctrl = MPU_CTRL::read(core)?;
534+
humility::msg!(
535+
"{:>12} => 0x{:8}",
536+
"MPU_S_CTRL",
537+
format!("{:x}", mpu_ctrl.0)
538+
);
539+
540+
let mpu_mair0 = MPU_MAIR0::read(core)?;
541+
humility::msg!(
542+
"{:>12} => 0x{:8}",
543+
"MPU_NS_MAIR0",
544+
format!("{:x}", mpu_mair0.0)
545+
);
546+
547+
let mpu_mair1 = MPU_MAIR1::read(core)?;
548+
humility::msg!(
549+
"{:>12} => 0x{:8}",
550+
"MPU_NS_MAIR1",
551+
format!("{:x}", mpu_mair1.0)
552+
);
553+
}
549554

550-
let mpu_rlar = MPU_RLAR::read(core)?;
551-
humility::msg!(
552-
"{:>12} => 0x{:8}",
553-
format!("MPU_NS_RLAR{}", rnr),
554-
format!("{:x}", mpu_rlar.0)
555-
);
555+
for rnr in 0..mpu_type.dregion() {
556+
let mut mpu_rnr = MPU_RNR(0);
557+
mpu_rnr.set_region(rnr);
558+
mpu_rnr.write(core)?;
559+
560+
let mpu_rbar = MPU_RBAR::read(core)?;
561+
humility::msg!(
562+
"{:>12} => 0x{:8}",
563+
format!("MPU_NS_RBAR{}", rnr),
564+
format!("{:x}", mpu_rbar.0)
565+
);
566+
567+
let mpu_rlar = MPU_RLAR::read(core)?;
568+
humility::msg!(
569+
"{:>12} => 0x{:8}",
570+
format!("MPU_NS_RLAR{}", rnr),
571+
format!("{:x}", mpu_rlar.0)
572+
);
573+
}
556574
}
557575

558576
// Finally, switch back to current security domain versions

0 commit comments

Comments
 (0)