gem5/src/dev/alpha
Andreas Hansson 5a9a743cfc MEM: Introduce the master/slave port roles in the Python classes
This patch classifies all ports in Python as either Master or Slave
and enforces a binding of master to slave. Conceptually, a master (such
as a CPU or DMA port) issues requests, and receives responses, and
conversely, a slave (such as a memory or a PIO device) receives
requests and sends back responses. Currently there is no
differentiation between coherent and non-coherent masters and slaves.

The classification as master/slave also involves splitting the dual
role port of the bus into a master and slave port and updating all the
system assembly scripts to use the appropriate port. Similarly, the
interrupt devices have to have their int_port split into a master and
slave port. The intdev and its children have minimal changes to
facilitate the extra port.

Note that this patch does not enforce any port typing in the C++
world, it merely ensures that the Python objects have a notion of the
port roles and are connected in an appropriate manner. This check is
carried when two ports are connected, e.g. bus.master =
memory.port. The following patches will make use of the
classifications and specialise the C++ ports into masters and slaves.
2012-02-13 06:43:09 -05:00
..
access.h style: Remove non-leading tabs everywhere they shouldn't be. Developers should configure their editors to not insert tabs 2008-09-10 14:26:15 -04:00
AlphaBackdoor.py SE/FS: Get rid of FULL_SYSTEM in dev. 2011-11-13 02:05:32 -08:00
backdoor.cc Implement Ali's review feedback. 2012-01-29 02:04:34 -08:00
backdoor.hh SE/FS: Get rid of FULL_SYSTEM in dev. 2011-11-13 02:05:32 -08:00
SConscript SE/FS: Build the devices in SE mode. 2011-09-30 00:28:33 -07:00
tsunami.cc SE/FS: Get rid of FULL_SYSTEM in dev. 2011-11-13 02:05:32 -08:00
tsunami.hh SE/FS: Remove System::platform and Platform::intrFrequency. 2011-09-30 00:29:07 -07:00
Tsunami.py MEM: Introduce the master/slave port roles in the Python classes 2012-02-13 06:43:09 -05:00
tsunami_cchip.cc clang: Enable compiling gem5 using clang 2.9 and 3.0 2012-01-31 12:05:52 -05:00
tsunami_cchip.hh Major changes to how SimObjects are created and initialized. Almost all 2007-07-23 21:51:38 -07:00
tsunami_io.cc clang: Enable compiling gem5 using clang 2.9 and 3.0 2012-01-31 12:05:52 -05:00
tsunami_io.hh includes: sort all includes 2011-04-15 10:44:06 -07:00
tsunami_pchip.cc trace: reimplement the DTRACE function so it doesn't use a vector 2011-04-15 10:44:32 -07:00
tsunami_pchip.hh Devices: Add support for legacy fixed IO locations in BARs. 2009-02-01 00:02:21 -08:00
tsunamireg.h Make mulitple consoles work and be distinguishable from each other 2007-02-13 15:58:06 -05:00