summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-09-19Check the return value of I/O operations for failureNathan Binkert
2008-09-19inifile: Whack preprocessor access.Nathan Binkert
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.
2008-09-10style: Remove non-leading tabs everywhere they shouldn't be. Developers ↵Ali Saidi
should configure their editors to not insert tabs
2008-09-09style: this file did not conform to styleNathan Binkert
2008-09-08style: This file hugely violated the M5 style.Nathan Binkert
Remove a bunch of unused cruft from the interface while we're at it
2008-09-03X86: Fix the microcode for sign/zero extending moves that use high byte ↵Gabe Black
registers.
2008-08-26Device: Fix bug in DmaPort::recvRetry. The interface attempts to send the ↵Clint Smullen
same packet again. It doesn't cause a problem currently, however with a different Memory Object it could cause problems
2008-08-24IGbE: Patches I neglected to apply before pushing the previous igbe changesetAli Saidi
2008-08-19CPU: Get rid of two more duplicated CPU params.Gabe Black
2008-08-18Changed BaseCPU::ProfileEvent's interval member to be of type Tick. This was ↵Richard Strong
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.
2008-08-13Add the ability to specify a think time before descriptor fetch/writeback ↵Ali Saidi
starts/ends as well as after read/write dmas
2008-08-13Add the ability for a DMA to tack on an extra delay after the DMA is ↵Ali Saidi
actually finished.
2008-08-13More subtle fixes to how interrupts are supposed to work in the device. Fix ↵Ali Saidi
postedInterrupts statistics.
2008-08-13Return an UnimpFault for an ITB translation of an uncachable address. We ↵Ali Saidi
don't support fetching from uncached addresses in Alpha and it means that a speculative fetch can clobber device registers.
2008-08-11styleNathan Binkert
2008-08-11params: Get rid of the remnants of the old style parameter configuration stuff.Nathan Binkert
2008-08-11params: Convert the CPU objects to use the auto generated param structs.Nathan Binkert
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.
2008-08-04Make time format in 'started' line same as 'compiled'.Steve Reinhardt
Also make -B output consistent with normal header, and only include actual build options.
2008-08-04Get rid of outputStream... wasn't really being usedSteve Reinhardt
(except for warn()) and new -r/-e options make it not worth fixing.
2008-08-04Minor fix for test/SConscript... forgot to 'qref' before 'qdel', argh.Steve Reinhardt
2008-08-04Make test/SConscript use new redirection options.Steve Reinhardt
2008-08-04Add -r/-e options to redirect stdout/stderr.Steve Reinhardt
Better than using shell since it automatically uses -d directory for output files (creating it as needed).
2008-08-03sockets: Add a function to disable all listening sockets.Nathan Binkert
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.
2008-08-03libm5: Create a libm5 static library for embedding m5.Nathan Binkert
This should allow m5 to be more easily embedded into other simulators. The m5 binary adds a simple main function which then calls into the m5 libarary to start the simulation. In order to make this work correctly, it was necessary embed python code directly into the library instead of the zipfile hack. This is because you can't just append the zipfile to the end of a library the way you can a binary. As a result, Python files that are part of the m5 simulator are now compile, marshalled, compressed, and then inserted into the library's data section with a certain symbol name. Additionally, a new Importer was needed to allow python to get at the embedded python code. Small additional changes include: - Get rid of the PYTHONHOME stuff since I don't think anyone ever used it, and it just confuses things. Easy enough to add back if I'm wrong. - Create a few new functions that are key to initializing and running the simulator: initSignals, initM5Python, m5Main. The original code for creating libm5 was inspired by a patch Michael Adler, though the code here was done by me.
2008-08-03syscall: Avoid a compiler warning which turns into a bug.Nathan Binkert
Simply cast the result to an int and life is good.
2008-08-03Make default PhysicalMemory latency slightly more realistic.Steve Reinhardt
Also update stats to reflect change.
2008-08-03X86: Make hint nops consume their modrm byte.Gabe Black
2008-08-02kill unused codeNathan Binkert
2008-07-31scons: Get rid of generate.py in the build system.Nathan Binkert
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.
2008-07-24regress: update regressions for tty emulation fix.Nathan Binkert
2008-07-24syscall: Fix TTY emulation in fstat() user-mode simulation for fd 1 (stdout).Michael Adler
The code didn't set S_IFCHR in the st_mode
2008-07-23process: separate stderr from stdoutMichael Adler
- 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.
2008-07-23syscalls: Add a bunch of missing system calls.Michael Adler
readlink, umask, truncate, ftruncate, mkdir, and getcwd.
2008-07-23RemoteGDB: add an m5 command line option for setting or disabling remote gdb.Michael Adler
2008-07-22tests: There's a small unknown stats difference in 20.parser, accept it.Nathan Binkert
Hopefully if the difference pops back up, we can figure out what it was
2008-07-22Mips was missing a few statsNathan Binkert
2008-07-22tests: update config.ini and stdout for the various tests.Nathan Binkert
These files were a bit too out of date and resulted in a bit of confusion.
2008-07-15Get rid of useless m5_assert macro.Steve Reinhardt
Its only purpose was to print the cycle number but that already happens in the SIGABRT handler. No one used it anyway.
2008-07-15Use ReadResp instead of LoadLockedResp for LoadLockedReq responses.Steve Reinhardt
2008-07-15Add missing newlines to Bus DPRINTFs.Steve Reinhardt
2008-07-11m5ops: clean up the m5ops stuff.Nathan Binkert
- insert warnings for deprecated m5ops - reserve opcodes for Ali's stuff - remove code for stuff that has been deprecated forever - simplify m5op_alpha
2008-07-11style: fix indentation and formatting of the pseudo insts.Nathan Binkert
2008-07-11eventq: change the event datastructure back to LIFO.Nathan Binkert
The status quo is preferred since it is less likely that people will rely on LIFO than FIFO, and when we move to a parallelized M5, no ordering between events of the same time/priority will be guaranteed.
2008-07-11eventq: new eventq data structure. The new data structure is singlyNathan Binkert
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. The FIFO order version is not preferred to LIFO (because it may cause people to rely on it), but I'm going to commit it anyway and immediately commit the preferred LIFO version on top.
2008-07-10eventq: Clean up the Event class so that it uses fewer bytes. ThisNathan Binkert
will hopefullly allow it to fit in a cache line.
2008-07-01Fix cases where RADV interrupt timer is used and make ITR interrupt ↵Ali Saidi
moderation not always delay if no interrupts have been posted for the ITR value.
2008-07-01Remove delVirtPort() and make getVirtPort() only return cached version.Ali Saidi
2008-07-01Change everything to use the cached virtPort rather than created their own ↵Ali Saidi
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.
2008-07-01Make the cached virtPort have a thread context so it can do everything that ↵Ali Saidi
a newly created one can.
2008-07-01After a checkpoint (and thus a stats reset), the ↵Ali Saidi
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.