Kevin Lim
31e78b0b92
Two fixes:
...
1. Requests are handled more properly now. They assume the memory system takes control of the request upon sending out an access.
2. load-load ordering is maintained.
src/cpu/base_dyn_inst.hh:
Update how requests are handled. The BaseDynInst should not be able to hold a pointer to the request because the request becomes owned by the memory system once it is sent out.
Also include some functions to allow certain status bits to be cleared.
src/cpu/base_dyn_inst_impl.hh:
Update how requests are handled. The BaseDynInst should not be able to hold a pointer to the request because the request becomes owned by the memory system once it is sent out.
src/cpu/o3/fetch_impl.hh:
General correctness fixes. retryPkt is not necessarily always set, so handle it properly. Also consider the cache unblocked only when recvRetry is called.
src/cpu/o3/lsq_unit.hh:
Handle requests a little more correctly. Now that the requests aren't pointed to by the DynInst, be sure to delete the request if it's not being used by the memory system.
Also be sure to not store-load forward from an uncacheable store.
src/cpu/o3/lsq_unit_impl.hh:
Check to make sure load-load ordering was maintained.
Also handle requests a little more correctly.
--HG--
extra : convert_revision : e86bead2886d02443cf77bf7a7a1492845e1690f
2007-03-23 11:33:08 -04:00
Kevin Lim
abb07d9da3
Set progress_interval in terms of CPU cycles.
...
--HG--
extra : convert_revision : 76b0918276cb613eb314ab1479b5ffdb31f31dee
2007-03-23 11:26:30 -04:00
Kevin Lim
55a45d3644
A couple of minor fixes.
...
1. Set CPU ID in all modes for the O3 CPU.
2. Use nextCycle() function to prevent phase drift in O3 CPU.
3. Remove assertion in rename map that is no longer true.
src/cpu/o3/alpha/cpu_builder.cc:
Allow for CPU id in all modes, not just full system. Also include a parameter that was left out by accident.
src/cpu/o3/alpha/cpu_impl.hh:
Set the CPU ID properly.
src/cpu/o3/cpu.cc:
src/cpu/o3/cpu.hh:
Use nextCycle() function so that the CPU does not get out of phase when starting up from quiesces.
src/cpu/o3/rename_map.cc:
Remove assertion that is no longer true.
tests/configs/o3-timing.py:
Set CPU's id to 0.
--HG--
extra : convert_revision : 2b69c19adfce2adcc2d1939e89d702bd6674d5d5
2007-03-23 11:22:43 -04:00
Ali Saidi
2c47413a7a
Merge zizzer:/bk/newmem
...
into zeep.pool:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision : fd590d464359d8ae859998a9f446b960781a5e33
2007-03-22 18:39:51 -04:00
Ali Saidi
12b7ebcbca
finish up the coding of the Intel Gb NIC... Many Many bugs to squash
...
src/dev/i8254xGBe.cc:
src/dev/i8254xGBe.hh:
src/dev/i8254xGBe_defs.hh:
finish coding the Intel Gb NIC device
src/dev/io_device.hh:
we really don't want to be able to pass a null buffer to dma read, at least not the way we have things setup now... it won't work at all
--HG--
extra : convert_revision : 6739497232317ec407cfa7a96de4575a9a6cfc46
2007-03-22 18:39:41 -04:00
Gabe Black
e3d3ab4513
Add structure based bitfield syntax to the isa_parser. This is primarily useful for x86.
...
--HG--
extra : convert_revision : dfe6df160d00adec1830d9b88520ba20834d1209
2007-03-22 04:10:57 +00:00
Gabe Black
39182808bc
Merge zizzer.eecs.umich.edu:/bk/newmem
...
into ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86
--HG--
extra : convert_revision : 79c337f18d635acc176f0ca8d6e71fbc429cb258
2007-03-22 04:10:56 +00:00
Gabe Black
10adec5b53
Merge zizzer.eecs.umich.edu:/bk/newmem
...
into zower.eecs.umich.edu:/home/gblack/m5/newmem-statetrace
--HG--
extra : convert_revision : da83ee4c3251fa95faf66e8c6d3412158ffe6887
2007-03-22 00:10:55 -04:00
Gabe Black
39c4ea3473
Fix mcf benchmark object so it gets the arguments it expects.
...
--HG--
extra : convert_revision : 47087be1f89699e9f8e0dc023abbf593bc0f6618
2007-03-22 00:10:47 -04:00
Gabe Black
276f6d794d
Add a junk operand. With no operands, the parser breaks.
...
--HG--
extra : convert_revision : 7410fd3681ed3d9b1293d982ed5f3553a6c75f3f
2007-03-21 21:09:24 +00:00
Gabe Black
bbffaa8ee0
Start implementing groups of instructions which do the same thing on different sets of inputs.
...
--HG--
extra : convert_revision : 6a5be61831588f801965dd4e80cb52f28911c320
2007-03-21 21:07:43 +00:00
Gabe Black
1707aa750f
put the int register count in intregs.hh
...
--HG--
extra : convert_revision : c48c13d9c4606c8cb7c60d18cd0f4dac9103a501
2007-03-21 21:04:54 +00:00
Gabe Black
bf8b2e12ea
Add a s SPARC_SE gzip regression
...
--HG--
extra : convert_revision : 5d75c9ad6e4599ce9b1afc176eaafab03bed43f0
2007-03-21 14:31:48 -05:00
Gabe Black
0a80d06dea
Break out the one and two byte opcodes into different files. Also change what bits decode is done on to reflect where clumps of instructions are.
...
--HG--
extra : convert_revision : 8768676eac25e6a4f0dc50ce2dc576bdcdd6e025
2007-03-21 19:19:53 +00:00
Gabe Black
3efec59fc5
Missed a const
...
--HG--
rename : src/arch/x86/isa/decoder.isa => src/arch/x86/isa/decoder/decoder.isa
extra : convert_revision : a60e7495da6fe99fa2375a3f801f2962c3e41adb
2007-03-21 19:15:40 +00:00
Gabe Black
390b868c87
created SPARC_SE vortex regression.
...
--HG--
extra : convert_revision : cdb60bcfbea4b79491fb035cc7ecd08cbaa2100b
2007-03-21 01:22:22 -05:00
Gabe Black
63e2d3dcbf
Merge zizzer.eecs.umich.edu:/bk/newmem
...
into zower.eecs.umich.edu:/home/gblack/m5/newmem-statetrace
--HG--
extra : convert_revision : 41214c71e7fa11d47395975a141793337d020463
2007-03-21 01:18:55 -04:00
Gabe Black
2b4c02b829
The m5 side of statetrace. This is fairly ugly, but I don't want to lose it.
...
--HG--
extra : convert_revision : 171b41418567c1f41f43363a46fa9aeaa58ae606
2007-03-21 01:18:47 -04:00
Gabe Black
475d36ee93
Ignore "time" and "times" syscalls.
...
--HG--
extra : convert_revision : 3ff55e35877c0fd74823ce5e52ed16c38da92068
2007-03-20 23:53:52 -04:00
Gabe Black
076fd9a707
Fixed up some types and const placement, and added signed bitfields that sign extend themselves.
...
--HG--
extra : convert_revision : 84bda8fc14f9a6f7dc7982c9aeb15bf688457706
2007-03-20 11:40:30 +00:00
Gabe Black
e7b015cee1
Added syntax for structure oriented extMachInsts.
...
--HG--
extra : convert_revision : 4a30c58019ad8e3dd8dffb4c4c08eb6914e5c5be
2007-03-20 06:08:52 +00:00
Gabe Black
4df9411e59
Merge zizzer.eecs.umich.edu:/bk/newmem
...
into ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86
--HG--
extra : convert_revision : a6ae6ce183aaa4d1a9434f9ddd64cc30878d2147
2007-03-19 17:13:23 +00:00
Gabe Black
be3550dfe0
Ditched read or write only subbitfields for now since they were proving difficult to implement. Allow component Bitfields to be instantiated without templates, clean up the implementation a little, and adjust the comments to match.
...
--HG--
extra : convert_revision : b9b8aea285a95eeabbb4c0233c1bce49b8c773b8
2007-03-19 17:12:50 +00:00
Gabe Black
277ded3de7
For the _BitfieldRO and _BitfieldWO classes, make sure the undesired operator is redefined as private.
...
--HG--
extra : convert_revision : b18d8e49547c2712ab255d048850c5231313b80a
2007-03-19 14:28:19 +00:00
Gabe Black
898652fe04
Formatting fixes.
...
--HG--
extra : convert_revision : 276d0667daa4626288b56af3b4b17a3f9052e81a
2007-03-19 14:22:28 +00:00
Gabe Black
43dea39dd4
Lots and lots of comments.
...
--HG--
extra : convert_revision : 0de510464e2e002775ccd79e2922ccb0055845e5
2007-03-19 14:20:27 +00:00
Gabe Black
ad9ab66175
Reworked the BitUnion stuff a bit. There is moderately better isolation of the backend parts, although there are still macros.
...
--HG--
extra : convert_revision : e9692c5e697c96061ef70cf78ef532c99dbbd672
2007-03-19 13:28:36 +00:00
Gabe Black
7c0825ccf9
Compile fixes for SPARC_FS.
...
src/arch/alpha/predecoder.hh:
src/arch/sparc/predecoder.hh:
Put in a missing include
src/cpu/exetrace.cc:
Convert the legion lockstep stuff from makeExtMI to the predecoder object.
--HG--
extra : convert_revision : 91bad4466f8db1447fff8608fa46a5f236dc3a89
2007-03-18 23:09:51 -04:00
Gabe Black
a1f92af0fb
The syntax used for twin stores was confusing the parser so it's now broken down farther.
...
--HG--
extra : convert_revision : d36bef2d15bc013b3c6199901f57855dfb9dab76
2007-03-17 21:23:03 -04:00
Gabe Black
594c415a0d
Created BitUnion type which lets you define nested bitfields for an integer in a portable way.
...
--HG--
extra : convert_revision : 56a9d06b6b7274a493dae4b290c5f9b42e59f20d
2007-03-17 23:33:00 +00:00
Gabe Black
b54fa0edda
Merge zizzer.eecs.umich.edu:/bk/newmem
...
into ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86
--HG--
extra : convert_revision : 3246c58850586b880641638bedb1f0025d0ef491
2007-03-16 10:57:52 +00:00
Gabe Black
725ee42ba7
Fix ALPHA_FS compile. The MachInst -> StaticInstPtr constructor is no longer a conversion constructor because it caused ambiguous conversions when setting the pointer to NULL.
...
--HG--
extra : convert_revision : ce9ecfc03a47642d105f2378208bbe923d6b765b
2007-03-16 10:57:34 +00:00
Gabe Black
3ccaee976a
Make the SPARC branch instructions use ExtMachInsts in their constructors. This isn't necessary since they don't use the extended fields, but it's more consistent and more correct.
...
--HG--
extra : convert_revision : afd4f408122ad5e497012eb9744d6bce66a1de37
2007-03-16 10:55:50 +00:00
Ali Saidi
50475e0e2a
Merge zizzer:/bk/newmem
...
into pb15.local:/Users/ali/work/m5.newmem
--HG--
extra : convert_revision : 0aa2fadf8978ae30ebe4fde03c525e6b9115117a
2007-03-15 23:21:52 -04:00
Ali Saidi
a18baae026
fix a bug gabe found
...
--HG--
extra : convert_revision : 12e8f09f6c59a16b2d2eb78bdd1345fc38c4de40
2007-03-15 23:21:01 -04:00
Gabe Black
9ad3f1e479
Refactor things a little.
...
--HG--
extra : convert_revision : 8167455ffc05130d4afcc68466879c7c439bee57
2007-03-15 19:16:39 +00:00
Gabe Black
f4eee4fb81
File with the predecoder in it.
...
src/arch/x86/predecoder.cc:
File for the x86 predecoder process function.
--HG--
extra : convert_revision : f7b53c38ff152cb2677d641074218ffd8434457b
2007-03-15 19:16:38 +00:00
Gabe Black
ae9bed4f8f
Split the x86 "process" predecoder method into it's own file.
...
--HG--
extra : convert_revision : 88185e592df2a7527d36efcce7376fb05f469cbc
2007-03-15 19:16:37 +00:00
Gabe Black
05c71c6194
Merge zizzer.eecs.umich.edu:/bk/newmem
...
into ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86
--HG--
extra : convert_revision : cf2cc07f18b877f980e2d1fc83916f7849d9c7d9
2007-03-15 19:16:36 +00:00
Ali Saidi
c6e1dc61c2
Merge zizzer:/bk/newmem
...
into zeep.pool:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision : 6a75fa02391c4c65063c5412a568705bb1dd892b
2007-03-15 15:16:35 -04:00
Ali Saidi
3a5a20769b
add all the registers we'll need to support for the Intel GbE device and support enough functionality make the driver think
...
the device is there, and in good working order.
src/dev/SConscript:
add intel gbe to the dev SCons file
src/dev/i8254xGBe.cc:
src/dev/i8254xGBe.hh:
src/dev/i8254xGBe_defs.hh:
use new manner of registers and implement all device registers that are touched through boot and ifup
--HG--
extra : convert_revision : b1a1767f0fd31cd371e432cb48ac9a2e9f9291b5
2007-03-15 15:16:23 -04:00
Gabe Black
6cdd434f7f
Changed warns to DPRINTFs and multiply by 8 where needed.
...
--HG--
extra : convert_revision : 9db0bc2420ceb5828a79881fa0b420a2d5e5f358
2007-03-15 16:13:40 +00:00
Gabe Black
075df1469f
Added immediate value support, and fixed alot of bugs. This won't support 3 byte opcodes.
...
--HG--
extra : convert_revision : 4c79bff2592a668e1154916875f019ecafe67022
2007-03-15 15:29:39 +00:00
Gabe Black
47c8d9d346
Merge zizzer.eecs.umich.edu:/bk/newmem
...
into zower.eecs.umich.edu:/home/gblack/m5/newmem-statetrace
--HG--
extra : convert_revision : c886266320e6c1352e359d5abf6fb3a804f81451
2007-03-15 06:10:59 -04:00
Gabe Black
b33f4623ab
Update to statetrace. This will break it, but I want to make sure it gets into mercurial.
...
--HG--
extra : convert_revision : 6960d2f728c85e99e32bf9b752e45b3cb5e30e3e
2007-03-15 06:10:50 -04:00
Gabe Black
4379e54b52
Compile fix
...
--HG--
extra : convert_revision : 4a66d04404beee9656e3e33089afcec10d7ee5ff
2007-03-15 03:17:00 +00:00
Gabe Black
32368a2bd6
Merge zizzer.eecs.umich.edu:/bk/newmem
...
into ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86
src/arch/mips/utility.hh:
src/arch/x86/SConscript:
Hand merge
--HG--
extra : convert_revision : 0ba457aab52bf6ffc9191fd1fe1006ca7704b5b0
2007-03-15 02:52:51 +00:00
Gabe Black
a2b56088fb
Make the predecoder an object with it's own switched header file. Start adding predecoding functionality to x86.
...
src/arch/SConscript:
src/arch/alpha/utility.hh:
src/arch/mips/utility.hh:
src/arch/sparc/utility.hh:
src/cpu/base.hh:
src/cpu/o3/fetch.hh:
src/cpu/o3/fetch_impl.hh:
src/cpu/simple/atomic.cc:
src/cpu/simple/base.cc:
src/cpu/simple/base.hh:
src/cpu/static_inst.hh:
src/arch/alpha/predecoder.hh:
src/arch/mips/predecoder.hh:
src/arch/sparc/predecoder.hh:
Make the predecoder an object with it's own switched header file.
--HG--
extra : convert_revision : 77206e29089130e86b97164c30022a062699ba86
2007-03-15 02:47:42 +00:00
Ali Saidi
c6188a2264
fix segfault when peer owner attempts to use functional port
...
--HG--
extra : convert_revision : 3702b4bd038a59bff823c3b428fdfbaabc9715df
2007-03-13 17:34:52 -04:00
Gabe Black
ff90b8c1aa
Merge zizzer.eecs.umich.edu:/bk/newmem
...
into zower.eecs.umich.edu:/home/gblack/m5/newmem-statetrace
--HG--
extra : convert_revision : 61eca737296a5ce839d3b97f047b4fda062cb899
2007-03-13 15:03:34 -04:00