summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2006-05-18fix ide stats and make sinic compile after merge.Ali Saidi
dev/ide_disk.cc: fix dma stats dev/sinic.cc: make sinic compile --HG-- extra : convert_revision : fbea04ca58f6ab52e98108f7c2b12917c2fe22d6
2006-05-12Merge zeep.pool:/z/saidi/work/m5.headAli Saidi
into zeep.pool:/z/saidi/work/m5.nm_m5_pull --HG-- extra : convert_revision : fc90e4e8eefd78a3b7554e06fbc666965794753b
2006-05-12replace /.automount/ with /n/Ali Saidi
--HG-- extra : convert_revision : 8b9ad49fa7e2e8863ebaf3f6709fc4fda62f2862
2006-05-12Merge zeep.pool:/z/saidi/work/m5.headAli Saidi
into zeep.pool:/z/saidi/work/m5.nm_m5_pull SConscript: dram memory needs to be converted to newmem before we can use it dev/ide_ctrl.cc: don't need this printing in newmem dev/ide_disk.cc: will read stats in next commit dev/sinic.cc: merge sinic from head, still needs work --HG-- extra : convert_revision : b9aabd8c7814d07d54ce6f971aad3ec349fa24e1
2006-05-12fix the checkpoint bugAli Saidi
--HG-- extra : convert_revision : 1ccae3282737d70b14ff86c8647e2e662a42c3bc
2006-05-12FP programs are back to running... Condition Codes can be read and set...Korey Sewell
Special Regs (Hi,Lo,FCSR) are now added to the operands for use in decoder.isa. Now it's back to just debugging execution of code for the release (those unaligned memory access instruction pairs are still quite the pain i might add) arch/mips/isa_traits.hh: declare functions for .cc file arch/mips/isa_traits.cc: delete unnecessary overloaded functions implement condition code functions implement round function arch/mips/isa/base.isa: remove R31 constant... define in the operands.isa file instead arch/mips/isa/decoder.isa: wholesale changes once again to FP. Now the FP Condition Codes are implemented and the FP programs can run and complete to finish. Use isnan() instead of my unorderedFP() function Also, we now access special regs such as HI,LO,FCSR,etc. just like we do any other reg. operand arch/mips/isa/operands.isa: add more operands for special control regs in int and FP regfiles arch/mips/isa/formats/branch.isa: use R31 instead of r31 arch/mips/isa/formats/fp.isa: use MakeCCVector to set Condition Codes in FCSR arch/mips/regfile/float_regfile.hh: treat control regs like any other reg. Just Index them after the regular architectural registers arch/mips/regfile/int_regfile.hh: treat hi,lo as regular int. regs w/special indexing arch/mips/regfile/regfile.hh: no longer need for special register accesses with their own function. --HG-- rename : arch/mips/regfile.hh => arch/mips/regfile/regfile.hh extra : convert_revision : 5d2f8fdb59606de2b2e9db3e0a085240561e479e
2006-05-11Initialize the count on the number of devices drained properly.Ron Dreslinski
--HG-- extra : convert_revision : 80833647202985d1c1c7d23c6896831fcd27ff40
2006-05-11First pass at a serializer object, may need to work on naming of object and ↵Ron Dreslinski
functions: Intended Use: A SimObject will call the serializer when it needs the state to be serializable (i.e. switchCPUs, checkpoint, switch memory access model). It will call the requestSeialization() function. The Serializer will signal all the objects in its list to drain their state via the SimObject method drain(). Drain() has a default implementation to just signal done. When each object is drained it will signal the Serializer that it has drained via the signalDrained() function. The Serializer will collect these signals, when all have drained it will signal the initial requestor via serializationComplete() method in the SimObject. Once that object is done, it will signal the Serializer to resumeExecution(). The Serializer will signal all the objects in its list to resume via the resume() method on the SimObject. SConscript: Add serializer object to build list sim/sim_object.cc: Add default behavior for drain (just signal finished, must be overided if you really must drain something) sim/sim_object.hh: Add functions for serializer --HG-- extra : convert_revision : 15aa2d1b42010c2d703bef9114c11d079c216170
2006-05-11make the dma buffer equal to the max dma sizeAli Saidi
--HG-- extra : convert_revision : 87adee6c2239f67976675c9291dc4fbaa4f67507
2006-05-11ide printing to match newmemAli Saidi
--HG-- extra : convert_revision : ca6665bd93d257a8cf9d43600828ac22998c5810
2006-05-11make m5 panic a little more verboseAli Saidi
--HG-- extra : convert_revision : 32f52d829040c06c8a62cab1a7af1ed3b453b6f9
2006-05-11Fixes for Paired-Single FP Compare Operations...Korey Sewell
Now all the variations of FP should be implemented correctly in the decoder. The new formats and functions supporting these functions need to be implemented for some of the FP stuff but for the most part things are looking like their "supposed to"... arch/mips/isa/decoder.isa: Fixes for Paired-Single FP Compare Operations... Now all the variations of FP should be implemented correctly in the decoder. arch/mips/isa/formats/fp.isa: Add new PS formats arch/mips/isa_traits.cc: Add skeleton overloaded round & truncate functions arch/mips/isa_traits.hh: declare overloaded functions --HG-- extra : convert_revision : 15d5cf7b08ac2dc9ebcd6b268e92d4abffdd8597
2006-05-10Support for FP Paired Single OperationsKorey Sewell
Auxiliary Functions and Formats for FP in general arch/mips/isa/decoder.isa: ISA Parser doesnt accept operands of different types in one instruction so fix this for unorderedFP functions... Add basic support for Paired Singled (PS) FP ops which happen to be part of the MIPS 32-ASE but turned out to be included in the MIPS32ISA manual... The PS instructions allow SIMD in a pipeline... arch/mips/isa/formats/fp.isa: Add some more Formats for FP operation. I will add some auxiliary code through these formats to alleviate code redundancy in the decoder.isa arch/mips/isa/operands.isa: Add operands for Paired Singles Ops arch/mips/isa_traits.cc: removed convert&round function and replace with fpConvert. The whole "rounding mode" stuff is something that should be considered for full-system mode... Also added skeletons for the unorderedFP,truncFP,and condition code funcs. arch/mips/isa_traits.hh: declare some Functions arch/mips/types.hh: add new conversion types --HG-- extra : convert_revision : 79251d590a27b74a3d6a62a2fbb937df3e59963f
2006-05-10Merge zizzer:/bk/newmemKorey Sewell
into zazzer.eecs.umich.edu:/.automount/zooks/y/ksewell/research/m5-sim/newmem --HG-- extra : convert_revision : 0a146eed200abd2c18f135b112987c5cf91a649b
2006-05-10revamping code to appropriately handle FP condition code and conversion ops.Korey Sewell
There still needs to be a work around to handle the paired singles operations ... arch/mips/isa/decoder.isa: More revamping of the floating point ops in decoder.isa. Change all of the "convert and round" functions to fpConvert. Also, the utility functions roundFP, truncFP, and unorderedFP are in place everywhere. Things have been set up to appropriately use the FP condition codes in the decoder.isa The fp.isa format file and the isa_traits.cc file now needed to be updated to implement the appropriate "backend" operations/functionality... arch/mips/isa_traits.hh: Remove convert & round functions Add roundFP, truncFP,unorderedFP, and the get/setFPconditionCode functions arch/mips/isa_traits.cc: Add utility functions --HG-- extra : convert_revision : 3d6708388abae5b432467f528d52e6343afecd9c
2006-05-10decoder.isa:Korey Sewell
Now handles instructions for FP compares in single or double recision arch/mips/isa/decoder.isa: Now handles instructions for FP compares in single or double recision --HG-- extra : convert_revision : eb3a13616e6736bf2d1ead0b816dda8c6099b20f
2006-05-09decoder.isa:Korey Sewell
Basic Code for Floating Point Compare with Single Precision Floats Added. arch/mips/isa/decoder.isa: Basic Code for Floating Point Compare with Single Precision Floats Added. --HG-- extra : convert_revision : 56b14da1e9d987c2d2090fd2f79af8b12fe8d2ec
2006-05-09decoder.isa:Korey Sewell
Added support for FP compare instructions. Somehow these flew beneath my radar. Also, I start to use special FP utility functions in FP code. Right now, they are defined in isa_traits.hh but may be moved in the future arch/mips/isa/decoder.isa: Added support for FP compare instructions. Somehow these flew beneath my radar. Also, I start to use special FP utility functions in FP code. Right now, they are defined in isa_traits.hh but may be moved in the future --HG-- extra : convert_revision : 84a3b66882f3977ce9c1356cf466d62a7fd8bf19
2006-05-09Print M5 build options for 'scons -h'.Steve Reinhardt
--HG-- extra : convert_revision : 14ef62e513987b89e913e2bf9b8771ee086ed0a0
2006-05-08Start working on more complex FP testsKorey Sewell
Debug FP instructions to handle these FP insts arch/mips/isa/bitfields.isa: add Bitfield for Floating Point Condition Codes arch/mips/isa/decoder.isa: Follow instruction naming style with FP single insts Send the float value to the convert&round functions in single FP add ll inst support add 'token' sc support arch/mips/isa_traits.cc: Add SINGLE->WORD, WORD->SINGLE, & WORD->DOUBLE conversions arch/mips/regfile.hh: update header files arch/mips/regfile/float_regfile.hh: Add more FP registers --HG-- rename : arch/mips/int_regfile.hh => arch/mips/regfile/int_regfile.hh rename : arch/mips/misc_regfile.hh => arch/mips/regfile/misc_regfile.hh extra : convert_revision : 92faf0bfd8542ade762ac569ec158d198f6a9c7e
2006-05-07First Steps in cleaning up MIPS code - This changeset rearranges the files ↵Korey Sewell
in the MIPS directory by moving where constants/types/classes are defined arch/mips/SConscript: arch/mips/isa_traits.cc: arch/mips/isa_traits.hh: arch/mips/process.cc: arch/mips/linux/linux.cc: arch/mips/utility.hh: arch/mips/linux/process.cc: arch/mips/int_regfile.hh: arch/mips/misc_regfile.hh: arch/mips/regfile.hh: arch/mips/types.hh: MIPS directory rearranging --HG-- rename : arch/mips/mips_linux.cc => arch/mips/linux/linux.cc rename : arch/mips/mips_linux.hh => arch/mips/linux/linux.hh rename : arch/mips/linux_process.cc => arch/mips/linux/process.cc rename : arch/mips/linux_process.hh => arch/mips/linux/process.hh extra : convert_revision : 138eee48c8ed75efcf38572f335a556aaec38fc7
2006-05-07Minor changes for FP ... MIPS now works for floating-point programs...Korey Sewell
Now we are to the point where more benchmarks and instruction-coverage is necessary to totally verify/validate correct operation across all MIPS instructions arch/mips/isa_traits.hh: fix for reading double values ... must rearrange bits before using void* to read double. configs/test/hello_mips: real hello world MIPS binary --HG-- extra : convert_revision : 153de1f8a830882c6972bd0bdb56da818f614def
2006-05-07Basic MIPS floating point test works now ... I had to realize that when ↵Korey Sewell
using the double FP reg the register with the higher # contains the most significant bytes... arch/mips/isa/decoder.isa: divide instruction fixes arch/mips/isa_traits.cc: use double as argument to cvt & round function. clean up cout statements in function. arch/mips/isa_traits.hh: In MIPS the higher # reg of a doubles pair is ALSO the most significant reg. Once I switched this the basic MIPS FP test I had worked. --HG-- extra : convert_revision : 45c80df229e6174d0b52fc7cfb530642b1f1fc35
2006-05-04take-out debug only codeKorey Sewell
arch/mips/isa/formats/fp.isa: take out debug-only code --HG-- extra : convert_revision : 12c320b4b1432a626acefc496ec7a188c8b3fb66
2006-05-04Merge zizzer:/bk/newmemKorey Sewell
into zizzer.eecs.umich.edu:/.automount/zooks/y/ksewell/research/m5-sim/newmem --HG-- extra : convert_revision : c48a8857f5a520ff8061eb3d8f08dcd43661e68c
2006-05-04recognized 32 & 64 bit unsigned integer types and set the width appropriatelyKorey Sewell
arch/mips/isa_traits.hh: debug statements to be taken out real soon like... --HG-- extra : convert_revision : 4e9abcb99c991db93328d01d7606a2bb942b29ee
2006-05-02Redo the FloatRegFile using unsigned integersKorey Sewell
Edit the convert_and_round function which access FloatRegFile arch/isa_parser.py: recognize when we are writing a 'uint64_t' FloatReg and set the width appropriately arch/mips/isa/decoder.isa: Send a 'float' to the convert function instead of a unsigned word. Do this so we dont have to worry about the bit manipulation ourselves. We can just concern ourselves with values. Use unsigned double to get movd... arch/mips/isa/formats/fp.isa: float debug statement arch/mips/isa_traits.cc: add different versions of convert_and_round functions arch/mips/isa_traits.hh: Use an array of uint32_t unsigned integers to represent the Floating Point Regfile configs/test/hello_mips: basic FP program cpu/simple/cpu.hh: spacing --HG-- extra : convert_revision : a6fca91ad6365c83025f1131d71fa1b8ee76d7bc
2006-05-02Fix some of lisa's barchart changesNathan Binkert
util/stats/barchart.py: - there is no self.inner_axes - don't append an empty value to self.xsubticks, otherwise subsequent calls will get extra empty ticks - rotate labels 30 degrees instead of 90 so it looks better --HG-- extra : convert_revision : 1cbac6d1f92bfc6b2c1e886ad5f9d4c78a2b3820
2006-05-01move code from packet.hh to packet.cc and packet_impl.hhAli Saidi
fix very annoying not-compiler bug arch/sparc/regfile.hh: You have not included an out-of-class definition of your static members. See [9.4.2]/4 and about a billion gcc bug reports. If statements get around the problem through some magic, and than seems nicer that putting a definition of them in a c file somewhere. cpu/simple/cpu.cc: get() and set() do the conversion now dev/io_device.hh: need get() and set() defentions in all the devices mem/packet.cc: mem/packet.hh: move code from packet.hh to packet.cc mem/physical.cc: packet_impl needed for templated packet functions --HG-- extra : convert_revision : 6c11842aa928d9af7b4cabe826306fe1fe09e693
2006-04-30Got hello world to work!Gabe Black
arch/sparc/isa/decoder.isa: Made sure if a register was assigned to along some control path, then all paths on which no exception would block commit set a value as well. Also, Rs1 is treated as signed for bpr instructions. arch/sparc/isa/formats/integerop.isa: Added an IntOpImm11 class which sign extends the SIMM11 immediate field. arch/sparc/isa/formats/mem.isa: Fixed how offsets are used, and how disassembly is generated. arch/sparc/linux/process.cc: Added fstat and exit_group syscalls. --HG-- extra : convert_revision : 3b4427d239d254a92179a4137441125b8a364264
2006-04-29fixes for seAli Saidi
mem/packet.cc: mem/port.hh: fix for se compilation --HG-- extra : convert_revision : ac960e295f6b51875898245fb55383a59b06cac6
2006-04-28Merge zizzer:/bk/newmemAli Saidi
into zeep.pool:/z/saidi/work/m5.newmem --HG-- extra : convert_revision : d6f7c4dd146613eeba39249f2d916a77108bc8c1
2006-04-28don't need BusBridge.py anymoreAli Saidi
--HG-- extra : convert_revision : 9ec26ee61d4bc68f1dcd1a8ac162c9519b8e6fde
2006-04-28random mix of tidbitsAli Saidi
configs/test/fs.py: update fs.py to use a bus bridge cpu/simple/cpu.hh: cpu should just return that it doesn't snoop any address ranges python/m5/objects/System.py: move boot_osflags to system --HG-- extra : convert_revision : b4256df7eada7e65b69513361de8bffc3fdd680b
2006-04-28devices should increment pkt.time instead of assiging to itAli Saidi
--HG-- extra : convert_revision : b4ca3c7fc13bf0856eb2a800a11d5611b473ec3e
2006-04-28add a bridge object, modify bus object to be able to connect to other buses ↵Ali Saidi
or bridges without panicing SConscript: add new cc files to scons mem/bus.cc: mem/bus.hh: implement addressRanges() on the bus. propigate address ranges to anyone who is interested stripping out ranges of who your propigating to (to avoid livelock) mem/packet.hh: add intersect function that returns true if two packets touch at least one byte of the same data (for functional access) add fixPacket() that will eventually take the correct action giving a timing and functional packet, right now it panics mem/physical.cc: Don't panic if the physical memory recieves a status change, just ignore. --HG-- extra : convert_revision : d470d51f2fb1db2700ad271e09792315ef33ba01
2006-04-28Add SparcSystem objectAli Saidi
arch/alpha/system.hh: sim/system.hh: make boot_osflags apply to all systems --HG-- extra : convert_revision : 48cf903fd92be250b86817210951b85fa5e74632
2006-04-28Fixed constants to work on 32 bit hostsGabe Black
--HG-- extra : convert_revision : acc8e6f60cfdca518fa45afef4165395cba23d4f
2006-04-28Merge m5.eecs.umich.edu:/bk/newmemGabe Black
into ewok.(none):/home/gblack/m5/newmem cpu/simple/cpu.cc: Hand merged --HG-- extra : convert_revision : 68414730c23d41c30cfb7bcfa604029a5fc8622c
2006-04-28Added byteswapping codeGabe Black
--HG-- extra : convert_revision : 67bf0689399328a728a0f3130d58d483e5f2f06e
2006-04-28Improved the initial stack frameGabe Black
arch/sparc/isa/formats/mem.isa: Added some debugging output --HG-- extra : convert_revision : cea88e2b3eddfa4e60bbbcb02f459d274d80db2e
2006-04-28Added an include which was forgottenGabe Black
--HG-- extra : convert_revision : ad76ab45358787edddb89910049bac7cca288824
2006-04-28Fixed up some syscallsGabe Black
--HG-- extra : convert_revision : f9a32e14fa4d4d4710df83dbf54cb77482ba5d03
2006-04-28Changed the hello_sparc executable back to the cross compiled oneGabe Black
--HG-- extra : convert_revision : 565f75f76dd26ca0e25de4c89d1597a9f39483fd
2006-04-28Some debugging of the ccr bitsGabe Black
--HG-- extra : convert_revision : b3d100b2e34dcecc3ba33c9ad4b0b7e40c210ecc
2006-04-28Added in handling of the annul bit for branches, and fixed up computation of ↵Gabe Black
ccr bits. --HG-- extra : convert_revision : ed38d26e13d25e21819dd32d159f1ee4ffcc780b
2006-04-28Added a linux.cc file to mesh with Korey's changesGabe Black
--HG-- extra : convert_revision : 2073c1cda4799a60fce917f227018dd2e52456a3
2006-04-28More Modest Changes for FP MIPS execution...Korey Sewell
arch/mips/isa/decoder.isa: Fix Reg. Operands for FP Conversion Instructions - Must Make Sure That You use 'uw' or 'ud' as needed. arch/mips/isa_traits.cc: if a conversion function isnt implemented yet, than have M5 panic... (plan to implement SINGLE_TO_DOUBLE first) --HG-- extra : convert_revision : 6a7f703a5d65139d3981a8753c31fc8f5bf313cf
2006-04-28Use lower two bits of FCSR reg to determine rounding mode (may want to move ↵Korey Sewell
this out of decoder.isa and into a template) Have FP conversion instructions use re-defined convert_and_round() function arch/mips/isa/decoder.isa: Use lower two bits of FCSR reg to determine rounding mode (may want to move this out of decoder.isa and into a template) Have FP conversion instructions to use re-defined convert_and_round() function arch/mips/isa/formats/util.isa: Remove convert_and_round function from here arch/mips/isa_traits.cc: Define convert_and_round function here arch/mips/isa_traits.hh: Use "enums" to define FP conversion types & Round Modes Declare convert_and_round function here --HG-- extra : convert_revision : 0f4f8c1732a53b277361559ea71af2a1feb4fc64
2006-04-27change readPC() + 4 to readNextPC() and the same for NNPC ...Korey Sewell
arch/mips/isa/decoder.isa: remove useless cout statements arch/mips/isa_traits.hh: space --HG-- extra : convert_revision : 8b8cf5df6fc3eb92598360343eb887c35cda202d