gem5.git
17 years agoUse c99 variadic macros for non gnu compilers
Nathan Binkert [Fri, 9 Feb 2007 04:59:11 +0000 (20:59 -0800)]
Use c99 variadic macros for non gnu compilers

--HG--
extra : convert_revision : 4e9fda42e9f5ed3e9f66e5bd178c45537792073b

17 years agoGet rid of the gross operator,()/variadic macro hack
Nathan Binkert [Thu, 8 Feb 2007 06:11:30 +0000 (22:11 -0800)]
Get rid of the gross operator,()/variadic macro hack
that made ccprintf and friends work, turn it into a
normal function (though it still has a slightly strange
implementation.)  All instances of variadic macros
are not yet removed, but I know how, and it will happen.

One side effect of this new implementation is that a
cprintf statement can now only have 16 parameters, though
it's easy enough to raise this number if needed.

--HG--
extra : convert_revision : 85cb3c17f8e2ecf9cd2f31ea80a760a28ea127a7

17 years agoQuick program to time how long ccprintf takes to write
Nathan Binkert [Thu, 8 Feb 2007 06:02:09 +0000 (22:02 -0800)]
Quick program to time how long ccprintf takes to write
to a stream compared to sprintf to a buffer.

--HG--
extra : convert_revision : de80724943d18aa110aa39cde9414252d9a7944c

