修改csr的status掩码
This commit is contained in:
parent
b16eff1ba7
commit
e37a05f5db
|
@ -108,7 +108,6 @@ class Tlb extends Module with HasTlbConst with HasCSRConst {
|
||||||
|
|
||||||
// 使用随机的方法替换TLB条目
|
// 使用随机的方法替换TLB条目
|
||||||
val replace_index = new Counter(cpuConfig.tlbEntries)
|
val replace_index = new Counter(cpuConfig.tlbEntries)
|
||||||
replace_index.inc()
|
|
||||||
|
|
||||||
val ipage_fault = RegInit(false.B)
|
val ipage_fault = RegInit(false.B)
|
||||||
val dpage_fault = RegInit(false.B)
|
val dpage_fault = RegInit(false.B)
|
||||||
|
@ -248,6 +247,7 @@ class Tlb extends Module with HasTlbConst with HasCSRConst {
|
||||||
replace_entry.pteaddr := io.dcache.ptw.pte.bits.addr
|
replace_entry.pteaddr := io.dcache.ptw.pte.bits.addr
|
||||||
tlbl2(replace_index.value) := replace_entry
|
tlbl2(replace_index.value) := replace_entry
|
||||||
itlb := replace_entry
|
itlb := replace_entry
|
||||||
|
replace_index.inc()
|
||||||
immu_state := search_l1
|
immu_state := search_l1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -343,6 +343,7 @@ class Tlb extends Module with HasTlbConst with HasCSRConst {
|
||||||
replace_entry.pteaddr := io.dcache.ptw.pte.bits.addr
|
replace_entry.pteaddr := io.dcache.ptw.pte.bits.addr
|
||||||
tlbl2(replace_index.value) := replace_entry
|
tlbl2(replace_index.value) := replace_entry
|
||||||
dtlb := replace_entry
|
dtlb := replace_entry
|
||||||
|
replace_index.inc()
|
||||||
dmmu_state := search_l1
|
dmmu_state := search_l1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -125,8 +125,8 @@ class Csr(implicit val cpuConfig: CpuConfig) extends Module with HasCSRConst {
|
||||||
|
|
||||||
// Supervisor Trap Setup
|
// Supervisor Trap Setup
|
||||||
// sstatus 状态寄存器,源自mstatus
|
// sstatus 状态寄存器,源自mstatus
|
||||||
val sstatusWmask = "hc6122".U(XLEN.W)
|
val sstatusWmask = "h00000000000c0122".U(XLEN.W)
|
||||||
val sstatusRmask = sstatusWmask | "h8000000300018000".U
|
val sstatusRmask = "h80000000000de762".U(XLEN.W)
|
||||||
// sedeleg 异常代理寄存器,未实现
|
// sedeleg 异常代理寄存器,未实现
|
||||||
// sideleg 中断代理寄存器,未实现
|
// sideleg 中断代理寄存器,未实现
|
||||||
// sie 中断使能寄存器,源自mie
|
// sie 中断使能寄存器,源自mie
|
||||||
|
@ -178,8 +178,8 @@ class Csr(implicit val cpuConfig: CpuConfig) extends Module with HasCSRConst {
|
||||||
|
|
||||||
val mstatus_wmask = Mux(
|
val mstatus_wmask = Mux(
|
||||||
VecInit(ModeM, ModeS, ModeU).contains(wdata.asTypeOf(new Mstatus).mpp),
|
VecInit(ModeM, ModeS, ModeU).contains(wdata.asTypeOf(new Mstatus).mpp),
|
||||||
"h0000000000021888".U(64.W),
|
"h00000000007e19aa".U(64.W),
|
||||||
"h0000000000020088".U(64.W)
|
"h00000000007e01aa".U(64.W)
|
||||||
)
|
)
|
||||||
|
|
||||||
// CSR reg map
|
// CSR reg map
|
||||||
|
|
Loading…
Reference in New Issue