gem5.git
18 years agofix #if. I wonder why my compiler had no issues. Even though it is clearly
Ali Saidi [Sat, 11 Feb 2006 16:01:51 +0000 (11:01 -0500)]
fix #if. I wonder why my compiler had no issues. Even though it is clearly
wrong

arch/alpha/alpha_linux_process.cc:
    fix #if. I wonder why my compiler had no issues

--HG--
extra : convert_revision : 880a0442b28811db5ec548ce940060d4b26ec634

18 years agohello world works on a BE host for a LE guest
Ali Saidi [Sat, 11 Feb 2006 05:55:36 +0000 (00:55 -0500)]
hello world works on a BE host for a LE guest

arch/alpha/alpha_linux_process.cc:
    Add endian conversions to fstat
sim/byteswap.hh:
    for some reason I don't understand g++ really wanted a long version defined
    even though int32_t should be the same.

--HG--
extra : convert_revision : 5bfe9d3f0b31824fa5a7ae3f51fd0be5ed4d555d

18 years agoMerge zizzer:/bk/m5
Ali Saidi [Sat, 11 Feb 2006 01:06:44 +0000 (20:06 -0500)]
Merge zizzer:/bk/m5
into  pb15.local:/Users/ali/work/m5.head

--HG--
extra : convert_revision : b8631bcea38e3a75e4442927500ddfc7763ba9cf

18 years agoconfused an ifdef with an if
Ali Saidi [Fri, 10 Feb 2006 19:59:37 +0000 (14:59 -0500)]
confused an ifdef with an if

--HG--
extra : convert_revision : 5b8e8bdff5813cf8846e66de2652246d77c97e88

18 years agoMerge zizzer:/bk/m5
Ali Saidi [Fri, 10 Feb 2006 19:38:15 +0000 (14:38 -0500)]
Merge zizzer:/bk/m5
into  udhcp-macvpn-776.public.engin.umich.edu:/Users/ali/work/m5.head

--HG--
extra : convert_revision : e9ffaa1d4b7eee1f5bd0c492e162aac1e0806099

