arch-riscv: fatal_if the process run without SU modes
Change-Id: Ifce7eec6cea10881964c29d206a92f3d10271de6
This commit is contained in:
@@ -106,6 +106,10 @@ RiscvProcess64::initState()
|
||||
tc->setMiscRegNoEffect(MISCREG_PRV, PRV_U);
|
||||
auto *isa = dynamic_cast<ISA*>(tc->getIsaPtr());
|
||||
fatal_if(isa->rvType() != RV64, "RISC V CPU should run in 64 bits mode");
|
||||
MISA misa = tc->readMiscRegNoEffect(MISCREG_ISA);
|
||||
fatal_if(!(misa.rvu && misa.rvs),
|
||||
"RISC V SE mode can't run without supervisor and user "
|
||||
"privilege modes.");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,6 +124,10 @@ RiscvProcess32::initState()
|
||||
tc->setMiscRegNoEffect(MISCREG_PRV, PRV_U);
|
||||
auto *isa = dynamic_cast<ISA*>(tc->getIsaPtr());
|
||||
fatal_if(isa->rvType() != RV32, "RISC V CPU should run in 32 bits mode");
|
||||
MISA misa = tc->readMiscRegNoEffect(MISCREG_ISA);
|
||||
fatal_if(!(misa.rvu && misa.rvs),
|
||||
"RISC V SE mode can't run without supervisor and user "
|
||||
"privilege modes.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user