summaryrefslogtreecommitdiff
path: root/src/unittest/SConscript
AgeCommit message (Collapse)Author
2015-08-07base: Rewrite the CircleBuf to fix bugs and add serializationAndreas Sandberg
The CircleBuf class has at least one bug causing it to overwrite the wrong elements when wrapping. The current code has a lot of unused functionality and duplicated code. This changeset replaces the old implementation with a new version that supports serialization and arbitrary types in the buffer (not just char).
2015-05-23base: Redesign internal frame buffer handlingAndreas Sandberg
Currently, frame buffer handling in gem5 is quite ad hoc. In practice, we pass around naked pointers to raw pixel data and expect consumers to convert frame buffers using the (broken) VideoConverter. This changeset completely redesigns the way we handle frame buffers internally. In summary, it fixes several color conversion bugs, adds support for more color formats (e.g., big endian), and makes the code base easier to follow. In the new world, gem5 always represents pixel data using the Pixel struct when pixels need to be passed between different classes (e.g., a display controller and the VNC server). Producers of entire frames (e.g., display controllers) should use the FrameBuffer class to represent a frame. Frame producers are expected to create one instance of the FrameBuffer class in their constructors and register it with its consumers once. Consumers are expected to check the dimensions of the frame buffer when they consume it. Conversion between the external representation and the internal representation is supported for all common "true color" RGB formats of up to 32-bit color depth. The external pixel representation is expected to be between 1 and 4 bytes in either big endian or little endian. Color channels are assumed to be contiguous ranges of bits within each pixel word. The external pixel value is scaled to an 8-bit internal representation using a floating multiplication to map it to the entire 8-bit range.
2015-01-07test: Add a unittest for the BitUnion types.Gabe Black
2014-01-30unittest: Fix build errorsOla Jeppsson
Committed by: Nilay Vaish <nilay@cs.wisc.edu>
2013-09-04arch: Resurrect the NOISA build target and rename it NULLAndreas Hansson
This patch makes it possible to once again build gem5 without any ISA. The main purpose is to enable work around the interconnect and memory system without having to build any CPU models or device models. The regress script is updated to include the NULL ISA target. Currently no regressions make use of it, but all the testers could (and perhaps should) transition to it. --HG-- rename : build_opts/NOISA => build_opts/NULL rename : src/arch/noisa/SConsopts => src/arch/null/SConsopts rename : src/arch/noisa/cpu_dummy.hh => src/arch/null/cpu_dummy.hh rename : src/cpu/intr_control.cc => src/cpu/intr_control_noisa.cc
2012-09-19AddrRange: Simplify Range by removing stream input/outputAndreas Hansson
This patch simplifies the Range class in preparation for the introduction of a more specific AddrRange class that allows interleaving/striping. The only place where the parsing was used was in the unit test.
2012-09-19AddrRange: Remove unused range_multimapAndreas Hansson
This patch simply removes the unused range_multimap in preparation for a more specific AddrRangeMap that also allows interleaving in addition to pure ranges.
2012-05-10stats: fix compilation of unit test.Ali Saidi
2012-04-14sim: A trie data structure specifically to speed up paging lookups.Gabe Black
This change adds a trie data structure which stores an arbitrary pointer type based on an address and a number of relevant bits. Then lookups can be done against the trie where the tree is traversed and the first legitimate match found is returned.
2011-04-15unittest: Make unit tests capable of using swig and python, convert stattestNathan Binkert
2011-01-18Unit tests: Define a header file for common unit testing functions/macros.Gabe Black
2011-01-10RefCount: Add a unit test for reference counting pointers.Gabe Black
This test exercises each of the functions in the reference counting pointer implementation individually (except get()) and verifies they have some minimially expected behavior. It also checks that reference counted objects are freed when their usage count goes to 0 in some basic situations, specifically a pointer being set to NULL and a pointer being deleted.
2010-11-19SCons: Support building without an ISAAli Saidi
2008-10-02unittest: Add unit tests to the scons framework.Nathan Binkert
Also fix the unit tests so they actually compile correctly.