18 years agofix problems on darwin/*BSD for syscall emulation mode
Ali Saidi [Fri, 10 Feb 2006 19:21:32 +0000 (14:21 -0500)]
fix problems on darwin/*BSD for syscall emulation mode

arch/alpha/alpha_linux_process.cc:
arch/alpha/alpha_tru64_process.cc:
    fixup for bsd hosts. Some headers are included by default which means that
    more variables need TGT_ prefixes and there isn't a stat call (everything
    is a stat64 call) so we have to work around that a bit
base/intmath.hh:
base/socket.cc:
    this is no longer needed with mac os 10.4
cpu/inst_seq.hh:
    just use a uint64_t instead of long long
cpu/o3/inst_queue_impl.hh:
    I much cleaner way to get max int
sim/syscall_emul.hh:
    fix stat64 problems on *BSD

--HG--
extra : convert_revision : 9eef5f896e083ae1774e818a9765dd83e0305942

18 years agoChange how memory operands are handled in ISA descriptions.
Steve Reinhardt [Fri, 10 Feb 2006 14:12:55 +0000 (09:12 -0500)]
Change how memory operands are handled in ISA descriptions.
Should enable implementation of split-phase timing loads
with new memory model.
May create slight timing differences under FullCPU, as I
believe we were not handling software prefetches correctly
before when the split MemAcc/Exec model was used.  I haven't
looked into this in any detail though.

arch/alpha/isa/decoder.isa:
    HwLoadStore format split into separate HwLoad and
    HwStore formats.
    Copy instructions now fall under MiscPrefetch format.
    Mem_write_result is now just write_result in store
    conditionals.
arch/alpha/isa/mem.isa:
    Split MemAccExecute and LoadStoreExecute templates
    into separate templates for loads and stores; now
    that memory operands are handled differently from
    registers, it's impossible to have a single template
    serve both.
    Also unified the handling of "regular" prefetches
    (loads to r31) and "misc" prefetches (e.g., wh64)
    under the new scheme.  It looks like SW prefetches
    were not handled correctly in FullCPU up til now,
    since we generated an execute() method for the outer
    instruction but didn't generate a proper method for
    MemAcc::execute() (instead getting a default no-op
    method for that).
arch/alpha/isa/pal.isa:
    Split HwLoadStore into separate HwLoad and HwStore
    formats to select proper template (see change to
    mem.isa in this changeset).
arch/isa_parser.py:
    Stop trying to treat memory operands like register
    operands, since we never used them in a uniform way
    anyway, and it made it impossible to do split-phase
    loads as needed for the new CPU model.  Now there's no
    more 'op_mem_rd', 'op_nonmem_rd', etc.: 'op_rd' just does
    register operands, and the template code is responsible
    for formulating the call to the memory system.  Right now
    the only thing exported by InstObjParams is a new attribute
    'mem_acc_size' which gives the memory access size in bits,
    though more attributes can be added if needed.

    Also moved code in findOperands() method to
    OperandDescriptorList.__init__(), which is where it belongs.

--HG--
extra : convert_revision : 6d53d07e0c5e828455834ded4395fa40f9146a34

18 years agoSplit Alpha ISA description into multiple files
Steve Reinhardt [Fri, 10 Feb 2006 04:02:38 +0000 (23:02 -0500)]
Split Alpha ISA description into multiple files
(thanks to Gabe's include feature!).

arch/alpha/isa/main.isa:
    Split out into multiple .isa files.

--HG--
extra : convert_revision : 30d8edf74ea194d4a208febf1e66edc72a7dbd5d

18 years agoMinor cleanup of include-handling code in isa_parser.py.
Steve Reinhardt [Fri, 10 Feb 2006 03:27:41 +0000 (22:27 -0500)]
Minor cleanup of include-handling code in isa_parser.py.

arch/isa_parser.py:
    Clean up ##include code a bit.
arch/sparc/isa/formats.isa:
arch/sparc/isa/main.isa:
    Fix include paths.

--HG--
extra : convert_revision : 0689963c2948e5f1088ecbf2cf6018d29bdaceff

18 years agoMerge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
Steve Reinhardt [Thu, 9 Feb 2006 19:58:56 +0000 (14:58 -0500)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into  zizzer.eecs.umich.edu:/z/stever/bk/m5

--HG--
extra : convert_revision : 6e30fb802265c6a0d4afc00141b89ee529595549

18 years agoMerge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
Steve Reinhardt [Thu, 9 Feb 2006 19:51:56 +0000 (14:51 -0500)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into  zizzer.eecs.umich.edu:/z/stever/bk/m5

--HG--
extra : convert_revision : 10146c85d2fa6f565568cc30a4564b3674e4768d

18 years agoChange how isa_parser.py generates C++ names for isa_desc operands.
Steve Reinhardt [Thu, 9 Feb 2006 19:51:37 +0000 (14:51 -0500)]
Change how isa_parser.py generates C++ names for isa_desc operands.

arch/isa_parser.py:
    Get rid of "munged name" for operands in C++ code.
    That is, "Ra.uq" will now be known in the C++ as "Ra"
    rather than "Ra_uq".  It wasn't legal to use different
    type extensions for the same operand at the same time
    anyway, and now it will be easier to refer to explicit
    operands in template code if necessary.

--HG--
extra : convert_revision : 9ff41e0201aeefe761743084ecdb34f4b9c84fdb

18 years agoMerge gblack@m5.eecs.umich.edu:/bk/multiarch
Gabe Black [Thu, 9 Feb 2006 19:48:10 +0000 (14:48 -0500)]
Merge gblack@m5.eecs.umich.edu:/bk/multiarch
into  ewok.(none):/home/gblack/m5/multiarch

--HG--
extra : convert_revision : ae574fbee484019d318ef25034bd4a7e18354aab

18 years agoMerge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
Gabe Black [Thu, 9 Feb 2006 19:37:44 +0000 (14:37 -0500)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into  zizzer.eecs.umich.edu:/z/m5/Bitkeeper/multiarch

--HG--
extra : convert_revision : 6b218e875e5c6299cd38727071e401a3e729266a

18 years agoChanged the filenames to the new standard again
Gabe Black [Thu, 9 Feb 2006 18:56:24 +0000 (13:56 -0500)]
Changed the filenames to the new standard again

arch/sparc/isa/formats.isa:
    Changed the file extensions to .isa again.
arch/sparc/isa/main.isa:
    Changed the file extensions to .isa again

--HG--
rename : arch/sparc/isa_desc/base.h => arch/sparc/isa/base.isa
rename : arch/sparc/isa_desc/bitfields.h => arch/sparc/isa/bitfields.isa
rename : arch/sparc/isa_desc/decoder.h => arch/sparc/isa/decoder.isa
rename : arch/sparc/isa_desc/formats.h => arch/sparc/isa/formats.isa
rename : arch/sparc/isa_desc/formats/basic.format => arch/sparc/isa/formats/basic.isa
rename : arch/sparc/isa_desc/formats/branch.format => arch/sparc/isa/formats/branch.isa
rename : arch/sparc/isa_desc/formats/integerop.format => arch/sparc/isa/formats/integerop.isa
rename : arch/sparc/isa_desc/formats/mem.format => arch/sparc/isa/formats/mem.isa
rename : arch/sparc/isa_desc/formats/noop.format => arch/sparc/isa/formats/noop.isa
rename : arch/sparc/isa_desc/formats/trap.format => arch/sparc/isa/formats/trap.isa
rename : arch/sparc/isa_desc/includes.h => arch/sparc/isa/includes.isa
rename : arch/sparc/isa_desc/isa_desc => arch/sparc/isa/main.isa
rename : arch/sparc/isa_desc/operands.h => arch/sparc/isa/operands.isa
extra : convert_revision : acb087e81d06ca5d67fe9b402423d7930f6ae798

18 years agoMerge gblack@m5.eecs.umich.edu:/bk/multiarch
Gabe Black [Thu, 9 Feb 2006 18:07:00 +0000 (13:07 -0500)]
Merge gblack@m5.eecs.umich.edu:/bk/multiarch
into  ewok.(none):/home/gblack/m5/multiarch

--HG--
extra : convert_revision : 41a0e8c0b2d328bee958126f395369d4549aabfc

18 years agoA fix for SConscript so it will work with newer versions of scons
Gabe Black [Thu, 9 Feb 2006 18:06:47 +0000 (13:06 -0500)]
A fix for SConscript so it will work with newer versions of scons

SConscript:
    Changed the ISAPath function to take 5 arguments to work with scons 0.97.

--HG--
extra : convert_revision : 34fbe131aec9349631b5026d839563380623f3fd

18 years agomore code for instructions... Mainly for coprocessor0 and coprocessor1 move instructions
Korey Sewell [Thu, 9 Feb 2006 09:26:04 +0000 (04:26 -0500)]
more code for instructions... Mainly for coprocessor0 and coprocessor1  move instructions

--HG--
extra : convert_revision : 34e017fd0a6f330f2ac17d34af216fc14f09dd42

18 years agoMerge zizzer:/bk/multiarch
Korey Sewell [Wed, 8 Feb 2006 21:24:25 +0000 (16:24 -0500)]
Merge zizzer:/bk/multiarch
into  zazzer.eecs.umich.edu:/z/ksewell/research/m5-sim/m5-multiarch

--HG--
extra : convert_revision : 2bfc19cfa186776ff94440b01ea51f520f61234f

18 years agoCode for more "BasicOp" instructions ... formats for all instructions in place ....
Korey Sewell [Wed, 8 Feb 2006 21:24:04 +0000 (16:24 -0500)]
Code for more "BasicOp" instructions ... formats for all instructions in place ... Edits to Branch Format

arch/mips/isa/decoder.isa:
    Code for di,ei,seb,seh,clz,and clo ....

    Every instruction has a format now (of course these are initial formats are still subject to change!)
arch/mips/isa/formats/branch.isa:
    Format Branch in MIPS similar to Alpha Format

--HG--
extra : convert_revision : 2118a1d9668610b1e9f1dea66d878b7b36c1ac7e

18 years agoadd at least BasicOp Format to most if not all instructions
Korey Sewell [Wed, 8 Feb 2006 19:50:07 +0000 (14:50 -0500)]
add at least BasicOp Format to most if not all instructions
and file name changes ...

arch/mips/isa/decoder.isa:
    add at least BasicOp Format to most if not all instructions

--HG--
rename : arch/mips/isa/formats/basic.format => arch/mips/isa/formats/basic.isa
rename : arch/mips/isa/formats/branch.format => arch/mips/isa/formats/branch.isa
rename : arch/mips/isa/formats/fp.format => arch/mips/isa/formats/fp.isa
rename : arch/mips/isa/formats/int.format => arch/mips/isa/formats/int.isa
rename : arch/mips/isa/formats/mem.format => arch/mips/isa/formats/mem.isa
rename : arch/mips/isa/formats/noop.format => arch/mips/isa/formats/noop.isa
rename : arch/mips/isa/formats/tlbop.format => arch/mips/isa/formats/tlbop.isa
rename : arch/mips/isa/formats/trap.format => arch/mips/isa/formats/trap.isa
rename : arch/mips/isa/mips.isa => arch/mips/isa/main.isa
extra : convert_revision : 0b2f3aee13fee3e0e25c0c746af4216c4a596391

18 years agoReplace ad-hoc or locally defined power-of-2 tests
Steve Reinhardt [Wed, 8 Feb 2006 15:40:43 +0000 (10:40 -0500)]
Replace ad-hoc or locally defined power-of-2 tests
with isPowerOf2() from intmath.hh.

base/sched_list.hh:
    Use isPowerOf2() from intmath.hh.

--HG--
extra : convert_revision : 7b2409531d8ed194aa7e1cfcd1ecb8460c797a16

18 years agoMoved the alpha isa_desc to conform to the new naming system.
Gabe Black [Wed, 8 Feb 2006 07:17:47 +0000 (02:17 -0500)]
Moved the alpha isa_desc to conform to the new naming system.

--HG--
rename : arch/alpha/isa_desc => arch/alpha/isa/main.isa
extra : convert_revision : a3cc14c202ae606db270c2c29847170d90c05216

18 years agoSome fixups
Gabe Black [Wed, 8 Feb 2006 06:57:47 +0000 (01:57 -0500)]
Some fixups

arch/alpha/alpha_linux_process.cc:
arch/alpha/alpha_tru64_process.cc:
    Replaced the namespace declaration with including arch/alpha/isa_traits.hh

--HG--
extra : convert_revision : 07cb73a9f30f0e165809668f9baff6a3e3f94580

18 years agoMerge gblack@m5.eecs.umich.edu:/bk/multiarch
Gabe Black [Wed, 8 Feb 2006 06:04:32 +0000 (01:04 -0500)]
Merge gblack@m5.eecs.umich.edu:/bk/multiarch
into  ewok.(none):/home/gblack/m5/multiarch

--HG--
extra : convert_revision : c7caf571575fb0e7136770864371300d3f11787e

18 years agoAlot of changes to push towards ISA independence. Highlights are renaming of the...
Gabe Black [Wed, 8 Feb 2006 06:03:55 +0000 (01:03 -0500)]
Alot of changes to push towards ISA independence. Highlights are renaming of the isa_desc files, movement of byte_swap.hh into sim, and the creation of arch/isa_traits.hh

SConscript:
    Moved some files out of targetarch. The either no longer need to be there, never needed to be there, or should be referred to directly in arch/alpha due to there strictly alpha content.
arch/alpha/isa_traits.hh:
    Added alpha's endianness to it's isa_traits.hh
arch/mips/isa_traits.hh:
    Added MIPS endianness to it's isa_traits.hh
arch/sparc/isa_traits.hh:
    Added SPARCs endianess to it's isa_traits.hh
build/SConstruct:
    Added MIPS as a valid architecture
cpu/exec_context.hh:
    Included arch/isa_traits.hh to bring in the endianness of the system.
cpu/o3/alpha_cpu.hh:
    Included arch/isa_traits.hh to bring in the systems endianness, and removed the hardcoding of little endianness
cpu/o3/fetch_impl.hh:
kern/freebsd/freebsd_system.cc:
    Included arch/isa_traits.hh to bring in the systems endianness, and removed the hardcoding to little endianness.
sim/system.cc:
    Included arch/isa_traits.hh to bring in the systems endianness, and removed the hardcoding to little endian.

--HG--
extra : convert_revision : b1ab34b7569db531cd1c74f273b24222e63f9007

18 years agoActually we do need a separate class for Integer Ops with Immediates!!!
Korey Sewell [Wed, 8 Feb 2006 00:28:19 +0000 (19:28 -0500)]
Actually we do need a separate class for Integer Ops with Immediates!!!
The extra class is needed because of the necessisty of an immediate member variable.

Also, added some 'very modest' python code to choose between the IntOp and
the IntImmOp based on the instruction name ...

--HG--
extra : convert_revision : f109c12418202a99b40e270360134e8335739836

18 years agoname changes ... minor IntOP format change
Korey Sewell [Tue, 7 Feb 2006 23:36:08 +0000 (18:36 -0500)]
name changes ... minor IntOP format change

arch/mips/isa/formats/int.format:
    Looks like Integer Ops with Immediates may not need their own separate class because all those instructions are distinct from
    their reg-reg counterparts

--HG--
rename : arch/mips/isa/bitfields.def => arch/mips/isa/bitfields.isa
rename : arch/mips/isa/decoder.def => arch/mips/isa/decoder.isa
rename : arch/mips/isa/formats.def => arch/mips/isa/formats.isa
rename : arch/mips/isa/includes.h => arch/mips/isa/includes.isa
rename : arch/mips/isa/operands.def => arch/mips/isa/operands.isa
extra : convert_revision : 8e354b4232b28c0264d98d333d55ef8b5a6589cc

18 years ago1st full draft switch statement actions for all integer arithmetic operations and...
Korey Sewell [Sat, 4 Feb 2006 23:59:44 +0000 (18:59 -0500)]
1st full draft switch statement actions for all integer arithmetic operations and the majority of the load & store operations (not all of FP-Ops),

Output,Format, & Template code needs to be adjusted to correctly take these "decoder.h" inputs ...

--HG--
extra : convert_revision : 3dcde1f2f587e2766fd61231a93d34d1d7727356

18 years agomainly added minor support for the basic arithmetic operations (add, mult, shift)
Korey Sewell [Sat, 4 Feb 2006 04:04:06 +0000 (23:04 -0500)]
mainly added minor support for the basic arithmetic operations (add, mult, shift)

arch/mips/isa/bitfields.def:
    Add comment, move definition up in file
arch/mips/isa/decoder.def:
    add basic arithmetic operations
arch/mips/isa/formats/fp.format:
    change Integer -> FP words
arch/mips/isa/formats/int.format:
    Add derived IntImm class
arch/mips/isa/operands.def:
    change to MIPS sytle operands

--HG--
rename : arch/mips/isa/formats/fpop.format => arch/mips/isa/formats/fp.format
rename : arch/mips/isa/formats/integerop.format => arch/mips/isa/formats/int.format
extra : convert_revision : a95da47bc981e56a9898421da4eeb9c442d1dc15

18 years ago.h -> .def
Korey Sewell [Fri, 3 Feb 2006 08:56:57 +0000 (03:56 -0500)]
.h -> .def

--HG--
rename : arch/mips/isa/bitfields.h => arch/mips/isa/bitfields.def
rename : arch/mips/isa/decoder.h => arch/mips/isa/decoder.def
rename : arch/mips/isa/formats.h => arch/mips/isa/formats.def
rename : arch/mips/isa/operands.h => arch/mips/isa/operands.def
extra : convert_revision : 45cb5485311d51982ebcaf1c7eec34e8751c31f5

18 years agoRename: arch/mips/isa/formats/tlb.format -> arch/mips/isa/formats/tlbop.format
Korey Sewell [Fri, 3 Feb 2006 08:39:08 +0000 (03:39 -0500)]
Rename: arch/mips/isa/formats/tlb.format -> arch/mips/isa/formats/tlbop.format

--HG--
rename : arch/mips/isa/formats/tlb.format => arch/mips/isa/formats/tlbop.format
extra : convert_revision : 5b1cfba4a5b687c9a271e1a3f67f75e3fa6c2dde

18 years agoCheckin (Merge?) files ... Added a few new format files
Korey Sewell [Fri, 3 Feb 2006 08:38:27 +0000 (03:38 -0500)]
Checkin (Merge?) files ... Added a few new format files

arch/mips/isa/formats/fpop.format:
    Floating Point Formats
arch/mips/isa/formats/tlb.format:
    TLB Ops Format
arch/mips/isa/mips.isa:
    Name change to mips.isa

--HG--
rename : arch/mips/isa_desc/bitfields.h => arch/mips/isa/bitfields.h
rename : arch/mips/isa_desc/decoder.h => arch/mips/isa/decoder.h
rename : arch/mips/isa_desc/formats.h => arch/mips/isa/formats.h
rename : arch/mips/isa_desc/formats/basic.format => arch/mips/isa/formats/basic.format
rename : arch/mips/isa_desc/formats/branch.format => arch/mips/isa/formats/branch.format
rename : arch/mips/isa_desc/formats/integerop.format => arch/mips/isa/formats/integerop.format
rename : arch/mips/isa_desc/formats/mem.format => arch/mips/isa/formats/mem.format
rename : arch/mips/isa_desc/formats/noop.format => arch/mips/isa/formats/noop.format
rename : arch/mips/isa_desc/formats/trap.format => arch/mips/isa/formats/trap.format
rename : arch/mips/isa_desc/includes.h => arch/mips/isa/includes.h
rename : arch/mips/isa_desc/operands.h => arch/mips/isa/operands.h
extra : convert_revision : 069a24da405b613f688e693fd038ac7a30a4faed

18 years agobyte_swap.hh was removed from arch/alpha/, and replaced by sim/byteswap.hh. The new...
Gabe Black [Fri, 3 Feb 2006 05:16:44 +0000 (00:16 -0500)]
byte_swap.hh was removed from arch/alpha/, and replaced by sim/byteswap.hh. The new file uses LittleEndianGuest and BigEndianGuest namespaces to allow selecting the appropriate functions.

arch/alpha/alpha_linux_process.cc:
arch/alpha/alpha_tru64_process.cc:
    Added the endianness namespace. This may change.
cpu/exec_context.hh:
    Changed the include path for byteswap, and forced LittleEndianness for lack of a better solution.
cpu/o3/alpha_cpu.hh:
    Forced LittleEndianness, for lack of a better solution.
cpu/o3/alpha_cpu_impl.hh:
    Cleared away some commented out code.
cpu/o3/fetch_impl.hh:
    Changed the include patch for byteswap, and forced LittleEndianness for lack of a better solution.
cpu/simple/cpu.cc:
    Added an include for byteswap.hh, and fixed the SimpleCPU to LittleEndian. This cpu only does alpha, so that's fine.
dev/disk_image.cc:
    Changed the include path of byteswap.hh
kern/freebsd/freebsd_system.cc:
kern/linux/linux_system.cc:
    Added an include for byteswap.hh, and forced LittleEndianness for lack of a better solution.
sim/system.cc:
    Forced LittleEndianness for lack of a better solution.

--HG--
extra : convert_revision : b95d3e1265a825e04bd77622a3ac09fbac6bd206

18 years agoMerge zizzer:/bk/multiarch
Ali Saidi [Wed, 1 Feb 2006 22:52:40 +0000 (17:52 -0500)]
Merge zizzer:/bk/multiarch
into  zeep.eecs.umich.edu:/z/saidi/work/m5.multiarch

--HG--
extra : convert_revision : 88b5214973ecc2f5c0428da21b65b09c767ae31d

18 years agoMerge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
Gabe Black [Wed, 1 Feb 2006 22:41:03 +0000 (17:41 -0500)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into  zizzer.eecs.umich.edu:/z/m5/Bitkeeper/multiarch

--HG--
extra : convert_revision : f2339d64cc63709e32c06892f4eabb40a806095e

18 years agoFix a mistake, need to import SCons.Scanner
Ali Saidi [Wed, 1 Feb 2006 18:13:05 +0000 (13:13 -0500)]
Fix a mistake, need to import SCons.Scanner

--HG--
extra : convert_revision : c6b15c162e9826c6c00dbbf52fb8aa8819d56c23

18 years agoAdd a scaner for .isa files. Ordering it turns out is rather important
Ali Saidi [Tue, 31 Jan 2006 18:52:23 +0000 (13:52 -0500)]
Add a scaner for .isa files. Ordering it turns out is rather important
here, so it has to be defined before the rule to  that calls
isa_parser.py

--HG--
extra : convert_revision : dbba3c7ee71ca8ca1fcbf5ee65ae83b4ecb63649

18 years agoMake the M5 Emacs C style default to inserting spaces instead
Nathan Binkert [Mon, 30 Jan 2006 19:32:00 +0000 (14:32 -0500)]
Make the M5 Emacs C style default to inserting spaces instead
of tabs so using different editors is consistent

util/emacs/m5-c-style.el:
    Default to inserting spaces instead of tabs so using different
    editors is consistent

--HG--
extra : convert_revision : 719e5e980e088b0f4787b198de18cddceabd0140

18 years agosparc files that were removed from revision 1.888
Korey Sewell [Sun, 29 Jan 2006 22:25:54 +0000 (17:25 -0500)]
sparc files that were removed from revision 1.888

--HG--
extra : convert_revision : f285a442b64eee183f7d0f6c203f0b0aa7ea8586

18 years agobitfields definition to support current decoder.h
Korey Sewell [Thu, 26 Jan 2006 22:07:01 +0000 (17:07 -0500)]
bitfields definition to support current decoder.h

--HG--
extra : convert_revision : 75ccc53181b857605d051024d86ef62ec43f3b7f

18 years ago"sparc" -> "mips"
Korey Sewell [Thu, 26 Jan 2006 21:19:44 +0000 (16:19 -0500)]
"sparc" -> "mips"

arch/mips/isa_desc/formats.h:
arch/mips/isa_desc/formats/basic.format:
arch/mips/isa_desc/formats/branch.format:
arch/mips/isa_desc/formats/integerop.format:
arch/mips/isa_desc/formats/mem.format:
arch/mips/isa_desc/formats/noop.format:
arch/mips/isa_desc/formats/trap.format:
arch/mips/isa_traits.cc:
arch/mips/isa_traits.hh:
    changing "sparc" strings to "mips" everywhere

--HG--
extra : convert_revision : eaecf9eeac26e3ef0726deef2fb5d7e9ad172984

18 years agodecoder skeleton code: this should be able to read any MIPS instruction and decode...
Korey Sewell [Thu, 26 Jan 2006 06:34:43 +0000 (01:34 -0500)]
decoder skeleton code: this should be able to read any MIPS instruction and decode it but NOT produce any C++ class object.
All of the code literals are empty as of now. As much as possible instructions were organized into relevant "formats"
and also references to the tables I used from the MIPS manual were noted via appropriate comments.

--HG--
extra : convert_revision : 9b44fb40e900061a4cdb290b6a5aaceb9750ae13

18 years agomore changes to the decoder ... Now does special 3 table
Korey Sewell [Wed, 25 Jan 2006 22:36:38 +0000 (17:36 -0500)]
more changes to the decoder ... Now does special 3 table

arch/mips/isa_desc/bitfields.h:
    Change from table names to actual bitfield name ...

--HG--
extra : convert_revision : ead69065eb9c3e9c4ea4f67587a6fb07091898ed

18 years agofirst version of my decoder function skeleton
Korey Sewell [Wed, 25 Jan 2006 22:06:23 +0000 (17:06 -0500)]
first version of my decoder function skeleton
- this will decode the instructions but not doing anything to create the C++ object yet
(the 1st of many steps!)

arch/mips/isa_desc/bitfields.h:
    initial bitfield constants ... copied some from original alpha bitfields
arch/mips/isa_desc/decoder.h:
    decoder function skeleton pt.1
    - this will decode the instructions but not doing anything to create the C++ object yet
    (the 1st of many steps!)

--HG--
extra : convert_revision : 2b9a0f8160c78b17f9d3d5eaf5af5a4d2f074761

18 years agoinitial changes to decoder.hh and copied files from arch/sparc directory
Korey Sewell [Wed, 25 Jan 2006 19:43:47 +0000 (14:43 -0500)]
initial changes to decoder.hh and copied files from arch/sparc directory

arch/mips/isa_desc/bitfields.h:
arch/mips/isa_desc/formats.h:
arch/mips/isa_desc/formats/basic.format:
arch/mips/isa_desc/formats/branch.format:
arch/mips/isa_desc/formats/integerop.format:
arch/mips/isa_desc/formats/mem.format:
arch/mips/isa_desc/formats/noop.format:
arch/mips/isa_desc/formats/trap.format:
arch/mips/isa_desc/includes.h:
arch/mips/isa_desc/operands.h:
arch/mips/isa_traits.cc:
arch/mips/isa_traits.hh:
    copied from sparc ISA directory
arch/mips/isa_desc/decoder.h:
    decoder I started to work on...

--HG--
rename : arch/sparc/isa_desc/bitfields.h => arch/mips/isa_desc/bitfields.h
rename : arch/sparc/isa_desc/decoder.h => arch/mips/isa_desc/decoder.h
rename : arch/sparc/isa_desc/formats.h => arch/mips/isa_desc/formats.h
rename : arch/sparc/isa_desc/formats/basic.format => arch/mips/isa_desc/formats/basic.format
rename : arch/sparc/isa_desc/formats/branch.format => arch/mips/isa_desc/formats/branch.format
rename : arch/sparc/isa_desc/formats/integerop.format => arch/mips/isa_desc/formats/integerop.format
rename : arch/sparc/isa_desc/formats/mem.format => arch/mips/isa_desc/formats/mem.format
rename : arch/sparc/isa_desc/formats/noop.format => arch/mips/isa_desc/formats/noop.format
rename : arch/sparc/isa_desc/formats/trap.format => arch/mips/isa_desc/formats/trap.format
rename : arch/sparc/isa_desc/includes.h => arch/mips/isa_desc/includes.h
rename : arch/sparc/isa_desc/operands.h => arch/mips/isa_desc/operands.h
rename : arch/sparc/isa_traits.cc => arch/mips/isa_traits.cc
rename : arch/sparc/isa_traits.hh => arch/mips/isa_traits.hh
extra : convert_revision : d4f281960ecf2dce479fb665469c6f2c5dd3063e

18 years agoSome stuff aparently didn't get committed which was from before the new repository...
Gabe Black [Wed, 25 Jan 2006 00:57:17 +0000 (19:57 -0500)]
Some stuff aparently didn't get committed which was from before the new repository was created.

SConscript:
    There is a new SConscript in the arch/alpha directory which has the alpha specific files. To add files for an arch, a similar file should be created.
arch/isa_parser.py:
    The isa parser now supports include directives. These are done with ##include
build/SConstruct:
    The target directory is passed on so that the architecture specific SConscript can have it. Also, sparc was added as a valid architecture type.
arch/alpha/SConscript:
    This SConscript adds the alpha specific source
arch/sparc/isa_desc/operands.h:
    This sets up the operand types that the sparc isa uses
arch/sparc/isa_traits.cc:
    Implementation of sparc specific things, like a register file with windows
build/build_options/default/SPARC_SE:
    The default options for a sparc syscall emulation build.

--HG--
extra : convert_revision : 1afedae61dc8cae0d59d3bf1d41420d929be2efd

18 years agoAdding the sparc ISA files which were worked on locally
Gabe Black [Tue, 10 Jan 2006 19:57:37 +0000 (14:57 -0500)]
Adding the sparc ISA files which were worked on locally

arch/sparc/isa_desc/bitfields.h:
    This file defines the bit fields used by the isa description system
arch/sparc/isa_desc/decoder.h:
    This file describes the decoder for the isa description system
arch/sparc/isa_desc/formats.h:
    This file declares the instruction formats
arch/sparc/isa_desc/formats/basic.format:
    This file implements the "basic" instruction format
arch/sparc/isa_desc/formats/branch.format:
    This file implements the "branch" instruction format
arch/sparc/isa_desc/formats/integerop.format:
    This file implements the "integerop" instruction format
arch/sparc/isa_desc/formats/mem.format:
    This file implements the "mem" instruction format
arch/sparc/isa_desc/formats/noop.format:
    This file implements the "noop" instruction format
arch/sparc/isa_desc/formats/trap.format:
    This file implements the "trap" instruction format
arch/sparc/isa_desc/includes.h:
    This file is all of the inclues that are used by the isa description system

--HG--
extra : convert_revision : 12a2ffe949317b8b57d83263a4261131b9432c2a

18 years agoFix roundUp function template so explicit arg is not
Steve Reinhardt [Fri, 23 Dec 2005 18:50:35 +0000 (13:50 -0500)]
Fix roundUp function template so explicit arg is not
needed in a few more cases.

base/intmath.hh:
    align arg to roundUp should be int, not template class
sim/process.cc:
sim/syscall_emul.hh:
    No need for explicit template arg now that roundUp is fixed.

--HG--
extra : convert_revision : f9f4639e022acb9f427e8d30d81c782504437c53

18 years agoChange base/intmath.{cc,hh} to follow m5 style.
Steve Reinhardt [Fri, 23 Dec 2005 18:32:31 +0000 (13:32 -0500)]
Change base/intmath.{cc,hh} to follow m5 style.

arch/alpha/alpha_tru64_process.cc:
base/intmath.hh:
base/statistics.cc:
base/str.cc:
cpu/o3/btb.cc:
sim/process.cc:
sim/syscall_emul.hh:
    Rename intmath.hh functions to follow m5 style
    (RoundUp -> roundUp, etc.).
base/intmath.cc:
    Rename intmath.hh functions to follow m5 style
    (RoundUp -> roundUp, etc.).
    Also reindent code in m5 style.

--HG--
extra : convert_revision : 57b853002bc3c9911e122599d9062b41a06d8e6a

18 years agoUpdates to Memory system changes document.
Nathan Binkert [Fri, 23 Dec 2005 06:39:53 +0000 (01:39 -0500)]
Updates to Memory system changes document.

--HG--
extra : convert_revision : a35a76d18a6183a0aaa5dd40c330f1ec0ef2244a

18 years agoAdd a more refined stab at some of the new interface.
Steve Reinhardt [Fri, 23 Dec 2005 03:00:24 +0000 (22:00 -0500)]
Add a more refined stab at some of the new interface.

--HG--
extra : convert_revision : 9c3de70d83e6a1515566a9b7226e798ee077466f

18 years agoAdd notes from latest memory system redesign meetings.
Steve Reinhardt [Thu, 22 Dec 2005 19:41:49 +0000 (14:41 -0500)]
Add notes from latest memory system redesign meetings.

--HG--
extra : convert_revision : 53389e8e784e471b0fc6053ec970cd967bfe1598

18 years agoMake ScsiController a PioDevice so it works again.
Nathan Binkert [Thu, 22 Dec 2005 03:19:33 +0000 (22:19 -0500)]
Make ScsiController a PioDevice so it works again.

--HG--
extra : convert_revision : cd610221edc6926d120d9f3978dd9ee89f501824

18 years agoCreate the ProxyError Exception. Raise it when an unproxy
Nathan Binkert [Mon, 19 Dec 2005 07:07:06 +0000 (02:07 -0500)]
Create the ProxyError Exception.  Raise it when an unproxy
operation fails because information is wrong or not available.

--HG--
extra : convert_revision : 1fd90c1291618b09752179cfa6894f1df495fffd

18 years agoAdd a little bit of support to grab info for making graphs
Nathan Binkert [Mon, 19 Dec 2005 07:02:58 +0000 (02:02 -0500)]
Add a little bit of support to grab info for making graphs
without using the jobfile.

util/stats/db.py:
util/stats/profile.py:
    Make it possible to send job as a string and to set the system
    separately from the job.

--HG--
extra : convert_revision : 08aaebd3f9a1643bd41953b43f3b80dc97e6592f

18 years agoMake simulation termination message less threatening... maybe
Steve Reinhardt [Wed, 7 Dec 2005 01:00:50 +0000 (20:00 -0500)]
Make simulation termination message less threatening... maybe
people won't think they're getting an error when they're not.

--HG--
extra : convert_revision : 7622360f4f88eed9edf44480dac551d153582d8b

18 years agoTwo small fixes for mem_req's and Probe path with MOSI/MOESI
Ron Dreslinski [Thu, 1 Dec 2005 23:47:36 +0000 (18:47 -0500)]
Two small fixes for mem_req's and Probe path with MOSI/MOESI

cpu/simple/cpu.cc:
    Properly set the Instruction Read bit in the Memory Request

--HG--
extra : convert_revision : e1a4756f32718fd8ef3ac3db16625bd6d8f07cc5

18 years agoAdd support for multiple streams being configured with the INITPARAM
Ali Saidi [Tue, 29 Nov 2005 23:06:15 +0000 (18:06 -0500)]
Add support for multiple streams being configured with the INITPARAM
variable

--HG--
extra : convert_revision : 2cb20845cb7f32589882850156bdd42d9024db7a

18 years agoVirtualized SINIC fixes
Nathan Binkert [Mon, 28 Nov 2005 23:40:58 +0000 (18:40 -0500)]
Virtualized SINIC fixes

dev/pktfifo.hh:
    we can't modify i because it's used further down to remove
    the packet from the fifo.  Instead, copy the iterator and
    modify that to get the previous packet.
dev/sinic.cc:
    - don't change the transmit state and kick the machine unless
    we're at the head of the txList.
    - add a couple of debugging statements to figure out how far
    along we've gotten in processing a packet.
    - assert that the current tx vnic has something to do when
    we start processing the state machine.

--HG--
extra : convert_revision : 588fe2c7d810be0e3d8d39c5cc0ec8a72119517e

18 years agoMake the debugger a bit more useful with m5.opt by moving stuff
Nathan Binkert [Mon, 28 Nov 2005 23:33:48 +0000 (18:33 -0500)]
Make the debugger a bit more useful with m5.opt by moving stuff
from #ifdef DEBUG to #ifndef NDEBUG

base/remote_gdb.cc:
    make the remote debugger gdb stuff work in m5.opt
sim/system.cc:
sim/system.hh:
    make the console panic break event happen in m5.opt

--HG--
extra : convert_revision : 044a9b7cdacb058112388a31315e45c5d8cf70fd

18 years agoVirtualize sinic
Nathan Binkert [Fri, 25 Nov 2005 18:33:36 +0000 (13:33 -0500)]
Virtualize sinic
separate the rx thread and tx thread and get rid of the dedicated flag.

dev/ns_gige.cc:
dev/ns_gige.hh:
dev/ns_gige_reg.h:
python/m5/objects/Ethernet.py:
    dedicated flag goes away, we have new individual flags for
    rx thread and tx thread
dev/sinic.cc:
    Virtualize sinic
    - The io registers are replicated many times in memory, allowing the NIC to
    differentiate among several virtual interfaces.
    - On the TX side, this allows multiple CPUs to initiate transmits at the same
    time without locking in the software.  If a partial packet is transmitted,
    then the state machine blocks waiting for that virtual interface to complete
    its packet.  Then the state machine will move on to the next virtual
    interface.  The commands are kept in fifo order.
    - On the RX side, multiple partial transmits can be simultaneously done.
    Though a packet does not deallocate its fifo space until all preceeding
    packets in the fifo are deallocated.  To enable multiple receives, it
    is necessary for each virtual nic to keep its own information about its
    progress through the state machine.
dev/sinic.hh:
    Virtualize sinic
    Receive state must be virtualized since we allow the receipt of packets in
    parallel.
dev/sinicreg.hh:
    Virtualize sinic
    separate rx thread and tx thread
    create a soft interrupt and add a command to trigger it.
    pad out the reserved bits in the RxDone and TxDone regs

--HG--
extra : convert_revision : c10bb23a46a89ffd1e08866c1f1621cb98069205

18 years agoAdd the capability to iterate through the packets in a pktfifo,
Nathan Binkert [Fri, 25 Nov 2005 16:22:41 +0000 (11:22 -0500)]
Add the capability to iterate through the packets in a pktfifo,
and to remove elements in the middle of the fifo.  These elements
do not free space, they are just marked removed.  Space is only
freed from the front of the fifo.

dev/etherpkt.cc:
    serialize the current slack
dev/etherpkt.hh:
    add "slack" to the ethernet packet.  It is to be used by any fifo that
    the packet is currently in to account for extra space that the packet
    may be occupying due to the fifo organization.

--HG--
extra : convert_revision : 8e7c541ba316a9a76495c54cc5f707f8fc65b6d5

18 years agoMajor improvements in the graph output code. Mostly adding more
Nathan Binkert [Wed, 23 Nov 2005 02:50:34 +0000 (21:50 -0500)]
Major improvements in the graph output code.  Mostly adding more
options, making existing options more visible and dealing with
holes in data better.

util/stats/barchart.py:
    - move the options for BarChart to a base class ChartOptions so
    they can be more easily set and copied.
    - add an option to set the chart size (so you can adjust the aspect ratio)
    - don't do the add_subplot thing, use add_axes directly so we can
    affect the size of the figure itself to make room for the legend
    - make the initial array bottom floating point so we don't lose precision
    - add an option to set the limits on the y axis
    - use a figure legend instead of an axes legend so we can put the legend
    outside of the actual chart.  Also add an option to set the fontsize of
    the legend.
    - initial hack at outputting csv files
util/stats/db.py:
    don't print out an error when the run is missing from the database
    just return None, the error will be print elsewhere.
util/stats/output.py:
    - make StatOutput derive from ChartOptions so that it's easier to
    set default chart options.
    - make the various output functions (graph, display, etc.) take the
    name of the data as a parameter instead of making it a parameter to
    __init__.  This allows me to create the StatOutput object with
    generic parameters while still being able to specialize the name
    after the fact
    - add support for graph_group and graph_bars to be applied to multiple
    configuration groups.  This results in a cross product of the groups
    to be generated and used.
    - flush the html file output as we go so that we can load the file
    while graphs are still being generated.
    - make the proxy a parameter to the graph function so the proper system's
    data can be graphed
    - for any groups or bars that are completely missing, remove them from
    the graph.  This way, if we decide not to do a set of runs, there won't
    be holes in the data.
    - output eps and ps by default in addition to the png.
util/stats/profile.py:
    - clean up the data structures that are used to store the function
    profile information and try our best to avoid keeping extra data
    around that isn't used.
    - make get() return None if a job is missing so we know it was
    missing rather than the all zeroes thing.
    - make the function profile categorization stuff total up to 100%
    - Fixup the x-axis and y-axis labels.
    - fix the dot file output stuff.
util/stats/stats.py:
    support the new options stuff for StatOutput

--HG--
extra : convert_revision : fae35df8c57a36257ea93bc3e0a0e617edc46bb7

18 years agoChange the set of statistics that are generated when specifying "all"
Nathan Binkert [Wed, 23 Nov 2005 02:20:36 +0000 (21:20 -0500)]
Change the set of statistics that are generated when specifying "all"

--HG--
extra : convert_revision : 8b803b1b3bbec0b35b6805593b0dd598e5b519cf

18 years agoMore changes from cpus named fullX to runX
Nathan Binkert [Wed, 23 Nov 2005 02:18:11 +0000 (21:18 -0500)]
More changes from cpus named fullX to runX

--HG--
extra : convert_revision : e3c117dc5751be13bd4b014a7fa6df0debfb48f0

18 years agoFix the system clock at 1THz making 1 simulation tick = 1 ps
Nathan Binkert [Wed, 23 Nov 2005 02:08:47 +0000 (21:08 -0500)]
Fix the system clock at 1THz making 1 simulation tick = 1 ps

--HG--
extra : convert_revision : a4707af5f8dc193fbecfb602701b1170c32ae3e3

18 years agomake the NUMCPUS parameter always refer to the total number of cpus
Nathan Binkert [Wed, 23 Nov 2005 02:05:02 +0000 (21:05 -0500)]
make the NUMCPUS parameter always refer to the total number of cpus
on the test system.
add an option for pio_delay_write to run.py

util/stats/stats.py:
    full0 -> run0 due to run.py change
    sim_ticks doesn't make sense with tick = ps, so use
    one of the cpu's numCycles paramter

--HG--
extra : convert_revision : db9dbe014549d823edc10395f5241db5e907df01

18 years agoMake sure that the aiobench client has enough memory.
Nathan Binkert [Tue, 22 Nov 2005 18:36:30 +0000 (13:36 -0500)]
Make sure that the aiobench client has enough memory.
increase from 128MB to 512MB

--HG--
extra : convert_revision : 7b12febff200083aa0adbcaba612bc9e677ebe07

18 years agoClean up the newly updated iscsi-client script
Nathan Binkert [Tue, 22 Nov 2005 18:33:28 +0000 (13:33 -0500)]
Clean up the newly updated iscsi-client script

configs/boot/iscsi-client.rcS:
    Clean up the newly updated iscsi-client script.
    Reduce the writeback period so writes occur more frequently.

--HG--
extra : convert_revision : 21c84f781c6537b28c753291561d23c2d0144627

18 years agoApply patch for syscall emulation provided by Antti Miettinen (apm@brigitte.dna.fi...
Kevin Lim [Tue, 22 Nov 2005 17:08:08 +0000 (12:08 -0500)]
Apply patch for syscall emulation provided by Antti Miettinen (apm@brigitte.dna.fi).  It provides support for more syscalls in syscall emulation mode.

arch/alpha/alpha_linux_process.cc:
sim/syscall_emul.cc:
sim/syscall_emul.hh:
    Apply patch for syscall emulation provided by Antti Miettinen (apm@brigitte.dna.fi).

--HG--
extra : convert_revision : 37fbc78a927110b7798343afd2c5f37a269e42b4

18 years agoadd the cpu number of the request to various panic and trace
Nathan Binkert [Tue, 22 Nov 2005 05:17:05 +0000 (00:17 -0500)]
add the cpu number of the request to various panic and trace
output for sinic

dev/sinic.cc:
    add the cpu number of the request to various panic and trace
    output

--HG--
extra : convert_revision : e778a5c925e194652bec47af678488acf48c1ae0

18 years agoadd support for delaying pio writes until the cache access occurs
Nathan Binkert [Tue, 22 Nov 2005 04:43:15 +0000 (23:43 -0500)]
add support for delaying pio writes until the cache access occurs

dev/ns_gige.cc:
    add support for delaying pio writes until the cache access occurs
    the only write we delay are for CR_TXE and CR_RXE
dev/sinic.cc:
dev/sinic.hh:
    the txPioRequest and rxPioRequest things were more or less bogus
    add support for delaying pio writes until the cache access occurs
dev/sinicreg.hh:
    Add delay_read and delay_write to the register information struct
    for now, we won't delay any reads, and we'll delay the writes that
    initiate DMAs
python/m5/objects/Ethernet.py:
    add a parameter to delay pio writes until the timing access
    actually occurs.

--HG--
extra : convert_revision : 79b18ea2812c2935d7d5ea6eff1f55265114d05d

18 years agoexpose an environment variable for setting the linux image.
Nathan Binkert [Tue, 22 Nov 2005 03:25:30 +0000 (22:25 -0500)]
expose an environment variable for setting the linux image.

--HG--
extra : convert_revision : 32be8bef3b594d29dae717857a96ff5bdd6e9ffa

18 years agochange profile environment configurations.
Nathan Binkert [Tue, 22 Nov 2005 03:24:32 +0000 (22:24 -0500)]
change profile environment configurations.

--HG--
extra : convert_revision : f05fb5e50a439da9db96b04547f58ed8cd9f1aa6

18 years agoRearrange the memory configurations.
Nathan Binkert [Tue, 22 Nov 2005 03:22:40 +0000 (22:22 -0500)]
Rearrange the memory configurations.

--HG--
extra : convert_revision : bab5b13e335f11ecb2dafd3371faf2351fbe9f10

18 years agohave sinic use the new readBar/writeBar stuff that's in the
Nathan Binkert [Tue, 22 Nov 2005 02:52:04 +0000 (21:52 -0500)]
have sinic use the new readBar/writeBar stuff that's in the
pci device base class

dev/sinic.cc:
dev/sinic.hh:
    use the new readBar/writeBar stuff that's in the pci device
    base class

--HG--
extra : convert_revision : 8a0b2bde3cc13597785d6ea75d6e6811680bb01b

18 years agoAdd a bunch of functions to manage the BAR addresses. This
Nathan Binkert [Mon, 21 Nov 2005 05:38:53 +0000 (00:38 -0500)]
Add a bunch of functions to manage the BAR addresses.  This
makes it easier to implement PCI device models.

dev/pcidev.cc:
    default implementations for read/write and readBarX/writeBarX functions

--HG--
extra : convert_revision : bbe2e2a2a506e2dd94d98f8e0feaefef96380be9

18 years agoActually, you should'nt do math on Clock in the config files.
Nathan Binkert [Mon, 21 Nov 2005 05:22:29 +0000 (00:22 -0500)]
Actually, you should'nt do math on Clock in the config files.

python/m5/config.py:
    Clock should not be a NumericParamValue since math on it can be
    ambiguous.  (As the comment clearly says.)

--HG--
extra : convert_revision : 74f8ec846c6a980d92e0bf4bf1c7fac73a75b923

18 years agoBARs now of type MemorySize32
Nathan Binkert [Mon, 21 Nov 2005 05:02:39 +0000 (00:02 -0500)]
BARs now of type MemorySize32

python/m5/config.py:
    Add MemorySize32 (a 32-bit value specified in bytes)

--HG--
extra : convert_revision : bfeee501f7ff1aa2567a3682da129a5770cb7bd2

18 years agoMake it so one can do math with a Clock type in the config files
Nathan Binkert [Mon, 21 Nov 2005 04:57:26 +0000 (23:57 -0500)]
Make it so one can do math with a Clock type in the config files

python/m5/config.py:
    Make Clock a NumericParamValue so you can do math with it

--HG--
extra : convert_revision : 7fa548d1a23c604a31d3ecae3853949b064a1830

18 years agoAllow long as a multiplier in the python config
Nathan Binkert [Mon, 21 Nov 2005 04:45:45 +0000 (23:45 -0500)]
Allow long as a multiplier in the python config

python/m5/config.py:
    Allow long as a multiplier

--HG--
extra : convert_revision : bdc45e9afc27bb7b0f2cd6aacf92758601b95ff8

18 years agoDeal with divide by zero in the python stats stuff.
Nathan Binkert [Mon, 21 Nov 2005 04:42:53 +0000 (23:42 -0500)]
Deal with divide by zero in the python stats stuff.

util/stats/info.py:
    If an operation results in a divide by zero, just return None

--HG--
extra : convert_revision : 19cb4319734a3a9cf02bb1966fed42eb0c8a8ade

18 years agoimplement __str__ for all of the proxy stuff so we can
Nathan Binkert [Mon, 21 Nov 2005 04:30:13 +0000 (23:30 -0500)]
implement __str__ for all of the proxy stuff so we can
actually print out a statistic.

--HG--
extra : convert_revision : 043be6bd729e74d2220c5ae8aa1fc739aa247715

18 years agofixup benchmark names a bit
Nathan Binkert [Sun, 20 Nov 2005 23:49:54 +0000 (18:49 -0500)]
fixup benchmark names a bit

--HG--
extra : convert_revision : 5978318331eb4e1b7fae037a32086a2e0a554f2e

18 years agoSerialize the symbol tables
Nathan Binkert [Sun, 20 Nov 2005 23:42:12 +0000 (18:42 -0500)]
Serialize the symbol tables

base/loader/symtab.cc:
    Add support for clearing out the symbol table
    Add support for serializing the symbol table (clear on unserialize)
    Don't allow empty symbols to be entered into the table
base/loader/symtab.hh:
    Add support for clearing out the symbol table
    Add support for serializing the symbol table
sim/system.cc:
    Serialize the kernel, console, and palcode symbol tables so that
    we can capture any dynamic symbols that are added and so that we
    don't have to have the same kernel binary around to get the
    symbols right

--HG--
extra : convert_revision : 779888c88aa530f3adcd37dc7600a335951d05f7

18 years agoget rid of allSymtab
Nathan Binkert [Sun, 20 Nov 2005 23:39:31 +0000 (18:39 -0500)]
get rid of allSymtab
if we want something like allSymtab, we should create a symbol
table proxy class

--HG--
extra : convert_revision : 20ca551a693b0d6495c018cac8afd63af33f16da

18 years agoswitch all profiling stuff to the kernelSymtab since allSymtab
Nathan Binkert [Sun, 20 Nov 2005 23:33:59 +0000 (18:33 -0500)]
switch all profiling stuff to the kernelSymtab since allSymtab
is going away

--HG--
extra : convert_revision : 405ec55615474d0812ed780f26fd4df98e5ec6f5

18 years agoclear the function profile on a stats reset
Nathan Binkert [Sun, 20 Nov 2005 23:33:17 +0000 (18:33 -0500)]
clear the function profile on a stats reset

cpu/profile.hh:
    Add a placeholder for a reset callback

--HG--
extra : convert_revision : 7fa13e5d04daf1cf93eb35c8fdaf67a40ce3ef73

18 years agouse Counter to avoid overflowing an int
Nathan Binkert [Sun, 20 Nov 2005 23:32:22 +0000 (18:32 -0500)]
use Counter to avoid overflowing an int

cpu/profile.hh:
    use Counter for the profile count to avoid overflow

--HG--
extra : convert_revision : bb603b7d139d1736dced26ef0ce1f93ddea30de7

18 years agoMerge zizzer.eecs.umich.edu:/bk/m5
Nathan Binkert [Sun, 20 Nov 2005 23:25:43 +0000 (18:25 -0500)]
Merge zizzer.eecs.umich.edu:/bk/m5
into  ziff.eecs.umich.edu:/z/binkertn/research/m5/head

--HG--
extra : convert_revision : 941e76e4645a4a18c04409250f3257e590184871

18 years agobetter placement of database commits
Nathan Binkert [Sun, 20 Nov 2005 23:25:31 +0000 (18:25 -0500)]
better placement of database commits
better mysql error messages

base/stats/mysql.cc:
    better placement of commit() calls to avoid failing transactions
    due to what I think are timeouts.
    print out the mysql error with every panic

--HG--
extra : convert_revision : bfc5ae172bcff733461adceffe2b381601839e82

18 years agoFor SimpleCPU profiling code, only update the exec context's
Nathan Binkert [Sun, 20 Nov 2005 22:55:11 +0000 (17:55 -0500)]
For SimpleCPU profiling code, only update the exec context's
profileNode if we got a new one

cpu/simple/cpu.cc:
    Only update the exec context's profileNode if we got a new one

--HG--
extra : convert_revision : a16a7410070b0d811032dc4b86b1368df913b2be

18 years agoCleanup the StackTrace interfaces and profile interfaces so they
Nathan Binkert [Sun, 20 Nov 2005 22:44:58 +0000 (17:44 -0500)]
Cleanup the StackTrace interfaces and profile interfaces so they
are more efficient and reduce the number of new/delete calls

arch/alpha/stacktrace.cc:
    - Change the StackTrace code so that the class can more easily be
    cleaned out and reused to avoid extra allocations.
    - Allow trace() to accept a static instruction pointer so it can
    determine if the instruction is worth tracing.  This is moved from
    the CPU.
    - provide constants for special meaning PCs (user, console, unknown),
    instead of magic numbers
    - switch to using kernelSymtab instead of allSymtab which will be
    going away
    - if the stack adjustment doesn't make any sense, exit and push
    unknown so we don't get into an infinite loop or record garbage.
    - check to see if we've made too many iterations through the stack
    and panic to avoid an infinite loop
arch/alpha/stacktrace.hh:
    - Change the StackTrace code so that the class can more easily be
    cleaned out and reused to avoid extra allocations.
    - Allow trace() to accept a static instruction pointer so it can
    determine if the instruction is worth tracing.  This is moved from
    the CPU.
    - provide constants for special meaning PCs (user, console, unknown),
    instead of magic numbers
cpu/base.cc:
    only clear the profile if we have one
    include profile.hh here since base.hh doesn't do it anymore
cpu/base.hh:
    no need to include cpu/profile.hh here
cpu/profile.cc:
    use ProfileNode pointers instead of objects in the ChildList
    Consume a vector of addresses since that's really all we
    care about.
cpu/profile.hh:
    Keep pointers to ProfileNodes to reduce the size of these structures
    keep a StackTrace around so that we may reuse it.
    provide consume functions that use the new StackTrace trace interface
    one consume function is inline and tries to fastpath the no trace
    condition, it calls the outlined consume function if a trace is generated.
cpu/simple/cpu.cc:
    include cpu/profile.hh here since base.hh no longer does
    use the new FunctionProfile::consume interface
    (which contains the tracing functions)

--HG--
extra : convert_revision : 5a1d9265289a75f67a497b322926be1f8c2d8eb3

18 years agoremove duplicate profile event code that is already in
Nathan Binkert [Sun, 20 Nov 2005 22:28:57 +0000 (17:28 -0500)]
remove duplicate profile event code that is already in
the BaseCPU class

--HG--
extra : convert_revision : fb400e243377840006a36c3274115006f8cd2e3d

18 years agoio_bus is split out into pio_bus and dma_bus so that any device
Nathan Binkert [Sun, 20 Nov 2005 21:57:53 +0000 (16:57 -0500)]
io_bus is split out into pio_bus and dma_bus so that any device
can specify either independently.

python/m5/objects/Device.py:
    io_bus is split out into pio_bus and dma_bus so that any device
    can specify either independently.
    dma_bus defaults to point to whatever pio_bus uses.

--HG--
extra : convert_revision : d35d5374d0bf592f6b5df465c05203577b8b8763

18 years agoadd symbol opcode
Ali Saidi [Sat, 19 Nov 2005 06:25:34 +0000 (01:25 -0500)]
add symbol opcode

--HG--
extra : convert_revision : e050d2c4fec33c41ac21b6f17b3be329b9521429

18 years agoAdd checktrace.sh. Checks all the ethertrace files in */ethertrace
Ali Saidi [Fri, 11 Nov 2005 23:43:09 +0000 (18:43 -0500)]
Add checktrace.sh. Checks all the ethertrace files in */ethertrace
for retransmissions, out of order packets, lost packets, duplicate
ack, window full, etc. Easy way to see if you have a problem with a
run.

