Port: Stricter port bind/unbind semantics
authorAndreas Hansson <andreas.hansson@arm.com>
Tue, 28 Aug 2012 18:30:27 +0000 (14:30 -0400)
committerAndreas Hansson <andreas.hansson@arm.com>
Tue, 28 Aug 2012 18:30:27 +0000 (14:30 -0400)
commitd14e5857c7e1ee053fb4eb448c4776d7c985c5b2
treee57462955190d314ee97fbe7c3a3a53178aa5148
parentfb5dd28420d6cebdf4f12a095c3aa32cd5611ed9
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.
src/cpu/base.cc
src/mem/port.cc
src/mem/port.hh