gem5/dev
Kevin Lim 70b35bab57 Changes to put all the misc regs within the misc reg file. This includes the FPCR, Uniq, lock flag, lock addr, and IPRs.
They are now accessed by calling readMiscReg()/setMiscReg() on the XC.  Old IPR accesses are supported by using readMiscRegWithEffect() and setMiscRegWithEffect() (names may change in the future).

arch/alpha/alpha_memory.cc:
    Change accesses to IPR to go through the XC.
arch/alpha/ev5.cc:
    Change accesses for IPRs to go through the misc regs.
arch/alpha/isa/decoder.isa:
    Change accesses to IPRs to go through the misc regs.  readIpr() and setIpr() are now changed to calls to readMiscRegWithEffect() and setMiscRegWithEffect().
arch/alpha/isa/fp.isa:
    Change accesses to IPRs and Fpcr to go through the misc regs.
arch/alpha/isa/main.isa:
    Add support for all misc regs being accessed through readMiscReg() and setMiscReg().  Instead of readUniq and readFpcr, they are replaced by calls with Uniq_DepTag and Fpcr_DepTag passed in as the register index.
arch/alpha/isa_traits.hh:
    Change the MiscRegFile to a class that handles all accesses to MiscRegs, which in Alpha include the FPCR, Uniq, Lock Addr, Lock Flag, and IPRs.
    Two flavors of accesses are supported: normal register reads/writes, and reads/writes with effect.  The latter are basically the original read/write IPR functions, while the former are normal reads/writes.

    The lock flag and lock addr registers are added to the dependence tags in order to support being accessed through the misc regs.
arch/alpha/stacktrace.cc:
cpu/simple/cpu.cc:
dev/sinic.cc:
    Change accesses to the IPRs to go through the XC.
arch/alpha/vtophys.cc:
    Change access to the IPR to go through the XC.
arch/isa_parser.py:
    Change generation of code for control registers to use the readMiscReg and setMiscReg functions.
base/remote_gdb.cc:
    Change accesses to the IPR to go through the XC.
cpu/exec_context.hh:
    Use the miscRegs to access the lock addr, lock flag, and other misc registers.
cpu/o3/alpha_cpu.hh:
cpu/simple/cpu.hh:
    Support interface for reading and writing misc registers, which replaces readUniq, readFpcr, readIpr, and their set functions.
cpu/o3/alpha_cpu_impl.hh:
    Change accesses to the IPRs to go through the miscRegs.
    For now comment out some of the accesses to the misc regs until the proxy exec context is completed.
cpu/o3/alpha_dyn_inst.hh:
    Change accesses to misc regs to use readMiscReg and setMiscReg.
cpu/o3/alpha_dyn_inst_impl.hh:
    Remove old misc reg accessors.
cpu/o3/cpu.cc:
    Comment out old misc reg accesses until the proxy exec context is completed.
cpu/o3/cpu.hh:
    Change accesses to the misc regs.
cpu/o3/regfile.hh:
    Remove old access methods for the misc regs, replace them with readMiscReg and setMiscReg.  They are dummy functions for now until the proxy exec context is completed.
kern/kernel_stats.cc:
kern/system_events.cc:
    Have accesses to the IPRs go through the XC.
kern/tru64/tru64.hh:
    Have accesses to the misc regs use the new access methods.

