O3CPU: Undo Gabe's changes to remove hwrei and simpalcheck from O3 CPU. Removing...
authorAli Saidi <saidi@eecs.umich.edu>
Mon, 20 Oct 2008 20:22:59 +0000 (16:22 -0400)
committerAli Saidi <saidi@eecs.umich.edu>
Mon, 20 Oct 2008 20:22:59 +0000 (16:22 -0400)
commitb760b99f4d9f5469d88c67ae8a06e5f9543a43e7
tree39cb41ec58be172c0f4b65162ae637be42bbabb0
parent4fac54f227f0ee0ee169955cb2510609434f7d85
O3CPU: Undo Gabe's changes to remove hwrei and simpalcheck from O3 CPU.  Removing hwrei causes
the instruction after the hwrei to be fetched before the ITB/DTB_CM register is updated in a call pal
call sys and thus the translation fails because the user is attempting to access a super page address.

Minimally, it seems as though some sort of fetch stall or refetch after a hwrei is required. I think
this works currently because the hwrei uses the exec context interface, and the o3 stalls when that occurs.

Additionally, these changes don't update the LOCK register and probably break ll/sc. Both o3 changes were
removed since a great deal of manual patching would be required to only remove the hwrei change.
16 files changed:
src/arch/alpha/ev5.cc
src/arch/alpha/isa/decoder.isa
src/arch/alpha/isa/main.isa
src/arch/x86/bios/IntelMP.py
src/cpu/checker/cpu.hh
src/cpu/exec_context.hh
src/cpu/o3/cpu.cc
src/cpu/o3/cpu.hh
src/cpu/o3/dyn_inst.hh
src/cpu/o3/dyn_inst_impl.hh
src/cpu/ozone/cpu.hh
src/cpu/ozone/cpu_impl.hh
src/cpu/ozone/dyn_inst.hh
src/cpu/ozone/dyn_inst_impl.hh
src/cpu/simple/base.hh
src/cpu/simple_thread.hh