af6e4bf96a
Add -k flag to util/regress.
Steve Reinhardt
2007-11-13 18:45:51 -08:00
2692590049
Add in files from merge-bare-iron, get them compiling in FS and SE mode
Korey Sewell
2007-11-13 16:58:16 -05:00
5772e3cada
X86: Make microcode use presegmentation RIPs and the rest of m5 use post segmentation RIPS.
Gabe Black
2007-11-13 01:31:43 -08:00
1048b548fa
X86: Separate out the page table walker into it's own cc and hh.
Gabe Black
2007-11-12 18:06:57 -08:00
6095dceb0c
Params: Fix check for cycles in the configuration and clarify the comments/error message.
Gabe Black
2007-11-12 18:06:02 -08:00
917ae9ec66
X86: Fix a stupid typo where WRMSR and RDMSR were switched, and add a debug statement.
Gabe Black
2007-11-12 14:39:14 -08:00
4950798268
X86: Implement tlb invalidation and make it happen some of the times it should.
Gabe Black
2007-11-12 14:39:07 -08:00
f1f5dd79bf
X86: Implement the wrcr microop which writes a control register, and some control register work.
Gabe Black
2007-11-12 14:38:59 -08:00
4d4d2883f9
X86: Implement some bit testing instructions.
Gabe Black
2007-11-12 14:38:53 -08:00
f9ddb894dd
X86: Change the meaning of the sext and zext width operand, and make sext set zext if the sign bit is 0.
Gabe Black
2007-11-12 14:38:45 -08:00
6d4ba8de34
X86: Flesh out the opcode groups for two byte opcodes.
Gabe Black
2007-11-12 14:38:38 -08:00
fce45baf17
X86: Work on the page table walker, TLB, and related faults.
Gabe Black
2007-11-12 14:38:31 -08:00
f17f3d20be
X86: Implement a page table walker.
Gabe Black
2007-11-12 14:38:24 -08:00
7a39457d7f
X86: Make the micropc available through the thread context objects. This is necssary for fault handlers that branch to non-zero micro PCs.
Gabe Black
2007-11-12 14:38:17 -08:00
53cb6cbcc1
X86: Implement the startupCPU function.
Gabe Black
2007-11-12 14:38:10 -08:00
d89d80a5d0
X86: Make some of the bits of CR0 do what they're supposed to.
Gabe Black
2007-11-12 14:38:02 -08:00
aaa30714b3
X86: Various fixes to indexing segmentation related registers
Gabe Black
2007-11-12 14:37:54 -08:00
ada071db53
SPARC: Force %g1 to be zero on process startup even though it normally already should be.
Gabe Black
2007-11-11 17:23:22 -08:00
6cfe4176f5
Alpha: Fix a long standing bug where all code ran as PAL code in FS.
Gabe Black
2007-11-08 23:50:10 -08:00
7c0076d5f3
Make non Apple compilation work again. Ali may have to refix this.
Gabe Black
2007-11-08 23:42:44 -08:00
46505821ec
ISA parser: Make the isa parser generate MaxInstSrcRegs and MaxInstDestRegs.
Gabe Black
2007-11-08 18:51:50 -08:00
c01421a82d
Compiling: If possible compile a 64 bit binary on Mac OS X.
Ali Saidi
2007-11-08 17:45:58 -05:00
0673029689
Compiling: Fix for 64bit compile on Darwin/OSX 10.5.
Ali Saidi
2007-11-08 16:11:09 -05:00
422ab8bec0
TimingSimpleCPU: Add some DPRINTFs when the cpu suspends and resumes.
Ali Saidi
2007-11-08 10:46:41 -05:00
cf1c25dbcc
AtomicSimpleCPU: Refactor resume() code to have a cleaner control path.
Ali Saidi
2007-11-08 10:46:41 -05:00
f4222610ea
Python: Allow a range to be a python tuple/list.
Ali Saidi
2007-11-08 10:46:41 -05:00
11b931df6a
Interrupts: Inline some code and remove duplication.
Ali Saidi
2007-11-08 10:46:41 -05:00
e41197a3f8
CPU: Add function to explictly compare thread contexts after copying.
Ali Saidi
2007-11-08 10:46:41 -05:00
17e83e7f83
SPARC: Make 64 bit SPARC process initialization check checkpointRestored too.
Gabe Black
2007-11-07 15:03:49 -08:00
19292d3f06
O3: Remove unneeded variable.
Gabe Black
2007-11-06 12:51:08 -08:00
d1fb5ad91e
TraceFlags: Fix off-by-one error with number of traceflags.
Ali Saidi
2007-11-04 19:06:45 -05:00
c8123cef1b
Cache: Fix for OS X 10.5 compiling.
Ali Saidi
2007-11-04 18:57:36 -05:00
4df5d6483e
RELEASE: A little more work on make_release.py
Ali Saidi
2007-11-04 18:57:16 -05:00
5a4fc93fca
Checkpoint: Use checkpoint_dir, if that is not set use outdir (-d), and if that isn't set use cwd.
Ali Saidi
2007-11-03 14:41:00 -04:00
95dddad9ab
RELEASE: Add dummy cpu to make SCons + Python 2.5 happy
Ali Saidi
2007-11-02 02:26:13 -04:00
5289067ec9
RELEASE: remove insttest since we're not shipping the binary.
Ali Saidi
2007-11-02 02:18:46 -04:00
710f3ca3e1
SE: fix stat64 syscall on os x
Ali Saidi
2007-11-02 02:11:15 -04:00
6db36c331d
RELEASE: Grammer
Ali Saidi
2007-11-01 21:18:08 -04:00
81fa75638b
RELEASE: More changes to text
Ali Saidi
2007-11-01 21:07:49 -04:00
abaaeed876
Updated my "AUTHORS" entry.
Gabe Black
2007-11-01 16:04:10 -07:00
67b46d02d4
SConstruct: fix scons null conf object problem so that "scons --help" works again.
Steve Reinhardt
2007-11-01 14:28:59 -07:00
333ac6cc32
DRAM: Make latency parameters be Param.Latency instead of ints.
Ali Saidi
2007-11-01 17:30:50 -04:00
4b49bd47f4
String constant const-ness changes to placate g++ 4.2. Also some bug fixes in MIPS ISA uncovered by g++ warnings (Python string compares don't work in C++!).
Steve Reinhardt
2007-10-31 18:04:22 -07:00
71b033f4dc
no manual changes
Ali Saidi
2007-10-31 17:53:13 -04:00
980266b0a6
Traceflags: Old traceflags.py file is no longer needed.
Ali Saidi
2007-10-31 17:52:56 -04:00
a06604db1d
Release: fix make_release bug
Ali Saidi
2007-10-31 17:52:07 -04:00
514236c314
SConstruct: undo half of last changeset; looked innocuous but wasn't.
Steve Reinhardt
2007-10-31 00:55:32 -07:00
ffdd67308a
SConstruct: Fix env Dir/String problem
Steve Reinhardt
2007-10-31 00:44:51 -07:00
90f42bf3ad
Merge in bus DPRINTF changes.
Steve Reinhardt
2007-10-31 00:39:16 -07:00
1b82d53774
RELEASE: Update make release for new release.
Ali Saidi
2007-10-31 01:21:55 -04:00
bf02aed7b7
RELEASE: First cut of updated release files for 2.0b4
Ali Saidi
2007-10-31 01:21:54 -04:00
538fae951b
Traceflags: Add SCons function to created a traceflag instead of having one file with them all.
Ali Saidi
2007-10-31 01:21:54 -04:00
8ce31ea471
Linux Support: Finally update vptr for new memory system.
Ali Saidi
2007-10-31 01:21:54 -04:00
7597f87430
Base: Rework the way M5 provides and creates random numbers.
Ali Saidi
2007-10-31 01:21:54 -04:00
04d1cfe31c
Add constant stat.
Vilas Sridharan
2007-10-30 22:21:05 -04:00
503fb8ebed
X86: Compile fixes for 32 bit/debug/opt.
Gabe Black
2007-10-30 16:34:00 -04:00
bec1bfb493
Regressions: Added X86_SE into the default list of builds.
Gabe Black
2007-10-26 14:32:36 -07:00
851c4bc960
X86: Forgot to update the hello world stats after adding cda microops.
Gabe Black
2007-10-26 13:53:03 -07:00
51345d7324
Checkpoints: Change Simulation.py to not go crazy if the simulation ends before the number of checkpoints requested are created.
Ali Saidi
2007-10-25 22:20:00 -04:00
fddfa71658
TLB: Fix serialization issues with the tlb entries and make the page table store the process, not the system.
Gabe Black
2007-10-25 19:04:44 -07:00
0711f4f17a
SE: Fix page table and system serialization, don't reinit process if this is a checkpoint restore.
Ali Saidi
2007-10-25 20:13:35 -04:00
b0e3aab5df
X86: Fix X86_FS compilation.
Gabe Black
2007-10-23 17:40:40 -07:00
9eda6f7d59
Merge with head.
Gabe Black
2007-10-22 14:40:21 -07:00
7d396b1bf6
X86: Use the cda microop where appropriate. The ENTER instruction still needs these.
Gabe Black
2007-10-22 14:39:40 -07:00
421aea980f
X86: Implement the cda microop which checks if an address is legal to write to.
Gabe Black
2007-10-22 14:30:56 -07:00
93da9eb7f6
CPU: Add functions to the "ExecContext"s that translate a given address.
Gabe Black
2007-10-22 14:30:45 -07:00
b25aea90e5
Restore .hgtags (inadvertently lost in a prior merge).
Steve Reinhardt
2007-10-22 15:53:32 -04:00
43cb78004b
X86: Start using the stupd microop, and update statistics accordingly.
Gabe Black
2007-10-21 18:45:46 -07:00
4d15e4cf7b
X86: Implement the stupd microop ("store with update", not "stupid") and use it in ENTER.
Gabe Black
2007-10-21 18:44:50 -07:00
d8494325f0
X86: Implement the PUSHF, POPF, SAHF, and LAHF instructions.
Gabe Black
2007-10-19 15:21:16 -07:00
35a8bc56cd
X86: Impelement the HLT instruction and fix the "halt" microop.
Gabe Black
2007-10-19 15:11:15 -07:00
f69a463b4b
X86: Implement a "halt" microop.
Gabe Black
2007-10-19 15:10:23 -07:00
7f37322532
X86: Implement the ENTER instruction. This could probably be optimized by cleaning up the indexing in the main loop.
Gabe Black
2007-10-19 15:09:37 -07:00
63f4281d9d
Merge with head.
Gabe Black
2007-10-18 22:44:33 -07:00
9243666c39
X86: Replace "group10" placeholder with the corresponding instructions in the decoder.
Gabe Black
2007-10-18 22:43:32 -07:00
5c32422162
X86: Implement the string IO instructions, ins and outs.
Gabe Black
2007-10-18 22:42:53 -07:00
f0dce3bfce
X86: Implement the undocumented SALC instruction which sets AL to 0xFF if CF=1 and 0x00 otherwise.
Gabe Black
2007-10-18 22:42:17 -07:00
46bd1c99a9
X86: Implement the XLAT instruction.
Gabe Black
2007-10-18 22:41:18 -07:00
c526b00b35
X86: Implement the BOUND instruction.
Gabe Black
2007-10-18 22:40:48 -07:00
33dbd8a766
X86: Make the "fault" microop predicated.
Gabe Black
2007-10-18 22:40:18 -07:00
70542c8e61
X86: Make "Inst" the default format instead of WarnUnimpl for one byte opcodes.
Gabe Black
2007-10-18 22:39:39 -07:00
dc2e887f23
X86: Implement the in/out instructions. These will still need support from the TLB and memory system.
Gabe Black
2007-10-18 22:39:00 -07:00
2bbc058c6c
X86: Implement the LOOP instructions.
Gabe Black
2007-10-18 22:38:17 -07:00
418b30602b
X86: Attach the CMC instruction to the decoder.
Gabe Black
2007-10-18 22:37:44 -07:00
674b6436b0
X86: Implemented the jrcx instruction.
Gabe Black
2007-10-18 22:37:08 -07:00
0ffb317ff9
X86: Make wrip sign extend its second operand.
Gabe Black
2007-10-18 22:36:36 -07:00
8351660273
CPU: Use the ThreadContext cpu id instead of the params cpu id in all cases.
Ali Saidi
2007-10-18 13:15:08 -04:00
6010f350a4
X86: Add a bzip2 regression.
Gabe Black
2007-10-16 18:06:17 -07:00
e87336cc60
X86: Fix the parser stats which myseriously differ even for the revision they came from.
Gabe Black
2007-10-16 18:04:46 -07:00
54466a31c3
Make the process objects use the Params structs in their constructors, and use a limit to check if access are on the stack.
Gabe Black
2007-10-16 18:04:01 -07:00
9660a0a552
Merge with head
Gabe Black
2007-10-12 20:10:57 -07:00
ac27bc7878
Loader: Identify sections based on virtual addresses, and set the LoadAddrMask correctly for x86.
Gabe Black
2007-10-12 20:10:10 -07:00
0d6383b69e
X86: Added some new versions of MOV and a new argument type tag.
Gabe Black
2007-10-12 20:08:12 -07:00
d82d3bbda5
X86: Implemented LODS.
Gabe Black
2007-10-12 20:07:28 -07:00
9498e536c0
X86: Implement MSR reads and writes and the wrsmr and rdmsr instructions. There are no priviledge checks, so these instructions will all work in all modes.
Gabe Black
2007-10-12 16:37:55 -07:00
8b35bd6fe7
X86: Add 5 new x86 regressions.
Gabe Black
2007-10-12 13:16:24 -07:00
c648044100
Make qdo work with oar. I don't know if this catches every case, but it appears to be working at the moment.
Ali Saidi
2007-10-10 23:24:16 -04:00
917d82eab9
Regressions: Make mcf have 256MB which it needs for 64 bit builds.
Gabe Black
2007-10-10 17:12:40 -07:00
a76f734d0b
X86: Get rid of BasicOperate format which wasn't used and referred to SparcStaticInst
Gabe Black
2007-10-09 17:21:04 -07:00
8ecea59092
X86: Get rid of stray Sparc DPRINTF
Gabe Black
2007-10-09 17:20:23 -07:00