--HG--
extra : convert_revision : e32e0a3fe99522e17294bbe106ff5591cb1a9d76
2006-02-27 11:44:35 -05:00
..
alpha_access.h Get rid of the xc from the alphaAccess/alphaConsole backdoor device. 2006-02-23 14:50:16 -05:00
alpha_console.cc Merge zizzer:/bk/m5 2006-02-23 15:06:06 -05:00
alpha_console.hh Get rid of the xc from the alphaAccess/alphaConsole backdoor device. 2006-02-23 14:50:16 -05:00
baddev.cc Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed. 2006-02-21 20:10:40 -05:00
baddev.hh Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed. 2006-02-21 20:10:40 -05:00
disk_image.cc byte_swap.hh was removed from arch/alpha/, and replaced by sim/byteswap.hh. The new file uses LittleEndianGuest and BigEndianGuest namespaces to allow selecting the appropriate functions. 2006-02-03 00:16:44 -05:00
disk_image.hh Many files: 2005-06-05 05:16:00 -04:00
etherbus.cc Many files: 2005-06-05 05:16:00 -04:00
etherbus.hh Many files: 2005-06-05 05:16:00 -04:00
etherdump.cc Fix the EtherDump parameters 2005-09-17 10:47:16 -04:00
etherdump.hh Many files: 2005-06-05 05:16:00 -04:00
etherint.cc Many files: 2005-06-05 05:16:00 -04:00
etherint.hh Many files: 2005-06-05 05:16:00 -04:00
etherlink.cc Update random come to always have explict min/max 2005-11-11 18:41:45 -05:00
etherlink.hh Add ability to slightly perturb latency of ethernet/memory 2005-11-02 14:47:37 -05:00
etherpkt.cc Add the capability to iterate through the packets in a pktfifo, 2005-11-25 11:22:41 -05:00
etherpkt.hh Add the capability to iterate through the packets in a pktfifo, 2005-11-25 11:22:41 -05:00
ethertap.cc Lots of fixes to serialization and naming of various device 2005-08-23 11:45:52 -04:00
ethertap.hh fixes for gcc 4.0 2005-09-12 03:01:43 -04:00
ide_atareg.h Fixes for cygwin compile. 2005-06-30 00:42:27 -04:00
ide_ctrl.cc Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed. 2006-02-21 20:10:40 -05:00
ide_ctrl.hh Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed. 2006-02-21 20:10:40 -05:00
ide_disk.cc Changes to untemplate StaticInst and StaticInstPtr, change the isa to a namespace instead of a class, an improvement to the architecture specific header file selection system, and fixed up a few include paths. 2006-02-19 02:34:37 -05:00
ide_disk.hh Made Addr a global type 2006-02-21 03:38:21 -05:00
ide_wdcreg.h Fix doxgyen comments 2005-06-04 23:56:53 -04:00
io_device.cc Many files: 2005-06-05 05:16:00 -04:00
io_device.hh Many files: 2005-06-05 05:16:00 -04:00
isa_fake.cc Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed. 2006-02-21 20:10:40 -05:00
isa_fake.hh Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed. 2006-02-21 20:10:40 -05:00
ns_gige.cc Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed. 2006-02-21 20:10:40 -05:00
ns_gige.hh Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed. 2006-02-21 20:10:40 -05:00
ns_gige_reg.h Virtualize sinic 2005-11-25 13:33:36 -05:00
pciconfigall.cc Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed. 2006-02-21 20:10:40 -05:00
pciconfigall.hh Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed. 2006-02-21 20:10:40 -05:00
pcidev.cc Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed. 2006-02-21 20:10:40 -05:00
pcidev.hh Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed. 2006-02-21 20:10:40 -05:00
pcireg.h Changes for getting FreeBSD to run. 2005-08-15 16:59:58 -04:00
pitreg.h Changes for getting FreeBSD to run. 2005-08-15 16:59:58 -04:00
pktfifo.cc Many files: 2005-06-05 05:16:00 -04:00
pktfifo.hh Virtualized SINIC fixes 2005-11-28 18:40:58 -05:00
platform.cc Changes to untemplate StaticInst and StaticInstPtr, change the isa to a namespace instead of a class, an improvement to the architecture specific header file selection system, and fixed up a few include paths. 2006-02-19 02:34:37 -05:00
platform.hh Made Addr a global type 2006-02-21 03:38:21 -05:00
rtcreg.h Changes for getting FreeBSD to run. 2005-08-15 16:59:58 -04:00
simconsole.cc Many files: 2005-06-05 05:16:00 -04:00
simconsole.hh Many files: 2005-06-05 05:16:00 -04:00
simple_disk.cc Many files: 2005-06-05 05:16:00 -04:00
simple_disk.hh Made Addr a global type 2006-02-21 03:38:21 -05:00
sinic.cc Changes to put all the misc regs within the misc reg file. This includes the FPCR, Uniq, lock flag, lock addr, and IPRs. 2006-02-27 11:44:35 -05:00
sinic.hh Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed. 2006-02-21 20:10:40 -05:00
sinicreg.hh Made Addr a global type 2006-02-21 03:38:21 -05:00
tsunami.cc Changes to untemplate StaticInst and StaticInstPtr, change the isa to a namespace instead of a class, an improvement to the architecture specific header file selection system, and fixed up a few include paths. 2006-02-19 02:34:37 -05:00
tsunami.hh Made Addr a global type 2006-02-21 03:38:21 -05:00
tsunami_cchip.cc Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed. 2006-02-21 20:10:40 -05:00
tsunami_cchip.hh Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed. 2006-02-21 20:10:40 -05:00
tsunami_io.cc Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed. 2006-02-21 20:10:40 -05:00
tsunami_io.hh Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed. 2006-02-21 20:10:40 -05:00
tsunami_pchip.cc Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed. 2006-02-21 20:10:40 -05:00
tsunami_pchip.hh Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed. 2006-02-21 20:10:40 -05:00
tsunamireg.h Merge zed.eecs.umich.edu:/.automount/fox/y/mserrano/m5_dir/m5 2005-08-15 17:17:17 -04:00
uart.cc Many files: 2005-06-05 05:16:00 -04:00
uart.hh Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed. 2006-02-21 20:10:40 -05:00
uart8250.cc Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed. 2006-02-21 20:10:40 -05:00
uart8250.hh Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed. 2006-02-21 20:10:40 -05:00