f066db7fcd
inifile: Whack preprocessor access. We haven't used the preprocessor feature of the inifile stuff in a very long time, so let's get rid of it since it would otherwise take effort to maintain.
Nathan Binkert
2008-09-19 09:11:40 -07:00
3a3e356f4e
style: Remove non-leading tabs everywhere they shouldn't be. Developers should configure their editors to not insert tabs
Ali Saidi
2008-09-10 14:26:15 -04:00
09a8fb0b52
style: this file did not conform to style
Nathan Binkert
2008-09-09 16:27:17 -07:00
496d3f2789
style: This file hugely violated the M5 style. Remove a bunch of unused cruft from the interface while we're at it
Nathan Binkert
2008-09-08 18:03:52 -07:00
30bc897613
X86: Fix the microcode for sign/zero extending moves that use high byte registers.
Gabe Black
2008-09-03 00:52:54 -04:00
4aa017affc
Device: Fix bug in DmaPort::recvRetry. The interface attempts to send the same packet again. It doesn't cause a problem currently, however with a different Memory Object it could cause problems
Clint Smullen
2008-08-26 02:37:26 -04:00
3d5fe0c372
IGbE: Patches I neglected to apply before pushing the previous igbe changeset
Ali Saidi
2008-08-24 15:27:49 -04:00
3633a916c2
CPU: Get rid of two more duplicated CPU params.
Gabe Black
2008-08-19 21:59:09 -07:00
8d018aef0f
Changed BaseCPU::ProfileEvent's interval member to be of type Tick. This was done to be consistent with its python type of a latency. In addition, the multiple definitions of profile in the different cpu models caused problems for intialization of the interval value. If a child class's profile value was defined, the parent BaseCPU::ProfileEvent interval field would be initialized with a garbage value. The fix was to remove the multiple redifitions of profile in the child CPU classes.
Richard Strong
2008-08-18 10:50:58 -07:00
6248e12704
Add the ability to specify a think time before descriptor fetch/writeback starts/ends as well as after read/write dmas
Ali Saidi
2008-08-13 17:41:58 -04:00
549c43b2d0
Add the ability for a DMA to tack on an extra delay after the DMA is actually finished.
Ali Saidi
2008-08-13 17:41:56 -04:00
05954e1ba7
More subtle fixes to how interrupts are supposed to work in the device. Fix postedInterrupts statistics.
Ali Saidi
2008-08-13 16:30:30 -04:00
91d968783e
Return an UnimpFault for an ITB translation of an uncachable address. We don't support fetching from uncached addresses in Alpha and it means that a speculative fetch can clobber device registers.
Ali Saidi
2008-08-13 16:29:59 -04:00
9cf8ad3a17
params: Get rid of the remnants of the old style parameter configuration stuff.
Nathan Binkert
2008-08-11 12:22:17 -07:00
ee62a0fec8
params: Convert the CPU objects to use the auto generated param structs. A whole bunch of stuff has been converted to use the new params stuff, but the CPU wasn't one of them. While we're at it, make some things a bit more stylish. Most of the work was done by Gabe, I just cleaned stuff up a bit more at the end.
Nathan Binkert
2008-08-11 12:22:16 -07:00
3448a12208
Make time format in 'started' line same as 'compiled'. Also make -B output consistent with normal header, and only include actual build options.
Steve Reinhardt
2008-08-04 01:46:46 -04:00
58c63ea8b1
Get rid of outputStream... wasn't really being used (except for warn()) and new -r/-e options make it not worth fixing.
Steve Reinhardt
2008-08-04 01:45:12 -04:00
ab6e522032
Minor fix for test/SConscript... forgot to 'qref' before 'qdel', argh.
Steve Reinhardt
2008-08-04 01:01:35 -04:00
6f92e9b8d4
Make test/SConscript use new redirection options.
Steve Reinhardt
2008-08-04 00:48:11 -04:00
fe8aeff362
Add -r/-e options to redirect stdout/stderr. Better than using shell since it automatically uses -d directory for output files (creating it as needed).
Steve Reinhardt
2008-08-04 00:40:31 -04:00
50ef39af82
sockets: Add a function to disable all listening sockets. When invoking several copies of m5 on the same machine at the same time, there can be a race for TCP ports for the terminal connections or remote gdb. Expose a function to disable those ports, and have the regression scripts disable them. There are some SimObjects that have no other function than to be used with ports (NativeTrace and EtherTap), so they will panic if the ports are disabled.
Nathan Binkert
2008-08-03 18:19:55 -07:00
ede89c2d54
libm5: Create a libm5 static library for embedding m5.
Nathan Binkert
2008-08-03 18:19:54 -07:00
678abbc364
syscall: Avoid a compiler warning which turns into a bug. Simply cast the result to an int and life is good.
Nathan Binkert
2008-08-03 18:19:53 -07:00
62c08a75ad
Make default PhysicalMemory latency slightly more realistic. Also update stats to reflect change.
Steve Reinhardt
2008-08-03 18:13:29 -04:00
b179c3f4cd
X86: Make hint nops consume their modrm byte.
Gabe Black
2008-08-03 14:43:24 -07:00
4b1e0d235d
scons: Get rid of generate.py in the build system. I decided that separating some of the scons code into generate.py was just a bad idea because it caused the dependency system to get all messed up. If separation is the right way to go in the future, we should probably use the sconscript mechanism, not the mechanism that I just removed.
Nathan Binkert
2008-07-31 08:01:38 -07:00
f3a3ab7f2c
syscall: Fix TTY emulation in fstat() user-mode simulation for fd 1 (stdout). The code didn't set S_IFCHR in the st_mode
Michael Adler
2008-07-24 16:31:33 -07:00
5f42bfcd56
process: separate stderr from stdout - Add the option of redirecting stderr to a file. With the old behaviour, stderr would follow stdout if stdout was to a file, but stderr went to the host stderr if stdout went to the host stdout. The new default maintains stdout and stderr going to the host. Now the two can specify different files, but they will share a file descriptor if the name of the files is the same. - Add --output and --errout options to se.py to go with --input.
Michael Adler
2008-07-23 14:41:34 -07:00
2cd04fd6da
syscalls: Add a bunch of missing system calls. readlink, umask, truncate, ftruncate, mkdir, and getcwd.
Michael Adler
2008-07-23 14:41:33 -07:00
8c4f18f6f5
RemoteGDB: add an m5 command line option for setting or disabling remote gdb.
Michael Adler
2008-07-23 14:41:33 -07:00
9389ede894
tests: There's a small unknown stats difference in 20.parser, accept it. Hopefully if the difference pops back up, we can figure out what it was
Nathan Binkert
2008-07-22 17:01:33 -04:00
771dfecf14
Mips was missing a few stats
Nathan Binkert
2008-07-22 17:00:45 -04:00
a8df952dd3
tests: update config.ini and stdout for the various tests. These files were a bit too out of date and resulted in a bit of confusion.
Nathan Binkert
2008-07-22 17:00:18 -04:00
aa2bb4f7b9
Get rid of useless m5_assert macro. Its only purpose was to print the cycle number but that already happens in the SIGABRT handler. No one used it anyway.
Steve Reinhardt
2008-07-15 14:38:51 -04:00
8e7ddce284
Use ReadResp instead of LoadLockedResp for LoadLockedReq responses.
Steve Reinhardt
2008-07-15 14:38:51 -04:00
6262e0d909
Add missing newlines to Bus DPRINTFs.
Steve Reinhardt
2008-07-15 14:38:51 -04:00
f9a597ddf3
m5ops: clean up the m5ops stuff. - insert warnings for deprecated m5ops - reserve opcodes for Ali's stuff - remove code for stuff that has been deprecated forever - simplify m5op_alpha
Nathan Binkert
2008-07-11 08:52:50 -07:00
88766f7c71
style: fix indentation and formatting of the pseudo insts.
Nathan Binkert
2008-07-11 08:52:50 -07:00
f90b08a5cc
eventq: change the event datastructure back to LIFO.
Nathan Binkert
2008-07-11 08:48:50 -07:00
10df68dd72
eventq: new eventq data structure. The new data structure is singly linked list sorted by time and priority. For things of the same time and priority, a second, circularly linked list maintains the data structure. Events of the same time and priority are now inserted in FIFO order instead of LIFO order. This dramatically improves the performance of systems that schedule multiple events at the same time.
Nathan Binkert
2008-07-11 08:38:31 -07:00
93517dd90c
eventq: Clean up the Event class so that it uses fewer bytes. This will hopefullly allow it to fit in a cache line.
Nathan Binkert
2008-07-10 21:35:42 -07:00
7a83c50a59
Fix cases where RADV interrupt timer is used and make ITR interrupt moderation not always delay if no interrupts have been posted for the ITR value.
Ali Saidi
2008-07-01 10:30:08 -04:00
a4a7a09e96
Remove delVirtPort() and make getVirtPort() only return cached version.
Ali Saidi
2008-07-01 10:25:07 -04:00
c5fbbf376a
Change everything to use the cached virtPort rather than created their own each time. This appears to work, but I don't want to commit it until it gets tested a lot more. I haven't deleted the functionality in this patch that will come later, but one question is how to enforce encourage objects that call getVirtPort() to not cache the virtual port since if the CPU changes out from under them it will be worse than useless. Perhaps a null function like delVirtPort() is still useful in that case.
Ali Saidi
2008-07-01 10:24:19 -04:00
50e3e50e1a
Make the cached virtPort have a thread context so it can do everything that a newly created one can.
Ali Saidi
2008-07-01 10:24:16 -04:00
9bd0bfe559
After a checkpoint (and thus a stats reset), the not_idle_fraction/notIdleFraction statistic is really wrong. The notIdleFraction statistic isn't updated when the statistics reset, probably because the cpu Status information was pulled into the atomic and timing cpus. This changeset pulls Status back into the BaseSimpleCPU object. Anyone care to comment on the odd naming of the Status instance? It shouldn't just be status because that is confusing with Port::Status, but _status seems a bit strage too.
Ali Saidi
2008-07-01 10:24:09 -04:00
96bbccc36b
Automated merge after backout.
Steve Reinhardt
2008-06-28 13:20:00 -04:00
caaac16803
Backed out changeset 94a7bb476fca: caused memory leak.
Steve Reinhardt
2008-06-28 13:19:38 -04:00
57b5de6b9f
Checkpoinging/SWIG: Undo part of changeset 5464 since it broke checkpointing.
Ali Saidi
2008-06-24 15:48:45 -04:00
18c83be507
SimObject: Add in missing includes of <string> and fix minor style problem.
Gabe Black
2008-06-21 14:23:58 -04:00
1434b86943
Make bus address conflict error more informative
Steve Reinhardt
2008-06-21 01:06:27 -04:00
6b45238316
Generate more useful error messages for unconnected ports. Force all non-default ports to provide a name and an owner in the constructor.
Steve Reinhardt
2008-06-21 01:04:43 -04:00
67a33eed40
AtomicSimpleCPU: Separate data stalls from instruction stalls. Separate simulation of icache stalls and dat stalls.
Nathan Binkert
2008-06-18 10:15:21 -07:00
f24f2c57b6
tests: update tests for slight changes in nsgige posted interrupts
Nathan Binkert
2008-06-18 11:00:53 -04:00
1099a9838a
Ethernet: share statistics between all ethernet devices and apply some of those statistics to the e1000 model.
Nathan Binkert
2008-06-17 22:22:44 -07:00
87d03d00cd
inet: initialization fixes. Make sure variables are properly initialized and also make sure that truth testing works properly.
Nathan Binkert
2008-06-17 22:14:12 -07:00
8042b8f4c7
PacketFifo: Get slack out of the EthPacketData structure. This allows a packet to exist in multiple FIFOs if desired.
Nathan Binkert
2008-06-17 21:34:27 -07:00
163465ac08
ThreadState: Ensure that kernelStats is properly initialized
Nathan Binkert
2008-06-17 21:11:20 -07:00
9dc4e2952c
rename MipsConsole to MipsBackdoor
Nathan Binkert
2008-06-17 20:39:51 -07:00
934523c3a0
rename AlphaConsole to AlphaBackdoor
Nathan Binkert
2008-06-17 20:36:39 -07:00
6ff4539901
Change the default output filename for the terminal so it's more obvious.
Nathan Binkert
2008-06-17 20:30:37 -07:00
00df9016fe
Rename SimConsole to Terminal since it makes more sense
Nathan Binkert
2008-06-17 20:29:06 -07:00
fa8f91fdc0
physmem: Add a null option to physical memory so it doesn't store data.
Nathan Binkert
2008-06-15 21:39:29 -07:00
e3c267a3db
port: Clean up default port setup and port switchover code.
Nathan Binkert
2008-06-15 21:34:32 -07:00
b429b1759d
params: Prevent people from setting attributes on vector params.
Nathan Binkert
2008-06-15 21:26:33 -07:00
b2036bfda8
Command line option to print out List of SimObjects and their parameters
Nathan Binkert
2008-06-14 21:51:08 -07:00
bbeb8082a5
main: add .m5/options.py processing. This file is processed before arguments are parsed so that they can change the default options for various config parameters.
Nathan Binkert
2008-06-14 21:16:00 -07:00
779c31077c
python: Separate the options parsing stuff. Remove options parsing stuff from main.py so things are a bit more obvious.
Nathan Binkert
2008-06-14 21:15:58 -07:00
f82d4e2364
python: Move various utility classes into a new m5.util package so they're all in the same place. This also involves having just one jobfile.py and moving it into the utils directory to avoid duplication. Lots of improvements to the utility as well.
Nathan Binkert
2008-06-14 20:19:49 -07:00
fe325c7f43
MemReq: Add option to reset the time on a request.
Nathan Binkert
2008-06-14 19:39:01 -07:00
ed84388b85
Add hg commands for style check so you can check at times other than commit
Nathan Binkert
2008-06-14 19:37:26 -07:00
ce43e46576
Fix various SWIG warnings
Nathan Binkert
2008-06-14 12:57:21 -07:00
dace77dc4a
Automated merge with ssh://m5sim.org//repo/m5
Steve Reinhardt
2008-06-13 01:59:10 -04:00
caccbd1edc
Get rid of bogus bus assertion. It runs out that if a MemObject turns around and does a send in its receive callback, and there are other sends already scheduled, then it could observe a state where it's not at the head of the list but the bus's sendEvent is not scheduled (because we're still in the middle of processing the prior sendEvent).
Steve Reinhardt
2008-06-13 01:33:49 -04:00
024ec4c5c3
Get rid of bogus cache assertion. I was asserting that the only reason you would defer targets is if a write came in while you had an outstanding read miss, but there's another case where you could get a read access after you've snooped an invalidation and buffered it because it applies to a prior outstanding miss.
Steve Reinhardt
2008-06-13 01:29:20 -04:00
7e6728450f
Scripts: Check for the appropriate build type as soon as possible.
Ali Saidi
2008-06-13 01:09:06 -04:00
907b28cc62
HG: Add compiled hg revision and date to the standard M5 output.
Ali Saidi
2008-06-13 01:09:04 -04:00
2b4874449c
Alpha: Get rid of an old include of a non-existant file.
Gabe Black
2008-06-12 01:54:21 -04:00
7be8e671f1
Params: Allow nested namespaces in cxx_namespace
Gabe Black
2008-06-12 01:00:29 -04:00
5b5875341c
X86: Make the cpuid processor identifier return a real string.
Gabe Black
2008-06-12 01:00:19 -04:00
c625cf0ae1
X86: Make the code compile as 32 bit.
Gabe Black
2008-06-12 01:00:05 -04:00
23c04b8c66
Params: Remove an unnecessary include.
Gabe Black
2008-06-12 00:59:58 -04:00
bceaa257a3
X86: Make the e820 table manually or automatically configurable from python.
Gabe Black
2008-06-12 00:58:36 -04:00
4f4ff17578
X86: Make the disassembly for halt conform with the other microops.
Gabe Black
2008-06-12 00:58:27 -04:00
31d40ad7c2
X86: Implement and hook up STI and CLI instructions.
Gabe Black
2008-06-12 00:58:19 -04:00
da20c0ec54
X86: Make sure there's something to catch when the kernel messes with ports "behind" the pci config magic ports.
Gabe Black
2008-06-12 00:58:13 -04:00
1f5b992b58
X86: Make the platform object initialize channel 0 of the PIT.
Gabe Black
2008-06-12 00:56:54 -04:00
16e26fbf03
X86: Hook the speaker device to the pit device.
Gabe Black
2008-06-12 00:56:17 -04:00