Commit Graph

  • 9f90291c54 cpus: fix cpu progress event this was double scheduling itself (once in constructor and once in cpu code). also add support for stopping / starting progress events through repeatEvent flag and also changing the interval of the progress event as well Korey Sewell 2009-05-05 02:39:05 -04:00
  • dc35d2f125 scons: re-work the *Source functions to take more information. Start by turning all of the *Source functions into classes so we can do more calculations and more easily collect the data we need. Add parameters to the new classes for indicating what sorts of flags the objects should be compiled with so we can allow certain files to be compiled without Werror for example. Nathan Binkert 2009-05-04 16:58:24 -07:00
  • 7146eb79f1 X86: Precompute the default and alternate address and operand size and the stack size. Gabe Black 2009-04-26 16:49:24 -07:00
  • b6bfe8af26 X86: Split out the internal memory space from the regular translate() and precompute mode. Gabe Black 2009-04-26 16:48:44 -07:00
  • 4ee34dfb4e X86: Centralize updates to the handy M5 reg. Gabe Black 2009-04-26 16:47:48 -07:00
  • 06b3e3c303 X86: Implement lowest priority interrupts more correctly. Lowest priority interrupts are now delivered based on a rotating offset into the list of potential recipients. There could be parasitic cases were a processor gets picked on and ends up at that rotating offset all the time, but it's much more likely that the group will stay consistent and the pain will be distributed evenly. Gabe Black 2009-04-26 02:09:54 -07:00
  • 2f34a7eaeb X86: Tell the function that sends int messages who to send to instead of figuring it out itself. Gabe Black 2009-04-26 02:09:27 -07:00
  • 88ab4bb257 X86: Make the local APICs register themselves with the IO APIC. This is a hack so that the IO APIC can figure out information about the local APICs. The local APICs still have no way to find out about each other. Ideally, when the local APICs update state that's relevant to somebody else, they'd send an update to everyone. Without being able to do a broadcast, that would still require knowing who else there is to notify. Other broadcasts are implemented using assumptions that may not always be true. Gabe Black 2009-04-26 02:09:13 -07:00
  • c5e2cf841d X86: Record the initial APIC ID which identifies an APIC in M5. The ID as exposed to software can be changed. Tracking those changes in M5 would be cumbersome, especially since there's no guarantee the IDs will remain unique. Gabe Black 2009-04-26 02:06:21 -07:00
  • 8d84f81e70 X86, Config: Make makeX86System consider the number of CPUs, and clean up interrupt assignment. Gabe Black 2009-04-26 02:04:32 -07:00
  • 9d0fa27d09 SPARC: Tighten up the clone system call and SPARCs copyRegs. Gabe Black 2009-04-24 23:11:21 -07:00
  • 7c056e44e5 request: reorganize flags to group related flags together. Steve Reinhardt 2009-04-23 06:44:32 -07:00
  • ee7055c289 X86: Put the StoreCheck flag with the others, and don't collide with other flags. Gabe Black 2009-04-23 01:43:00 -07:00
  • b4816037ba stats: expose statistics to python Nathan Binkert 2009-04-22 13:38:01 -07:00
  • aa9b4e6a68 stats: Move flags into info.hh and use base/flags.hh to manage the flags Nathan Binkert 2009-04-22 13:38:01 -07:00
  • 8c3eb1a192 stats: Shuffle around info stuff so it can be accessed separately Nathan Binkert 2009-04-22 13:38:00 -07:00
  • 4d9f25b75c stats: Rename the info classes to hopefully make things a bit clearer FooInfoBase became FooInfo FooInfo became FooInfoProxy Nathan Binkert 2009-04-22 13:38:00 -07:00
  • 567cab6859 stats: update reference outputs now that compatibility is gone Because of the initialization bug, it wasn't consistent anyway. Nathan Binkert 2009-04-22 10:25:17 -07:00
  • ca3d82b38a stats: remove simplescalar compatibility for printing Nathan Binkert 2009-04-22 10:25:14 -07:00
  • 61a68371be stats: fix initialization bug in distribution text output Nathan Binkert 2009-04-22 06:44:29 -07:00
  • e7fa4f2f8e i8254xGBe: major style overhaul. Moved DescCache template functions from .hh to .cc file. Also fixed lots of line-wrapping problems, and some irregular indentation. Steve Reinhardt 2009-04-22 01:58:53 -04:00
  • 7b40c36fbd Update stats for new single bad-address responder. Mostly just config.ini updates, though the different response latency for bad addresses caused very minor timing changes in the O3 Linux boot tests. Steve Reinhardt 2009-04-22 01:55:52 -04:00
  • 6629d9b2bc mem: use single BadAddr responder per system. Previously there was one per bus, which caused some coherence problems when more than one decided to respond. Now there is just one on the main memory bus. The default bus responder on all other buses is now the downstream cache's cpu_side port. Caches no longer need to do address range filtering; instead, we just have a simple flag to prevent snoops from propagating to the I/O bus. Steve Reinhardt 2008-07-16 11:10:33 -07:00
  • 05d8c9acb8 scons: Rename the basic environment from env -> main. env is used as a local variable all over the place and sometimes it is easy to get confused as to whether the global env or local env is being used. This will become especially important when I change the way we support our variants. Nathan Binkert 2009-04-21 17:17:16 -07:00
  • 56e5509bfd scons: Fix two problems with the way that the library path is generated. 1) -L is automatically added, so don't do it ourselves 2) prepend the paths for gzstream and libelf so they are certain to come first. The problem is that python might add /usr/lib to the path and the user might have a locally installed version of libelf installed. Nathan Binkert 2009-04-21 17:17:15 -07:00
  • 4d001e43da Automated merge with ssh://m5sim.org//repo/m5 Nathan Binkert 2009-04-21 16:04:55 -07:00
  • fcc142463d pseudo: only include kernel stats if FULL_SYSTEM. Nathan Binkert 2009-04-21 15:40:26 -07:00
  • 43c7698f49 arm: include missing file for arm Nathan Binkert 2009-04-21 15:40:26 -07:00
  • 50f1570352 arm: Unify the ARM tlb. We forgot about this when we did the rest. This code compiles, but there are no tests still Nathan Binkert 2009-04-21 15:40:25 -07:00
  • 4f7d6a881c rundiff: flush stdout after each diff Steve Reinhardt 2009-04-21 11:34:26 -07:00
  • c370a9cb98 FastAlloc: track allocation tick in debug mode, minor enhancements to debug output Steve Reinhardt 2009-01-08 14:13:33 -08:00
  • fff9c93568 scons: make default target work again Nathan Binkert 2009-04-21 10:49:06 -07:00
  • 7b2f8e6857 Set up m5threads tests on classic (non-ruby) memory system. Just one test (40.m5threads-test-atomic) is set up for now. These tests require that the m5threads SPARC binaries are present in /dist or in test-progs. Steve Reinhardt 2009-04-21 08:37:50 -07:00
  • 03b3925e58 syscall_emul: style fixes (mostly wrapping overly long lines) Steve Reinhardt 2009-04-21 08:17:36 -07:00
  • 52b6764f31 syscall: Resolve conflicts between m5threads and Gabe's recent SE changes. Steve Reinhardt 2009-04-21 08:17:36 -07:00
  • b0e9654f86 Commit m5threads package. Daniel Sanchez 2009-04-21 08:17:36 -07:00
  • b0489d18ed SCons: Export export_vars so SConsopts files can add to them Nathan Binkert 2009-04-21 08:17:36 -07:00
  • 97b6947eb7 Minor tweaks for future Ruby compatibility. Steve Reinhardt 2009-04-21 08:17:36 -07:00
  • eb3b6935d3 request: add PREFETCH flag. Steve Reinhardt 2009-04-21 08:17:10 -07:00
  • 3083268d60 request: rename INST_READ to INST_FETCH. Steve Reinhardt 2009-04-20 18:54:02 -07:00
  • 7f8ea68a30 request: split public and private flags into separate fields. This frees up needed space for more public flags. Also: - remove unused Request accessor methods - make Packet use public Request accessors, so it need not be a friend Steve Reinhardt 2009-04-20 18:40:00 -07:00
  • 9e9a34fed1 Mem: Fill out the comment that describes the LOCKED request flag. Gabe Black 2009-04-19 22:00:24 -07:00
  • bd6f2bb538 Mem: Change isLlsc to isLLSC. Gabe Black 2009-04-19 21:44:15 -07:00
  • 089b384086 X86: Fix the functions that manipulate large bit arrays in the local APIC. Gabe Black 2009-04-19 13:47:15 -07:00
  • eee74ba427 X86: Fix up a copyright. Gabe Black 2009-04-19 13:17:35 -07:00
  • 6910baa015 X86: Fix how the TLB handles the storecheck flag. Gabe Black 2009-04-19 04:57:51 -07:00
  • 0a6ff60caa X86: Recognize and handle the lock legacy prefix. Gabe Black 2009-04-19 04:57:28 -07:00
  • 61edc9ba66 X86: Implement a locking version of XADD. Gabe Black 2009-04-19 04:56:49 -07:00
  • 209cfc89fd X86: Implement a locking version of BTC. Gabe Black 2009-04-19 04:56:45 -07:00
  • e475cf85f0 X86: Implement a locking version of BTR. Gabe Black 2009-04-19 04:56:43 -07:00
  • 43f58927d6 X86: Implement a locking version of CMPXCHG. Gabe Black 2009-04-19 04:56:40 -07:00
  • b493906eb9 X86: Implement a locking version of BTS. Gabe Black 2009-04-19 04:56:36 -07:00
  • 985d959ea6 X86: Implement a locking version of DEC. Gabe Black 2009-04-19 04:56:34 -07:00
  • 4f2d4f466a X86: Implement a locking version of INC. Gabe Black 2009-04-19 04:56:31 -07:00
  • 2394f73f90 X86: Implement a locking version of NEG. Gabe Black 2009-04-19 04:56:28 -07:00
  • 9b9b7a412c X86: Implement a locking version of NOT. Gabe Black 2009-04-19 04:56:25 -07:00
  • b8f81c62a2 X86: Implement a locking version of XCHG. Gabe Black 2009-04-19 04:56:22 -07:00
  • 750f5a0a67 X86: Implement a locking version of XOR. Gabe Black 2009-04-19 04:56:20 -07:00
  • cfb289ebeb X86: Implement a locking version of SUB. Gabe Black 2009-04-19 04:56:16 -07:00
  • 789b3191b9 X86: Implement a locking version of AND. Gabe Black 2009-04-19 04:56:14 -07:00
  • e742cad6f4 X86: Implement a locking version of SBB. Gabe Black 2009-04-19 04:56:11 -07:00
  • 193265c6e5 X86: Implement a locking version of ADC. Gabe Black 2009-04-19 04:56:08 -07:00
  • 2f607b882c X86: Implement a locking version of OR. Gabe Black 2009-04-19 04:56:06 -07:00
  • a7f79c9049 X86: Implement a locking version of ADD. Gabe Black 2009-04-19 04:56:02 -07:00
  • d90456a486 X86: Implement the stul microop. This microop does a store and unlocks the requested address. The RISC86 microop ISA doesn't seem to have an equivalent to this, so I'm guessing that the store following an ldstl is automatically unlocking. We don't do it this way for performance reasons since the behavior is the same. Gabe Black 2009-04-19 04:55:58 -07:00
  • d2554ff030 X86: Implement the ldstl microop. This microop does a load, checks that a store would succeed, and locks the requested address. Gabe Black 2009-04-19 04:55:43 -07:00
  • 1a8a765a5c CPUs: Make the atomic CPU support locked memory accesses. Gabe Black 2009-04-19 04:50:07 -07:00
  • 742c3f045e Memory: Add a LOCKED flag back in for x86 style locking. Gabe Black 2009-04-19 04:39:25 -07:00
  • 3e5f487663 Memory: Rename LOCKED for load locked store conditional to LLSC. Gabe Black 2009-04-19 04:25:01 -07:00
  • ca85981478 SE mode: Make keeping track of the number of syscalls less hacky. Gabe Black 2009-04-19 04:15:32 -07:00
  • b8333a5155 X86: Actually put the PCI INTA entry into the MP tables. Gabe Black 2009-04-19 04:15:18 -07:00
  • e174239bd8 X86: Mask the PIC at startup to avoid a glitch which causes an NMI. Gabe Black 2009-04-19 04:15:06 -07:00
  • 25e223c30f X86: Make E820 report nice, round (and correct) numbers. Gabe Black 2009-04-19 04:14:48 -07:00
  • 5f164ba720 X86: Actually handle 16 bit mode modrm. Gabe Black 2009-04-19 04:14:31 -07:00
  • 93cccf7d19 X86: Make the TEST instruction set all the flags it's supposed to. Gabe Black 2009-04-19 04:14:16 -07:00
  • f82c123242 X86: Implement broadcast IPIs. Gabe Black 2009-04-19 04:14:01 -07:00
  • 829e424353 X86: Fix the ordering of the vendor string reported by CPUID. Gabe Black 2009-04-19 04:13:45 -07:00
  • 8b2ac20753 X86: Keep track of what the initial count value was in the LAPIC timer. Gabe Black 2009-04-19 03:56:57 -07:00
  • 18b3863127 X86: Only recognize the first startup IPI after INIT or reset. Gabe Black 2009-04-19 03:56:36 -07:00
  • 4d32cd10ce X86: Use recvResponse to implement the idle bit in the Local APIC ICR. Gabe Black 2009-04-19 03:56:24 -07:00
  • bdda224d41 X86: Add a function which gets called when an interrupt message has been delivered. Gabe Black 2009-04-19 03:54:11 -07:00
  • 3031af21c7 X86: Fix the flags for interrupt response messages. Gabe Black 2009-04-19 03:53:29 -07:00
  • 3eed59768c X86: Explicitly use the right width in a few places that need a 64 bit value. Gabe Black 2009-04-19 03:47:59 -07:00
  • 8761057c78 X86: Keep track of the pioAddr for the local APIC. Gabe Black 2009-04-19 03:47:12 -07:00
  • 038225a6ca X86: Implement far jmp. Gabe Black 2009-04-19 03:42:41 -07:00
  • 3b1b21cb15 X86: Some segment selectors can be used when "NULL". Gabe Black 2009-04-19 03:41:10 -07:00
  • a0cc081997 X86: Fix a bug in the chks microop where it ignored that it found a fault. Gabe Black 2009-04-19 03:40:08 -07:00
  • f2ff5b9249 X86: Make the interrupt entering microcode record the value to use, not actually use it. Gabe Black 2009-04-19 03:36:57 -07:00
  • 35eea4191b X86: LEA calculates an address before segmentation. Gabe Black 2009-04-19 03:24:51 -07:00
  • bdd55ec8b6 X86: Implement the save machine status word instruction (SMSW). Gabe Black 2009-04-19 03:22:38 -07:00
  • d86cd1d2a0 X86: Implement the load machine status word instruction (LMSW). Gabe Black 2009-04-19 03:17:14 -07:00
  • b4ad233c0c X86: Update the stats for the fix for CPUID. Gabe Black 2009-04-19 03:14:33 -07:00
  • eba640c963 X86: Only use %eax to select a function and look like we support sse2. Gabe Black 2009-04-19 03:11:24 -07:00
  • 27e54982b4 X86: Fix the mov to segment selector in real mode instruction microcode. Gabe Black 2009-04-19 03:08:40 -07:00
  • 633c96bd85 X86: The startup IPI delivery mode is not reserved. Gabe Black 2009-04-19 03:01:46 -07:00
  • 08f021aad0 X86: Implement the STARTUP IPI. Gabe Black 2009-04-19 02:56:03 -07:00
  • d277feb925 X86: Implement the INIT IPI. Gabe Black 2009-04-19 02:53:00 -07:00
  • a340b214cf X86: Fix the halt microop. Gabe Black 2009-04-19 02:51:09 -07:00
  • 641513fe08 X86: Start implementing the interrupt command register in the local APIC. Gabe Black 2009-04-19 02:43:22 -07:00
  • 9549694ecd X86: Make code that sends an interrupt from the IO APIC available for IPIs. Gabe Black 2009-04-19 02:42:19 -07:00