summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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-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-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-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.
2008-06-28Automated merge after backout.Steve Reinhardt
2008-06-28Backed out changeset 94a7bb476fca: caused memory leak.Steve Reinhardt
2008-06-24Automated merge with http://repo.m5sim.org/m5-stableAli Saidi
2008-06-24Checkpoinging/SWIG: Undo part of changeset 5464 since it broke checkpointing.Ali Saidi
2008-06-21SimObject: Add in missing includes of <string> and fix minor style problem.Gabe Black
2008-06-21Make bus address conflict error more informativeSteve Reinhardt
2008-06-21Generate more useful error messages for unconnected ports.Steve Reinhardt
Force all non-default ports to provide a name and an owner in the constructor.
2008-06-18imported patch sim_object_params.diffNathan Binkert
2008-06-18AtomicSimpleCPU: Separate data stalls from instruction stalls.Nathan Binkert
Separate simulation of icache stalls and dat stalls.
2008-06-17Ethernet: share statistics between all ethernet devices and apply someNathan Binkert
of those statistics to the e1000 model.
2008-06-17inet: initialization fixes.Nathan Binkert
Make sure variables are properly initialized and also make sure that truth testing works properly.
2008-06-17PacketFifo: Get slack out of the EthPacketData structure. This allowsNathan Binkert
a packet to exist in multiple FIFOs if desired.
2008-06-17ThreadState: Ensure that kernelStats is properly initializedNathan Binkert
2008-06-17rename MipsConsole to MipsBackdoorNathan Binkert
--HG-- rename : src/dev/mips/MipsConsole.py => src/dev/mips/MipsBackdoor.py rename : src/dev/mips/console.cc => src/dev/mips/backdoor.cc rename : src/dev/mips/console.hh => src/dev/mips/backdoor.hh
2008-06-17rename AlphaConsole to AlphaBackdoorNathan Binkert
--HG-- rename : src/dev/alpha/AlphaConsole.py => src/dev/alpha/AlphaBackdoor.py rename : src/dev/alpha/console.cc => src/dev/alpha/backdoor.cc rename : src/dev/alpha/console.hh => src/dev/alpha/backdoor.hh
2008-06-17Change the default output filename for the terminal so it's more obvious.Nathan Binkert
--HG-- rename : tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-atomic-dual/console.system.sim_console => tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-atomic-dual/system.terminal rename : tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-atomic/console.system.sim_console => tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-atomic/system.terminal rename : tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-timing-dual/console.system.sim_console => tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-timing-dual/system.terminal rename : tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-timing/console.system.sim_console => tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-timing/system.terminal rename : tests/quick/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/console.drivesys.sim_console => tests/quick/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/drivesys.terminal rename : tests/quick/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/console.testsys.sim_console => tests/quick/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/testsys.terminal
2008-06-17Rename SimConsole to Terminal since it makes more senseNathan Binkert
--HG-- rename : src/dev/SimConsole.py => src/dev/Terminal.py rename : src/dev/simconsole.cc => src/dev/terminal.cc rename : src/dev/simconsole.hh => src/dev/terminal.hh
2008-06-15physmem: Add a null option to physical memory so it doesn't store data.Nathan Binkert
2008-06-15port: Clean up default port setup and port switchover code.Nathan Binkert
2008-06-15params: Prevent people from setting attributes on vector params.Nathan Binkert
2008-06-15add compile flags to m5Nathan Binkert
2008-06-14Command line option to print out List of SimObjects and their parametersNathan Binkert
2008-06-14main: add .m5/options.py processing. This file is processed beforeNathan Binkert
arguments are parsed so that they can change the default options for various config parameters.
2008-06-14Add .m5 configuration directoryNathan Binkert