feat: implement privileged mode support
This commit is contained in:
@@ -20,7 +20,7 @@ endif
|
||||
SBT = env SBT_OPTS="-Dsbt.boot.directory=/tmp/sbt-boot -Dsbt.ivy.home=/tmp/sbt-ivy" COURSIER_CACHE=/tmp/coursier-cache sbt
|
||||
|
||||
CHISEL_DIR = ../..
|
||||
OOO ?= 0
|
||||
OOO ?= 1
|
||||
ifeq ($(OOO),1)
|
||||
RUN_MAIN = CoreOoO
|
||||
GENERATED_DIR = $(CHISEL_DIR)/generated-ooo
|
||||
|
||||
@@ -206,7 +206,8 @@ int main(int argc, char** argv) {
|
||||
core->rootp->Core__DOT__frontend__DOT__icache__DOT__missAddr,
|
||||
(unsigned)core->rootp->Core__DOT__fetchValid,
|
||||
(unsigned)core->rootp->Core__DOT__fetchReady,
|
||||
(unsigned)core->rootp->Core__DOT___frontend_io_outValid,
|
||||
(unsigned)(core->rootp->Core__DOT__frontend__DOT__faultPending |
|
||||
core->rootp->Core__DOT__frontend__DOT___icache_io_respValid),
|
||||
(unsigned)core->rootp->Core__DOT__backend__DOT___issue_io_inReady_0,
|
||||
(unsigned)core->rootp->Core__DOT__backend__DOT__rename__DOT__rob__DOT__count,
|
||||
(unsigned)core->rootp->Core__DOT__backend__DOT__issue__DOT__queue__DOT__intRs__DOT__freeMask,
|
||||
@@ -255,18 +256,16 @@ int main(int argc, char** argv) {
|
||||
(unsigned)core->rootp->Core__DOT__backend__DOT__issue__DOT__queue__DOT__intRs__DOT__issue0OH,
|
||||
(unsigned)core->rootp->Core__DOT__backend__DOT__issue__DOT__queue__DOT__intRs__DOT__issue1OH);
|
||||
fprintf(stderr,
|
||||
"complete: valid=%u/%u idx0=%u exc=%u/%u mis=%u/%u cause=0x%lx/0x%lx redirect=0x%lx/0x%lx\n",
|
||||
(unsigned)core->rootp->Core__DOT__backend__DOT____Vcellinp__rename__io_completeValid_0,
|
||||
(unsigned)core->rootp->Core__DOT__backend__DOT____Vcellinp__rename__io_completeValid_1,
|
||||
(unsigned)core->rootp->Core__DOT__backend__DOT____Vcellinp__rename__io_completeIdx_0,
|
||||
(unsigned)core->rootp->Core__DOT__backend__DOT____Vcellinp__rename__io_completeException_0,
|
||||
(unsigned)core->rootp->Core__DOT__backend__DOT____Vcellinp__rename__io_completeException_1,
|
||||
(unsigned)core->rootp->Core__DOT__backend__DOT____Vcellinp__rename__io_completeMispredict_0,
|
||||
(unsigned)core->rootp->Core__DOT__backend__DOT____Vcellinp__rename__io_completeMispredict_1,
|
||||
(uint64_t)core->rootp->Core__DOT__backend__DOT____Vcellinp__rename__io_completeCause_0,
|
||||
(uint64_t)core->rootp->Core__DOT__backend__DOT____Vcellinp__rename__io_completeCause_1,
|
||||
(uint64_t)core->rootp->Core__DOT__backend__DOT____Vcellinp__rename__io_completeRedirectPc_0,
|
||||
(uint64_t)core->rootp->Core__DOT__backend__DOT____Vcellinp__rename__io_completeRedirectPc_1);
|
||||
"complete: valid=%u/%u idx0=%u exc=%u/%u cause=0x%lx/0x%lx redirect=0x%lx/0x%lx\n",
|
||||
(unsigned)core->rootp->Core__DOT__backend__DOT__completeValid_0,
|
||||
(unsigned)core->rootp->Core__DOT__backend__DOT__completeValid_1,
|
||||
(unsigned)core->rootp->Core__DOT__backend__DOT__completeIdx_0,
|
||||
(unsigned)core->rootp->Core__DOT__backend__DOT__completeException_0,
|
||||
(unsigned)core->rootp->Core__DOT__backend__DOT__completeException_1,
|
||||
(uint64_t)core->rootp->Core__DOT__backend__DOT__completeCause_0,
|
||||
(uint64_t)core->rootp->Core__DOT__backend__DOT__completeCause_1,
|
||||
(uint64_t)core->rootp->Core__DOT__backend__DOT__completeRedirectPc_0,
|
||||
(uint64_t)core->rootp->Core__DOT__backend__DOT__completeRedirectPc_1);
|
||||
exit_code = 2;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user