gem5/python/m5/objects
Steve Reinhardt 03a2aca9a9 Changes for Process object initialization in merged-memory environment.
System object now exists for both fullsys and syscall emulation, as the
latter needs it so that Process objects can find the shared PhysicalMemory
for initialization.
Changes are incomplete: still need to fix up Process (& EioProcess) memory
initialization and syscall emulation code for new mem interface.

arch/alpha/alpha_linux_process.cc:
arch/alpha/alpha_linux_process.hh:
arch/alpha/alpha_tru64_process.cc:
arch/alpha/alpha_tru64_process.hh:
cpu/base.cc:
cpu/base.hh:
    Take System argument in constructor.
cpu/exec_context.cc:
    Take System argument in constructor.
    Merge two constructors into a single one.
cpu/exec_context.hh:
    Take System argument in constructor.
    Merge two constructors into a single one.
    Replace dummy translation with lookup in Process object's page table.
python/m5/objects/Process.py:
    Add System parameter to Process object (& subobjects).
python/m5/objects/System.py:
    Segregate full-system only Process parameters (most of them!).
sim/process.cc:
    Take System argument in constructor.
    Move initialization to startup() callback to occur after system & cpus
    are initialized.
    Generate ProxyMemory object to pass to loader for transparent
    virtual page allocation.
sim/process.hh:
    Take System argument in constructor.
    Move initialization to startup() callback to occur after system & cpus
    are initialized.
sim/system.cc:
sim/system.hh:
    Enable System object for non-full-system too.
    Basically involved putting most of the existing code
    inside '#ifdef FULL_SYSTEM'.
    Key thing needed for syscall emulation at this point is
    the PhysicalMemory object (for Process initialization).

--HG--
extra : convert_revision : f0f34b47bd4f77b502191affd3d03b4d6d9bcdd8
2006-01-28 00:08:22 -05:00
..
AlphaConsole.py Allow CPUs to specify their own CPU ids. 2005-06-29 01:20:41 -04:00
AlphaFullCPU.py Major cleanup of python config code. 2005-05-29 01:14:50 -04:00
AlphaTLB.py Major cleanup of python config code. 2005-05-29 01:14:50 -04:00
BadDevice.py Major cleanup of python config code. 2005-05-29 01:14:50 -04:00
BaseCache.py Standardize clock parameter names to 'clock'. 2005-06-01 21:44:00 -04:00
BaseCPU.py Allow CPUs to specify their own CPU ids. 2005-06-29 01:20:41 -04:00
Bus.py Standardize clock parameter names to 'clock'. 2005-06-01 21:44:00 -04:00
CoherenceProtocol.py Major cleanup of python config code. 2005-05-29 01:14:50 -04:00
Device.py io_bus is split out into pio_bus and dma_bus so that any device 2005-11-20 16:57:53 -05:00
DiskImage.py Major cleanup of python config code. 2005-05-29 01:14:50 -04:00
Ethernet.py Virtualize sinic 2005-11-25 13:33:36 -05:00
Ide.py Major cleanup of python config code. 2005-05-29 01:14:50 -04:00
IntrControl.py Major cleanup of python config code. 2005-05-29 01:14:50 -04:00
MemTest.py Major cleanup of python config code. 2005-05-29 01:14:50 -04:00
Pci.py BARs now of type MemorySize32 2005-11-21 00:02:39 -05:00
PhysicalMemory.py Major cleanup of python config code. 2005-05-29 01:14:50 -04:00
Platform.py Major cleanup of python config code. 2005-05-29 01:14:50 -04:00
Process.py Changes for Process object initialization in merged-memory environment. 2006-01-28 00:08:22 -05:00
Repl.py Major cleanup of python config code. 2005-05-29 01:14:50 -04:00
Root.py Add execution trace object to Root. 2005-10-06 13:50:13 -04:00
SimConsole.py Major cleanup of python config code. 2005-05-29 01:14:50 -04:00
SimpleDisk.py Major cleanup of python config code. 2005-05-29 01:14:50 -04:00
System.py Changes for Process object initialization in merged-memory environment. 2006-01-28 00:08:22 -05:00
Tsunami.py Changes for getting FreeBSD to run. 2005-08-15 16:59:58 -04:00
Uart.py make all of the turbolaser stuff only compile if ALPHA_TLASER 2005-06-05 01:24:17 -04:00