summaryrefslogtreecommitdiff
path: root/src/arch/sparc
AgeCommit message (Collapse)Author
2006-10-15Added an execute function to the macro op so it can be instantiated.Gabe Black
--HG-- extra : convert_revision : 89dd46f5bbac966e6eb4f6f747419fa1d344eb87
2006-10-15Fix how additional template parameters are handled. Non string parameters ↵Gabe Black
are not processed as code. src/arch/isa_parser.py: Changed the way the extra template parameters are specified. MIPS might need to be adjusted. src/arch/sparc/isa/decoder.isa: Changed how Frd_N was set up. src/arch/sparc/isa/formats/blockmem.isa: Fixed up handling of block memory operations src/arch/sparc/isa/formats/integerop.isa: src/arch/sparc/isa/formats/mem.isa: src/arch/sparc/isa/formats/priv.isa: Fix up extra template parameters. --HG-- extra : convert_revision : ebf850d192193521bb84ca36b577051f74338d23
2006-10-12Changed the sign extension function from mine to the provided one. Mine ↵Gabe Black
relied on implementation specific behavior, namely right shifting a signed value. --HG-- extra : convert_revision : 4f5ef44d012de87919ad681024fe2ed0213a412f
2006-10-12Some support for handling block loads and stores and ASIs properly.Gabe Black
src/arch/sparc/isa/bitfields.isa: Added a field to retrieve the asi from the ExtMachInst src/arch/sparc/isa/decoder.isa: Fixed up how the size of memory operations where handled, and use the new EXT_ASI bit field. src/arch/sparc/isa/formats.isa: add includes for the new formats. src/arch/sparc/isa/formats/basic.isa: Add a template for BasicDecodeWithMnemonic which is needed by the unimp format. src/arch/sparc/isa/formats/mem.isa: Change around the memory format to figure out the memory access width on its own. src/arch/sparc/isa/operands.isa: Added support for the operands of block loads/stores which are offset from Frd. src/arch/sparc/utility.hh: Encoded the ASI into the ExtMachInst --HG-- extra : convert_revision : 5c6026a07e3a919e738d27f78beb0faf6b060643
2006-10-12The beginnings of an instruction format to deal with block loads and stores. ↵Gabe Black
This takes advantage of microcode. --HG-- extra : convert_revision : ac912df76c781f40fc462f314451148c5cdfaf43
2006-10-12Some support for macro/micro instructions in SPARC.Gabe Black
--HG-- extra : convert_revision : 1f0687d58ab3a4823911a67d8d5c66b27cc211a5
2006-10-12Support for returning unimplemented instruction in the decoder, lifted from ↵Gabe Black
Alpha --HG-- extra : convert_revision : 7e26053696b23fbc0b8cd5827a5072dcf2526e2b
2006-10-12Merge zizzer.eecs.umich.edu:/bk/newmemGabe Black
into zeep.eecs.umich.edu:/home/gblack/m5/newmem --HG-- extra : convert_revision : 30b2475ba034550376455e1bc0e52e19a200fd5a
2006-10-08Implement Alpha LL/SC support for SimpleCPU (Atomic & Timing)Steve Reinhardt
and PhysicalMemory. *No* support for caches or O3CPU. Note that properly setting cpu_id on all CPUs is now required for correct operation. src/arch/SConscript: src/base/traceflags.py: src/cpu/base.hh: src/cpu/simple/atomic.cc: src/cpu/simple/timing.cc: src/cpu/simple/timing.hh: src/mem/physical.cc: src/mem/physical.hh: src/mem/request.hh: src/python/m5/objects/BaseCPU.py: tests/configs/simple-atomic.py: tests/configs/simple-timing.py: tests/configs/tsunami-simple-atomic-dual.py: tests/configs/tsunami-simple-atomic.py: tests/configs/tsunami-simple-timing-dual.py: tests/configs/tsunami-simple-timing.py: Implement Alpha LL/SC support for SimpleCPU (Atomic & Timing) and PhysicalMemory. *No* support for caches or O3CPU. --HG-- extra : convert_revision : 6ce982d44924cc477e049b9adf359818908e72be
2006-10-05remove traces of binningNathan Binkert
--HG-- extra : convert_revision : b33cc67cfde04c9af6f50cbef538104e1298bedc
2006-09-30Basic work towards supporting ASIs properlyGabe Black
src/arch/sparc/SConscript: Added a file that implements ASI utility functions. These don't go in utility.hh because they aren't supposed to be part of the generic ISA interface. src/arch/sparc/asi.hh: Fixed up some mistranscriptions, and added function prototypes for some ASI utility functions. src/arch/sparc/asi.cc: Implementation of some ASI utility functions. --HG-- extra : convert_revision : 8021007027b13e91cc66908029470da49a8ca11f
2006-09-17Finished changing how stat structures are translated, fixed the handling of ↵Gabe Black
various ids as LiveProcess parameters. src/arch/alpha/linux/process.cc: src/arch/alpha/linux/process.hh: src/arch/alpha/process.cc: src/arch/alpha/process.hh: src/arch/alpha/tru64/process.cc: src/arch/alpha/tru64/process.hh: src/arch/mips/linux/process.cc: src/arch/mips/linux/process.hh: src/arch/mips/process.cc: src/arch/mips/process.hh: src/arch/sparc/linux/process.cc: src/arch/sparc/linux/process.hh: src/arch/sparc/process.cc: src/arch/sparc/process.hh: src/arch/sparc/solaris/process.cc: src/arch/sparc/solaris/process.hh: src/sim/process.cc: src/sim/process.hh: src/sim/syscall_emul.cc: src/sim/syscall_emul.hh: Changed Process to LiveProcess in syscall handlers and fixed the implementation of uid, euid, gid, egid, pid and ppid as LiveProcess parameters. src/kern/tru64/tru64.hh: Changed Process to LiveProcess in syscall handlers and fixed the implementation of uid, euid, gid, egid, pid and ppid as LiveProcess parameters. Also fit tru64 in with the new way to handle stat calls. --HG-- extra : convert_revision : 0198b838e5c09a730065dc6f018738145bc96269
2006-09-15Changes to correct stat behaviorGabe Black
--HG-- extra : convert_revision : 43e5788105738aebd79acb05301bb7da68bfe129
2006-09-15Merge zizzer.eecs.umich.edu:/bk/newmemGabe Black
into ewok.(none):/home/gblack/m5/newmem --HG-- extra : convert_revision : 91aacb435c223e8c37f6ba0a458b0dee55edcaf2
2006-09-03Make the ASI constants available to the decoder.Gabe Black
--HG-- extra : convert_revision : 65f2e02ce8f5e4f0c8727ebf16c927c7a6a4fe7f
2006-09-03Make the auxiliary vectors use the uid, euid, gid and egid parameters from ↵Gabe Black
the live process --HG-- extra : convert_revision : 945b5883a15a6df35709edea2731f54a2448e418
2006-08-31add ISA_HAS_DELAY_SLOT directive instead of "#if THE_ISA == ALPHA_ISA" ↵Korey Sewell
throughout CPU models src/arch/alpha/isa_traits.hh: src/arch/mips/isa_traits.hh: src/arch/sparc/isa_traits.hh: define 'ISA_HAS_DELAY_SLOT' src/cpu/base_dyn_inst.hh: src/cpu/o3/bpred_unit_impl.hh: src/cpu/o3/commit_impl.hh: src/cpu/o3/cpu.cc: src/cpu/o3/cpu.hh: src/cpu/o3/decode_impl.hh: src/cpu/o3/fetch_impl.hh: src/cpu/o3/iew_impl.hh: src/cpu/o3/inst_queue_impl.hh: src/cpu/o3/rename_impl.hh: src/cpu/simple/base.cc: use ISA_HAS_DELAY_SLOT instead of THE_ISA == ALPHA_ISA --HG-- extra : convert_revision : 24c7460d9391e8d443c9fe08e17c331ae8e9c36a
2006-08-30Forgot some commasGabe Black
--HG-- extra : convert_revision : d178c87ba156be6302f871f1ab1030889586168f
2006-08-29ASI constants.Gabe Black
--HG-- extra : convert_revision : 888024c9f7e909fa377de6d67a41ea1d4cf9945a
2006-08-29Set both xcc.c and icc.c on return from a syscall.Gabe Black
--HG-- extra : convert_revision : 9c2b32d735b816021cdd3af24002f309e22a8d64
2006-08-29Don't store if there's a fault.Gabe Black
--HG-- extra : convert_revision : fc852bee572b36daab7a34ee1820f856ccd71ca5
2006-08-29Fiddled with the floating point accessors.Gabe Black
--HG-- extra : convert_revision : 78cbd0c28d3fa1109eb2eacaf2a8009f13158a9b
2006-08-29Cleaned up floating point by removing unnecessary conversions and by ↵Gabe Black
implementing faligndata more correctly. --HG-- extra : convert_revision : 44e778ce8f8d8606b6a50f3f12f0b87e1bf0ed66
2006-08-21Fix annulled unconditional branchesGabe Black
--HG-- extra : convert_revision : 698b0ce38c7a47306f97df2cc80cdae4a51b22c7
2006-08-21Got rid of the aux_data array since it shouldn't have existed.Gabe Black
Added in the filename parameter which is provided for the user space linker. Fix the ordering and alignment of stack elements. Made mmap start with the address it has been seen starting with "in the wild" --HG-- extra : convert_revision : 8734753145f59a6cb433e4f92f43cb28a44b56d4
2006-08-21Fixed the parameters to memset. sizeof(regSegments[x]) may have been ↵Gabe Black
returning the size of a pointer to an IntReg --HG-- extra : convert_revision : 02c04ffceb447b7683ba5ebd4752819d0014cc19
2006-08-21Two bugs found by my tracing tool.Gabe Black
1. alignaddr wrote it's address to a floating point register rather than a gpr. 2. sethi was sign extending it's immediate value. --HG-- extra : convert_revision : 9aa30a6485bc4cba916367973b986d439b7c7588
2006-08-17Changes to build m5.fastSteve Reinhardt
--HG-- extra : convert_revision : 2ec600b8e72e40e8b96e3b1dbe0334aa05e0f30b
2006-08-15Tweaks to Ali's changesGabe Black
--HG-- extra : convert_revision : ca2a81dd38012ae780f88cfd6be60f21fb43bb81
2006-08-15fixes for gcc 4.1Ali Saidi
Nate needs to fix sinic builder stuff Gabe needs to verify my fixes to decoder.isa OPT/DEBUG compiles for ALPHA_FS, ALPHA_SE, MIPS_SE, SPARC_SE with this changeset README: Fix the swig version in the readme src/SConscript: remove sinic until nate fixes the builder crap for it src/arch/alpha/system.hh: src/arch/mips/isa/includes.isa: src/arch/sparc/isa/decoder.isa: src/base/stats/visit.cc: src/base/timebuf.hh: src/dev/ide_disk.cc: src/dev/sinic.cc: src/mem/cache/miss/mshr.cc: src/mem/cache/miss/mshr_queue.cc: src/mem/packet.hh: src/mem/request.hh: src/sim/builder.hh: src/sim/system.hh: fixes for gcc 4.1 --HG-- extra : convert_revision : 3775427c0047b282574d4831dd602c96cac3ba17
2006-08-15Merge zizzer.eecs.umich.edu:/bk/newmemGabe Black
into ewok.(none):/home/gblack/m5/newmem src/cpu/static_inst.hh: SCCS merged --HG-- extra : convert_revision : a4f6377dbd691ab58fe5f7958b983b092575f250
2006-08-15Cleaned up include files and got rid of many using directives in header files.Gabe Black
--HG-- extra : convert_revision : 6b11e039cbc061dab75195fa1aebe6ca2cdc6f91
2006-08-14Fix up doxygen.Steve Reinhardt
--HG-- rename : docs/footer.html => src/doxygen/footer.html rename : docs/stl.hh => src/doxygen/stl.hh extra : convert_revision : 2b2e5637930843c1be07deaa708fd4126213cda2
2006-08-11Changed the compiler guards to say SPARCGabe Black
--HG-- extra : convert_revision : e79964148c7fb7075627f46add6687f6cd0ee241
2006-08-11Added code to support setting up all of the auxillieary vectors configured ↵Gabe Black
by the sparc linux elf loader. src/arch/sparc/process.cc: All of the auxilliary vectors are now set like they are in the linux elf loader. This code should probably be moved to arch/sparc/linux/process.cc somehow. --HG-- extra : convert_revision : 4a90cacf70b1032cad3f18b0f833a6df8237e0de
2006-08-11Adjusted the decoder a little.Gabe Black
--HG-- extra : convert_revision : 5bdbe00342837ae4caacb3ad86c7becca36ba6ce
2006-08-11Pushed most of constants.hh back into isa_traits.hh and regfile.hh and ↵Gabe Black
created a seperate file for the syscallreturn class. --HG-- extra : convert_revision : 9507ea1c09fda959f00aec9ec8ffb887ec8dd0f9
2006-07-26Added alot of fp instructions, and some impdep instructions.Gabe Black
--HG-- extra : convert_revision : cc703919b59e674044ae370a65dc03deece6d69e
2006-07-26Now ignore sigactionGabe Black
src/arch/sparc/isa/operands.isa: Added the GSR register as a control register --HG-- extra : convert_revision : 11ff4016d5c72468dd2daeba3a6105d4e84220ce
2006-07-22Fixed subtract with carry, and started some work with floating point.Gabe Black
src/arch/sparc/isa/decoder.isa: fixed subc, subccc, added decoding for impdep1 to fit with ua2005, and started work on floating point. src/arch/sparc/isa/operands.isa: Added in floating point operands, and changed the numbering of operands. src/arch/sparc/regfile.hh: Fixed some memory errors related to floating point. --HG-- extra : convert_revision : fa0aef2021a5cf99f175fceeb533fe63eb5f805c
2006-07-20Fixed a glitch in the disassembly output.Gabe Black
--HG-- extra : convert_revision : 833aa358b12ac987e0ab467708425c17e5a8fdb7
2006-07-19Cleaned things up a little.Gabe Black
--HG-- extra : convert_revision : 7091b0d02e5b7c80be43b5ab1ac003dc89c4c136
2006-07-18Merge m5.eecs.umich.edu:/bk/newmemGabe Black
into ewok.(none):/home/gblack/m5/newmem --HG-- extra : convert_revision : 516c357f98c7a571c70362babd3fa162fbc2ed5a
2006-07-13add system.mem_mode = ['timing', 'atomic']Ali Saidi
update scripts acordingly configs/test/SysPaths.py: new syspaths from nate, this one allows you to set script, binary, and disk paths like system.dir = 'aouaou' in your script configs/test/fs.py: update for system mem_mode Put small checkpoint example Make clock 1THz configs/test/test.py: src/arch/alpha/freebsd/system.cc: src/arch/alpha/linux/system.cc: src/arch/alpha/system.cc: src/arch/alpha/tru64/system.cc: src/arch/sparc/system.cc: src/python/m5/objects/System.py: src/sim/system.cc: src/sim/system.hh: update for system mem_mode src/dev/io_device.cc: Use time returned from sendAtomic to delay --HG-- extra : convert_revision : 67eedb3c84ab2584613faf88a534e793926fc92f
2006-06-26add syscall emulation page table fault so we can allocate more stack pagesAli Saidi
src/cpu/simple/base.cc: add syscall emulation page table fault so we can allocate more stack pages FaultBase::invoke will do this, we don't need to do it here src/sim/faults.hh: I have no idea why this #if was there... gone src/sim/process.cc: make stack_min actually be the current minimum --HG-- extra : convert_revision : 9786b39f2747b94654a5d77c74243cd20503add4
2006-06-12Removed syscall function from thread_context.hh. ThreadContext is the ↵Kevin Lim
interface for external, non-CPU objects to access the thread, so they probably shouldn't be able to call syscall(). The case it was being used for was already handled by the ISA code. src/arch/sparc/faults.cc: src/cpu/thread_context.hh: Fix for merge problems. --HG-- extra : convert_revision : 05a7a2d6e45099fcf36d113da2e52450d892a72c
2006-06-12Merge m5.eecs.umich.edu:/bk/newmemGabe Black
into ewok.(none):/home/gblack/m5/newmem src/arch/sparc/regfile.hh: Hand Merge --HG-- extra : convert_revision : c47202689202069892524a7d71962082469996ee
2006-06-12Made isHyperPriv and isPriv protected member variables.Gabe Black
--HG-- extra : convert_revision : af0c2bd46cdea31e5b7e6a75434bbd27b8e6b427
2006-06-11Move LiveProcess::create() from arch-specific filesSteve Reinhardt
bcak to main LiveProcess, then automatically select ISA based on object file type. Now simulation scripts no longer need to care about the ISA, as they can just call LiveProcess(). configs/test/test.py: Script no longer cares about ISA. src/arch/alpha/process.cc: src/arch/alpha/process.hh: src/arch/mips/process.cc: src/arch/mips/process.hh: src/arch/sparc/process.cc: src/arch/sparc/process.hh: src/sim/process.cc: src/sim/process.hh: Move create() from arch-specific files back to main LiveProcess, then automatically select ISA based on object file type. --HG-- extra : convert_revision : ef33ffdc79623b77000f5d68edd2026760b76ab6
2006-06-11Fix compiling for SPARC_SE:Ali Saidi
- change include from exec_context.hh -> threadcontext.hh - g++ 4.0.3 complaint about broken code (which it was). - bad merge thread_context -> exec_context src/arch/sparc/isa/includes.isa: Fix SPARC_SE for exec_context->thread_context switch src/arch/sparc/regfile.hh: fix g++ 4.0.3 complaint about broken code (which it was). src/cpu/thread_context.hh: fix bad merge --HG-- extra : convert_revision : f5bab822d5c25177756e9890e143b0ad8d704201