summaryrefslogtreecommitdiff
path: root/arch/alpha/ev5.cc
diff options
context:
space:
mode:
authorSteve Reinhardt <stever@eecs.umich.edu>2003-12-15 21:06:09 -0800
committerSteve Reinhardt <stever@eecs.umich.edu>2003-12-15 21:06:09 -0800
commit2cd5e980d2e7b33d61b5a5639784b424fa74142a (patch)
tree397423b6d95e92785a2af4f06b0ec21719349220 /arch/alpha/ev5.cc
parentd0feece6e06aecec134228b577f9a7f22ed792c0 (diff)
downloadgem5-2cd5e980d2e7b33d61b5a5639784b424fa74142a.tar.xz
Fixes for full-system call_pal instruction.
arch/alpha/alpha_memory.cc: Rename md_mode_type to mode_type. arch/alpha/ev5.cc: simPalCheck() only gets called on correct path now, so there's no need to test misspeculating(). arch/alpha/isa_desc: Get privileged call_pall detection right this time (I hope). ExecContext::simPalCheck() and Annotate::Callpal() are now called only on non-speculative executions... this should fix the bogus pal-call stats we've been seeing (since these are incremented in simPalCheck()). Also check for invalid call_pall function codes. --HG-- extra : convert_revision : 465d6724884007d3fa066d14cd5e6db0cd3954e1
Diffstat (limited to 'arch/alpha/ev5.cc')
-rw-r--r--arch/alpha/ev5.cc10
1 files changed, 4 insertions, 6 deletions
diff --git a/arch/alpha/ev5.cc b/arch/alpha/ev5.cc
index 6759fdbf9..8494ee9f6 100644
--- a/arch/alpha/ev5.cc
+++ b/arch/alpha/ev5.cc
@@ -551,16 +551,14 @@ ExecContext::simPalCheck(int palFunc)
switch (palFunc) {
case PAL::halt:
- if (!misspeculating()) {
- halt();
- if (--System::numSystemsRunning == 0)
- new SimExitEvent("all cpus halted");
- }
+ halt();
+ if (--System::numSystemsRunning == 0)
+ new SimExitEvent("all cpus halted");
break;
case PAL::bpt:
case PAL::bugchk:
- if (!misspeculating() && system->breakpoint())
+ if (system->breakpoint())
return false;
break;
}