Initial support for CPU switching. New SamplingCPU object encompasses a set
authorSteve Reinhardt <stever@eecs.umich.edu>
Fri, 24 Oct 2003 02:07:52 +0000 (19:07 -0700)
committerSteve Reinhardt <stever@eecs.umich.edu>
Fri, 24 Oct 2003 02:07:52 +0000 (19:07 -0700)
commitf5da73b6881991a28844ed59e8dcc1d154ddae7e
treebc89728af5db24ef0bf1580045c3bcd26a206e85
parent73b050a541b1778596f9ebffa8a9f780446365c3
Initial support for CPU switching.  New SamplingCPU object encompasses a set
of CPUs that get switched round-robin (though currently we're only shooting for
two CPUs and one switch event, and even that doesn't quite work yet).  Registration
of ExecContexts with System/Process object factored out so we can create two CPUs
but only register one of them at a time.  Also worked at making behavior and naming
in System and Process objects more consistent.

arch/alpha/ev5.cc:
    Rename ipr_init to initIPRs and get rid of unused mem arg.
arch/alpha/fake_syscall.cc:
    Process:numCpus is now a function (not a data member).
base/remote_gdb.hh:
    Support for ExecContext switching.
cpu/base_cpu.cc:
cpu/base_cpu.hh:
cpu/exec_context.cc:
cpu/exec_context.hh:
cpu/simple_cpu/simple_cpu.hh:
    Support for ExecContext switching.
    Renamed contexts array to execContexts to be consistent with Process.
    CPU ID now auto-assigned by system object.
cpu/simple_cpu/simple_cpu.cc:
    Support for ExecContext switching.
    Renamed contexts array to execContexts to be consistent with Process.
    CPU ID now auto-assigned by system object.
    Cleaned up MP full-system initialization a bit.
dev/alpha_console.cc:
    Renamed xcvec array to execContexts to be consistent with Process.
kern/tru64/tru64_system.cc:
kern/tru64/tru64_system.hh:
    Support for ExecContext switching.
    CPU ID now auto-assigned by system object.
sim/prog.cc:
sim/prog.hh:
    Support for ExecContext switching.
    Process:numCpus is now a function (not a data member).
sim/system.cc:
sim/system.hh:
    Support for ExecContext switching.
    Renamed xcvec array to execContexts to be consistent with Process.

--HG--
extra : convert_revision : 79649cffad5bf3e83de8df44236941907926d791
16 files changed:
arch/alpha/ev5.cc
arch/alpha/fake_syscall.cc
base/remote_gdb.hh
cpu/base_cpu.cc
cpu/base_cpu.hh
cpu/exec_context.cc
cpu/exec_context.hh
cpu/simple_cpu/simple_cpu.cc
cpu/simple_cpu/simple_cpu.hh
dev/alpha_console.cc
kern/tru64/tru64_system.cc
kern/tru64/tru64_system.hh
sim/prog.cc
sim/prog.hh
sim/system.cc
sim/system.hh