summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-09-26Use logical operator instead of bitwise operator for correctness.Nathan Binkert
2008-09-26style: bring this file into M5 style, use the new pte translate function.Nathan Binkert
2008-09-26scons: disable several gcc warnings for swig autogenerated wrapper code.Nathan Binkert
2008-09-26style: These files didn't even come close to following the M5 style guide.Nathan Binkert
2008-09-26O3CPU: Fix thread writeback logic.Kevin Lim
Fix the logic in the LSQ that determines if there are any stores to write back. In the commit stage, check for thread specific writebacks instead of just any writeback.
2008-09-26O3CPU: Add a hack to ensure that nextPC is set correctly after syscalls.Kevin Lim
Just check CPU's nextPC before and after syscall and if it changes, update this instruction's nextPC because the syscall must have changed the nextPC.
2008-09-23sparc: Fix style, create a helper function for translation.Nathan Binkert
The translate function simplifies code and removes some compiler warnings in gcc 3.4
2008-09-22scons: Separate swig environment so we can have different flags.Nathan Binkert
Swig code isn't quite perfect, so let's not turn on all of the warnings.
2008-09-22gcc: Version 4.3 is pretty anal about shadowing types, placate it.Nathan Binkert
In the future, it would be nice to put the O3CPU into its own namespace so that we don't end up hardcoding pointers to the global namespace.
2008-09-22styleNathan Binkert
2008-09-21SCons: Update compare_versions() to ignore trailing charecters in versions.Ali Saidi
2008-09-19We're searching for g++ incorrectlyNathan Binkert
2008-09-19We're using the static keyword improperly in some cases.Nathan Binkert
2008-09-19atomicio: provide atomic read and write functions.Nathan Binkert
These functions keep trying to read and write until all data has been transferred, or an error occurrs. In the case where an end of file hasn't been reached, but all of the bytes have not been read/written, try again. On EINTR, try again.
2008-09-19Use C++ limits where applicable for portabilityNathan Binkert
2008-09-19Use the proper version of C++ headersNathan Binkert
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