Gabe Black has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/48705 )
Change subject: cpu: Use the newly promoted uReset in the minor CPU.
......................................................................
cpu: Use the newly promoted uReset in the minor CPU.
Rather than use an #if THE_ISA check to see if the CPU can use the
microPC accessirs, this change uses the newly promoted/exposed uReset
for the same purpose.
Jira Issue: https://gem5.atlassian.net/browse/GEM5-1060
Change-Id: I4ac931624a2c8e2bbcd5189a05d9ec174bd03d4a
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/48705
Reviewed-by: Hoa Nguyen <[email protected]>
Maintainer: Gabe Black <[email protected]>
Tested-by: kokoro <[email protected]>
---
M src/cpu/minor/fetch2.cc
1 file changed, 11 insertions(+), 14 deletions(-)
Approvals:
Hoa Nguyen: Looks good to me, approved
Gabe Black: Looks good to me, approved
kokoro: Regressions pass
diff --git a/src/cpu/minor/fetch2.cc b/src/cpu/minor/fetch2.cc
index a28018e..68c1371 100644
--- a/src/cpu/minor/fetch2.cc
+++ b/src/cpu/minor/fetch2.cc
@@ -436,24 +436,21 @@
line_in->lineWidth, output_index,
fetch_info.inputIndex,
fetch_info.pc, *dyn_inst);
-#if THE_ISA == X86_ISA || THE_ISA == ARM_ISA
- /* In SE mode, it's possible to branch to a microop
when
- * replaying faults such as page faults (or simply
- * intra-microcode branches in X86). Unfortunately,
- * as Minor has micro-op decomposition in a separate
- * pipeline stage from instruction decomposition, the
- * following advancePC (which may follow a branch with
- * microPC() != 0) *must* see a fresh macroop. This
- * kludge should be improved with an addition to
PCState
- * but I offer it in this form for the moment
+ /*
+ * In SE mode, it's possible to branch to a microop
when
+ * replaying faults such as page faults (or simply
+ * intra-microcode branches in X86). Unfortunately,
+ * as Minor has micro-op decomposition in a separate
+ * pipeline stage from instruction decomposition, the
+ * following advancePC (which may follow a branch with
+ * microPC() != 0) *must* see a fresh macroop.
*
* X86 can branch within microops so we need to deal
with
* the case that, after a branch, the first
un-advanced PC
* may be pointing to a microop other than 0. Once
- * advanced, however, the microop number *must* be 0 */
- fetch_info.pc.upc(0);
- fetch_info.pc.nupc(1);
-#endif
+ * advanced, however, the microop number *must* be 0
+ */
+ fetch_info.pc.uReset();
/* Advance PC for the next instruction */
decoded_inst->advancePC(fetch_info.pc);
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/48705
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I4ac931624a2c8e2bbcd5189a05d9ec174bd03d4a
Gerrit-Change-Number: 48705
Gerrit-PatchSet: 4
Gerrit-Owner: Gabe Black <[email protected]>
Gerrit-Reviewer: Daniel Carvalho <[email protected]>
Gerrit-Reviewer: Gabe Black <[email protected]>
Gerrit-Reviewer: Giacomo Travaglini <[email protected]>
Gerrit-Reviewer: Hoa Nguyen <[email protected]>
Gerrit-Reviewer: Jason Lowe-Power <[email protected]>
Gerrit-Reviewer: kokoro <[email protected]>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s