gem5.git
18 years agoMerge zizzer:/bk/newmem
Korey Sewell [Tue, 14 Mar 2006 23:30:09 +0000 (18:30 -0500)]
Merge zizzer:/bk/newmem
into  zazzer.eecs.umich.edu:/.automount/zooks/y/ksewell/research/m5-sim/newmem

--HG--
extra : convert_revision : 054833d2f7019b9a1247efc4451ccb143242059d

18 years agoMinor Sconscript edit ... mips decoder changes ... initialize NNPC and output fault...
Korey Sewell [Tue, 14 Mar 2006 23:28:51 +0000 (18:28 -0500)]
Minor Sconscript edit ... mips decoder changes ... initialize NNPC and output fault name in simple cpu

SConscript:
    Separate Alpha EIO from syscall building for other architectures
arch/isa_specific.hh:
    change MIPS constant to 34k
arch/mips/isa/decoder.isa:
    Allow sll,ssnop,nop, and ehb to be determined through decoder using
    the different types of default cases
arch/mips/isa/formats/branch.isa:
    Delete debug code
arch/mips/isa/formats/noop.isa:
    add a Nop format
arch/mips/isa_traits.hh:
    use constants instead of enums
arch/mips/process.cc:
    point to the correct header file
cpu/simple/cpu.cc:
    Output the actual fault name
sim/process.cc:
    Inititalize NNPC

--HG--
extra : convert_revision : adb0026dfad25b14c98fb03c98bfe9c681bba6f8

18 years agoadded *.swp
Gabe Black [Tue, 14 Mar 2006 21:41:38 +0000 (16:41 -0500)]
added *.swp

--HG--
extra : convert_revision : 90e4387da5bbe5e3f05c4d25713d6a362c6724e8

18 years agoFixed up after a hand merge.
Gabe Black [Tue, 14 Mar 2006 21:39:59 +0000 (16:39 -0500)]
Fixed up after a hand merge.

arch/alpha/utility.hh:
    Got rid of unnecessary extern and static qualifiers, and fixed up the hand merge.
arch/sparc/regfile.hh:
    Fixed up SPARC after a hand merge.

--HG--
extra : convert_revision : 56e2d90ddd144f3386dbea50fa96cfc461d46b81

18 years agoMerge m5.eecs.umich.edu:/bk/newmem
Gabe Black [Tue, 14 Mar 2006 21:08:32 +0000 (16:08 -0500)]
Merge m5.eecs.umich.edu:/bk/newmem
into  ewok.(none):/home/gblack/m5/newmem

cpu/cpu_exec_context.cc:
    Hand merge

--HG--
rename : arch/alpha/registerfile.hh => arch/alpha/regfile.hh
extra : convert_revision : bd18966f7c37c67c2bc7ca2633b58f70ce64409c

18 years agoMoved registerfile.hh to regfile.hh
Gabe Black [Tue, 14 Mar 2006 21:05:44 +0000 (16:05 -0500)]
Moved registerfile.hh to regfile.hh

--HG--
rename : arch/alpha/registerfile.hh => arch/alpha/regfile.hh
extra : convert_revision : 27df93cd2259dab85057f966c801c0db2cb6f022

18 years agoAdded the sparc regfile.hh to bitkeeper
Gabe Black [Tue, 14 Mar 2006 21:01:21 +0000 (16:01 -0500)]
Added the sparc regfile.hh to bitkeeper

--HG--
extra : convert_revision : 7bc8ca989a4f0225ad5644980c8dbc34b0c0e35f

18 years agoSPARC clean up towards compilability.
Gabe Black [Tue, 14 Mar 2006 20:59:19 +0000 (15:59 -0500)]
SPARC clean up towards compilability.

--HG--
extra : convert_revision : 156670995fa61599e763b002cd70f31f19b108d1

18 years agoMissed this in the float register changeset.
Gabe Black [Tue, 14 Mar 2006 20:58:05 +0000 (15:58 -0500)]
Missed this in the float register changeset.

--HG--
extra : convert_revision : 35e967fb39fc16e38da13ab1a093d7d0916cffeb

18 years agoMoved some full system functions into utility.hh
Gabe Black [Tue, 14 Mar 2006 20:57:28 +0000 (15:57 -0500)]
Moved some full system functions into utility.hh

--HG--
extra : convert_revision : dd2cd11213890b30975fdabdf7d9bc4652511434

18 years agoChanged the floating point register file into a class with appropriate accessor funct...
Gabe Black [Tue, 14 Mar 2006 20:55:00 +0000 (15:55 -0500)]
Changed the floating point register file into a class with appropriate accessor functions. The width of the floating point register to access can be specified, and if not, it will be accessed at its "natural" width. That is, the width of each individual register. Also, the functions which access the bit representation of floating point registers can use the blahblahBits functions now instead of blahblahInt.

arch/alpha/arguments.cc:
    Renamed readFloatRegInt to readFloatRegBits
arch/alpha/ev5.cc:
    Removed the Double from setFloatRegDouble
arch/alpha/registerfile.hh:
    Changed the floating point register file from a union of arrays to a class with appropriate accessor functions. The interface is necessary for SPARC.
arch/alpha/types.hh:
    Changed the FloatReg type from a union of uint64_t and double to a double, and defined a new type FloatRegBits which is a uint64_t and is used to return the bits which compose a floating point register rather than the value of the register.
arch/isa_parser.py:
    Adjusted the makeRead and makeWrite functions to generate the new versions of readFloatReg and setFloatReg.
base/remote_gdb.cc:
kern/tru64/tru64.hh:
    Replaced setFloatRegInt with setFloatRegBits
cpu/cpu_exec_context.cc:
    Removed the duplicated code for setting the floating point registers, and renamed the function to setFloatRegBits and readFloatRegBits.
cpu/cpu_exec_context.hh:
cpu/exec_context.hh:
cpu/o3/alpha_cpu_impl.hh:
cpu/o3/alpha_dyn_inst.hh:
cpu/o3/cpu.cc:
cpu/o3/cpu.hh:
cpu/o3/regfile.hh:
cpu/ozone/cpu.hh:
cpu/simple/cpu.hh:
    Implemented the new versions of the floating point read and set functions.
cpu/simple/cpu.cc:
    Replaced setFloatRegDouble with setFloatReg

--HG--
extra : convert_revision : 3dad06224723137f6033c335fb8f6395636767f2

18 years agoHave a copyRegs function defined in the ISA that copies registers from one ExecContex...
Kevin Lim [Mon, 13 Mar 2006 22:04:24 +0000 (17:04 -0500)]
Have a copyRegs function defined in the ISA that copies registers from one ExecContext to another ExecContext.  This makes it easier for anything that needs to copy architected registers to do so in an ISA independent fashion.

arch/alpha/ev5.cc:
    copyIprs now copies from a source ExecContext to a destination ExecContext.
arch/alpha/registerfile.hh:
    Have ISA specific functions to copy all architected registers from one ExecContext to another.
cpu/cpu_exec_context.cc:
    Call the ISA in order to copy any architected registers.

--HG--
extra : convert_revision : 056cc3b3a9f345535d5a57c6524b114bbd5ae3c8

18 years agoAdd simple eio-based test.
Steve Reinhardt [Sun, 12 Mar 2006 22:24:02 +0000 (17:24 -0500)]
Add simple eio-based test.

--HG--
extra : convert_revision : 969e8fddad1b87eaa294857945a4c46cb175984d

18 years agoOops, this goes with the previous changeset!
Steve Reinhardt [Sun, 12 Mar 2006 22:23:18 +0000 (17:23 -0500)]
Oops, this goes with the previous changeset!

mem/mem_object.hh:
    Change getPort() to be anonymous by default.

--HG--
extra : convert_revision : 6998885ddccfbf26bc470112f40c3f19913ba7e2

18 years agoReplace Memory with MemObject; no need for two different levels of hierarchy there.
Steve Reinhardt [Sun, 12 Mar 2006 22:21:59 +0000 (17:21 -0500)]
Replace Memory with MemObject; no need for two different levels of hierarchy there.
Get rid of addPort().
Change getPort() behavior on PhysicalMemory.

