summaryrefslogtreecommitdiff
path: root/configs
diff options
context:
space:
mode:
authorSteve Reinhardt <stever@eecs.umich.edu>2006-06-13 23:19:28 -0400
committerSteve Reinhardt <stever@eecs.umich.edu>2006-06-13 23:19:28 -0400
commite981a97dec3df921f3800fd9ae5ec01ed4e9d2b1 (patch)
treeafca175c8609437088ebb8ca6635134b87e6cf32 /configs
parent285b88a57b0111cc6698f2e30182dca17d8ea15a (diff)
downloadgem5-e981a97dec3df921f3800fd9ae5ec01ed4e9d2b1.tar.xz
Move SimObject creation and Port connection loops
into Python. Add Port and VectorPort objects and support for specifying port connections via assignment. The whole C++ ConfigNode hierarchy is gone now, as are C++ Connector objects. configs/test/fs.py: configs/test/test.py: Rewrite for new port connector syntax. src/SConscript: Remove unneeded files: - mem/connector.* - sim/config* src/dev/io_device.hh: src/mem/bridge.cc: src/mem/bridge.hh: src/mem/bus.cc: src/mem/bus.hh: src/mem/mem_object.hh: src/mem/physical.cc: src/mem/physical.hh: Allow getPort() to take an optional index to support vector ports (eventually). src/python/m5/__init__.py: Move SimObject construction and port connection operations into Python (with C++ calls). src/python/m5/config.py: Move SimObject construction and port connection operations into Python (with C++ calls). Add support for declaring and connecting MemObject ports in Python. src/python/m5/objects/Bus.py: src/python/m5/objects/PhysicalMemory.py: Add port declaration. src/sim/builder.cc: src/sim/builder.hh: src/sim/serialize.cc: src/sim/serialize.hh: ConfigNodes are gone; builder just gets the name of a .ini file section now. src/sim/main.cc: Move SimObject construction and port connection operations into Python (with C++ calls). Split remaining initialization operations into two parts, loadIniFile() and finalInit(). src/sim/param.cc: src/sim/param.hh: SimObject resolution done globally in Python now (not via ConfigNode hierarchy). src/sim/sim_object.cc: Remove unneeded #include. --HG-- extra : convert_revision : 2fa4001eaaec0c9a4231ef6e854f8e156d930dfe
Diffstat (limited to 'configs')
-rw-r--r--configs/test/fs.py64
-rw-r--r--configs/test/test.py2
2 files changed, 33 insertions, 33 deletions
diff --git a/configs/test/fs.py b/configs/test/fs.py
index 55e7003a4..333a4dfaf 100644
--- a/configs/test/fs.py
+++ b/configs/test/fs.py
@@ -154,40 +154,40 @@ class LinuxAlphaSystem(LinuxAlphaSystem):
magicbus2 = Bus(bus_id=1)
bridge = Bridge()
physmem = PhysicalMemory(range = AddrRange('128MB'))
- c0a = Connector(side_a=Parent.magicbus, side_b=Parent.bridge, side_b_name="side_a")
- c0b = Connector(side_a=Parent.magicbus2, side_b=Parent.bridge, side_b_name="side_b")
+ bridge.side_a = magicbus
+ bridge.side_b = magicbus2
c1 = Connector(side_a=Parent.physmem, side_b=Parent.magicbus2)
tsunami = LinuxTsunami()
- c2 = Connector(side_a=Parent.tsunami.cchip, side_a_name='pio', side_b=Parent.magicbus)
- c3 = Connector(side_a=Parent.tsunami.pchip, side_a_name='pio', side_b=Parent.magicbus)
- c4 = Connector(side_a=Parent.tsunami.pciconfig, side_a_name='pio', side_b=Parent.magicbus)
- c5 = Connector(side_a=Parent.tsunami.fake_sm_chip, side_a_name='pio', side_b=Parent.magicbus)
- c6 = Connector(side_a=Parent.tsunami.ethernet, side_a_name='pio', side_b=Parent.magicbus)
- c6a = Connector(side_a=Parent.tsunami.ethernet, side_a_name='dma', side_b=Parent.magicbus)
- c7 = Connector(side_a=Parent.tsunami.fake_uart1, side_a_name='pio', side_b=Parent.magicbus)
- c8 = Connector(side_a=Parent.tsunami.fake_uart2, side_a_name='pio', side_b=Parent.magicbus)
- c9 = Connector(side_a=Parent.tsunami.fake_uart3, side_a_name='pio', side_b=Parent.magicbus)
- c10 = Connector(side_a=Parent.tsunami.fake_uart4, side_a_name='pio', side_b=Parent.magicbus)
- c11 = Connector(side_a=Parent.tsunami.ide, side_a_name='pio', side_b=Parent.magicbus)
- c13 = Connector(side_a=Parent.tsunami.ide, side_a_name='dma', side_b=Parent.magicbus)
- c12 = Connector(side_a=Parent.tsunami.fake_ppc, side_a_name='pio', side_b=Parent.magicbus)
- c14 = Connector(side_a=Parent.tsunami.fake_OROM, side_a_name='pio', side_b=Parent.magicbus)
- c16 = Connector(side_a=Parent.tsunami.fake_pnp_addr, side_a_name='pio', side_b=Parent.magicbus)
- c17 = Connector(side_a=Parent.tsunami.fake_pnp_write, side_a_name='pio', side_b=Parent.magicbus)
- c18 = Connector(side_a=Parent.tsunami.fake_pnp_read0, side_a_name='pio', side_b=Parent.magicbus)
- c19 = Connector(side_a=Parent.tsunami.fake_pnp_read1, side_a_name='pio', side_b=Parent.magicbus)
- c20 = Connector(side_a=Parent.tsunami.fake_pnp_read2, side_a_name='pio', side_b=Parent.magicbus)
- c21 = Connector(side_a=Parent.tsunami.fake_pnp_read3, side_a_name='pio', side_b=Parent.magicbus)
- c22 = Connector(side_a=Parent.tsunami.fake_pnp_read4, side_a_name='pio', side_b=Parent.magicbus)
- c23 = Connector(side_a=Parent.tsunami.fake_pnp_read5, side_a_name='pio', side_b=Parent.magicbus)
- c24 = Connector(side_a=Parent.tsunami.fake_pnp_read6, side_a_name='pio', side_b=Parent.magicbus)
- c25 = Connector(side_a=Parent.tsunami.fake_pnp_read7, side_a_name='pio', side_b=Parent.magicbus)
- c27 = Connector(side_a=Parent.tsunami.fake_ata0, side_a_name='pio', side_b=Parent.magicbus)
- c28 = Connector(side_a=Parent.tsunami.fake_ata1, side_a_name='pio', side_b=Parent.magicbus)
- c30 = Connector(side_a=Parent.tsunami.fb, side_a_name='pio', side_b=Parent.magicbus)
- c31 = Connector(side_a=Parent.tsunami.io, side_a_name='pio', side_b=Parent.magicbus)
- c32 = Connector(side_a=Parent.tsunami.uart, side_a_name='pio', side_b=Parent.magicbus)
- c33 = Connector(side_a=Parent.tsunami.console, side_a_name='pio', side_b=Parent.magicbus)
+ tsunami.cchip.pio = magicbus
+ tsunami.pchip.pio = magicbus
+ tsunami.pciconfig.pio = magicbus
+ tsunami.fake_sm_chip.pio = magicbus
+ tsunami.ethernet.pio = magicbus
+ tsunami.ethernet.dma = magicbus
+ tsunami.fake_uart1.pio = magicbus
+ tsunami.fake_uart2.pio = magicbus
+ tsunami.fake_uart3.pio = magicbus
+ tsunami.fake_uart4.pio = magicbus
+ tsunami.ide.pio = magicbus
+ tsunami.ide.dma = magicbus
+ tsunami.fake_ppc.pio = magicbus
+ tsunami.fake_OROM.pio = magicbus
+ tsunami.fake_pnp_addr.pio = magicbus
+ tsunami.fake_pnp_write.pio = magicbus
+ tsunami.fake_pnp_read0.pio = magicbus
+ tsunami.fake_pnp_read1.pio = magicbus
+ tsunami.fake_pnp_read2.pio = magicbus
+ tsunami.fake_pnp_read3.pio = magicbus
+ tsunami.fake_pnp_read4.pio = magicbus
+ tsunami.fake_pnp_read5.pio = magicbus
+ tsunami.fake_pnp_read6.pio = magicbus
+ tsunami.fake_pnp_read7.pio = magicbus
+ tsunami.fake_ata0.pio = magicbus
+ tsunami.fake_ata1.pio = magicbus
+ tsunami.fb.pio = magicbus
+ tsunami.io.pio = magicbus
+ tsunami.uart.pio = magicbus
+ tsunami.console.pio = magicbus
raw_image = RawDiskImage(image_file=disk('linux-latest.img'),
read_only=True)
simple_disk = SimpleDisk(disk=Parent.raw_image)
diff --git a/configs/test/test.py b/configs/test/test.py
index 2ece9e675..ae85af112 100644
--- a/configs/test/test.py
+++ b/configs/test/test.py
@@ -41,7 +41,7 @@ cpu.workload = process
cpu.mem = magicbus
system = System(physmem = mem, cpu = cpu)
-system.c1 = Connector(side_a = mem, side_b = magicbus)
+mem.port = magicbus.port
root = Root(system = system)
# instantiate configuration