--HG--
extra : convert_revision : 95d8e8650b0fb3d120df107cd5281c56fefc3a1d

18 years agoUpdate random come to always have explict min/max
Ali Saidi [Fri, 11 Nov 2005 23:41:45 +0000 (18:41 -0500)]
Update random come to always have explict min/max

--HG--
extra : convert_revision : a2d1f6f8aa1df24ea524792f687f4d3ee31101f0

18 years agoActually free Process fd_map entries when a file is closed...
Steve Reinhardt [Fri, 11 Nov 2005 02:08:33 +0000 (21:08 -0500)]
Actually free Process fd_map entries when a file is closed...
amazingly we never did that before.  Caused us to run out of
file descriptors in twolf.

sim/process.cc:
    Add free_fd() method to free closed target fd in simulator fd map.
    Rename open_fd() to alloc_fd() for symmetry with free_fd().
sim/process.hh:
    Add free_fd() method to free closed target fd in simulator fd map.
    Rename open_fd() to alloc_fd() for symmetry with free_fd().
    Crank up MAX_FD while we're at it.
sim/syscall_emul.cc:
    Call free_fd() on process when target closes a file.
sim/syscall_emul.hh:
    Process open_fd() renamed to alloc_fd().

--HG--
extra : convert_revision : d780f4ccfd5a0989230b0afbdbd276212b87550c