SConscript:
cpu/simple/cpu.hh:
sim/system.cc:
sim/system.hh:
    Replace Memory with MemObject.
cpu/base.hh:
    No need to declare Port here anymore.
cpu/cpu_exec_context.hh:
    Need PageTable definition.
cpu/simple/cpu.cc:
mem/physical.cc:
mem/physical.hh:
    Replace Memory with MemObject.
    Get rid of addPort(); allow getting anonymous ports with getPort().
mem/translating_port.hh:
    Remove unneeded header.
sim/process.cc:
    Replace Memory with MemObject.
    Change how initialization port gets set up to deal with change in
    addPort()/getPort().  Current solution is not ideal but it works.
sim/process.hh:
    Remove unneeded headers and declarations.
    Make LiveProcess::getDesc() abstract instead of panicing if called.
sim/syscall_emul.hh:
    Fix includes.

--HG--
extra : convert_revision : 11d4ffb54230038afcf7219cc46e51f809329a2f

18 years agoGet rid of "Functional" suffix from (read|write)(Blob|String) functions.
Steve Reinhardt [Sun, 12 Mar 2006 21:38:16 +0000 (16:38 -0500)]
Get rid of "Functional" suffix from (read|write)(Blob|String) functions.

--HG--
extra : convert_revision : 1456308af0fd686dff53ec1baddd7747354e1c0a

18 years agoClean up arch/*/process.hh includes and std namespace issues.
Steve Reinhardt [Sun, 12 Mar 2006 21:27:52 +0000 (16:27 -0500)]
Clean up arch/*/process.hh includes and std namespace issues.

arch/alpha/process.cc:
arch/mips/process.cc:
arch/sparc/process.cc:
    You really do need the headers in the .cc file.
arch/alpha/process.hh:
    Don't include unnecessary headers in another header.
    Replace with forward class declarations.
arch/mips/process.hh:
arch/sparc/process.hh:
    Don't include unnecessary headers in another header.
    Replace with forward class declarations.
    Also fix std namespace... no "using" in header files!

--HG--
extra : convert_revision : f2cd953d0f4a212bb8148cc54c329aa3c18deb89

18 years agoMore memory system cleanup:
Steve Reinhardt [Sun, 12 Mar 2006 21:11:41 +0000 (16:11 -0500)]
More memory system cleanup:
- Get rid of unused ProxyMemory class (replaced by TranslatingPort).
- Get rid of remaining unused prot_* functions.

mem/physical.cc:
mem/physical.hh:
mem/port.hh:
    Get rid of remaining unused prot_* functions.

--HG--
extra : convert_revision : f16c208f4e4c38bd6bb3626339674c9278da9e07

18 years agoFix bk ignore paths for new build options directory structure.
Steve Reinhardt [Sun, 12 Mar 2006 21:03:46 +0000 (16:03 -0500)]
Fix bk ignore paths for new build options directory structure.

--HG--
extra : convert_revision : daf67203a26c8139f810cc4e8d16e652373f305b

18 years agoGet rid of validInstAddr() & validDataAddr().
Steve Reinhardt [Sun, 12 Mar 2006 21:01:41 +0000 (16:01 -0500)]
Get rid of validInstAddr() & validDataAddr().
SE mode can now use page tables to determine which addresses are valid.

sim/process.cc:
sim/process.hh:
    Get rid of validInstAddr() & validDataAddr().
    SE mode can now use page tables to determine which addresses are valid.
    Also get rid of some Process object fields that were only used by those functions.

--HG--
extra : convert_revision : 74a25c0c2453bfc598eedacdbfccea1cf6493ba6

18 years agoAdd "using namespace TheISA" to syscall emulation functions so they pick up the right...
Steve Reinhardt [Sun, 12 Mar 2006 20:51:48 +0000 (15:51 -0500)]
Add "using namespace TheISA" to syscall emulation functions so they pick up the right definitions of htog/gtoh etc.

--HG--
extra : convert_revision : 7ee949a2151f9a8d158815a7dffba6c19779f282

18 years agoClean up "using" declarations.
Steve Reinhardt [Sun, 12 Mar 2006 20:14:07 +0000 (15:14 -0500)]
Clean up "using" declarations.

arch/alpha/isa_traits.hh:
    No unprotected "using" in header files.
cpu/simple/cpu.cc:
    Fix ISA namespace "using" statement.

--HG--
extra : convert_revision : 317ea40f8de00748d7613a0116edab05770bdc72

18 years agoMerge zizzer:/bk/newmem
Korey Sewell [Sun, 12 Mar 2006 10:58:28 +0000 (05:58 -0500)]
Merge zizzer:/bk/newmem
into  zazzer.eecs.umich.edu:/.automount/zooks/y/ksewell/research/m5-sim/newmem

--HG--
extra : convert_revision : b101fa550567d5a9f5de6c2d8c3f67829ae050c1

18 years agoMIPS is back to compiling and building now!
Korey Sewell [Sun, 12 Mar 2006 10:57:34 +0000 (05:57 -0500)]
MIPS is back to compiling and building now!

arch/alpha/isa_traits.hh:
    used for SimpleCPU instead of explicitly calling the namespace we declare in isa_traits.hhs
    so other archs. can use SimpleCPU
arch/mips/SConscript:
    dont include common_syscall or tru64
arch/mips/faults.cc:
arch/mips/faults.hh:
arch/mips/isa/formats/unimp.isa:
arch/mips/isa/formats/unknown.isa:
    Change Faults to new format
arch/mips/isa/decoder.isa:
    Fix readMiscReg access
    Made change so that you cant explicitly tell if a instruction nop,ehb,or ssnop... These are all variants
    of the sll instruction so I may need to make a separte class of instructions to handle thse better
arch/mips/isa/includes.isa:
    add isa_traits.hh and MipsISA included into every auto-gen file
arch/mips/isa_traits.cc:
    create copyMiscRegs function...
    delete useless code
arch/mips/isa_traits.hh:
    clean up for build
arch/mips/linux_process.cc:
    mem is now getMemPort(), linux process objects now take in a system argument
arch/mips/linux_process.hh:
    new argument for linux process
arch/mips/process.cc:
    add system
arch/mips/process.hh:
    add system variable
cpu/cpu_exec_context.cc:
    Change AlphaISA to TheISA
cpu/exec_context.hh:
    add readNextNPC and setNextNPC functions
cpu/simple/cpu.cc:
    include isa_traits for namespace declariation
cpu/simple/cpu.hh:
    PC & NPC access/modify functions
arch/mips/utility.hh:
    file needed for compile

--HG--
extra : convert_revision : 29a327e79c51c6174a6e526aa68c7aab7e7eb535

