a736a8fab6
objects/AlphaConsole.mpy: objects/AlphaTLB.mpy: objects/BadDevice.mpy: objects/BaseCPU.mpy: objects/BaseCache.mpy: objects/BaseSystem.mpy: objects/Bus.mpy: objects/CoherenceProtocol.mpy: objects/Device.mpy: objects/DiskImage.mpy: objects/Ethernet.mpy: objects/Ide.mpy: objects/IntrControl.mpy: objects/MemTest.mpy: objects/Pci.mpy: objects/PhysicalMemory.mpy: objects/Platform.mpy: objects/Process.mpy: objects/Repl.mpy: objects/Root.mpy: objects/SimConsole.mpy: objects/SimpleDisk.mpy: objects/Tsunami.mpy: objects/Uart.mpy: simobj now requires a type= line if it is actually intended to be a type sim/pyconfig/SConscript: keep track of the filename of embedded files for better error messages. sim/pyconfig/m5config.py: Add support for the trickery done with the compiler to get the simobj language feature added to the importer. fix the bug that gave objects the wrong name in error messages. test/genini.py: Globals have been fixed and use execfile --HG-- extra : convert_revision : b74495fd6f3479a87ecea7f1234ebb6731279b2b
33 lines
1.1 KiB
Text
33 lines
1.1 KiB
Text
from FunctionalMemory import FunctionalMemory
|
|
|
|
# This device exists only because there are some devices that I don't
|
|
# want to have a Platform parameter because it would cause a cycle in
|
|
# the C++ that cannot be easily solved.
|
|
#
|
|
# The real solution to this problem is to pass the ParamXXX structure
|
|
# to the constructor, but with the express condition that SimObject
|
|
# parameter values are not to be available at construction time. If
|
|
# some further configuration must be done, it must be done during the
|
|
# initialization phase at which point all SimObject pointers will be
|
|
# valid.
|
|
simobj FooPioDevice(FunctionalMemory):
|
|
type = 'PioDevice'
|
|
abstract = True
|
|
addr = Param.Addr("Device Address")
|
|
mmu = Param.MemoryController(Super, "Memory Controller")
|
|
io_bus = Param.Bus(NULL, "The IO Bus to attach to")
|
|
pio_latency = Param.Tick(1, "Programmed IO latency in bus cycles")
|
|
|
|
simobj FooDmaDevice(FooPioDevice):
|
|
type = 'DmaDevice'
|
|
abstract = True
|
|
|
|
simobj PioDevice(FooPioDevice):
|
|
type = 'PioDevice'
|
|
abstract = True
|
|
platform = Param.Platform(Super, "Platform")
|
|
|
|
simobj DmaDevice(PioDevice):
|
|
type = 'DmaDevice'
|
|
abstract = True
|
|
|