Port: Stricter port bind/unbind semantics
Review Request #1359 - Created Aug. 20, 2012 and submitted
| Information | |
|---|---|
| Andreas Hansson | |
| gem5 | |
| default | |
| Reviewers | |
| Default | |
Changeset 9157:e5872950c9a3 --------------------------- Port: Stricter port bind/unbind semantics This patch tightens up the semantics around port binding and checks that the ports that are being bound are currently not connected, and similarly connected before unbind is called. The patch consequently also changes the order of the unbind and bind for the switching of CPUs to ensure that the rules are adhered to. Previously the ports would be "over-written" without any check. There are no changes in behaviour due to this patch, and the only place where the unbind functionality is used is in the CPU.
Ran a simple se and fs simulation and created and restored from checkpoints for both.
Ship It!
Posted (Aug. 23, 2012, 4:44 a.m.)
-
src/cpu/base.cc (Diff revision 1) -
Actually, thinking about this, is this necessary? If I want to have the two sets of CPUs have their own caches/TLBs and maintain their connections even when switched out, this assert will fail. Whereas with the check for a connection, this code will assume the new CPU already has a cache, or something connected to it, and function properly. I guess it depends on what we want this functionality to do, if it's strictly for fast-forwarding then this is probably correct.
Ship It!
