Anouk Van Laer has submitted this change and it was merged. (
https://gem5-review.googlesource.com/c/public/gem5/+/13782 )
Change subject: arch, arm: Return s1Req upon fault in s2Lookup
......................................................................
arch, arm: Return s1Req upon fault in s2Lookup
When a s2Lookup object is created, a new request is created, based
upon the original, stage 1 request sent out by the CPU. When a fault
occurs during the second stage of translation, this new request is
returned. This can lead to issues with the O3 CPU. The O3 fetch stage
will not acknowledge the fault as it is a different request than the
one it sent out and does not contain a contextID. This commit
rectifies this.
Change-Id: I21cb7377a59aed9d90d99f048b2106eaf219e93a
Reviewed-by: Ciro Santilli <ciro.santi...@arm.com>
Reviewed-by: Giacomo Travaglini <giacomo.travagl...@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/13782
Maintainer: Andreas Sandberg <andreas.sandb...@arm.com>
---
M src/arch/arm/stage2_lookup.cc
1 file changed, 3 insertions(+), 2 deletions(-)
Approvals:
Giacomo Travaglini: Looks good to me, approved
Andreas Sandberg: Looks good to me, approved
diff --git a/src/arch/arm/stage2_lookup.cc b/src/arch/arm/stage2_lookup.cc
index e74ec90..b5e1163 100644
--- a/src/arch/arm/stage2_lookup.cc
+++ b/src/arch/arm/stage2_lookup.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010-2013, 2016 ARM Limited
+ * Copyright (c) 2010-2013, 2016, 2018 ARM Limited
* All rights reserved
*
* The license below extends only to copyright in the software and shall
@@ -191,7 +191,8 @@
mergeTe(req, mode);
if (fault != NoFault) {
- transState->finish(fault, req, tc, mode);
+ // Returning with a fault requires the original request
+ transState->finish(fault, s1Req, tc, mode);
} else if (timing) {
// Now notify the original stage 1 translation that we finally have
// a result
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/13782
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I21cb7377a59aed9d90d99f048b2106eaf219e93a
Gerrit-Change-Number: 13782
Gerrit-PatchSet: 2
Gerrit-Owner: Anouk Van Laer <anouk.vanl...@arm.com>
Gerrit-Reviewer: Andreas Sandberg <andreas.sandb...@arm.com>
Gerrit-Reviewer: Anouk Van Laer <anouk.vanl...@arm.com>
Gerrit-Reviewer: Ciro Santilli <ciro.santi...@arm.com>
Gerrit-Reviewer: Giacomo Travaglini <giacomo.travagl...@arm.com>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev