mem: Signal the local monitor when clearing the global monitor
authorNikos Nikoleris <nikos.nikoleris@arm.com>
Tue, 13 Jun 2017 10:14:00 +0000 (11:14 +0100)
committerNikos Nikoleris <nikos.nikoleris@arm.com>
Fri, 13 Oct 2017 08:41:08 +0000 (08:41 +0000)
commitb10a0092aecbc6927e9a2336188615ed97614fd0
treed566b7e712bb7573de3aee0599d9ea5f5c1e4127
parent64b8feeb0e70c7e138d7e9485ccacb7fd39ae044
mem: Signal the local monitor when clearing the global monitor

ARM systems require the coordination of the global and local
monitors. When the system is run without caches the global monitor is
implemented in the abstract memory object. This change adds a callback
from the abstract memory that notifies the local monitor when the
global monitor is cleared.

Additionally, for ARM systems the local monitor signals the event
register and wakes the thread context up. Subsequent wait-for-event
(WFE) instructions will be immediately signaled.

Change-Id: If6c038f3a6bea7239ba4258f07f39c7f9a30500b
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/3760
Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
src/arch/alpha/locked_mem.hh
src/arch/arm/locked_mem.hh
src/arch/generic/locked_mem.hh [new file with mode: 0644]
src/arch/mips/locked_mem.hh
src/arch/null/locked_mem.hh [new file with mode: 0644]
src/arch/power/locked_mem.hh
src/arch/riscv/locked_mem.hh
src/arch/sparc/locked_mem.hh
src/arch/x86/locked_mem.hh
src/mem/abstract_mem.cc