summaryrefslogtreecommitdiff
path: root/src/base
AgeCommit message (Collapse)Author
2008-11-10flags: Provide an object for managing boolean flags for an object.Nathan Binkert
In many cases it might be preferable to use bitset, but this object allows the user more easily manipulate groups of flags because the underlying type (e.g. uint64_t) is exposed.
2008-11-10safe_cast: add a new cast function for casts that should always succeed.Nathan Binkert
In DEBUG mode, this does a dynamic_cast and asserts that the result is non null. Otherwise, it just does a static_cast. Again, this is only intended for cases where the cast should always succeed and what's desired is a debugging check to make sure.
2008-11-10mem: Assert that requests have non-negative size.Steve Reinhardt
Would have saved me much debugging time if these had been in there previously.
2008-10-10cprintf: properly deal with pointer typesNathan Binkert
2008-10-10Rename the info function to inform to avoid likely name conflictsNathan Binkert
2008-10-10output: Make panic/fatal/warn more flexible so we can add some new ones.Nathan Binkert
The major thrust of this change is to limit the amount of code duplication surrounding the code for these functions. This code also adds two new message types called info and hack. Info is meant to be less harsh than warn so people don't get confused and start thinking that the simulator is broken. Hack is a way for people to add runtime messages indicating that the simulator just executed a code "hack" that should probably be fixed. The benefit of knowing about these code hacks is that it will let people know what sorts of inaccuracies or potential bugs might be entering their experiments. Finally, I've added some flags to turn on and off these message types so command line options can change them.
2008-10-10misc: remove #include <cassert> from misc.hh since not everyone needs it.Nathan Binkert
2008-10-09range_map: Add a method to find which range a single value falls into.Nathan Binkert
2008-10-09style: conform to M5 style.Nathan Binkert
2008-10-09stats: use properly signed types for looping and comparisonNathan Binkert
2008-10-09style: Bring statistics code in line with the proper style.Nathan Binkert
2008-10-02stats: Fix small bug pointed out by unit testing.Nathan Binkert
2008-10-02Output: Verify output files are open after opening them.Ali Saidi
2008-09-27gcc: Add extra parens to quell warnings.Nathan Binkert
Even though we're not incorrect about operator precedence, let's add some parens in some particularly confusing places to placate GCC 4.3 so that we don't have to turn the warning off. Agreed that this is a bit of a pain for those users who get the order of operations correct, but it is likely to prevent bugs in certain cases.
2008-09-27add a bit of styleNathan Binkert
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-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-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-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-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-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-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-06-17inet: initialization fixes.Nathan Binkert
Make sure variables are properly initialized and also make sure that truth testing works properly.
2008-06-12BitUnion: Take out namespace declaration so bitunions can be declared inside ↵Gabe Black
classes.
2008-05-15Make sure that output files are always checked success before they're used.Ali Saidi
Make OutputDirectory::resolve() private and change the functions using resolve() to instead use create(). --HG-- extra : convert_revision : 36d4be629764d0c4c708cec8aa712cd15f966453
2008-03-24Add FAST_ALLOC_DEBUG and FAST_ALLOC_STATS as SConstruct options.Steve Reinhardt
--HG-- extra : convert_revision : 56a7f646f2ac87019c78ba7fa62c5f4bdc00ba44
2008-03-20MIPS: Check endianness of binaries in SE mode.Gabe Black
--HG-- extra : convert_revision : e6c4bda6078eb68a26f8834411f744078c6bf5a9
2008-02-05Add base ARM code to M5Stephen Hines
--HG-- extra : convert_revision : d811bf87d1a0bfc712942ecd3db1b48fc75257af
2008-01-02Additional comments and helper functions for PrintReq.Steve Reinhardt
--HG-- extra : convert_revision : 7eadf9b7db8c0289480f771271b6efe2400006d4
2008-01-02Add functional PrintReq command for memory-system debugging.Steve Reinhardt
--HG-- extra : convert_revision : 73b753e57c355b7e6873f047ddc8cb371c3136b7
2007-11-20Get rid of a file that should have never been committed.Gabe Black
--HG-- extra : convert_revision : c0e678ce0ce0301bb3afff8bef4fcab7aef3c6fe
2007-11-15branch mergeKorey Sewell
--HG-- extra : convert_revision : 1c56f3c6f2c50d642d2de5ddde83a55234455cec
2007-11-14remove unnecessary debug messages I addedKorey Sewell
--HG-- extra : convert_revision : 5c23218fd1b899fa7fe42701f7cb2f6033f7a583
2007-11-13Add in files from merge-bare-iron, get them compiling in FS and SE modeKorey Sewell
--HG-- extra : convert_revision : d4e19afda897bc3797868b40469ce2ec7ec7d251
2007-11-08Make non Apple compilation work again. Ali may have to refix this.Gabe Black
--HG-- extra : convert_revision : 0f9455643eec14034314908ee26a6d693c54a864
2007-11-08Compiling: Fix for 64bit compile on Darwin/OSX 10.5.Ali Saidi
--HG-- extra : convert_revision : 1f23f7a3952f55cca8293fb43ae15db42005aeac
2007-10-31String constant const-ness changes to placate g++ 4.2.Steve Reinhardt
Also some bug fixes in MIPS ISA uncovered by g++ warnings (Python string compares don't work in C++!). --HG-- extra : convert_revision : b347cc0108f23890e9b73b3ee96059f0cea96cf6
2007-10-31Traceflags: Old traceflags.py file is no longer needed.Ali Saidi
--HG-- extra : convert_revision : 1e88c2d9a0e2a64344d8b4d1a4474dae82473a6d
2007-10-31Traceflags: Add SCons function to created a traceflag instead of having one ↵Ali Saidi
file with them all. --HG-- extra : convert_revision : 427f6bd8f050861ace3bc0d354a1afa5fc8319e6
2007-10-31Base: Rework the way M5 provides and creates random numbers.Ali Saidi
--HG-- extra : convert_revision : 10ec3484647b3acb8e821f8520f97d535e41e861
2007-10-30Add constant stat.Vilas Sridharan
Signed Off: Ali Saidi <saidi@eecs.umich.edu> --HG-- extra : convert_revision : 3da9e507117d0279e212d151d78c312fd9cf0b5c
2007-10-12Loader: Identify sections based on virtual addresses, and set the ↵Gabe Black
LoadAddrMask correctly for x86. --HG-- extra : convert_revision : efa6cf42f7e69074c645dfcac335a3edf0941389
2007-10-09ELF Loader: Use physical addresses instead of virtual ones.Gabe Black
This works in SE mode because the virtual and physical addresses specified for segments are the same. In Alpha, the LoadAddrMask is still necessary because the virtual and physical addresses are the same and apparently rely on the super page mechanism. All of the regressions pass. --HG-- extra : convert_revision : 45e49dec5002d64e541bc466c61a0f304af29ea5