mem: implement ThreadBridge

ThreadBridge is used for communication between two SimObjects from
different threads (EventQueue).

Change-Id: I3e00df9184404599dfacef64b505cd0b64ee46aa
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/65071
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Reviewed-by: Yu-hsin Wang <yuhsingw@google.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Earl Ou
2022-10-27 22:40:00 -07:00
parent 3ab6a7496b
commit 6fd2a64656
4 changed files with 271 additions and 0 deletions

View File

@@ -67,6 +67,7 @@ SimObject('HMCController.py', sim_objects=['HMCController'])
SimObject('SerialLink.py', sim_objects=['SerialLink'])
SimObject('MemDelay.py', sim_objects=['MemDelay', 'SimpleMemDelay'])
SimObject('PortTerminator.py', sim_objects=['PortTerminator'])
SimObject('ThreadBridge.py', sim_objects=['ThreadBridge'])
Source('abstract_mem.cc')
Source('addr_mapper.cc')
@@ -93,6 +94,7 @@ Source('simple_mem.cc')
Source('snoop_filter.cc')
Source('stack_dist_calc.cc')
Source('sys_bridge.cc')
Source('thread_bridge.cc')
Source('token_port.cc')
Source('tport.cc')
Source('xbar.cc')