summaryrefslogtreecommitdiff
path: root/src/mem/protocol
diff options
context:
space:
mode:
authorBrandon Potter <brandon.potter@amd.com>2018-02-20 13:19:39 -0500
committerAnthony Gutierrez <anthony.gutierrez@amd.com>2018-04-13 20:50:10 +0000
commit8e7fdf4ac460cbfbb373c951a6c7cdae93446241 (patch)
treeca9c1cc33fc35ad22c15d754edffeb6c3bc6a557 /src/mem/protocol
parent862a454677a79360c265126de0c5b7adb8672a8f (diff)
downloadgem5-8e7fdf4ac460cbfbb373c951a6c7cdae93446241.tar.xz
ruby,gpu-compute: bugfix for GPU_VIPER* protocols
12db50c895 changed how directory mapping works, but it seems to have broken the VIPER variants of the GPU protocols. The fix involves declaring the function in the related '.sm' files. Change-Id: I116980d42a4aa648369058b529c9f8d9693eb894 Reviewed-on: https://gem5-review.googlesource.com/8521 Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Anthony Gutierrez <anthony.gutierrez@amd.com>
Diffstat (limited to 'src/mem/protocol')
-rw-r--r--src/mem/protocol/GPU_VIPER-TCC.sm1
-rw-r--r--src/mem/protocol/GPU_VIPER_Region-TCC.sm1
-rw-r--r--src/mem/protocol/MOESI_AMD_Base-Region-dir.sm2
3 files changed, 4 insertions, 0 deletions
diff --git a/src/mem/protocol/GPU_VIPER-TCC.sm b/src/mem/protocol/GPU_VIPER-TCC.sm
index 45477d8d8..f8da4abf1 100644
--- a/src/mem/protocol/GPU_VIPER-TCC.sm
+++ b/src/mem/protocol/GPU_VIPER-TCC.sm
@@ -126,6 +126,7 @@ machine(MachineType:TCC, "TCC Cache")
void wakeUpAllBuffers();
void wakeUpBuffers(Addr a);
+ MachineID mapAddressToMachine(Addr addr, MachineType mtype);
// FUNCTION DEFINITIONS
Tick clockEdge();
diff --git a/src/mem/protocol/GPU_VIPER_Region-TCC.sm b/src/mem/protocol/GPU_VIPER_Region-TCC.sm
index e3243b3e1..04d7b7a6f 100644
--- a/src/mem/protocol/GPU_VIPER_Region-TCC.sm
+++ b/src/mem/protocol/GPU_VIPER_Region-TCC.sm
@@ -131,6 +131,7 @@ machine(MachineType:TCC, "TCC Cache")
void wakeUpAllBuffers();
void wakeUpBuffers(Addr a);
+ MachineID mapAddressToMachine(Addr addr, MachineType mtype);
// FUNCTION DEFINITIONS
diff --git a/src/mem/protocol/MOESI_AMD_Base-Region-dir.sm b/src/mem/protocol/MOESI_AMD_Base-Region-dir.sm
index 02b211892..cc5ceb0b5 100644
--- a/src/mem/protocol/MOESI_AMD_Base-Region-dir.sm
+++ b/src/mem/protocol/MOESI_AMD_Base-Region-dir.sm
@@ -210,6 +210,8 @@ machine(MachineType:Directory, "AMD_Base-like protocol")
void wakeUpBuffers(Addr a);
Cycles curCycle();
+ MachineID mapAddressToMachine(Addr addr, MachineType mtype);
+
Entry getDirectoryEntry(Addr addr), return_by_pointer="yes" {
Entry dir_entry := static_cast(Entry, "pointer", directory.lookup(addr));