17 years agoMerge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/newmem
Steve Reinhardt [Thu, 8 Feb 2007 03:33:44 +0000 (22:33 -0500)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/newmem
into  zizzer.eecs.umich.edu:/z/stever/bk/newmem-head

--HG--
extra : convert_revision : c56b8160b403fde235636ca5b5b4cecd206ffa4c

17 years agoMerge zizzer:/bk/newmem
Ali Saidi [Wed, 7 Feb 2007 21:43:47 +0000 (16:43 -0500)]
Merge zizzer:/bk/newmem
into  zeep.pool:/z/saidi/work/m5.newmem

--HG--
extra : convert_revision : 60aabc4b93ef9d742f7e07363bd51f24170b85b8

17 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Steve Reinhardt [Wed, 7 Feb 2007 18:55:14 +0000 (10:55 -0800)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  vm1.(none):/home/stever/bk/newmem-head

--HG--
extra : convert_revision : c2350e01a052114a264f26551b13fca03a835c61

17 years agoMake memory commands dense again to avoid cache stat table explosion.
Steve Reinhardt [Wed, 7 Feb 2007 18:53:37 +0000 (10:53 -0800)]
Make memory commands dense again to avoid cache stat table explosion.
Created MemCmd class to wrap enum and provide handy methods to
check attributes, convert to string/int, etc.

--HG--
extra : convert_revision : 57f147ad893443e3a2040c6d5b4cdb1a8033930b

17 years agoMore DPRINTF cleanup.
Steve Reinhardt [Wed, 7 Feb 2007 07:53:48 +0000 (23:53 -0800)]
More DPRINTF cleanup.

--HG--
extra : convert_revision : db89cea42b46476d19333038522a6c144eafdab1

17 years agoInitialize the variable to something.
Nathan Binkert [Wed, 7 Feb 2007 06:32:37 +0000 (22:32 -0800)]
Initialize the variable to something.

--HG--
extra : convert_revision : bfe1e70130719ff239987d725b089c6d7152c541

17 years agoInclude compiler.hh since we use some of the #defines
Nathan Binkert [Wed, 7 Feb 2007 06:31:15 +0000 (22:31 -0800)]
Include compiler.hh since we use some of the #defines

--HG--
extra : convert_revision : 1040addcf3f52d8d9fed2930890dadf524205af9

17 years agoMinor DPRINTF fixes.
Steve Reinhardt [Wed, 7 Feb 2007 05:53:05 +0000 (21:53 -0800)]
Minor DPRINTF fixes.

--HG--
extra : convert_revision : 41956c9a480163ecac7807982215027e8ff1a4a9

17 years agoAdd short memtest run to quick regressions.
Steve Reinhardt [Wed, 7 Feb 2007 05:16:33 +0000 (21:16 -0800)]
Add short memtest run to quick regressions.
Caveats:
- Even though memtest is ISA-independent, it will only
run for the Alpha builds, since there's no way to specify
ISA-independent reference files and I didn't want to commit
3 copies since I'm not sure we want to run it for all the
different ISAs anyway.
- Reference outputs were generated on my laptop,
so performance numbers will be low compared to zizzer.

--HG--
extra : convert_revision : 210fe4abecc19fbab0b15402c6cb4863650bab66

17 years agomerge my index fix and lisa's fix
Ali Saidi [Tue, 6 Feb 2007 23:47:42 +0000 (18:47 -0500)]
merge my index fix and lisa's fix

--HG--
extra : convert_revision : 5f2c7d46c96fa061bbfb66edf188d405ca600020

17 years agomark ldst[0] instrutions at DelayedCommit so we don't take an interrupt in the middle...
Ali Saidi [Tue, 6 Feb 2007 23:22:33 +0000 (18:22 -0500)]
mark ldst[0] instrutions at DelayedCommit so we don't take an interrupt in the middle of one

--HG--
extra : convert_revision : 671549c2f0361679bc1e128744dcb60f44ea021e

17 years agoFix for LL/SC that Ron sent me.
Kevin Lim [Tue, 6 Feb 2007 20:54:44 +0000 (15:54 -0500)]
Fix for LL/SC that Ron sent me.

--HG--
extra : convert_revision : b3510a23d8a9eb466939f38491a109c3a65a7363

17 years agomore fp fixes
Ali Saidi [Tue, 6 Feb 2007 20:52:33 +0000 (15:52 -0500)]
more fp fixes
fix unaligned accesses in mmaped disk device

src/arch/sparc/isa/decoder.isa:
    get (ld|st)fsr ops working right. In reality the fp enable check needs to go higher up in the emitted code
src/arch/sparc/isa/formats/basic.isa:
    move the cexec into the aexec field
src/cpu/exetrace.cc:
    copy the exception state from legion when we get it wrong. We aren't going to get it right without an fp emulation layer
src/dev/sparc/mm_disk.cc:
src/dev/sparc/mm_disk.hh:
    fix unaligned accesses in the memory mapped disk device

--HG--
extra : convert_revision : aaa33096b08cf0563fe291d984a87493a117e528

17 years agoUse perl FindBin package to set path to rundiff to the
Steve Reinhardt [Tue, 6 Feb 2007 18:06:11 +0000 (10:06 -0800)]
Use perl FindBin package to set path to rundiff to the
directory where tracediff is.

--HG--
extra : convert_revision : f0cc0af264aa624cbacbf3ba42b6b64f90a8e759

17 years agoFix for previous commit: need to ifdef NDEBUG on the
Steve Reinhardt [Tue, 6 Feb 2007 18:04:44 +0000 (10:04 -0800)]
Fix for previous commit: need to ifdef NDEBUG on the
definition as well as the declaration.

--HG--
extra : convert_revision : 4f073fa6b47bf21abf58d92cb1c9eed699c9c89e

17 years agoUse an instance counter to give Events repeatable IDs
Steve Reinhardt [Tue, 6 Feb 2007 06:05:00 +0000 (22:05 -0800)]
Use an instance counter to give Events repeatable IDs
in debugging mode (especially valuable for tracediff).

--HG--
extra : convert_revision : 227434a06b5271a8300f2f6861bd06c4ac19e6c4

17 years agomore sparc fixes
Ali Saidi [Sat, 3 Feb 2007 00:02:27 +0000 (19:02 -0500)]
more sparc fixes

src/arch/sparc/isa/decoder.isa:
    fix rdgsr fault check
src/arch/sparc/tlb.cc:
    block asis are now supported

--HG--
extra : convert_revision : cf55d648d2c5184fab03b6fe057d0e33c1dfc393

17 years agomake interrupt code serialize itself and fix indenting
Ali Saidi [Fri, 2 Feb 2007 23:05:21 +0000 (18:05 -0500)]
make interrupt code serialize itself and fix indenting

--HG--
extra : convert_revision : d0bb23c7922568586b640084ac719e809cc8422f

17 years agofix mostly floating point related
Ali Saidi [Fri, 2 Feb 2007 23:04:42 +0000 (18:04 -0500)]
fix mostly floating point related

src/arch/sparc/floatregfile.cc:
    fix fp read/writing to registers... looking for suggestions on cleaner ways if anyone has them
src/arch/sparc/isa/decoder.isa:
    fix some fp implementations
src/arch/sparc/isa/formats/basic.isa:
    add new fp op class that 0 cexec in fsr and sets rounding mode for the up comming op
src/arch/sparc/isa/includes.isa:
    include the appropriate header files for the rounding code
src/arch/sparc/miscregfile.cc:
    print fsr out when it's read/written and the Sparc traceflgas in on
src/cpu/exetrace.cc:
    fix printing of float registers

--HG--
extra : convert_revision : 49faab27f2e786a8455f9ca0f3f0132380c9d992

17 years agoMerge zizzer:/bk/newmem
Lisa Hsu [Thu, 1 Feb 2007 20:35:26 +0000 (15:35 -0500)]
Merge zizzer:/bk/newmem
into  zed.eecs.umich.edu:/z/hsul/work/sparc/x86.m5

--HG--
extra : convert_revision : 62a0017a1147631513db7878f4e4d08fca776bc1

17 years agoonly increment numPosted if an interrupt of that type hasn't been posted before.
Lisa Hsu [Thu, 1 Feb 2007 20:34:52 +0000 (15:34 -0500)]
only increment numPosted if an interrupt of that type hasn't been posted before.

--HG--
extra : convert_revision : 6671c594b78d2e38449069157f39af96b81340f2

17 years agoMerge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/newmem
Gabe Black [Thu, 1 Feb 2007 00:44:50 +0000 (19:44 -0500)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/newmem
into  zizzer.eecs.umich.edu:/.automount/wexford/x/gblack/m5/newmem

--HG--
extra : convert_revision : c02e184f69251dc6eeccdcb244788365aa12f7ee

17 years agoCreate reference outputs for this regression.
Gabe Black [Wed, 31 Jan 2007 23:47:23 +0000 (18:47 -0500)]
Create reference outputs for this regression.

--HG--
extra : convert_revision : 91e0144fef3f66d413417ad0318f43f752494e3c

17 years agomake sparc fs less chatty
Ali Saidi [Wed, 31 Jan 2007 23:32:27 +0000 (18:32 -0500)]
make sparc fs less chatty

src/SConscript:
    strip doesn't take a src and dest in solaris

--HG--
extra : convert_revision : 57f95eda0e3232475a5b55753ace3f3f0fced8b3

17 years agoMerge zizzer:/bk/newmem
Ali Saidi [Tue, 30 Jan 2007 23:27:16 +0000 (18:27 -0500)]
Merge zizzer:/bk/newmem
into  zeep.pool:/z/saidi/work/m5.newmem

--HG--
extra : convert_revision : 276b640c5c5a51e88e9bd630960ad462d9f0cb8d

17 years agoadd fsr to the list of registers we are interested in
Ali Saidi [Tue, 30 Jan 2007 23:27:04 +0000 (18:27 -0500)]
add fsr to the list of registers we are interested in

--HG--
extra : convert_revision : 2cc0d0144abab264aa0ec8c07242cdab2dffd4f8

17 years agoMake SPARC checkpointing work
Ali Saidi [Tue, 30 Jan 2007 23:25:39 +0000 (18:25 -0500)]
Make SPARC checkpointing work

src/arch/sparc/floatregfile.cc:
    Fix serialization for fpreg
src/arch/sparc/intregfile.cc:
    fix serialization for intreg
src/arch/sparc/miscregfile.cc:
    fix serialization from miscreg
src/arch/sparc/pagetable.cc:
    fix serialization for page table
src/arch/sparc/regfile.cc:
    need to serialize nnpc
src/arch/sparc/tlb.cc:
    write serialization code for tlb
src/cpu/base.cc:
    provide a way to find the thread number a context is
    serialize the instruction counter
src/cpu/base.hh:
    provide a way to find the thread number a context is
    and given a thread number find a context pointer
src/cpu/cpuevent.hh:
    provide method to get thread context from a cpu event for serialization
src/dev/sparc/t1000.cc:
src/dev/sparc/t1000.hh:
    nothing to serialize in t1000
src/sim/serialize.cc:
src/sim/serialize.hh:
    Make findObj() work (it hasn't since we did the python conversion stuff)

--HG--
extra : convert_revision : a95bc4e3c3354304171efbe3797556fdb146bea2

17 years agofix some checkpointing annoyances
Ali Saidi [Tue, 30 Jan 2007 23:21:42 +0000 (18:21 -0500)]
fix some checkpointing annoyances
-m works as you think it should
Ctrl-C actually ends the simulation now

--HG--
extra : convert_revision : f2269dc90d165c716459ec61f5f7b1ea3c1d4ae2

17 years agoMerge zizzer:/bk/newmem
Gabe Black [Tue, 30 Jan 2007 21:12:47 +0000 (16:12 -0500)]
Merge zizzer:/bk/newmem
into  zower.eecs.umich.edu:/eecshome/m5/newmem

--HG--
extra : convert_revision : 7b332ee4c737206511d26db391117eb1fe5ea290

17 years agoImplemented fbfss and fbpfcc instructions, and cleaned up branch code a little.
Gabe Black [Tue, 30 Jan 2007 21:12:38 +0000 (16:12 -0500)]
Implemented fbfss and fbpfcc instructions, and cleaned up branch code a little.

src/arch/sparc/isa/base.isa:
    Added passesFpCondition function to help with fbfcc and fbpfcc instructions.
src/arch/sparc/isa/decoder.isa:
    Added fbfcc and fbpfcc instructions, and cleaned up branch code slightly.
src/arch/sparc/isa/formats/branch.isa:
    Minor cleanup.

--HG--
extra : convert_revision : 6586b46418f1f70bace41407f267fee30c657714

17 years agochange std::isnan() to a using namespace std and isnan(). We need a better way to...
Ali Saidi [Tue, 30 Jan 2007 19:43:25 +0000 (14:43 -0500)]
change std::isnan() to a using namespace std and isnan(). We need a better way to do this.

--HG--
extra : convert_revision : 4f59ca8e6425db23f57a1f3f65a4874e483d0ecc

17 years agouse std:: for isnan() and fix decoding of fcmpe*
Ali Saidi [Tue, 30 Jan 2007 16:22:22 +0000 (11:22 -0500)]
use std:: for isnan() and fix decoding of fcmpe*

--HG--
extra : convert_revision : 06be0f8572e26c3c7e761b482248304ce1afa038

17 years agosizeof with a pointer to dynamically allocated memory will return the size of the...
Gabe Black [Tue, 30 Jan 2007 07:45:59 +0000 (02:45 -0500)]
sizeof with a pointer to dynamically allocated memory will return the size of the pointer, not the memory.

--HG--
extra : convert_revision : 04647d9fa0c464960d37797717f8171862cf48f8

17 years agoMake clearSingleStep in SPARC a warning, and rephrase the panic for setSingleStep
Gabe Black [Tue, 30 Jan 2007 07:44:24 +0000 (02:44 -0500)]
Make clearSingleStep in SPARC a warning, and rephrase the panic for setSingleStep

--HG--
extra : convert_revision : fde27a1faa6c03a24a4321a153dfa89a438f9a32

17 years agoMake the FpUnimpl format actually write the Fsr.
Gabe Black [Tue, 30 Jan 2007 05:21:18 +0000 (00:21 -0500)]
Make the FpUnimpl format actually write the Fsr.

--HG--
extra : convert_revision : 84717cd3a8fa9fb85bd0693304e05ef475b05d07

17 years agoAdded FpUnimpl format for quad precision and other purposefully unimplemented floatin...
Gabe Black [Tue, 30 Jan 2007 05:08:42 +0000 (00:08 -0500)]
Added FpUnimpl format for quad precision and other purposefully unimplemented floating point ops.

--HG--
extra : convert_revision : 356fec86c35560b20ea8eee80844602bbcec145f

17 years agoMerge zizzer:/bk/newmem
Gabe Black [Tue, 30 Jan 2007 03:57:18 +0000 (22:57 -0500)]
Merge zizzer:/bk/newmem
into  zower.eecs.umich.edu:/eecshome/m5/newmem

--HG--
extra : convert_revision : 0e4a54c21f32fec13deaf00b5d61c258007f172b

17 years agoFix the Frs?s operands to use single width by default, rather than double width.
Gabe Black [Tue, 30 Jan 2007 03:54:28 +0000 (22:54 -0500)]
Fix the Frs?s operands to use single width by default, rather than double width.

--HG--
extra : convert_revision : 36137ee025dc5c79665b041b43bd89505715ca70

17 years agoAdd implementation for the fcmp instructions. These don't behave -quite- right with...
Gabe Black [Tue, 30 Jan 2007 03:52:54 +0000 (22:52 -0500)]
Add implementation for the fcmp instructions. These don't behave -quite- right with respect to quite NaNs, but hopefully we don't need to worry about the distinction.

--HG--
extra : convert_revision : 67b6583a20530b7a393aa04d0b71031d3c72ecdd

17 years agoFix the FCMPCC bitfield.
Gabe Black [Tue, 30 Jan 2007 03:46:01 +0000 (22:46 -0500)]
Fix the FCMPCC bitfield.

--HG--
extra : convert_revision : d2c538e7f469bd12a80eb8585c78d5325d6e6141

17 years agotimegm() is a gnuism... replace with the code from the timegm() man page
Ali Saidi [Tue, 30 Jan 2007 00:04:06 +0000 (19:04 -0500)]
timegm() is a gnuism... replace with the code from the timegm() man page

--HG--
extra : convert_revision : f2b80a0b7768edc370e3f07c45cb3bb9a46450a9

17 years agofix some over sights in moving windowing and ccr registers to int reg file
Ali Saidi [Tue, 30 Jan 2007 00:03:14 +0000 (19:03 -0500)]
fix some over sights in moving windowing and ccr registers to int reg file

--HG--
extra : convert_revision : 4e83e5163076aeef72ec5caf1e0d7adea11da875

17 years agom5stats.txt shouldn't be committed
Ali Saidi [Mon, 29 Jan 2007 19:46:30 +0000 (14:46 -0500)]
m5stats.txt shouldn't be committed

--HG--
extra : convert_revision : 362a03f5f5e31a813c26bd8fa55949c9cd8a98ba

17 years agoMerge zizzer:/bk/newmem
Ali Saidi [Mon, 29 Jan 2007 19:44:45 +0000 (14:44 -0500)]
Merge zizzer:/bk/newmem
into  zeep.pool:/z/saidi/work/m5.newmem

--HG--
extra : convert_revision : 7b8b791815d1fb51cc7ad085307a640b2ee51642

17 years agoProcess the actual code as well.
Gabe Black [Mon, 29 Jan 2007 15:52:13 +0000 (10:52 -0500)]
Process the actual code as well.

--HG--
extra : convert_revision : 1221bfafe7af48ab04f63391f78eaf49d16077b3

17 years agoCleaned up disassembly a little.
Gabe Black [Mon, 29 Jan 2007 15:49:59 +0000 (10:49 -0500)]
Cleaned up disassembly a little.

--HG--
extra : convert_revision : 4665ac7760c9b78a1d7699ceeb541b694211a947

17 years agoA minor hack to get branch prediction to behave like before on Alpha.
Gabe Black [Mon, 29 Jan 2007 15:48:20 +0000 (10:48 -0500)]
A minor hack to get branch prediction to behave like before on Alpha.

--HG--
extra : convert_revision : 1eaabd13c72aa42c512a04d162a87491818bc621

17 years agoFixed a warning about an unused variable.
Gabe Black [Mon, 29 Jan 2007 15:46:54 +0000 (10:46 -0500)]
Fixed a warning about an unused variable.

--HG--
extra : convert_revision : f9c78e86b60c3085cd95b1b4e132205e0ef584dd

17 years agoMerge zizzer:/bk/newmem
Gabe Black [Sun, 28 Jan 2007 23:28:34 +0000 (18:28 -0500)]
Merge zizzer:/bk/newmem
into  zower.eecs.umich.edu:/eecshome/m5/newmem

--HG--
extra : convert_revision : 7bea2cb13e2de527134d98d4ee21a55dc4a7d1ad

17 years agoMerge zizzer:/bk/newmem
Ali Saidi [Sun, 28 Jan 2007 21:18:44 +0000 (16:18 -0500)]
Merge zizzer:/bk/newmem
into  zeep.pool:/z/saidi/work/m5.newmem

--HG--
extra : convert_revision : e302dc4d7a20646bb0ea363127b2658a6d6e810c

17 years agoMerge zizzer:/bk/newmem
Ali Saidi [Sun, 28 Jan 2007 20:55:44 +0000 (15:55 -0500)]
Merge zizzer:/bk/newmem
into  pb15.local:/Users/ali/work/m5.newmem.head

--HG--
extra : convert_revision : b4db0b350c8a5b3452ede74e5b42eec8ed6685c3

17 years agomake unimplemented ops fail
Ali Saidi [Sun, 28 Jan 2007 20:42:01 +0000 (15:42 -0500)]
make unimplemented ops fail
return correct traps for ua2005 fpops that aren't implemented in hw

--HG--
extra : convert_revision : 998fd43f77c5de7078bac1c6caab296b18c9366d

17 years agoMerge zizzer:/bk/newmem
Ali Saidi [Sun, 28 Jan 2007 20:30:54 +0000 (15:30 -0500)]
Merge zizzer:/bk/newmem
into  zeep.pool:/z/saidi/work/m5.newmem

--HG--
extra : convert_revision : f25fd4855a1eaaecb29e6ccc3cee22cf07e4108b

17 years agofix comparing fp registers between legion and m5
Ali Saidi [Sun, 28 Jan 2007 20:30:14 +0000 (15:30 -0500)]
fix comparing fp registers between legion and m5
make fp writes also chatty with the Sparc traceflag

src/arch/sparc/floatregfile.cc:
    make fp writes also chatty with the Sparc traceflag
src/cpu/exetrace.cc:
    fix comparing fp registers between legion and m5

--HG--
extra : convert_revision : f3703afae56249f137451262bc1b6919d465e714

17 years agoMerge zizzer:/bk/newmem
Gabe Black [Sun, 28 Jan 2007 19:46:56 +0000 (14:46 -0500)]
Merge zizzer:/bk/newmem
into  zower.eecs.umich.edu:/eecshome/m5/newmem

--HG--
extra : convert_revision : 2398e48722dd71ddf270e93bd7b387078fb30e6b

17 years agoStick the conversion of python to unix time with all of
Nathan Binkert [Sun, 28 Jan 2007 18:26:59 +0000 (10:26 -0800)]
Stick the conversion of python to unix time with all of
the other param code so that other functions can use it
as well.

--HG--
extra : convert_revision : a8becdeadc70af0b64bff5b0770788dfba6e1857

17 years agoI missed a couple of things
Ali Saidi [Sat, 27 Jan 2007 20:47:18 +0000 (15:47 -0500)]
I missed a couple of things

--HG--
extra : convert_revision : 2fa44718e381ff743fa1cf12f4db2221dca87e4c

17 years agoWhile I'm waiting for legion to run make m5 compile with a few more compilers
Ali Saidi [Sat, 27 Jan 2007 20:38:04 +0000 (15:38 -0500)]
While I'm waiting for legion to run make m5 compile with a few more compilers

SConstruct:
src/SConscript:
    Add flags for Intel CC while i'm at it
src/base/compiler.hh:
    the _Pragma stuff needst to be called this way unless someone happens to have a cleaner way
src/base/cprintf_formats.hh:
    add std:: where appropriate
src/base/statistics.hh:
    use this->map since icc was getting confused about std::map vs the locally defined map
src/cpu/static_inst.hh:
    Add some more dummy returns where needed
src/mem/packet.hh:
    add more dummy returns where needed
src/sim/host.hh:
    use limits to come up with max tick

--HG--
extra : convert_revision : 08e9f7898b29fb9d063136529afb9b6abceab60c

17 years agoMerge zizzer:/bk/newmem
Gabe Black [Sat, 27 Jan 2007 06:59:20 +0000 (01:59 -0500)]
Merge zizzer:/bk/newmem
into  zower.eecs.umich.edu:/eecshome/m5/newmem

src/arch/sparc/isa/formats/mem/util.isa:
src/arch/sparc/isa_traits.hh:
src/arch/sparc/system.cc:
    Hand Merge

--HG--
extra : convert_revision : d5e0c97caebb616493e2f642e915969d7028109c

17 years agoGot rid of some DPRINTFs that were printing raw pointers.
Gabe Black [Sat, 27 Jan 2007 06:49:21 +0000 (01:49 -0500)]
Got rid of some DPRINTFs that were printing raw pointers.

--HG--
extra : convert_revision : a79f5ee225208338594e7c4ecf0a71fef941918c

17 years agoFixed up printReg so that control registers are printed by name. This is possible...
Gabe Black [Sat, 27 Jan 2007 06:47:07 +0000 (01:47 -0500)]
Fixed up printReg so that control registers are printed by name. This is possible now becauase Ctrl_Base_DepTag gets added into control register numbers.

--HG--
extra : convert_revision : d6de3be277127547cd942769cd34a54a4ec8db32

17 years agoMerge zizzer:/bk/newmem
Ali Saidi [Sat, 27 Jan 2007 00:00:38 +0000 (19:00 -0500)]
Merge zizzer:/bk/newmem
into  zeep.pool:/z/saidi/work/m5.newmem

--HG--
extra : convert_revision : ca6e616e64d4528478c1505dc7ce111b8888d389

17 years agoforgot to include this file
Ali Saidi [Sat, 27 Jan 2007 00:00:17 +0000 (19:00 -0500)]
forgot to include this file

--HG--
extra : convert_revision : 4b570a33a951e9286b38873b2be3651ffaee8532

17 years agoMerge zizzer:/bk/newmem
Ali Saidi [Fri, 26 Jan 2007 23:57:35 +0000 (18:57 -0500)]
Merge zizzer:/bk/newmem
into  zeep.pool:/z/saidi/work/m5.newmem

--HG--
extra : convert_revision : 53ee81b099930d4d827db99e2d944ffb8645c706

17 years agoMake Sparc traceflag even more chatty
Ali Saidi [Fri, 26 Jan 2007 23:57:16 +0000 (18:57 -0500)]
Make Sparc traceflag even more chatty
some fixes to fp instructions to use the single precision registers
if this is an fp op emit fp check code
add fpregs to m5legion struct

src/arch/sparc/floatregfile.cc:
    Make Sparc traceflag even more chatty
src/arch/sparc/isa/base.isa:
    add code to check if the fpu is enabled
src/arch/sparc/isa/decoder.isa:
    some fixes to fp instructions to use the single precision registers
    fix smul again
    fix subc/subcc/subccc condition code setting
src/arch/sparc/isa/formats/basic.isa:
src/arch/sparc/isa/formats/mem/util.isa:
    if this is an fp op emit fp check code
src/cpu/exetrace.cc:
    check fp regs as well as int regs
src/cpu/m5legion_interface.h:
    add fpregs to m5legion struct

--HG--
extra : convert_revision : e7d26d10fb8ce88f96e3a51f84b48c3b3ad2f232

17 years agoMerge zizzer:/bk/newmem
Ali Saidi [Fri, 26 Jan 2007 23:50:28 +0000 (18:50 -0500)]
Merge zizzer:/bk/newmem
into  zeep.pool:/z/saidi/work/m5.suncc

--HG--
extra : convert_revision : 1706f6218abec7eb575dcff3ad4aef83894f64ab

17 years agoMerge zeep.pool:/z/saidi/work/m5.newmem
Ali Saidi [Fri, 26 Jan 2007 23:49:40 +0000 (18:49 -0500)]
Merge zeep.pool:/z/saidi/work/m5.newmem
into  zeep.pool:/z/saidi/work/m5.suncc

--HG--
extra : convert_revision : 20f61a524a3b53fc0afcf53a24b5a1fe1d96f579

17 years agomake our code a little more standards compliant
Ali Saidi [Fri, 26 Jan 2007 23:48:51 +0000 (18:48 -0500)]
make our code a little more standards compliant
pretty close to compiling w/ suns compiler

briefly:
add dummy return after panic()/fatal()
split out flags by compiler vendor
include cstring and cmath where appropriate
use std namespace for string ops

SConstruct:
    Add code to detect compiler and choose cflags based on detected compiler
    Fix zlib check to work with suncc
src/SConscript:
    split out flags by compiler vendor
src/arch/sparc/isa/decoder.isa:
    use correct namespace for sqrt
src/arch/sparc/isa/formats/basic.isa:
    add dummy return around panic
src/arch/sparc/isa/formats/integerop.isa:
    use correct namespace for stringops
src/arch/sparc/isa/includes.isa:
    include cstring and cmath where appropriate
src/arch/sparc/isa_traits.hh:
    remove dangling comma
src/arch/sparc/system.cc:
    dummy return to make sun cc front end happy
src/arch/sparc/tlb.cc:
src/base/compression/lzss_compression.cc:
    use std namespace for string ops
src/arch/sparc/utility.hh:
    no reason to say something is unsigned unsigned int
src/base/compression/null_compression.hh:
    dummy returns to for suncc front end
src/base/cprintf.hh:
    use standard variadic argument syntax instead of gnuc specefic renaming
src/base/hashmap.hh:
    don't need to define hash for suncc
src/base/hostinfo.cc:
    need stdio.h for sprintf
src/base/loader/object_file.cc:
    munmap is in std namespace not null
src/base/misc.hh:
    use M5 generic noreturn macros
    use standard variadic macro __VA_ARGS__
src/base/pollevent.cc:
    we need file.h for file flags
src/base/random.cc:
    mess with include files to make suncc happy
src/base/remote_gdb.cc:
    malloc memory for function instead of having a non-constant in an array size
src/base/statistics.hh:
    use std namespace for floor
src/base/stats/text.cc:
    include math.h for rint (cmath won't work)
src/base/time.cc:
    use suncc version of ctime_r
src/base/time.hh:
    change macro to work with both gcc and suncc
src/base/timebuf.hh:
    include cstring from memset and use std::
src/base/trace.hh:
    change variadic macros to be normal format
src/cpu/SConscript:
    add dummy returns where appropriate
src/cpu/activity.cc:
    include cstring for memset
src/cpu/exetrace.hh:
    include cstring fro memcpy
src/cpu/simple/base.hh:
    add dummy return for panic
src/dev/baddev.cc:
src/dev/pciconfigall.cc:
src/dev/platform.cc:
src/dev/sparc/t1000.cc:
    add dummy return where appropriate
src/dev/ide_atareg.h:
    make define work for both gnuc and suncc
src/dev/io_device.hh:
    add dummy returns where approirate
src/dev/pcidev.hh:
src/mem/cache/cache_impl.hh:
src/mem/cache/miss/blocking_buffer.cc:
src/mem/cache/tags/lru.hh:
src/mem/cache/tags/split.hh:
src/mem/cache/tags/split_lifo.hh:
src/mem/cache/tags/split_lru.hh:
src/mem/dram.cc:
src/mem/packet.cc:
src/mem/port.cc:
    include cstring for string ops
src/dev/sparc/mm_disk.cc:
    add dummy return where appropriate
    include cstring for string ops
src/mem/cache/miss/blocking_buffer.hh:
src/mem/port.hh:
    Add dummy return where appropriate
src/mem/cache/tags/iic.cc:
    cast hastSets to double for log() call
src/mem/physical.cc:
    cast pmemAddr to char* for munmap
src/sim/byteswap.hh:
    make define work for suncc and gnuc

--HG--
extra : convert_revision : ef8a1f1064e43b6c39838a85c01aee4f795497bd

17 years agoFixed the number of integer registers. There are MaxGL+1 sets of globals, not just...
Gabe Black [Fri, 26 Jan 2007 21:38:29 +0000 (16:38 -0500)]
Fixed the number of integer registers. There are MaxGL+1 sets of globals, not just MaxGL.

--HG--
extra : convert_revision : 6fd090f112611db1e72a1f129dff03687d52930a

17 years agoMerge zizzer:/bk/newmem
Lisa Hsu [Fri, 26 Jan 2007 17:51:24 +0000 (12:51 -0500)]
Merge zizzer:/bk/newmem
into  zed.eecs.umich.edu:/z/hsul/work/sparc/x86.m5

--HG--
extra : convert_revision : 1b854ec7caa33d3009383754206b643494c4c42d

17 years agoeliminate cpu checkInterrupts bool, it is redundant and unnecessary.
Lisa Hsu [Fri, 26 Jan 2007 17:51:07 +0000 (12:51 -0500)]
eliminate cpu checkInterrupts bool, it is redundant and unnecessary.

--HG--
extra : convert_revision : 58e960e5019f944c7ec5606e4b8c93ce42330719

17 years agoMove time forward to Jan 1, 2009 and update stats
Nathan Binkert [Fri, 26 Jan 2007 00:14:05 +0000 (19:14 -0500)]
Move time forward to Jan 1, 2009 and update stats

--HG--
extra : convert_revision : 9398362237443dc659f423a342bd27c923e90aea

17 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Nathan Binkert [Thu, 25 Jan 2007 20:00:04 +0000 (15:00 -0500)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  zeep.pool:/y/binkertn/research/m5/rtc

--HG--
extra : convert_revision : 65ddda89f38c5fa874722c20e5d82ed1bb4e12d9

17 years agoInstead of passing an int to represent time between python and C++
Nathan Binkert [Thu, 25 Jan 2007 19:59:41 +0000 (14:59 -0500)]
Instead of passing an int to represent time between python and C++
pass the tuple of python's struct_time and interpret that.
Fixes a problem where the local timezone leaked into the time
calculation.  Also fix things so that the unix, python, and RTC
data sheets all get the right time.  Provide both years since 1900
and BCD two digit year.
Put the date back at 1/1/2006 for now.

--HG--
extra : convert_revision : 473244572f468de2cb579a3dd7ae296a6f81f5d7

17 years agofix smul and sdiv to sign extend, and handle overflow/underflow corretly
Ali Saidi [Thu, 25 Jan 2007 18:43:46 +0000 (13:43 -0500)]
fix smul and sdiv to sign extend, and handle overflow/underflow corretly
Only allow writing/reading of 32 bits of Y
Only allow writing/reading 32 bits of pc when pstate.am
Put any loaded data on the first half of a micro-op in uReg0 so it can't
overwrite the register we are using for address calculation
only erase a entry from the lookup table if it's valid
Put in a temporary check to make sure that lookup table and tlb array stay in sync
if we are interrupted in the middle of a mico-op, reset the micropc/nexpc
so we start  on the first part of it when we come back

src/arch/sparc/isa/decoder.isa:
    fix smul and sdiv to sign extend, and handle overflow/underflow corretly
    Only allow writing/reading of 32 bits of Y
    Only allow writing/reading 32 bits of pc when pstate.am
    Put any loaded data on the first half of a micro-op in uReg0 so it can't
    overwrite the register we are using for address calculation
src/arch/sparc/isa/formats/mem/blockmem.isa:
    Put any loaded data on the first half of a micro-op in uReg0 so it can't
    overwrite the register we are using for address calculation
src/arch/sparc/isa/includes.isa:
    Use limits for 32bit underflow/overflow detection
src/arch/sparc/tlb.cc:
    only erase a entry from the lookup table if it's valid
    Put in a temporary check to make sure that lookup table and tlb array stay in sync
src/arch/sparc/tlb_map.hh:
    add a print function to dump the tlb lookup table
src/cpu/simple/base.cc:
    if we are interrupted in the middle of a mico-op, reset the micropc/nexpc
    so we start  on the first part of it when we come back

--HG--
extra : convert_revision : 50a23837fd888393a5c2aa35cbd1abeebb7f55d4

17 years agoFixed a warning that was breaking compilation.
Gabe Black [Thu, 25 Jan 2007 06:13:56 +0000 (01:13 -0500)]
Fixed a warning that was breaking compilation.

--HG--
extra : convert_revision : 007e83ab452849ce527fe252148e7a1dc423c850

17 years agoMerge zizzer:/bk/newmem
Gabe Black [Thu, 25 Jan 2007 00:57:36 +0000 (19:57 -0500)]
Merge zizzer:/bk/newmem
into  zower.eecs.umich.edu:/eecshome/m5/newmem

--HG--
extra : convert_revision : 2d7ae62a59b91d735bbac093f8a4ab542ea75eee

17 years agouse pstate.am to mask off PC/NPC where it needs to +be
Ali Saidi [Tue, 23 Jan 2007 20:50:03 +0000 (15:50 -0500)]
use pstate.am to mask off PC/NPC where it needs to +be
check writability of tlb cache entry before using
update tagaccess in places I forgot to
move the tlb privileged test up since it is higher priority

src/arch/sparc/faults.cc:
    save only 32 bits of PC/NPC if Pstate.am is set
src/arch/sparc/isa/decoder.isa:
    return only 32 bits of PC/NPC if Pstate.am is set
    increment cleanwin correctly
src/arch/sparc/tlb.cc:
    check writability of cache entry
    update tagaccess in a few more places
    move the privileged test up since it is higher priority
src/cpu/exetrace.cc:
    mask off upper bits of pc if pstate.am is set before comparing to legion

--HG--
extra : convert_revision : 02a51c141ee3f9a2600c28eac018ea7216f3655c

17 years agoUpdate to stats because of minor to branch mispredict accounting.
Gabe Black [Tue, 23 Jan 2007 07:44:44 +0000 (23:44 -0800)]
Update to stats because of minor to branch mispredict accounting.

--HG--
extra : convert_revision : bfb7db6bd118b623f6a38c05a962dc44456160cb

17 years agoFix for slightly garbled hand merge
Gabe Black [Tue, 23 Jan 2007 07:38:17 +0000 (23:38 -0800)]
Fix for slightly garbled hand merge

--HG--
extra : convert_revision : f9be59e94311571d91b6793b1caa1b6136ef864c

17 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Gabe Black [Tue, 23 Jan 2007 06:31:48 +0000 (22:31 -0800)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  ewok.(none):/home/gblack/m5/newmemo3

src/sim/byteswap.hh:
    Hand Merge

--HG--
extra : convert_revision : 640d33ad0c416934e8a5107768e7f1dce6709ca8

17 years agoAdded remote gdb objects to each process
Gabe Black [Tue, 23 Jan 2007 06:22:09 +0000 (22:22 -0800)]
Added remote gdb objects to each process

--HG--
extra : convert_revision : 1b5c1470ffc52b2f7719e469153702dec694f9a3

17 years agofix compiling on x86/Solaris
Ali Saidi [Tue, 23 Jan 2007 02:57:01 +0000 (21:57 -0500)]
fix compiling on x86/Solaris

--HG--
extra : convert_revision : f7d21fc277dd7172c244d83fb012883dc8b67895

17 years agoclean up fault code a little bit
Ali Saidi [Tue, 23 Jan 2007 02:55:43 +0000 (21:55 -0500)]
clean up fault code a little bit
simplify and make complete some asi checks
implement all the twin asis and remove panic checks on their use
soft int is supported, so we don't need to print writes to it

src/arch/sparc/asi.cc:
    make AsiIsLittle() be all the little asis.
    Speed up AsiIsTwin() a bit
src/arch/sparc/faults.cc:
    clean up the do*Fault code.... Make it work like legion, in particular
    pstate.priv is left alone, not set to 0 like the spec says
src/arch/sparc/isa/decoder.isa:
    implement some more twin ASIs
src/arch/sparc/tlb.cc:
    All the twin asis are implemented, no need to say their not supported anymore
src/arch/sparc/ua2005.cc:
    softint is supported now, no more need to

--HG--
extra : convert_revision : aef2a1b93719235edff830a17a8ec52f23ec9f8b

17 years agowe decided to check for .interp instead of .dynamic
Ali Saidi [Tue, 23 Jan 2007 02:45:29 +0000 (21:45 -0500)]
we decided to check for .interp instead of .dynamic

--HG--
extra : convert_revision : 4f5c7f9c7653e1e9ebbd488c07426d9f944bb25f

17 years agoMerge zizzer:/bk/newmem
Ali Saidi [Mon, 22 Jan 2007 21:17:11 +0000 (16:17 -0500)]
Merge zizzer:/bk/newmem
into  zeep.pool:/z/saidi/work/m5.newmem

--HG--
extra : convert_revision : 21e1bfa49a933f3b39bd2e7bcd873428f9d01a1b

17 years agocheck if an executable is dynamic and die if it is
Ali Saidi [Mon, 22 Jan 2007 21:14:06 +0000 (16:14 -0500)]
check if an executable is dynamic and die if it is
Only implemented for ELf. Someone might want to implement it for ecoff and some point

src/base/loader/elf_object.cc:
src/base/loader/elf_object.hh:
src/base/loader/object_file.cc:
src/base/loader/object_file.hh:
    add a function to check if an executable is dynamic
src/sim/process.cc:
    check if an executable is dynamic and die if it is

--HG--
extra : convert_revision : 830b1b50b08a5abaf895ce6251bbc702c986eebf

17 years agouse writeTagAccess() function to unify writing of Tag access registers
Ali Saidi [Mon, 22 Jan 2007 21:11:49 +0000 (16:11 -0500)]
use writeTagAccess() function to unify writing of Tag access registers
Fix extracting of secondary context to shove into tag access register
properly sign extend va from 59 bits to 63 (SPARC VA hole)

--HG--
extra : convert_revision : 5d0c2b4db63338c31b2d29b4bb68f39e1d4f4c7b

17 years agomake sure that page bits of VA on tlb insert are 0
Ali Saidi [Mon, 22 Jan 2007 01:02:41 +0000 (20:02 -0500)]
make sure that page bits of VA on tlb insert are 0

--HG--
extra : convert_revision : f04af884687e9b8631e910cf62cd4a58d035c744

17 years agoadd dumb time of day device
Ali Saidi [Sun, 21 Jan 2007 23:04:40 +0000 (18:04 -0500)]
add dumb time of day device

--HG--
extra : convert_revision : 52e51ff49f7ed73065f04707ded06dc7254292c4

17 years agofix InterruptLevel code to return the correct level
Ali Saidi [Sun, 21 Jan 2007 04:12:32 +0000 (23:12 -0500)]
fix InterruptLevel code to return the correct level
(the bit positition that is set in softint)

--HG--
extra : convert_revision : ba0e1f4ec1f74aac64c3f9bb7eb1b771e17b013a

17 years agoatually set all 64 bits of the retun value to 0
Ali Saidi [Sun, 21 Jan 2007 04:10:43 +0000 (23:10 -0500)]
atually set all 64 bits of the retun value to 0

--HG--
extra : convert_revision : 77bfdf07a49d41a2392f429fdc632c1461ac504c

17 years agofix flushw implementation
Ali Saidi [Sun, 21 Jan 2007 04:09:28 +0000 (23:09 -0500)]
fix flushw implementation

--HG--
extra : convert_revision : 136b2bddc7cb70cde30e930ad3a13bd56c7162e1

17 years agoRearange tlb code to remove some duplicate
Ali Saidi [Sat, 20 Jan 2007 17:37:02 +0000 (12:37 -0500)]
Rearange tlb code to remove some duplicate
Sparc error register should return ull(0) since it's 64 bits
Fix PS1 pointer creation to use the ps1 page size rather than ps0

--HG--
extra : convert_revision : fb4ef4b90270c8db676ffe53578acfa3c244526e

17 years agoSpill and Fill handlers are actually n*4 + the start address
Ali Saidi [Sat, 20 Jan 2007 17:34:00 +0000 (12:34 -0500)]
Spill and Fill handlers are actually n*4 + the start address

--HG--
extra : convert_revision : a42f01a84e4b7ba9e6029df50e1612d410a8ba22

17 years agoMerge zed.eecs.umich.edu:/.automount/zeep/z/saidi/work/m5.newmem
Lisa Hsu [Sat, 20 Jan 2007 02:34:21 +0000 (21:34 -0500)]
Merge zed.eecs.umich.edu:/.automount/zeep/z/saidi/work/m5.newmem
into  zed.eecs.umich.edu:/z/hsul/work/sparc/x86.m5

--HG--
extra : convert_revision : 9b8567bb775ed6fcc30096f1ab4cc37058bc7376

17 years agosome hstick and hintp changes.
Lisa Hsu [Sat, 20 Jan 2007 02:33:36 +0000 (21:33 -0500)]
some hstick and hintp changes.

src/arch/sparc/interrupts.hh:
    condition hstick matches on HINTP
src/arch/sparc/miscregfile.cc:
    implement HINTP
src/arch/sparc/ua2005.cc:
    don't post interrupt unless it is enabled.

--HG--
extra : convert_revision : f71d1c1d9fd1a898ddafd5a885c3a8d5c75e8ff0