base/str.cc:
Make some fixes for the to_number function.
Fix overflow calculation for maximum decimal value.
(Note: minimum decimal value for signed numbers does not
work correctly, e.g. it will overflow on -128 for a signed char
though -127 will work)
Fix overflow calculation for hex values being converted into
signed types
Fix up the debugging stuff a little to make sure the values are
always printed as numbers.
test/strnumtest.cc:
using namespace std for g++ 3
--HG--
extra : convert_revision : b00bb1296c85c3d64d8864283c9374e1563bfa31
These changes don't seem to break anything, and may even be correct.
dev/etherpkt.hh:
Add serialization
--HG--
extra : convert_revision : 02962b9bef01c1c3f35a095788117bd95e7ed4bc
don't need to clear these stats runAddrLast and runDataLast in the bus constructor, since stats are automatically cleared on creation.
--HG--
extra : convert_revision : a6ee5e5779e2b854c6b78dabfa4ed99978cbc41a
arch/alpha/alpha_memory.cc:
arch/alpha/alpha_memory.hh:
Serialize TLB contents.
cpu/simple_cpu/simple_cpu.cc:
cpu/simple_cpu/simple_cpu.hh:
Complete serialization of SimpleCPU (including owned events).
sim/eventq.cc:
sim/eventq.hh:
Basic serialization for events.
Still need to handle dynamic events (not owned by a SimObject).
sim/serialize.cc:
sim/serialize.hh:
Export serialization filename so PhysicalMemory can
derive its filename from that.
--HG--
extra : convert_revision : 4db851c5880f73f576ca092d5e5ad4256048eb51
This change requires an update of the es device driver in
the kernel as well.
--HG--
extra : convert_revision : 83b83570b8c487869c7bfc550dceb3672d19da10
Add support for serializing enums.
arch/alpha/isa_traits.hh:
Add serialize/unserialize functions for RegFile
(defined in new isa_traits.cc).
cpu/exec_context.cc:
Flesh out serialize/unserialize.
sim/serialize.hh:
Add {UN}SERIALIZE_ENUM().
--HG--
extra : convert_revision : 9e30c7e7b3b290dc8ea0888ba3636fc93ee89052
though most objects don't actually serialize any data.
arch/alpha/alpha_memory.cc:
arch/alpha/alpha_memory.hh:
arch/alpha/isa_traits.hh:
cpu/exec_context.cc:
cpu/exec_context.hh:
cpu/simple_cpu/simple_cpu.hh:
dev/alpha_access.h:
dev/alpha_console.cc:
dev/alpha_console.hh:
dev/console.cc:
dev/console.hh:
Change unserialize param from IniFile& to const IniFile*.
cpu/simple_cpu/simple_cpu.cc:
Change unserialize param from IniFile& to const IniFile*.
Make unserialize call ExecContext::unserialize.
sim/eventq.cc:
Rename MainEventQueue (no spaces) for easier parsing in checkpoints.
Disable event serialization for now, so we can focus on the easy stuff.
sim/serialize.cc:
Change paramIn and arrayParamIn param from IniFile& to const IniFile*.
sim/serialize.hh:
Change unserialize, paramIn, and arrayParamIn params from IniFile& to const IniFile*.
--HG--
extra : convert_revision : 6e8853ed375eddec0e140c95a01dd51bd225f7b9
Fix handling of chars (uint8_ts) in serialization.
Minor cleanup.
sim/param.cc:
Add specialization of showParam for char: output as ints, not as characters.
Clean up comments a bit.
--HG--
extra : convert_revision : 96349382447d892679dda9f83c028eec64252dc0
sim/param.cc:
Convert parseParam() and showParam() to templates,
andd explicitly instantiate them for common types.
sim/param.hh:
Add declarations for parseParam() and showParam() function templates,
so serialize.cc can use them.
sim/serialize.cc:
Don't need declarations for parseParam() and showParam() since
we put them in param.hh.
Also instantiate paramOut() etc. for bool.
--HG--
extra : convert_revision : 1d84d0fbec64481996cbfa8b84c67c13c6244385
arch/alpha/ev5.cc:
Don't call kernelStats.hwrei() or system->breakpoint() on misspeculated paths.
arch/alpha/isa_desc:
Don't write reegs.intrflag, do Annotate::Callpal, or call xc->syscall
on misspeculated paths.
--HG--
extra : convert_revision : e73b96fbe4ac5be85fb20aa218fd05fd56d5b2f3
in the process make m5_exit more generic
arch/alpha/ev5.cc:
arch/alpha/ev5.hh:
There's no reason that this needs to be in an arch specific file
arch/alpha/isa_desc:
m5_exit -> SimExit
Emulate callpal halt and cause the simulator to exit
while we're at it, sort #includes
sim/sim_events.cc:
sim/sim_events.hh:
move the m5_exit function here, renaming it to SimExit.
Also Allow the caller to pass in the termination message.
--HG--
extra : convert_revision : 54b43b17a412ab387b8672c27ef0b04fce10ee15
cpu/simple_cpu/simple_cpu.cc:
Serialize FP regs as integers (so we get exact bit representation).
sim/serialize.cc:
Don't panic on object rename... events come up named "event"
and need to get renamed. Also fix some DPRINTFs.
--HG--
extra : convert_revision : 62ad527a7aaf78ae623b70febc1331cf91cbad05
default=. In the append= case, when looking up an entry, it also
looks in the section named by the append= for something to append
to the entry
--HG--
extra : convert_revision : b51915094ad3ca151d7f241c29e19b6b29d3a3c0
util/tap/Makefile:
Make this stuff compile again
util/tap/tap.cc:
clean up some of the error messages
--HG--
extra : convert_revision : 4543d946b48c9e07bf19b812db6466f80ed6b851
util/rundiff:
Completely rewritten from scratch. Can work standalone (with simple built-in
diff algorithm) or use Algorithm::Diff package for better (but slower) diffs.
--HG--
extra : convert_revision : bb66d937e92bfd1904bd259589bacb5eff404c02
dev/etherlink.cc:
DPRINTF before the packet is sent to the other interface to
make the output a little more understandable
--HG--
extra : convert_revision : 9c7dd5dd6dbbbc416db70a52228e918af2e76d96
SimpleCPU & FullCPU constructors to AlphaISA::initCPU().
cpu/simple_cpu/simple_cpu.cc:
Move some common full-system CPU initialization from the
SimpleCPU & FullCPU constructors to AlphaISA::initCPU().
Make 'fault' local to SimpleCPU::tick.
cpu/simple_cpu/simple_cpu.hh:
Make 'fault' local to SimpleCPU::tick (not an object member).
--HG--
extra : convert_revision : e878dedfff06aac0548aca8b14d66c18b8916895
This fixes detailed-mpboot, which was broken as of my last change.
Also clean up some of the ExecContext status initialization.
cpu/base_cpu.hh:
CPU::execCtxStatusChg() now takes thread_num as an arg so the CPU knows
which execContext had the status change.
BaseCPU::registerExecContexts() no longer needs to be virtual.
cpu/exec_context.cc:
Initialize _status directly... don't use setStatus() as this will notify the CPU
of the change before it is ready.
CPU::execCtxStatusChg() now takes thread_num as an arg so the CPU knows
which execContext had the status change.
cpu/exec_context.hh:
Don't need initStatus() any more.
cpu/simple_cpu/simple_cpu.cc:
Move execCtxStatusChg() from header to .cc file.
No longer need specialized version of registerExecContexts to schedule TickEvent.
cpu/simple_cpu/simple_cpu.hh:
Move execCtxStatusChg() from header to .cc file.
CPU::execCtxStatusChg() now takes thread_num as arg (must be 0 for SimpleCPU).
No longer need specialized version of registerExecContexts to schedule TickEvent.
kern/tru64/tru64_system.cc:
Don't need initRegs; the PC etc. get initialized in the CPU constructor.
ExecContexts start out as Unallocated, so no need to set them to Unallocated here.
kern/tru64/tru64_system.hh:
Don't need initRegs; the PC etc. get initialized in the CPU constructor.
sim/prog.cc:
ExecContexts start out as Unallocated, so no need to set them to Unallocated here.
--HG--
extra : convert_revision : e960ebbeb845960344633798e251b6c8bf1c0378