18 years agoMerge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
Steve Reinhardt [Sun, 12 Mar 2006 06:07:58 +0000 (01:07 -0500)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into  zizzer.eecs.umich.edu:/z/stever/bk/newmem-head

--HG--
extra : convert_revision : a784e60b7f79d70b09052fc4a8ae35a821d307dc

18 years agoGet rid of obsolete header that had only one declaration of
Steve Reinhardt [Sun, 12 Mar 2006 06:05:01 +0000 (01:05 -0500)]
Get rid of obsolete header that had only one declaration of
an obsolete function that doesn't exist.

arch/alpha/tru64/process.cc:
sim/process.cc:
    Don't include useless header.

--HG--
extra : convert_revision : 1dd5edeb0703e2190b89ea5ff563df4c95b7cf59

18 years agoFix TranslatingPort access functions to:
Steve Reinhardt [Sun, 12 Mar 2006 05:40:29 +0000 (00:40 -0500)]
Fix TranslatingPort access functions to:
- know nothing about Fault objects (as it should be)
- call fatal() by default on accesses to unmapped addrs
- provide "try" versions for callers that are prepared to handle failure

mem/translating_port.cc:
mem/translating_port.hh:
    Memory system objects should not return Fault objects, just errors.
    Half the time we don't check the return code anyway, so make
    default version of the access functions call fatal().
    Provide "try*" versions that return a bool for places where we
    really are going to check the return code.
sim/syscall_emul.cc:
sim/syscall_emul.hh:
    Need to use new "tryReadString" here since we actually check the return code.

--HG--
extra : convert_revision : 039737398ef183904dc382c05912ab96cd1d4a51

18 years agoMinor fix to fault message in SimpleCPU.
Steve Reinhardt [Sun, 12 Mar 2006 05:34:02 +0000 (00:34 -0500)]
Minor fix to fault message in SimpleCPU.

cpu/simple/cpu.cc:
    Fix up fault message... 0x prefix is redundant when using %p.

--HG--
extra : convert_revision : 329d4417287a036a0f24544f73f48c0e19059425

18 years agoFix EIO handling for new memory system.
Steve Reinhardt [Sun, 12 Mar 2006 05:30:55 +0000 (00:30 -0500)]
Fix EIO handling for new memory system.

SConscript:
    Compile in eio.cc again.

--HG--
extra : convert_revision : a40f251d6b400fce61f91a9cb1cdae3ca21df4a7

18 years agoTweak exit() message.
Steve Reinhardt [Sun, 12 Mar 2006 03:02:34 +0000 (22:02 -0500)]
Tweak exit() message.

sim/syscall_emul.cc:
    Make message for exit() more obvious.

--HG--
extra : convert_revision : 5cf7ddb19761e8ff071635368ea77c24d8857c7e

18 years agoBump up NFS wait time in qdo (since this has been causing
Steve Reinhardt [Sun, 12 Mar 2006 03:01:33 +0000 (22:01 -0500)]
Bump up NFS wait time in qdo (since this has been causing
problems in pool regressions).

util/qdo:
    Bump up hardcoded NFS wait time from 45 sec to 90 sec (and
    print threshold from 10 sec to 30 sec).  Would be even
    nicer to make these cmd-line params, but nobody would use
    them anyway.

--HG--
extra : convert_revision : 1e9b3ad43a5dbf5e30758069e5a8cde3749cc1a6

18 years agoAdded registerfile.hh and utility.hh
Gabe Black [Sat, 11 Mar 2006 19:26:34 +0000 (14:26 -0500)]
Added registerfile.hh and utility.hh

--HG--
extra : convert_revision : f825fcf53e716efc62e541692cb4ed26366abc26

18 years agoWork towards factoring isa_traits.hh into smaller, more specialized files.
Gabe Black [Sat, 11 Mar 2006 00:11:27 +0000 (19:11 -0500)]
Work towards factoring isa_traits.hh into smaller, more specialized files.

arch/SConscript:
    Sorted the switch headers, and added registerfile.hh, constants.hh, types.hh, and utility.hh.
arch/alpha/isa_traits.hh:
    Moved the register file types to registerfile.hh, small functions to utility.hh, and cleaned out alot of stuff that isn't necessary anymore.
base/loader/ecoff_object.cc:
base/loader/elf_object.cc:
cpu/pc_event.hh:
cpu/static_inst.hh:
mem/port.hh:
sim/faults.cc:
sim/system.hh:
    base/misc.hh isn't included through isa_traits.hh anymore.
cpu/simple/cpu.cc:
    Added include for arch/utility.hh

--HG--
extra : convert_revision : 24f65f330f87e3c909c939596cfcf48336022eaf

18 years agoMoved MaxAddr.
Gabe Black [Fri, 10 Mar 2006 23:26:12 +0000 (18:26 -0500)]
Moved MaxAddr.

sim/host.hh:
    Moved MaxAddr from arch to here, since it depends only on the Addr type.

--HG--
extra : convert_revision : e5eaa0bfbe2a376b0d309c517687b3d9d63e407f

18 years agoGot rid of some dead code.
Gabe Black [Fri, 10 Mar 2006 23:20:14 +0000 (18:20 -0500)]
Got rid of some dead code.

--HG--
extra : convert_revision : 591312f1e57953a3b03639cef1a3ff6bd08f5f67

18 years agoMoved some constants into constants.hh
Gabe Black [Fri, 10 Mar 2006 23:18:18 +0000 (18:18 -0500)]
Moved some constants into constants.hh

--HG--
extra : convert_revision : aeb0242b9f3c24c2ff0623bbc31a2373d52b875f

18 years agoGot rid of unnecessary fault_addr function.
Gabe Black [Fri, 10 Mar 2006 23:03:00 +0000 (18:03 -0500)]
Got rid of unnecessary fault_addr function.

--HG--
extra : convert_revision : ff265b76cb5110736e67d1779e5d100a607da70e

18 years agoGot rid of forward declaration of RegFile and MiscRegFile, since they aren't necessar...
Gabe Black [Fri, 10 Mar 2006 23:00:25 +0000 (18:00 -0500)]
Got rid of forward declaration of RegFile and MiscRegFile, since they aren't necessary anymore.

--HG--
extra : convert_revision : faf5bba3720204fe399778ffaae72f9845b3baff

18 years agoPushed the InternalProcReg type into the MiscRegFile, so it's not needed here any...
Gabe Black [Fri, 10 Mar 2006 22:57:44 +0000 (17:57 -0500)]
Pushed the InternalProcReg type into the MiscRegFile, so it's not needed here any more.

--HG--
extra : convert_revision : 443ae3fe4d7ac99ef5cbd1366266604bb13761c3

18 years agoAdded ev5.hh to files which should include it directly, now that it isn't included...
Gabe Black [Fri, 10 Mar 2006 22:56:41 +0000 (17:56 -0500)]
Added ev5.hh to files which should include it directly, now that it isn't included within isa_traits.hh

--HG--
extra : convert_revision : e49935da238a299e681f9137ad3c0b7dc0e226a3

18 years agoMoved constants from isa_traits.hh into constants.hh.
Gabe Black [Fri, 10 Mar 2006 22:55:47 +0000 (17:55 -0500)]
Moved constants from isa_traits.hh into constants.hh.

arch/alpha/isa_traits.hh:
    Moved constants from isa_traits.hh into constants.hh. Also removed the dependence on ev5.hh

--HG--
extra : convert_revision : f7a03c4ffb1394dcca5a5a96da468c3ff14e1974

18 years agoMerge m5.eecs.umich.edu:/bk/newmem
Gabe Black [Fri, 10 Mar 2006 22:01:58 +0000 (17:01 -0500)]
Merge m5.eecs.umich.edu:/bk/newmem
into  ewok.(none):/home/gblack/m5/newmem

--HG--
extra : convert_revision : 58a5ae14fc8ac697206a3bfa1cf543a3579123d4

18 years agoIt now runs hello world binary.
Ron Dreslinski [Fri, 10 Mar 2006 21:59:02 +0000 (16:59 -0500)]
It now runs hello world binary.

Fixed the exec context proxy class to have a getMemPort function.

arch/alpha/linux/process.cc:
arch/alpha/tru64/process.cc:
kern/tru64/tru64.hh:
sim/syscall_emul.cc:
sim/syscall_emul.hh:
    Fix to use new exec context proxy

--HG--
extra : convert_revision : eaa05dfab3fdb77627f6cf404a2569a44232f604

18 years agoAdd getMemPort to exec context proxy
Ron Dreslinski [Fri, 10 Mar 2006 21:51:52 +0000 (16:51 -0500)]
Add getMemPort to exec context proxy

--HG--
extra : convert_revision : a28c0410a63745b7455ad957c582c38319901cf0

18 years agoPut the InternalProcReg type into the MiscRegFile, which is the only place it's used.
Gabe Black [Fri, 10 Mar 2006 21:47:00 +0000 (16:47 -0500)]
Put the InternalProcReg type into the MiscRegFile, which is the only place it's used.

--HG--
extra : convert_revision : e5a942c2fbf951dc13a5aee9d2ac85982ff3e9c9

18 years agoSplit out basic types from isa_traits.hh into a new file, types.hh
Gabe Black [Fri, 10 Mar 2006 21:37:22 +0000 (16:37 -0500)]
Split out basic types from isa_traits.hh into a new file, types.hh

arch/alpha/isa_traits.hh:
    Pulled out basic type definitions into types.hh
arch/alpha/types.hh:
    New BitKeeper file ``arch/alpha/types.hh''
    For relatively basic types associated with an architecture. This does not include, for instance, register files.

--HG--
extra : convert_revision : ee6c4afc115271ad237208274c863a7dee97c5d7

18 years agoEliminated TARGET_ALPHA, since THE_ISA provides the same function.
Gabe Black [Fri, 10 Mar 2006 21:26:31 +0000 (16:26 -0500)]
Eliminated TARGET_ALPHA, since THE_ISA provides the same function.

--HG--
extra : convert_revision : eb173a553b0782891e8b4a8e227bfb647390883a

18 years agoWrapped setSysCallReturn in !FULL_SYSTEM.
Gabe Black [Fri, 10 Mar 2006 20:12:46 +0000 (15:12 -0500)]
Wrapped setSysCallReturn in !FULL_SYSTEM.

--HG--
extra : convert_revision : c6d3a5af04731a92eaca2337424ba10926f0d879

18 years agoCompiles now (with CPU_MODELS=SimpleCPU), but hangs
Steve Reinhardt [Fri, 10 Mar 2006 15:01:29 +0000 (10:01 -0500)]
Compiles now (with CPU_MODELS=SimpleCPU), but hangs
on execution.

configs/test/test.py:
    Move test binary out of m5-test, don't depend on
    m5-test/Benchmarks.
python/m5/objects/System.py:
    Split out full-system-only parameters (lost in merge).
sim/system.cc:
    Need to be able to instantiate System directly in SE mode
    (lost in merge).
sim/system.hh:
    A few more functions here are FS-only.
configs/test/hello:
    Add in binary.

--HG--
rename : configs/test.py => configs/test/test.py
extra : convert_revision : 4051b18772e0a0dcb97eb591d4373683be9f4395

18 years agoSimpleCPU compiles with merge.
Gabe Black [Fri, 10 Mar 2006 00:21:35 +0000 (19:21 -0500)]
SimpleCPU compiles with merge.

arch/alpha/isa_traits.hh:
arch/alpha/linux/process.cc:
arch/alpha/process.cc:
arch/alpha/process.hh:
arch/alpha/tru64/process.cc:
base/chunk_generator.hh:
base/loader/elf_object.cc:
cpu/cpu_exec_context.cc:
cpu/cpu_exec_context.hh:
cpu/exec_context.hh:
cpu/simple/cpu.cc:
kern/linux/linux.hh:
kern/tru64/tru64.hh:
mem/packet.hh:
mem/page_table.cc:
mem/page_table.hh:
mem/physical.cc:
mem/request.hh:
mem/translating_port.cc:
sim/process.hh:
sim/system.cc:
    Fixing merged changes.

--HG--
extra : convert_revision : 2e94f21009395db654880fcb94ec806b6f5772c3

18 years agoHand merge. Stuff probably doesn't compile.
Gabe Black [Thu, 9 Mar 2006 23:35:28 +0000 (18:35 -0500)]
Hand merge.  Stuff probably doesn't compile.

--HG--
rename : arch/alpha/isa_desc => arch/alpha/isa/main.isa
rename : arch/alpha/alpha_linux_process.cc => arch/alpha/linux/process.cc
rename : arch/alpha/alpha_linux_process.hh => arch/alpha/linux/process.hh
rename : arch/alpha/alpha_tru64_process.cc => arch/alpha/tru64/process.cc
rename : arch/alpha/alpha_tru64_process.hh => arch/alpha/tru64/process.hh
rename : cpu/exec_context.cc => cpu/cpu_exec_context.cc
rename : cpu/exec_context.hh => cpu/cpu_exec_context.hh
extra : convert_revision : 7d1efcedd708815d985a951f6f010fbd83dc27e8

18 years agofix merging issues
Ali Saidi [Thu, 9 Mar 2006 21:17:10 +0000 (16:17 -0500)]
fix merging issues

arch/alpha/isa_traits.hh:
arch/sparc/linux/process.cc:
    fix merging problem
sim/syscall_emul.cc:
    use setIntReg

--HG--
extra : convert_revision : e88d72e415493cd17d7b88c22c7e995f3199e396

18 years agoMerge zizzer:/bk/multiarch
Ali Saidi [Thu, 9 Mar 2006 20:56:42 +0000 (15:56 -0500)]
Merge zizzer:/bk/multiarch
into  zeep.eecs.umich.edu:/z/saidi/work/m5.ma2

arch/alpha/isa_traits.hh:
arch/alpha/linux/process.cc:
arch/sparc/isa_traits.hh:
arch/sparc/linux/process.cc:
sim/process.cc:
    merge

--HG--
rename : cpu/exec_context.hh => cpu/cpu_exec_context.hh
extra : convert_revision : fea0155c8e23abbd0d5d5251abbd0f4d223fe935

18 years agono more common syscall emulation, now common for everyone
Ali Saidi [Thu, 9 Mar 2006 20:42:09 +0000 (15:42 -0500)]
no more common syscall emulation, now common for everyone
check abi-tag note section of elf binary for OS
add pseudo functions (moved from alpha and made to be generic)
move setsyscallreturn into isa traits

arch/alpha/SConscript:
    no more common syscall emulation, now common for everyone
arch/alpha/isa_traits.hh:
    move setsyscallreturn into isa description
arch/alpha/linux/process.cc:
arch/alpha/tru64/process.cc:
    use generic functions rather than alpha specific ones
arch/sparc/isa_traits.hh:
    have consts for generic pseudo syscalls
arch/sparc/linux/process.cc:
    use generic functions
base/loader/elf_object.cc:
    check abi-tag note section of elf binary for OS
cpu/exec_context.hh:
    move syssyscallreturn into isa traits
sim/process.cc:
    find call num with a more generic
sim/syscall_emul.cc:
sim/syscall_emul.hh:
    add pseudo functions (moved from alpha and made to be generic)

--HG--
extra : convert_revision : 5a31024ecde7e39b830365ddd84593ea501a34d2

18 years agoMerge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
Gabe Black [Thu, 9 Mar 2006 20:15:55 +0000 (15:15 -0500)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into  zizzer.eecs.umich.edu:/z/m5/Bitkeeper/multiarch

cpu/simple/cpu.cc:
    Hand Merge

--HG--
rename : cpu/exec_context.hh => cpu/cpu_exec_context.hh
extra : convert_revision : bf664b092f993d0f4675ce8e7df13645a920c1f4

18 years agoUse functions to access XC.
Kevin Lim [Thu, 9 Mar 2006 20:10:55 +0000 (15:10 -0500)]
Use functions to access XC.

cpu/exec_context.hh:
    Include readNextNPC function.
cpu/simple/cpu.cc:
    Use functions to set and access nextPC, nextNPC.

--HG--
extra : convert_revision : 22622b9c110e1d99cc9106a2a27c479579d7e1ad

18 years agolast changes before big merge
Korey Sewell [Thu, 9 Mar 2006 08:27:51 +0000 (03:27 -0500)]
last changes before big merge

arch/alpha/isa_traits.hh:
arch/sparc/isa_traits.hh:
    add nnpc for compiling purposes in exec_context setNextNPC function
cpu/exec_context.hh:
    set NNPC function
cpu/simple/cpu.cc:
    use NNPC in determining what PC we are using

--HG--
extra : convert_revision : e810cfbc5dc31879b20d2cc40bf9871613203532

18 years agominor comments to decoder.isa
Korey Sewell [Thu, 9 Mar 2006 07:34:12 +0000 (02:34 -0500)]
minor comments to decoder.isa

arch/mips/isa/decoder.isa:
    comments

--HG--
extra : convert_revision : 8e4fdf36d7f7365cda062bc169a313bf860a4fe5

18 years agoMerge zizzer:/bk/multiarch
Korey Sewell [Wed, 8 Mar 2006 21:54:08 +0000 (16:54 -0500)]
Merge zizzer:/bk/multiarch
into  zazzer.eecs.umich.edu:/z/ksewell/research/m5-sim/multiarch-m5

--HG--
extra : convert_revision : f3502f293f6ea44b5cf209ce2a935a25bca6054f

18 years agoadd explicit support for nop,ssnop, and ehb instructions
Korey Sewell [Wed, 8 Mar 2006 21:53:44 +0000 (16:53 -0500)]
add explicit support for nop,ssnop, and ehb instructions

--HG--
extra : convert_revision : 41151d38cabb6ce0ea81e5d78e4474d8f2ffeb67

18 years agoInclude ability to copy all misc regs.
Kevin Lim [Wed, 8 Mar 2006 20:10:47 +0000 (15:10 -0500)]
Include ability to copy all misc regs.

arch/alpha/ev5.cc:
    Include function for the MiscRegFile to copy all of the Iprs from an ExecContext.
arch/alpha/isa_traits.hh:
    Include functions to copy MiscRegs from an ExecContext.
cpu/cpu_exec_context.cc:
    Be sure to copy all of the misc regs when copying all architectural state.

--HG--
extra : convert_revision : cb948b5ff141ea0f739a1016f98236bd2a512f76

18 years agoMerge ktlim@zizzer:/bk/m5
Kevin Lim [Wed, 8 Mar 2006 18:26:30 +0000 (13:26 -0500)]
Merge ktlim@zizzer:/bk/m5
into  zamp.eecs.umich.edu:/z/ktlim2/m5-proxyxc

arch/alpha/ev5.cc:
cpu/o3/cpu.hh:
    SCCS merged

--HG--
extra : convert_revision : 38889011ea02005c8fd3a7f3b0be3395223f6166

18 years agoForward declaration of MemoryController.
Kevin Lim [Wed, 8 Mar 2006 16:34:41 +0000 (11:34 -0500)]
Forward declaration of MemoryController.

My change to exec_context.hh probably affected these files to no longer have MemoryController forward declared through a long chain of includes.  MemoryController should be forward declared where it is used anyways.

dev/alpha_console.hh:
dev/uart.hh:
dev/uart8250.hh:
    Forward declaration of MemoryController.

--HG--
extra : convert_revision : afaac4014e0eb3b6d5d385cd4444b77511e03b51

18 years agoMerge gblack@m5.eecs.umich.edu:/bk/multiarch
Gabe Black [Wed, 8 Mar 2006 13:09:45 +0000 (08:09 -0500)]
Merge gblack@m5.eecs.umich.edu:/bk/multiarch
into  ewok.(none):/home/gblack/m5/multiarch

--HG--
extra : convert_revision : 5fe5a3d70774d6420b890237d9be4a5d0f00d17e

18 years agoWorking towards compiling SPARC_SE
Gabe Black [Wed, 8 Mar 2006 13:09:27 +0000 (08:09 -0500)]
Working towards compiling SPARC_SE

arch/alpha/isa_traits.hh:
    Changed the enums to const ints, and got rid of a few unnecessary constants.
arch/sparc/isa_traits.hh:
    Got rid of the enums, and added in some missing constants.

--HG--
extra : convert_revision : ee47890af9d8c67300b31d8e0dda1d580bd21479

18 years agoUpdate MiscReg enum and miscRegFile definition
Korey Sewell [Wed, 8 Mar 2006 09:36:55 +0000 (04:36 -0500)]
Update MiscReg enum and miscRegFile definition
update miscReg file access

arch/mips/isa/decoder.isa:
arch/mips/isa_traits.cc:
    update miscRegfile access
arch/mips/isa_traits.hh:
    Update MiscReg enum and miscRegFile definition

--HG--
extra : convert_revision : 9b6b9343d674e1e38e25bb9a4ffe4325142e7424

18 years agoupdated MIPS ISA files .... all files should be able to compile/build with MIPS optio...
Korey Sewell [Wed, 8 Mar 2006 07:05:38 +0000 (02:05 -0500)]
updated MIPS ISA files .... all files should be able to compile/build with MIPS option except isa_traits.*
which I need to update the misc. regfile accesses

arch/mips/faults.cc:
arch/mips/faults.hh:
    alpha to mips
arch/mips/isa/base.isa:
    add includes
arch/mips/isa/bitfields.isa:
    more bitfields
arch/mips/isa/decoder.isa:
    lots o' lots o' lots o' changes!!!!
arch/mips/isa/formats.isa:
    include cop0.isa
arch/mips/isa/formats/basic.isa:
    fix faults
arch/mips/isa/formats/branch.isa:
arch/mips/isa/formats/fp.isa:
arch/mips/isa/formats/int.isa:
arch/mips/isa/formats/mem.isa:
arch/mips/isa/formats/noop.isa:
arch/mips/isa/formats/trap.isa:
arch/mips/isa/formats/unimp.isa:
arch/mips/isa/formats/unknown.isa:
arch/mips/isa/formats/util.isa:
arch/mips/isa/operands.isa:
arch/mips/isa_traits.cc:
arch/mips/linux_process.cc:
    merge MIPS-specific comilable/buidable files code into multiarch
arch/mips/isa_traits.hh:
    merge MIPS-specific comilable/buidable files code into multiarch... the miscRegs file accesses i have
    need to be recoded and everything should build then ...
arch/mips/stacktrace.hh:
    file copied over

--HG--
extra : convert_revision : 4a72e14fc5fb0a0d1f8b205dadbbf69636b7fb1f

18 years agoUse getProxy() instead of xcProxy; avoids confusion of where xcProxy must be set.
Kevin Lim [Wed, 8 Mar 2006 04:44:30 +0000 (23:44 -0500)]
Use getProxy() instead of xcProxy; avoids confusion of where xcProxy must be set.

--HG--
extra : convert_revision : 548822baafe73b8041b7030feb1c4550fb80292f

18 years agoNeeds forward declaration of MemoryController.
Kevin Lim [Wed, 8 Mar 2006 03:56:12 +0000 (22:56 -0500)]
Needs forward declaration of MemoryController.

--HG--
extra : convert_revision : 07f397742a026cb6320dc29722d1db21157f26fa

18 years agoFixes for accesses to the misc regs.
Kevin Lim [Wed, 8 Mar 2006 03:24:37 +0000 (22:24 -0500)]
Fixes for accesses to the misc regs.

--HG--
extra : convert_revision : 47c7d90be5a147cb644f11980adcf8165b0ab3bb

18 years agoAvoid accessing objects directly within the XC.
Kevin Lim [Wed, 8 Mar 2006 03:23:14 +0000 (22:23 -0500)]
Avoid accessing objects directly within the XC.

--HG--
extra : convert_revision : abda610caab885ae39b4e48df4f75cddb93b27ed

18 years agoFixes to allow the ExecContext to be used for profiling.
Kevin Lim [Wed, 8 Mar 2006 03:21:39 +0000 (22:21 -0500)]
Fixes to allow the ExecContext to be used for profiling.

cpu/base.cc:
    Change to be calls through the ExecContext instead of accessing the profile object directly.
cpu/cpu_exec_context.cc:
    Add functions to clear and sample the profile object.
cpu/cpu_exec_context.hh:
    Add functions to clear and sample the profile object.  These are not the most flexible functions; it might be better to eventually move the quiesce, profile, and store conditional stuff out of ExecContext so they don't clutter the interface.
cpu/exec_context.hh:
    Include functions to support using the profile object to clear itself and take samples.

--HG--
extra : convert_revision : 40849915fd51303673451515debb9ecdc7afb8c8

18 years agoMerge ktlim@zizzer:/bk/m5
Kevin Lim [Wed, 8 Mar 2006 01:01:34 +0000 (20:01 -0500)]
Merge ktlim@zizzer:/bk/m5
into  zamp.eecs.umich.edu:/z/ktlim2/m5-proxyxc

arch/alpha/faults.cc:
    Hand merge.

--HG--
rename : arch/alpha/linux_process.cc => arch/alpha/linux/process.cc
rename : arch/alpha/tru64_process.cc => arch/alpha/tru64/process.cc
extra : convert_revision : 6ea1fae5be0ebd02eff330423d16da63b790516d

18 years agoUpdates for the quiesceEvent that was added to the XC.
Kevin Lim [Wed, 8 Mar 2006 00:59:12 +0000 (19:59 -0500)]
Updates for the quiesceEvent that was added to the XC.

Also several files need to include system.hh or symtab.hh.  This is because exec_context.hh has less #includes than before, requiring some of the files that include it to include some other files as well.

arch/alpha/faults.cc:
    Avoid accessing XC directly.
arch/alpha/stacktrace.cc:
    StackTrace needs to include system.hh.
cpu/cpu_exec_context.cc:
    Update for change to CPUExecContext.
cpu/cpu_exec_context.hh:
    Make quiesce events use CPUExecContext instead of ExecContext.  Include functions to allow the quiesce event and last activate/suspend be accessed.
cpu/exec_context.hh:
    Include functions for quiesceEvent.
cpu/intr_control.cc:
    Needs to include cpu/exec_context.hh.
cpu/profile.cc:
    Needs to include symtab.hh for the symbol table.
cpu/profile.hh:
    Needs forward declare of ExecContext.
cpu/simple/cpu.cc:
    Rename xc to cpuXC.
dev/tsunami_cchip.cc:
    Needs to include exec_context.hh.
kern/kernel_stats.cc:
    Needs to include system.hh.
kern/linux/events.cc:
    Needs to include system.hh.

    Also avoid accessing objects directly from the XC.
kern/tru64/dump_mbuf.cc:
    Include symtab.hh for the SymbolTable and system.hh.
kern/tru64/tru64_events.cc:
    Include system.hh
sim/pseudo_inst.cc:
    Avoid accessing objects directly within the XC.

--HG--
extra : convert_revision : 78fe30d98cd20f7403fa216f772071458b675c84

18 years agoCorrected a mispelling of "unimplemented".
Gabe Black [Tue, 7 Mar 2006 19:34:11 +0000 (14:34 -0500)]
Corrected a mispelling of "unimplemented".

arch/sparc/stacktrace.hh:
    - Change the StackTrace code so that the class can more easily be
    cleaned out and reused to avoid extra allocations.
    - Allow trace() to accept a static instruction pointer so it can
    determine if the instruction is worth tracing.  This is moved from
    the CPU.
    - provide constants for special meaning PCs (user, console, unknown),
    instead of magic numbers
arch/sparc/stacktrace.hh:
    Added some typedefs for Addr and MachInst, and untemplatized StaticInstPtr
arch/sparc/stacktrace.hh:
    Made Addr a global type
arch/sparc/stacktrace.hh:
    bk cp ../alpha/stacktrace.hh stacktrace.hh

--HG--
extra : convert_revision : 8fd15e5ec8d676d081380b21886234561c5f3678

18 years agoPushed ev5.hh out of the non-alpha code.
Gabe Black [Tue, 7 Mar 2006 19:08:01 +0000 (14:08 -0500)]
Pushed ev5.hh out of the non-alpha code.

arch/SConscript:
    ev5 should now be contained within alpha specific code.
arch/alpha/ev5.cc:
arch/alpha/isa_traits.hh:
    Added getInstAsid and getDataAsid functions. These should be removed when the SimpleScalar cpu model is removed.
arch/sparc/isa_traits.hh:
    Added getInstAsid and getDataAsid functions. These should be removed when the SimpleScalar cpu model is removed. Also made some small fixes.
cpu/o3/alpha_cpu.hh:
    Added typedefs which are required now that there isn't a using namespace EV5.
cpu/o3/alpha_cpu_impl.hh:
    Some small changes so that ev5.hh isn't needed directly.
cpu/o3/cpu.hh:
    Removed including ev5.hh, and pushed retrieving the Asid into the MiscRegFile.
cpu/o3/regfile.hh:
    Removed the include of ev5.hh, using namespace EV5, and the now redundant ipr array.

--HG--
extra : convert_revision : 5ef8f69435a3a888a3f06d0095d89326dafb33fd

18 years agoThe a.out and ecoff object file formats will only be supported on Alpha for now.
Gabe Black [Tue, 7 Mar 2006 14:34:24 +0000 (09:34 -0500)]
The a.out and ecoff object file formats will only be supported on Alpha for now.

arch/SConscript:
    aout_machdep.h and ecoff_machdep.h are no longer bridging headers, since support of these formats is limitted to alpha.
base/loader/exec_aout.h:
    Include the alpha specific version of aout_machdep.h, since only the alpha version of aout will be supported for now.
base/loader/exec_ecoff.h:
    Include the alpha specific version of ecoff_machdep.h, since only the alpha version of ecoff will be supported for now.

--HG--
extra : convert_revision : 15328aae54538c26d2c10d7476501e0daa3d22d0

18 years agoGot rid of some commented out code.
Gabe Black [Tue, 7 Mar 2006 14:11:00 +0000 (09:11 -0500)]
Got rid of some commented out code.

--HG--
extra : convert_revision : 7de82ed72650d877cdb2ecb66c61ae41117658d9

18 years agoFixed up some issues to be more compilable.
Gabe Black [Tue, 7 Mar 2006 12:34:43 +0000 (07:34 -0500)]
Fixed up some issues to be more compilable.

--HG--
extra : convert_revision : a70d9cdbe26f44fa9d94e1cbadd92f8c909596ec

18 years agoMerge gblack@m5.eecs.umich.edu:/bk/multiarch
Gabe Black [Tue, 7 Mar 2006 09:42:06 +0000 (04:42 -0500)]
Merge gblack@m5.eecs.umich.edu:/bk/multiarch
into  ewok.(none):/home/gblack/m5/multiarch

--HG--
extra : convert_revision : ead388289742233b5e4f0b37d979e54852cc99b2

18 years agoChanged the include paths to take advantage of the os specific directories.
Gabe Black [Tue, 7 Mar 2006 09:34:21 +0000 (04:34 -0500)]
Changed the include paths to take advantage of the os specific directories.

--HG--
extra : convert_revision : 287d5323268806adc7cfb9cb3600605e837e3764

18 years agoClean up of the SPARC isa_traits. This still doesn't compile, but it's closer.
Gabe Black [Tue, 7 Mar 2006 09:33:40 +0000 (04:33 -0500)]
Clean up of the SPARC isa_traits. This still doesn't compile, but it's closer.

--HG--
extra : convert_revision : 7b22a4a4af5bcb13e2d9322ef93d3f582e8efa92

18 years agoClean up of the SPARC isa description.
Gabe Black [Tue, 7 Mar 2006 09:33:10 +0000 (04:33 -0500)]
Clean up of the SPARC isa description.

--HG--
extra : convert_revision : 21fe35fe4719f487168c89dd7bfc87dc38af0267

18 years agoImplemented SPARC fault classes.
Gabe Black [Tue, 7 Mar 2006 09:32:34 +0000 (04:32 -0500)]
Implemented SPARC fault classes.

arch/sparc/faults.cc:
arch/sparc/faults.hh:
    Implemented the SPARC fault classes. The invoke method still needs to be written, but this depends on the misc regfile.

--HG--
extra : convert_revision : bc9d2785600cee5ea1cba72e563ca5d1a20f37fd

18 years agoSome clean up work with faults.
Gabe Black [Tue, 7 Mar 2006 09:31:38 +0000 (04:31 -0500)]
Some clean up work with faults.

arch/alpha/faults.cc:
    Renamed the _stat stat to a more descriptive _count, got rid of some old commented out code, and moved common fault handling code, ie recording that the fault happend and that it wasn't mispeculated, into the FaultBase class.
arch/alpha/faults.hh:
    Renamed the _stat stat to the more descriptive _count, and renamed the appropriate accessor functions.
kern/kernel_stats.cc:
kern/kernel_stats.hh:
    The fault statistics are now handled by the fault classes themselves.
sim/faults.cc:
    The default implementation of the "invoke" method now does what all faults should do first, ie record that the fault happened, and make sure the fault isn't being executed on a mispeculated execution path.
sim/faults.hh:
    There is now a default implementation of invoke, and the stat function is taken care of in the architecture specific fault classes.

--HG--
extra : convert_revision : f6656fbea991df9addf85cad740ac37b1036b71a

18 years agoMoved where some alpha specific source files were mentioned to be in the alpha specif...
Gabe Black [Tue, 7 Mar 2006 09:25:42 +0000 (04:25 -0500)]
Moved where some alpha specific source files were mentioned to be in the alpha specific Sconscript, and took advantage of the os specific directories for the process files.

arch/sparc/faults.cc:
    Remove fake fault, fix to have normal m5 line length limit, and change pointers to be const pointers so that the default faults aren't changed accidentally.
arch/sparc/faults.hh:
    Fix to have normal m5 line length limit, change pointers to const pointers.
arch/sparc/faults.hh:
    Added a typedef for the Addr type, and changed the formatting of the faults slightly.
arch/sparc/faults.hh:
    ur
    Using cleaned up fault class dei\7ff\7ffinitions
arch/sparc/faults.hh:
    Added typedef for Addr
arch/sparc/faults.hh:
    Made Addr a global type
arch/sparc/faults.cc:
arch/sparc/faults.hh:
    Changed Fault * to Fault, which is a typedef to FaultBase *, which is the old Fault class renamed.
arch/sparc/faults.cc:
arch/sparc/faults.hh:
    Changed Fault to be a RefCountingPtr
arch/sparc/faults.cc:
arch/sparc/faults.hh:
    MachineCheckFaults and AlignmentFaults are now generated by the ISA, rather than being created directly.
arch/sparc/faults.cc:
arch/sparc/faults.hh:
    Put the Alpha faults into the AlphaISA namespace
arch/sparc/faults.cc:
arch/sparc/faults.hh:
    Moved the _stat for MachineCheckFault and AlignmentFault into the isa specific classes to prevent instantiation of the generic classes.
arch/sparc/faults.cc:
arch/sparc/faults.hh:
    Changed ev5_trap from a function of the execution context to a function of the fault. The actual function still resides in the execution context.
arch/sparc/faults.cc:
    AlphaFault is now an abstract class.
arch/sparc/faults.hh:
    AlphaFault is now an abstract class. Also, AlphaMachineCheckFault and AlphaAlignmentFault multiply inherit from both AlphaFault and from MachineCheckFault and AlignmentFault respectively. These classes get their name from the generic classes.
arch/sparc/faults.cc:
arch/sparc/faults.hh:
    moved ev5_trap fully into the fault class.
arch/sparc/faults.cc:
arch/sparc/faults.hh:
    Changed the name of the fault's invocation method from ev5_trap to invoke.
arch/sparc/faults.cc:
arch/sparc/faults.hh:
    Moved the fault invocation code into the fault class fully, and got rid of the need for isA.
arch/sparc/faults.cc:
arch/sparc/faults.hh:
    Got rid of the multiple inheritance in the Fault classes, and the base MachineCheck and Alignment faults.
arch/sparc/faults.cc:
    bk cp ../alpha/faults.cc faults.cc
arch/sparc/faults.hh:
    bk cp ../alpha/faults.hh faults.hh
SConscript:
    Moved the alpha specific source files into the alpha specific SConscript
arch/alpha/SConscript:
    Moved the alpha specific source files into the alpha specific SConscript, and moved the process files into the new os specific subfolders.
arch/alpha/linux/process.cc:
arch/alpha/process.hh:
arch/sparc/process.hh:
arch/alpha/tru64/process.cc:
    Changed the include paths to use the new os specific directories.

--HG--
rename : arch/alpha/linux_process.cc => arch/alpha/linux/process.cc
rename : arch/alpha/linux_process.hh => arch/alpha/linux/process.hh
rename : arch/alpha/tru64_process.cc => arch/alpha/tru64/process.cc
rename : arch/alpha/tru64_process.hh => arch/alpha/tru64/process.hh
rename : arch/sparc/linux_process.cc => arch/sparc/linux/process.cc
rename : arch/sparc/linux_process.hh => arch/sparc/linux/process.hh
extra : convert_revision : dc7eed7994b9c5e7308c771f43758292e78ce3e3

18 years agoRename default options path from "build_options/default" to "default_options",
Steve Reinhardt [Tue, 7 Mar 2006 07:11:11 +0000 (02:11 -0500)]
Rename default options path from "build_options/default" to "default_options",
and current options path from "build_options/current" to "options".
This way we can symlink default_options to a different build dir
w/o clobbering the current options.

--HG--
rename : build/build_options/default/ALPHA_FS => build/default_options/ALPHA_FS
rename : build/build_options/default/ALPHA_FS_TL => build/default_options/ALPHA_FS_TL
rename : build/build_options/default/ALPHA_SE => build/default_options/ALPHA_SE
rename : build/build_options/default/MIPS_SE => build/default_options/MIPS_SE
rename : build/build_options/default/SPARC_SE => build/default_options/SPARC_SE
extra : convert_revision : 8c0d3139cdd7e9ed40a9f2deeb47f65f24e52799

18 years agoMerge ktlim@zizzer:/bk/m5
Kevin Lim [Sun, 5 Mar 2006 05:34:54 +0000 (00:34 -0500)]
Merge ktlim@zizzer:/bk/m5
into  zamp.eecs.umich.edu:/z/ktlim2/m5-proxyxc

Further changes still need to be made to the XC code.

arch/alpha/ev5.cc:
arch/alpha/freebsd/system.cc:
arch/alpha/linux/system.cc:
base/remote_gdb.cc:
cpu/cpu_exec_context.cc:
cpu/cpu_exec_context.hh:
cpu/simple/cpu.cc:
cpu/simple/cpu.hh:
kern/kernel_stats.cc:
sim/pseudo_inst.cc:
    Hand merge.

--HG--
rename : kern/freebsd/freebsd_system.cc => arch/alpha/freebsd/system.cc
rename : kern/linux/linux_system.cc => arch/alpha/linux/system.cc
rename : kern/linux/linux_threadinfo.hh => arch/alpha/linux/threadinfo.hh
rename : arch/alpha/alpha_linux_process.cc => arch/alpha/linux_process.cc
rename : arch/alpha/alpha_memory.cc => arch/alpha/tlb.cc
rename : arch/alpha/alpha_tru64_process.cc => arch/alpha/tru64_process.cc
rename : cpu/exec_context.cc => cpu/cpu_exec_context.cc
rename : cpu/exec_context.hh => cpu/cpu_exec_context.hh
extra : convert_revision : c1fe71fdd87d1fcd376f4feec69fc3fa29152e3e

18 years agoRemove call to swap_palshadow that is no longer needed.
Kevin Lim [Sun, 5 Mar 2006 05:13:32 +0000 (00:13 -0500)]
Remove call to swap_palshadow that is no longer needed.

arch/alpha/faults.cc:
    Remove call to swap_palshadow.

--HG--
extra : convert_revision : 10282c11080379fc4e8a166ff35d18d728f0d5a4

18 years agoMerge ktlim@zizzer:/bk/m5
Kevin Lim [Sun, 5 Mar 2006 04:37:45 +0000 (23:37 -0500)]
Merge ktlim@zizzer:/bk/m5
into  zamp.eecs.umich.edu:/z/ktlim2/m5-shadowregs

--HG--
extra : convert_revision : 31c1bcc2c52d88bd5133a2007f9feefa2c04b6aa

18 years agoMerge gblack@m5.eecs.umich.edu:/bk/multiarch
Gabe Black [Sun, 5 Mar 2006 03:32:13 +0000 (22:32 -0500)]
Merge gblack@m5.eecs.umich.edu:/bk/multiarch
into  ewok.(none):/home/gblack/m5/multiarch

arch/alpha/system.cc:
    Hand merged

--HG--
extra : convert_revision : 34d7608d21dc6dee3a3feed5e5671f5de6ebfa26

18 years agoChanged targetarch to arch
Gabe Black [Sun, 5 Mar 2006 03:30:09 +0000 (22:30 -0500)]
Changed targetarch to arch

--HG--
extra : convert_revision : f54d8afd2c7eb338133046e612cddc1d5689a55c

18 years agoMerge zizzer:/bk/m5
Ali Saidi [Sun, 5 Mar 2006 02:17:24 +0000 (21:17 -0500)]
Merge zizzer:/bk/m5
into  zeep.eecs.umich.edu:/z/saidi/work/m5.head

--HG--
extra : convert_revision : faf71f4ed7d97734835fc7cd552e21b356b8d864

18 years agoEmulated syscalls should return -errno on failure
Steve Reinhardt [Sun, 5 Mar 2006 02:06:40 +0000 (21:06 -0500)]
Emulated syscalls should return -errno on failure
(not plain errno).  Thanks to Jos Delbar.

--HG--
extra : convert_revision : bd15ba1c99f25b8560938566d3922734172ab905

18 years agoMerge zizzer:/bk/m5
Ali Saidi [Sun, 5 Mar 2006 01:45:13 +0000 (20:45 -0500)]
Merge zizzer:/bk/m5
into  zeep.eecs.umich.edu:/z/saidi/work/m5.head

--HG--
extra : convert_revision : 405920a23690089a02a5b75cfe947885d8749dc4

18 years agomove alpha specific code into arch/alpha
Ali Saidi [Sun, 5 Mar 2006 01:45:01 +0000 (20:45 -0500)]
move alpha specific code into arch/alpha
System -> AlphaSystem

SConscript:
    Move some more files around
arch/alpha/freebsd/system.cc:
arch/alpha/freebsd/system.hh:
    System -> AlphaSystem
arch/alpha/linux/aligned.hh:
arch/alpha/linux/hwrpb.hh:
arch/alpha/linux/system.cc:
arch/alpha/linux/thread_info.hh:
arch/alpha/linux/threadinfo.hh:
    move alpha specific code into arch/alpha
python/m5/objects/System.py:
    Split off arch specific parts of system into AlphaSystem

--HG--
rename : kern/freebsd/freebsd_system.cc => arch/alpha/freebsd/system.cc
rename : kern/freebsd/freebsd_system.hh => arch/alpha/freebsd/system.hh
rename : kern/linux/aligned.hh => arch/alpha/linux/aligned.hh
rename : kern/linux/hwrpb.hh => arch/alpha/linux/hwrpb.hh
rename : kern/linux/linux_system.cc => arch/alpha/linux/system.cc
rename : kern/linux/linux_system.hh => arch/alpha/linux/system.hh
rename : kern/linux/thread_info.hh => arch/alpha/linux/thread_info.hh
rename : kern/linux/linux_threadinfo.hh => arch/alpha/linux/threadinfo.hh
rename : kern/tru64/tru64_system.cc => arch/alpha/tru64/system.cc
rename : kern/tru64/tru64_system.hh => arch/alpha/tru64/system.hh
extra : convert_revision : 1c496efb823326a4b629574bd9b5f30e99a0aa40

18 years agoMerge ktlim@zizzer:/bk/m5
Kevin Lim [Sat, 4 Mar 2006 20:23:06 +0000 (15:23 -0500)]
Merge ktlim@zizzer:/bk/m5
into  zizzer.eecs.umich.edu:/.automount/zamp/z/ktlim2/m5-shadowregs

--HG--
extra : convert_revision : 570b1c4331075587a866dfada7fbe51805cdcad4

18 years agoSteps towards setting up the infrastructure to allow the new CPU model to work in...
Kevin Lim [Sat, 4 Mar 2006 20:18:40 +0000 (15:18 -0500)]
Steps towards setting up the infrastructure to allow the new CPU model to work in full system mode.

The major change is renaming the old ExecContext to CPUExecContext, and creating two new classes, ExecContext (an abstract class), and ProxyExecContext (a templated class that derives from ExecContext).

Code outside of the CPU continues to use ExecContext as normal (other than not being able to access variables within the XC).  The CPU uses the CPUExecContext, or however else it stores its own state.  It then creates a ProxyExecContext, templated on the class used to hold its state.  This proxy is passed to any code outside of the CPU that needs to access the XC.  This allows code outside of the CPU to use the ExecContext interface to access any state needed, without knowledge of how that state is laid out.

Note that these changes will not compile without the accompanying revision to automatically rename the shadow registers.

SConscript:
    Include new file, cpu_exec_context.cc.
arch/alpha/alpha_linux_process.cc:
arch/alpha/alpha_memory.cc:
arch/alpha/alpha_tru64_process.cc:
arch/alpha/arguments.cc:
arch/alpha/isa/decoder.isa:
arch/alpha/stacktrace.cc:
arch/alpha/vtophys.cc:
base/remote_gdb.cc:
cpu/intr_control.cc:
    Avoid directly accessing objects within the XC.
arch/alpha/ev5.cc:
    Avoid directly accessing objects within the XC.

    KernelStats have been moved to the BaseCPU instead of the XC.
arch/alpha/isa_traits.hh:
    Remove clearIprs().  It wasn't used very often and it did not work well with the proxy ExecContext.
cpu/base.cc:
    Place kernel stats within the BaseCPU instead of the ExecContext.

    For now comment out the profiling code sampling until its exact location is decided upon.
cpu/base.hh:
    Kernel stats are now in the BaseCPU instead of the ExecContext.
cpu/base_dyn_inst.cc:
cpu/base_dyn_inst.hh:
cpu/memtest/memtest.cc:
cpu/memtest/memtest.hh:
    Changes to support rename of old ExecContext to CPUExecContext.  See changeset for more details.
cpu/exetrace.cc:
    Remove unneeded include of exec_context.hh.
cpu/intr_control.hh:
cpu/o3/alpha_cpu_builder.cc:
    Remove unneeded include of exec_context.hh
cpu/o3/alpha_cpu.hh:
cpu/o3/alpha_cpu_impl.hh:
cpu/o3/cpu.cc:
cpu/o3/cpu.hh:
cpu/simple/cpu.cc:
cpu/simple/cpu.hh:
    Changes to support rename of old ExecContext to CPUExecContext.  See changeset for more details.

    Also avoid accessing anything directly from the XC.
cpu/pc_event.cc:
    Avoid accessing objects directly from the XC.
dev/tsunami_cchip.cc:
    Avoid accessing objects directly within the XC>
kern/freebsd/freebsd_system.cc:
kern/linux/linux_system.cc:
kern/linux/linux_threadinfo.hh:
kern/tru64/dump_mbuf.cc:
kern/tru64/tru64.hh:
kern/tru64/tru64_events.cc:
sim/syscall_emul.cc:
sim/syscall_emul.hh:
    Avoid accessing objects directly within the XC.
kern/kernel_stats.cc:
kern/kernel_stats.hh:
    Kernel stats no longer exist within the XC.
kern/system_events.cc:
    Avoid accessing objects directly within the XC.  Also kernel stats are now in the BaseCPU.
sim/process.cc:
sim/process.hh:
    Avoid accessing regs directly within an ExecContext.  Instead use a CPUExecContext to initialize the registers and copy them over.
cpu/cpu_exec_context.cc:
    Rename old ExecContext to CPUExecContext.  This is used by the old CPU models to store any necessary architectural state.  Also include the ProxyExecContext, which is used to access the CPUExecContext's state in code outside of the CPU.
cpu/cpu_exec_context.hh:
    Rename old ExecContext to CPUExecContext.  This is used by the old CPU models to store any necessary architectural state.  Also include the ProxyExecContext, which is used to access the CPUExecContext's state in code outside of the CPU.

    Remove kernel stats from the ExecContext.
sim/pseudo_inst.cc:
    Kernel stats now live within the CPU.

    Avoid accessing objects directly within the XC.

--HG--
rename : cpu/exec_context.cc => cpu/cpu_exec_context.cc
rename : cpu/exec_context.hh => cpu/cpu_exec_context.hh
extra : convert_revision : a75393a8945c80cca225b5e9d9c22a16609efb85

18 years agoproperly align the uid and size fields in the pre_F54_stat structure.
Ali Saidi [Sat, 4 Mar 2006 20:15:47 +0000 (15:15 -0500)]
properly align the uid and size fields in the pre_F54_stat structure.
Patch from Jos Delbar, modified to use variable attributes.

--HG--
extra : convert_revision : 12c9ebbb109a789dd4230b7606b1f8ded00c21fc

18 years agoMerge ktlim@zizzer:/bk/m5
Kevin Lim [Sat, 4 Mar 2006 18:06:24 +0000 (13:06 -0500)]
Merge ktlim@zizzer:/bk/m5
into  zamp.eecs.umich.edu:/z/ktlim2/m5-shadowregs

arch/alpha/ev5.cc:
    Remove intr_post, it is no longer used.
arch/alpha/isa_traits.hh:
    Hand merge.

--HG--
extra : convert_revision : 94f14539a9e5646f8c368b15b2dff18ab2f492cf