Commit Graph

  • ff29e00112 X86: Add entries for the IO APIC to the MP table. Gabe Black 2008-10-11 16:12:34 -07:00
  • 168e524b9b X86: Create an IO APIC device. Gabe Black 2008-10-11 16:08:14 -07:00
  • a2599e4fc1 X86: Set up a mechanism for the I8254 timer to cause interrupts. Gabe Black 2008-10-11 15:15:34 -07:00
  • 526933e5d0 X86: Add an Intel MP table to the simulation. Gabe Black 2008-10-11 15:14:37 -07:00
  • f621b7b81f CPU: Eliminate the simPalCheck funciton. Gabe Black 2008-10-11 12:17:24 -07:00
  • da7209ec93 CPU: Eliminate the hwrei function. Gabe Black 2008-10-11 02:27:21 -07:00
  • 3af428606a X86: Rename the PC device to Pc. Gabe Black 2008-10-11 02:23:40 -07:00
  • 826621eb17 X86: Bring the South Bridge device into dev/x86 and get rid of south_bridge directory. Gabe Black 2008-10-11 02:21:44 -07:00
  • bc2217eefc X86: Change I8254 and PCSpeaker devices from subdevices to SimObjects and eliminate subdevices. Gabe Black 2008-10-11 02:16:11 -07:00
  • a6600fdd88 Devices: Make the Intel8254Timer device only use pointers to its counters. Gabe Black 2008-10-11 01:49:39 -07:00
  • 539563e04b X86: Make the CMOS and I8259 devices use IntDev and IntPin. Gabe Black 2008-10-11 01:45:25 -07:00
  • 119e127d71 X86: Create the IntDev and IntPin system. Gabe Black 2008-10-11 01:37:04 -07:00
  • 8c532d6297 X86: Hook the CMOS device to the I8259 PICs. Gabe Black 2008-10-11 01:31:32 -07:00
  • cf9afbba51 X86: Make the I8259 decipher the commands it's given, and add some of it's registers. Gabe Black 2008-10-11 01:28:35 -07:00
  • 2753c07dc5 X86: Change the I8259 from a subdevice into a real SimObject. Gabe Black 2008-10-11 01:22:20 -07:00
  • f22c7d48f3 X86: Change the CMOS from a sub-device to a real SimObject Gabe Black 2008-10-11 01:13:11 -07:00
  • 8c5dfa4532 TLB: Make all tlbs derive from a common base class in both python and C++. Gabe Black 2008-10-10 23:47:42 -07:00
  • 3d1734ec29 X86: Create SimObjects in python and C++ to represent the ACPI system description tables. Gabe Black 2008-10-10 23:43:33 -07:00
  • f85a7f00c0 X86: Make the time on the RTC configurable. Gabe Black 2008-10-10 23:42:31 -07:00
  • b03c95d075 X86: Create SimObjects in python and C++ to represent the Intel MP tables. Gabe Black 2008-10-10 23:39:53 -07:00
  • 89f016aacb cprintf: properly deal with pointer types Nathan Binkert 2008-10-10 21:45:35 -07:00
  • 1f57193439 swig: Add in a %rename to allow the same name to appear in multiple namespaces. Nathan Binkert 2008-10-10 21:45:34 -07:00
  • 96936c6bf5 Rename the info function to inform to avoid likely name conflicts Nathan Binkert 2008-10-10 12:17:53 -07:00
  • 8ac63c48a4 automerge Nathan Binkert 2008-10-10 10:38:53 -07:00
  • afb279b1bb output: Make panic/fatal/warn more flexible so we can add some new ones. 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. Nathan Binkert 2008-10-10 10:18:28 -07:00
  • b25e56b32a gdb: add a debugging function that enters the python interpreter. Nathan Binkert 2008-10-10 10:15:01 -07:00
  • 70dbe61ffc jobfile: Add support for dictionaries as jobfile options. If the same dictionary option is seen in several options, those dictionaries are composed. If you define the same dictionary key in multiple options, the system flags an error. Also, clean up the jobfile code so that it is more debuggable. Nathan Binkert 2008-10-10 10:15:01 -07:00
  • 84364f36d0 python: Add a utility for nested attribute dicts. Change attrdict so that attributes that begin with an underscore don't go into the dict. Nathan Binkert 2008-10-10 10:15:00 -07:00
  • 5586b1539b misc: remove #include <cassert> from misc.hh since not everyone needs it. Nathan Binkert 2008-10-10 10:15:00 -07:00
  • ec0fb05d64 X86: Turn SMBios structures into simobjects. Gabe Black 2008-10-10 03:50:51 -07:00
  • 9be6e08227 X86: Add a couple comments to the bios SConscript Gabe Black 2008-10-10 03:50:42 -07:00
  • b4dab225fd X86: Split makeLinuxX86System into makeLinuxX86System and makeX86System. Gabe Black 2008-10-10 03:50:30 -07:00
  • d897aa939f X86: Move the smbios objects into a folder for BIOS objects. Gabe Black 2008-10-10 03:50:18 -07:00
  • 57d663877e X86: Fix compilation with new eventq API. Gabe Black 2008-10-10 03:50:07 -07:00
  • 94b08bed07 SimObjects: Clean up handling of C++ namespaces. Make them easier to express by only having the cxx_type parameter which has the full namespace name, and drop the cxx_namespace thing. Add support for multiple levels of namespace. Nathan Binkert 2008-10-09 22:19:39 -07:00
  • 4ecc5d53a3 range_map: Add a method to find which range a single value falls into. Nathan Binkert 2008-10-09 22:19:38 -07:00
  • 6ccf28c896 style: conform to M5 style. Nathan Binkert 2008-10-09 09:25:41 -07:00
  • b556dc4119 mem: Add a method for setting the time on a packet. Nathan Binkert 2008-10-09 04:58:24 -07:00
  • e06321091d eventq: convert all usage of events to use the new API. For now, there is still a single global event queue, but this is necessary for making the steps towards a parallelized m5. Nathan Binkert 2008-10-09 04:58:24 -07:00
  • 8291d9db0a eventq: Major API change for the Event and EventQueue structures. Nathan Binkert 2008-10-09 04:58:23 -07:00
  • 68c75c589b pdb: Try to make pdb work better. I've done a few things here. First, I invoke the script a little bit differently so that pdb doesn't get confused. Second, I've stored the actual filename in the module's __file__ so that pdb can find the source file on your machine. Nathan Binkert 2008-10-09 04:58:23 -07:00
  • 886c5f8fe5 SINIC: Commit old code from ASPLOS 2006 studies. NOTE: This code was written by Nathan Binkert in 2006 and is properly copyright "The Regents of the University of Michigan" Nathan Binkert 2008-10-09 04:58:23 -07:00
  • eb89a23556 eventq: Don't use inline friend function when a static function will do. Another good reason to avoid this is that swig will try to wrap the friend, but it won't try to wrap a private static function. Nathan Binkert 2008-10-09 04:58:23 -07:00
  • a589eb4053 SCons: add code to provide a libm5 shared library. Targets look like libm5_debug.so. This target can be dynamically linked into another C++ program and provide just about all of the M5 features. Additionally, this library is a standalone module that can be imported into python with an "import libm5_debug" type command line. Nathan Binkert 2008-10-09 04:58:23 -07:00
  • 0b83563a9c eventq: I'm sick of the warning about MaxTick being unused. Nathan Binkert 2008-10-09 04:58:23 -07:00
  • 7cc2a88038 stats: use properly signed types for looping and comparison Nathan Binkert 2008-10-09 04:58:23 -07:00
  • a52dce6d62 style: Bring statistics code in line with the proper style. Nathan Binkert 2008-10-09 04:58:23 -07:00
  • b66eb3b8d1 O3: Generaize the O3 IMPL class so it isn't split out by ISA. Gabe Black 2008-10-09 00:10:02 -07:00
  • f57c286d2c O3: Generaize the O3 dynamic instruction class so it isn't split out by ISA. Gabe Black 2008-10-09 00:09:26 -07:00
  • e09c403d32 O3: Generalize the O3 CPU object so it isn't split out by ISA. Gabe Black 2008-10-09 00:08:50 -07:00
  • 975c9e3af8 Microcode: Fix a silent typo error in the microcode assembler. Gabe Black 2008-10-09 00:07:38 -07:00
  • 523531a40e Microcode: Fix a very old bug with parsing external labels in microcode. Gabe Black 2008-10-09 00:07:21 -07:00
  • c5c6ad7ed6 CPU: Fix where setMicroPC was being called instead of setNextMicroPC. Gabe Black 2008-10-09 00:06:05 -07:00
  • e1b306fa53 X86: Fix the debugging microops. The debug functions can't handle a string object format. Gabe Black 2008-10-09 00:05:39 -07:00
  • 569db520ad X86: Make far ret modify CS instead of some random selector. Gabe Black 2008-10-09 00:04:36 -07:00
  • b423c7a103 Added tag m5_2.0_beta6 for changeset d8b246a665c1 Gabe Black 2008-10-09 02:20:16 -04:00
  • 9affd7adc6 Scons: Update compare_versions() to ignore trailing charecters after an int. This is a fix for a mysql version number that includes a (E.g. 5.0.51a) Ali Saidi 2008-10-08 18:34:19 -04:00
  • fef5a4f49c Update the README and RELEASE_NOTES files to prepare for beta 6. Gabe Black 2008-10-07 00:53:25 -04:00
  • 6b2bb53fd6 python: cleanup options parsing stuff so that it properly deals with defaults. While we're at it, make it possible to run main.py in a somewhat standalone mode again so that we can test things without compiling. Nathan Binkert 2008-10-06 09:31:51 -07:00
  • 6c046a28dc fix shadow set bugs in MIPS code that caused out of bounds access... panic rdpgpr/wrpgpr instructions until a better impl. of MIPS shadow sets is available. Korey Sewell 2008-10-06 02:07:04 -04:00
  • b25755993b unittest: Add unit tests to the scons framework. Also fix the unit tests so they actually compile correctly. Nathan Binkert 2008-10-02 11:27:01 -07:00
  • 52493b2720 unittest: Cleanup unit tests. Follow style. Garbage Collect. Nathan Binkert 2008-10-02 11:26:59 -07:00
  • 67a2918abc stats: Fix small bug pointed out by unit testing. Nathan Binkert 2008-10-02 11:26:59 -07:00
  • 0a1613abe1 Output: Verify output files are open after opening them. Ali Saidi 2008-10-02 12:46:57 -04:00
  • 0bd9bbae4c Cleanup m5term changes with Nate's comments. Ali Saidi 2008-10-01 16:37:49 -04:00
  • 4ba87133bd Make m5term use select() so OS X is happy. Ali Saidi 2008-10-01 16:27:52 -04:00
  • 7bf6a219db Make overriding port assignments in Python work, and print better error messages when it doesn't. Steve Reinhardt 2008-09-29 23:30:14 -07:00
  • 45cba35fc1 Fix EVENTQ_DEBUG vs DEBUG_EVENTQ #define inconsistency. Steve Reinhardt 2008-09-29 23:30:14 -07:00
  • 1e9c428522 alpha: Need to include cstring so that g++ 4.3 works. Nathan Binkert 2008-09-29 07:15:30 -07:00
  • d2fae026a8 tests: Update all tests for small outstanding changes. Little differences have accumulated over time and it's worth getting things back in sync for the stable release. Nathan Binkert 2008-09-28 14:16:26 -07:00
  • 602faeb47c tests: rename the terminal files for solaris. I forgot to do this when I renamed everything else. Nathan Binkert 2008-09-28 14:16:24 -07:00
  • f2f40bcb77 tests: perlbmk now works. Commit stats and assume the're right. Kevin fixed how O3 handles syscalls that change NextPC (longjump). Nathan Binkert 2008-09-28 14:15:50 -07:00
  • bb3ab0f474 tests: Kevin fixed how writebacks are handled in SMT and that changed stats. Nathan Binkert 2008-09-28 14:15:37 -07:00
  • d2f172ab8d gcc: Version 4.3 adds some warnings that we're turning off. We just can't deal with right now. Nathan Binkert 2008-09-27 21:03:50 -07:00
  • 80d9be86e6 gcc: Add extra parens to quell warnings. 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. Nathan Binkert 2008-09-27 21:03:49 -07:00
  • cf7ddd8e8a style: Make a style pass over the whole arch/alpha directory. Nathan Binkert 2008-09-27 21:03:48 -07:00
  • 82f5723c7a alpha: Clean up namespace usage. Nathan Binkert 2008-09-27 21:03:47 -07:00
  • 8ea5176b7f arch: TheISA shouldn't really ever be used in the arch directory. We should always refer to the specific ISA in that arch directory. This is especially necessary if we're ever going to make it to the point where we actually have heterogeneous systems. Nathan Binkert 2008-09-27 21:03:46 -07:00
  • 0b30c345f1 alpha: Get rid fo the namespace called EV5. We're never going to do an alpha platform other than the one we've got. Nathan Binkert 2008-09-27 21:03:45 -07:00
  • 819023b8e2 style Nathan Binkert 2008-09-27 07:25:04 -07:00
  • 83f3bff643 add a bit of style Nathan Binkert 2008-09-27 00:15:45 -07:00
  • ca4baf3871 style: missed space after switch Nathan Binkert 2008-09-26 09:37:21 -07:00
  • 9838be2521 When nesting if statements, use braces to avoid ambiguous else clauses. Nathan Binkert 2008-09-26 08:18:57 -07:00
  • abca171e24 Use logical operator instead of bitwise operator for correctness. Nathan Binkert 2008-09-26 08:18:56 -07:00
  • 6798aa14ed style: bring this file into M5 style, use the new pte translate function. Nathan Binkert 2008-09-26 08:18:55 -07:00
  • a053055e17 scons: disable several gcc warnings for swig autogenerated wrapper code. Nathan Binkert 2008-09-26 08:18:54 -07:00
  • 0309c877f3 style: These files didn't even come close to following the M5 style guide. Nathan Binkert 2008-09-26 08:18:53 -07:00
  • b784903207 O3CPU: Fix thread writeback logic. 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. Kevin Lim 2008-09-26 07:44:07 -07:00
  • 712a8ee700 O3CPU: Add a hack to ensure that nextPC is set correctly after syscalls. 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. Kevin Lim 2008-09-26 07:44:06 -07:00
  • 70ec46de17 sparc: Fix style, create a helper function for translation. The translate function simplifies code and removes some compiler warnings in gcc 3.4 Nathan Binkert 2008-09-23 20:38:02 -07:00
  • 38dd9687ce scons: Separate swig environment so we can have different flags. Swig code isn't quite perfect, so let's not turn on all of the warnings. Nathan Binkert 2008-09-22 08:25:58 -07:00
  • 6efb930e19 gcc: Version 4.3 is pretty anal about shadowing types, placate it. 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. Nathan Binkert 2008-09-22 08:25:57 -07:00
  • f3f4b17c5b style Nathan Binkert 2008-09-22 08:21:47 -07:00
  • d1bec9b0cc SCons: Update compare_versions() to ignore trailing charecters in versions. Ali Saidi 2008-09-21 23:56:01 -04:00
  • 196213e355 We're searching for g++ incorrectly Nathan Binkert 2008-09-19 09:42:55 -07:00
  • 4826610d86 We're using the static keyword improperly in some cases. Nathan Binkert 2008-09-19 09:42:54 -07:00
  • ce3d8c2b03 atomicio: provide atomic read and write functions. Nathan Binkert 2008-09-19 09:42:31 -07:00
  • af9c5e05f7 Use C++ limits where applicable for portability Nathan Binkert 2008-09-19 09:11:43 -07:00
  • befae3c0b0 Use the proper version of C++ headers Nathan Binkert 2008-09-19 09:11:43 -07:00
  • ea83cedcf6 Check the return value of I/O operations for failure Nathan Binkert 2008-09-19 09:11:42 -07:00