mem: Add Request factory method for memory management command
This should be used to construct memory management Requests
(Not requiring an address nor a size)
Change-Id: Id1b6f1032c1390210a216cd77c7dd0cec14e962f
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/58357
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
diff --git a/src/mem/request.hh b/src/mem/request.hh
index 9f02c53..3d097a4 100644
--- a/src/mem/request.hh
+++ b/src/mem/request.hh
@@ -523,6 +523,22 @@
~Request() {}
/**
+ * Factory method for creating memory management requests, with
+ * unspecified addr and size.
+ */
+ static RequestPtr
+ createMemManagement(Flags flags, RequestorID id)
+ {
+ auto mgmt_req = std::make_shared<Request>();
+ mgmt_req->_flags.set(flags);
+ mgmt_req->_requestorId = id;
+ mgmt_req->_time = curTick();
+
+ assert(mgmt_req->isMemMgmt());
+ return mgmt_req;
+ }
+
+ /**
* Set up Context numbers.
*/
void