summaryrefslogtreecommitdiff
path: root/arch/sparc
AgeCommit message (Collapse)Author
2006-04-06Changed the CleanWindow fault from an enumerate fault into a regular one.Gabe Black
--HG-- extra : convert_revision : bf43015f5e47768a6e07ce36dc66a38426beceee
2006-04-06Fixed up the isa description. Also added some capability to the isa_parser ↵Gabe Black
in the InstObjParams constructor. arch/isa_parser.py: Expanded the capability of the InstObjParams constructor to allow adding in extra keys for use in templates. These are added as key, value tuples as optional arguements. arch/sparc/isa/base.isa: arch/sparc/isa/formats/mem.isa: arch/sparc/isa/formats/priv.isa: The genCompositeIop function is no longer needed, as this functionality is now in the InstObjParams constructor. arch/sparc/isa/decoder.isa: Fixed up alot of instructions, and fixed indentation. arch/sparc/isa/formats/integerop.isa: The genCompositeIop function is no longer needed, as this functionality is now in the InstObjParams constructor. Also changed the immediate values to be signed. base/traceflags.py: Added SPARC traceflag configs/test/hello_sparc: Recompiled without -mflat cpu/cpu_exec_context.cc: Used the regfile clear function rather than memsetting to 0. --HG-- extra : convert_revision : b9da6f264f3ebc4ce1815008dfff7f476b247ee9
2006-04-06Enable register windows.Gabe Black
arch/alpha/isa_traits.hh: arch/mips/isa_traits.cc: Turned the integer register file into a class instead of a typedef to an array. arch/alpha/regfile.hh: Changed the integer register file into a class instead of a typedef to an array. Also put the parts of the register file, ie the int, float, and misc register files, pc, npc, and nnpc, behind accessor functions. Added a changeContext function, and ContextParam and ContextVal types, so that things like the register window can be changed through call backs. arch/mips/isa_traits.hh: Turned the integer register file into a class instead of a typedef to an array. Also moved a "using namespace" into the namespace definition. arch/sparc/isa_traits.hh: Turned the integer register file into a class instead of a typedef to an array. Also "fixed" the max number of src and dest regs. They may need to be even larger. arch/sparc/regfile.hh: Changed the integer register file into a class instead of a typedef to an array. Also put the parts of the register file, ie the int, float, and misc register files, pc, npc, and nnpc, behind accessor functions. Added a changeContext function, and ContextParam and ContextVal types, so that things like the register window can be changed through call backs. Created setCWP and setAltGlobals functions for the IntRegFile. cpu/cpu_exec_context.hh: Used the accessor functions for the register file, and added a changeRegFileContext function to call back into the RegFile. Used the RegFile clear function rather than memsetting it to 0. cpu/exec_context.hh: Added the changeRegFileContext function. cpu/exetrace.cc: Use the TheISA::NumIntRegs constant, and use readReg now that the integer register file is a class instead of an array. cpu/exetrace.hh: Get the address of the regs object, now that it isn't an array. --HG-- extra : convert_revision : ea2dd81be1c2e66b3c684af319eb58f8a77fd49c
2006-03-31Fixes to SPARC for syscall emulation mode.Gabe Black
arch/sparc/isa/base.isa: arch/sparc/isa/decoder.isa: arch/sparc/isa/formats.isa: arch/sparc/isa/formats/branch.isa: arch/sparc/isa/formats/integerop.isa: arch/sparc/isa/formats/mem.isa: arch/sparc/isa/formats/nop.isa: arch/sparc/isa/formats/trap.isa: arch/sparc/isa/formats/unknown.isa: arch/sparc/isa/includes.isa: arch/sparc/isa/operands.isa: Fixes towards running in syscall emulation mode. arch/sparc/linux/process.cc: Fixed the assert and comment to check that the Num_Syscall_Descs is less than or equal to 284. Why does this assert need to exist anyway? base/loader/elf_object.cc: Cleared out comments about resolved issues. cpu/simple/cpu.cc: Use NNPC for both SPARC and MIPS, instead of just MIPS configs/test/hello_sparc: A test program for SPARC which prints "Hello World!" --HG-- rename : arch/sparc/isa/formats/noop.isa => arch/sparc/isa/formats/nop.isa extra : convert_revision : 10b3e3b9f21c215d809cffa930448007102ba698
2006-03-29Merge m5.eecs.umich.edu:/bk/newmemGabe Black
into ewok.(none):/home/gblack/m5/newmem --HG-- extra : convert_revision : 984b015700ccef71d95b4d7d775a7b3f24084dc6
2006-03-28Make .isa-file ##include file paths relative to including file.Steve Reinhardt
Makes .isa files cleaner and simplifies scanner too. Simplified scanner to work under both old and new versions of scons. arch/SConscript: Simplify .isa scanner... seems to work with both scons 0.96.1 and 0.96.91 now. Assumes .isa ##include paths are relative to including file. arch/alpha/isa/main.isa: arch/mips/isa/formats/formats.isa: arch/mips/isa/main.isa: arch/sparc/isa/formats.isa: arch/sparc/isa/main.isa: Make ##include paths relative to including file. arch/isa_parser.py: Make ##include file paths relative to including file. Makes .isa files cleaner and simplifies scanner too. Partial rewrite of include-handling code to use cool re.sub() feature where you can specify a function to provide the replacement string. Minor cleanup of error-handling code. Also got rid of '#!' at top to make caller choose which python interpreter is used (since SPARC now requires 2.4 to build, we may need to do that via scons in the future). --HG-- rename : arch/mips/isa/formats.isa => arch/mips/isa/formats/formats.isa extra : convert_revision : 15a3920fa3aaf80cd94083eda853aa4e49425045
2006-03-28Fixed a typo.Gabe Black
--HG-- extra : convert_revision : 9ad2bde341a9efb2826159229427b719ff2142f4
2006-03-28SPARC compiles for SE!Gabe Black
arch/sparc/isa/decoder.isa: Replaced register number munging with RdLow and RdHigh operands. arch/sparc/isa/formats/mem.isa: Fixed how the address calculation code is dealt with. arch/sparc/isa/operands.isa: Changed the tabbing so that the whole oeprands block was consistent, and added RdLow and RdHigh operands. These registers are used when Rd is meant to refer to a pair of registers, rather than just one. arch/sparc/isa_traits.hh: Moved some functions to the new (to SPARC) utility.hh file. Also, dummy Fpcr_DepTag and Uniq_DepTag DepTags were added to pacify Tru64. These need to be removed, and Tru64 needs to not be compiled in if it isn't appropriate. arch/sparc/regfile.hh: Changed regSpace to have the correct size. arch/sparc/utility.hh: A new file for sparc to match the one for alpha. --HG-- extra : convert_revision : ff6b529093d15f327ec11f067ad533bacdba9932
2006-03-28Moving towards compilation.Gabe Black
arch/sparc/isa/decoder.isa: Fixed comments so they don't comment out the ending braces of the format specifier. --HG-- extra : convert_revision : 3f037c0a17abd0dff71d22fdcd95959c3670e88a
2006-03-17Fixed a couple typosGabe Black
--HG-- extra : convert_revision : 2ffbfc4755e46a119c9709d6a5e9ddc41fde45e0
2006-03-17Merge m5.eecs.umich.edu:/bk/newmemGabe Black
into ewok.(none):/home/gblack/m5/newmem arch/sparc/isa/decoder.isa: Hand merged --HG-- extra : convert_revision : 5d5338602c48be48978972a091c5e93f9dd775aa
2006-03-17Clean up and fix for compilationGabe Black
--HG-- extra : convert_revision : c4e66cd678313f7fe169787cb1bf3e45f114c4fd
2006-03-16clean up condition codes a little bitAli Saidi
put back in Tcc code that was deleted in last merge arch/sparc/isa/bitfields.isa: clean up condition codes a little bit --HG-- extra : convert_revision : c554fd5c3ee8cfd6643f69f8351124a7a4b5d9fa
2006-03-16Merge m5.eecs.umich.edu:/bk/newmemGabe Black
into ewok.(none):/home/gblack/m5/newmem arch/sparc/isa/decoder.isa: SCCS merged --HG-- extra : convert_revision : 460843b49bc96b3fbc5897828c23f9cf9b010ae0
2006-03-16Fixups towards compiling.Gabe Black
arch/alpha/types.hh: Moved the DependenceTags enum from types to constants. arch/sparc/faults.cc: arch/sparc/faults.hh: Corrected a misspelling of PriviledgeOpcode and PrivilegedAction. arch/sparc/isa/formats.isa: Fixups towards compiling. Added a few additional instruction formats. --HG-- extra : convert_revision : 4c5506877b71b8a5c8c45db41192cf759cdac374
2006-03-15implement the Tcc instruction to call syscall.Ali Saidi
arch/sparc/isa/bitfields.isa: the trap field is 7:0 arch/sparc/isa/decoder.isa: add code to in the Tcc instruction to call a syscall arch/sparc/isa_traits.hh: We need the syscall num register --HG-- extra : convert_revision : 0861ec1dd8c7cac57765b22bc408fdffbe63fe2a
2006-03-15add translations for new sections that are mmapped or when the brkAli Saidi
is changed Add a default machine width parameter Arch based live processes arch/alpha/linux/process.cc: arch/alpha/linux/process.hh: arch/alpha/process.cc: arch/alpha/process.hh: arch/alpha/tru64/process.cc: arch/alpha/tru64/process.hh: arch/mips/linux_process.cc: arch/mips/process.cc: arch/mips/process.hh: arch/sparc/linux/process.cc: arch/sparc/linux/process.hh: arch/sparc/process.cc: arch/sparc/process.hh: configs/test/test.py: python/m5/objects/Process.py: sim/process.cc: sim/process.hh: Architecture based live processes arch/mips/isa_traits.hh: arch/sparc/isa_traits.hh: Add a default machine width parameter mem/port.hh: gcc 4 really wants a virtual destructor sim/byteswap.hh: remove the comment around long and unsigned long even though uint32_t and int32_t are defined. Seems to work with gcc 4 and 3.4.3. sim/syscall_emul.cc: sim/syscall_emul.hh: add translations for new sections that are mmapped or when the brk is changed --HG-- extra : convert_revision : e2f9f228113c7127c87ef2358209a399c30ed5c6
2006-03-14Fixed up after a hand merge.Gabe Black
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
2006-03-14Added the sparc regfile.hh to bitkeeperGabe Black
--HG-- extra : convert_revision : 7bc8ca989a4f0225ad5644980c8dbc34b0c0e35f
2006-03-14SPARC clean up towards compilability.Gabe Black
--HG-- extra : convert_revision : 156670995fa61599e763b002cd70f31f19b108d1
2006-03-12Clean up arch/*/process.hh includes and std namespace issues.Steve Reinhardt
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
2006-03-09fix merging issuesAli Saidi
arch/alpha/isa_traits.hh: arch/sparc/linux/process.cc: fix merging problem sim/syscall_emul.cc: use setIntReg --HG-- extra : convert_revision : e88d72e415493cd17d7b88c22c7e995f3199e396
2006-03-09Merge zizzer:/bk/multiarchAli Saidi
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
2006-03-09no more common syscall emulation, now common for everyoneAli Saidi
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
2006-03-09last changes before big mergeKorey Sewell
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
2006-03-08Working towards compiling SPARC_SEGabe Black
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
2006-03-07Corrected a mispelling of "unimplemented".Gabe Black
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
2006-03-07Pushed ev5.hh out of the non-alpha code.Gabe Black
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
2006-03-07Fixed up some issues to be more compilable.Gabe Black
--HG-- extra : convert_revision : a70d9cdbe26f44fa9d94e1cbadd92f8c909596ec
2006-03-07Changed the include paths to take advantage of the os specific directories.Gabe Black
--HG-- extra : convert_revision : 287d5323268806adc7cfb9cb3600605e837e3764
2006-03-07Clean up of the SPARC isa_traits. This still doesn't compile, but it's closer.Gabe Black
--HG-- extra : convert_revision : 7b22a4a4af5bcb13e2d9322ef93d3f582e8efa92
2006-03-07Clean up of the SPARC isa description.Gabe Black
--HG-- extra : convert_revision : 21fe35fe4719f487168c89dd7bfc87dc38af0267
2006-03-07Implemented SPARC fault classes.Gabe Black
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
2006-03-07Moved where some alpha specific source files were mentioned to be in the ↵Gabe Black
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 deiffinitions 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
2006-03-04General small SPARC fixupsGabe Black
arch/sparc/SConscript: Fixed up the SPARC SConscript to use the name of the SPARC source files. arch/sparc/linux_process.cc: Changed the namespace name from SPARCISA to SparcISA. --HG-- extra : convert_revision : c340fbf78200bf7d962e7578a3f2998860224c53
2006-03-04Filled out the object file loader so it can load object files for several ↵Gabe Black
OSs and architectures. SConscript: Added ./libelf as an include search directory. There might be a better spot for this than where I put it. arch/SConscript: Combined the linux_process.h and tru64_process.h into process.h. This allows each ISA to support processes from arbitrary OSs. arch/alpha/SConscript: Added process.cc as a source file. It provides an implementation of createProcess, which takes an object_file object and creates the appropriate process object, or dies. base/loader/elf_object.cc: Actually extract the OS and architecture from the elf file, rather than always guessing Alpha and Linux. base/loader/object_file.hh: Added constants for SPARC, MIPS, and Solaris, and changed the include for the Addr type. sim/process.cc: Pushed creation of specific process objects into the ISA specific code. --HG-- extra : convert_revision : b4754e7ca8328672d07e1394c4d162e199606b53
2006-03-01Begain setting up syscall emulation for sparc linux.Gabe Black
arch/sparc/linux_process.cc: Began modifying this file for sparc, and replaced the alpha syscall numbers with the sparc ones. arch/sparc/linux_process.hh: Begain modifying this file for sparc. --HG-- extra : convert_revision : b1ed8ac50a35591521c5feaf1ea9c4b8ccc26dc8
2006-03-01Made sparc copies of some architecture specific files.Gabe Black
arch/sparc/linux_process.cc: arch/sparc/linux_process.hh: Formatting & doxygen. arch/sparc/linux_process.cc: Added some more ioctl commands to ignore. Set unlink and rename to the new functions. Ignore setrlimit, times and rt_sigaction. Should eventually provide a function for times. arch/sparc/linux_process.cc: Fixes for Linux emulation: - stat struct alignment - osf_{get,set}sysinfo return values - additional syscall numbers - initialize $r0 to 0 arch/sparc/linux_process.cc: arch/sparc/linux_process.hh: Updated Copyright arch/sparc/linux_process.cc: Alphabetize includes. arch/sparc/linux_process.cc: Changed all syscalls to use syscall return object arch/sparc/linux_process.cc: Removed unecessary constructor call at each return. arch/sparc/linux_process.cc: Rename sim/universe.{cc,hh} to root.{cc,hh}. arch/sparc/linux_process.cc: shuffle files around for new directory structure arch/sparc/linux_process.cc: Remove RCS Id string arch/sparc/linux_process.cc: arch/sparc/linux_process.hh: Update copyright dates and author list arch/sparc/linux_process.hh: remove $Id$ string arch/sparc/linux_process.cc: Apply patch for syscall emulation provided by Antti Miettinen (apm@brigitte.dna.fi). arch/sparc/linux_process.cc: Added the endianness namespace. This may change. arch/sparc/linux_process.cc: Replaced the namespace declaration with including arch/alpha/isa_traits.hh arch/sparc/linux_process.cc: fixup for bsd hosts. Some headers are included by default which means that more variables need TGT_ prefixes and there isn't a stat call (everything is a stat64 call) so we have to work around that a bit arch/sparc/linux_process.cc: Add endian conversions to fstat arch/sparc/linux_process.cc: fix #if. I wonder why my compiler had no issues arch/sparc/linux_process.cc: add endian conversions for fstat functions arch/sparc/linux_process.cc: move architecture independent code into kern/linux/linux.(hh|cc) arch/sparc/linux_process.hh: Add getDesc function arch/sparc/linux_process.cc: Added using directive for AlphaISA namespace arch/sparc/linux_process.cc: Add pipeFunc. arch/alpha/linux_process.cc: Renamed arch files to remove alpha prefix, and changed alpha_memory.hh and cc to a more accurate tlb.hh and cc arch/sparc/linux_process.cc: bk cp ../alpha/linux_process.cc linux_process.cc arch/sparc/linux_process.hh: bk cp ../alpha/linux_process.hh linux_process.hh --HG-- extra : convert_revision : a8eca1c5f848383263a2326b0e3cde4bcd85f14b
2006-02-23Create a Builder object for .isa files in arch/SConscript.Steve Reinhardt
Start using SCons File objects to avoid fixed paths in subordinate SConscripts. SConscript: Push isa_parser stuff (including .isa scanner) down into arch/SConscript. arch/SConscript: Create a Builder object for .isa files, including existing scanner. Return file objects generated by isa-specific SConscript back up to parent. arch/alpha/SConscript: arch/mips/SConscript: arch/sparc/SConscript: Convert sources to scons File objects, so file names can be specified relative to the current directory. Invoke new builder for isa description, and get generated sources from there (instead of listing them explicitly). arch/isa_parser.py: Get rid of third argument ("include_path"). It was a pain to generate this from scons, and it turned out it's not needed anyway, since the only included file (decoder.hh) will be in the same directory as the sources. --HG-- extra : convert_revision : 36861bcef36763f229704d8cb7a642b4486a3581
2006-02-14New files to fix building the SPARC_SE and MIPS_SE isa_parser.py generated ↵Gabe Black
files. --HG-- extra : convert_revision : 94a9543376f8b4709a4aef54c5ac0d6f582a9dad
2006-02-12Polishing of isa_parser.py internal operand handling, resulting inSteve Reinhardt
minor change to syntax of 'def operands' in ISA descriptions. arch/alpha/isa/main.isa: arch/mips/isa/operands.isa: arch/sparc/isa/operands.isa: Change 'def operands' statement to work with new isa_parser changes. arch/isa_parser.py: Merge OperandTraits and OperandDescriptor objects into a unified hierarchy of Operand objects. Required a change in the syntax of the 'def operands' statement in the ISA description. --HG-- extra : convert_revision : cb43f1607311497ead88ba13953d410ab5bc6a37
2006-02-09Minor cleanup of include-handling code in isa_parser.py.Steve Reinhardt
arch/isa_parser.py: Clean up ##include code a bit. arch/sparc/isa/formats.isa: arch/sparc/isa/main.isa: Fix include paths. --HG-- extra : convert_revision : 0689963c2948e5f1088ecbf2cf6018d29bdaceff
2006-02-09Changed the filenames to the new standard againGabe Black
arch/sparc/isa/formats.isa: Changed the file extensions to .isa again. arch/sparc/isa/main.isa: Changed the file extensions to .isa again --HG-- rename : arch/sparc/isa_desc/base.h => arch/sparc/isa/base.isa rename : arch/sparc/isa_desc/bitfields.h => arch/sparc/isa/bitfields.isa rename : arch/sparc/isa_desc/decoder.h => arch/sparc/isa/decoder.isa rename : arch/sparc/isa_desc/formats.h => arch/sparc/isa/formats.isa rename : arch/sparc/isa_desc/formats/basic.format => arch/sparc/isa/formats/basic.isa rename : arch/sparc/isa_desc/formats/branch.format => arch/sparc/isa/formats/branch.isa rename : arch/sparc/isa_desc/formats/integerop.format => arch/sparc/isa/formats/integerop.isa rename : arch/sparc/isa_desc/formats/mem.format => arch/sparc/isa/formats/mem.isa rename : arch/sparc/isa_desc/formats/noop.format => arch/sparc/isa/formats/noop.isa rename : arch/sparc/isa_desc/formats/trap.format => arch/sparc/isa/formats/trap.isa rename : arch/sparc/isa_desc/includes.h => arch/sparc/isa/includes.isa rename : arch/sparc/isa_desc/isa_desc => arch/sparc/isa/main.isa rename : arch/sparc/isa_desc/operands.h => arch/sparc/isa/operands.isa extra : convert_revision : acb087e81d06ca5d67fe9b402423d7930f6ae798
2006-02-08Alot of changes to push towards ISA independence. Highlights are renaming of ↵Gabe Black
the isa_desc files, movement of byte_swap.hh into sim, and the creation of arch/isa_traits.hh SConscript: Moved some files out of targetarch. The either no longer need to be there, never needed to be there, or should be referred to directly in arch/alpha due to there strictly alpha content. arch/alpha/isa_traits.hh: Added alpha's endianness to it's isa_traits.hh arch/mips/isa_traits.hh: Added MIPS endianness to it's isa_traits.hh arch/sparc/isa_traits.hh: Added SPARCs endianess to it's isa_traits.hh build/SConstruct: Added MIPS as a valid architecture cpu/exec_context.hh: Included arch/isa_traits.hh to bring in the endianness of the system. cpu/o3/alpha_cpu.hh: Included arch/isa_traits.hh to bring in the systems endianness, and removed the hardcoding of little endianness cpu/o3/fetch_impl.hh: kern/freebsd/freebsd_system.cc: Included arch/isa_traits.hh to bring in the systems endianness, and removed the hardcoding to little endianness. sim/system.cc: Included arch/isa_traits.hh to bring in the systems endianness, and removed the hardcoding to little endian. --HG-- extra : convert_revision : b1ab34b7569db531cd1c74f273b24222e63f9007
2006-01-29sparc files that were removed from revision 1.888Korey Sewell
--HG-- extra : convert_revision : f285a442b64eee183f7d0f6c203f0b0aa7ea8586
2006-01-25initial changes to decoder.hh and copied files from arch/sparc directoryKorey Sewell
arch/mips/isa_desc/bitfields.h: arch/mips/isa_desc/formats.h: arch/mips/isa_desc/formats/basic.format: arch/mips/isa_desc/formats/branch.format: arch/mips/isa_desc/formats/integerop.format: arch/mips/isa_desc/formats/mem.format: arch/mips/isa_desc/formats/noop.format: arch/mips/isa_desc/formats/trap.format: arch/mips/isa_desc/includes.h: arch/mips/isa_desc/operands.h: arch/mips/isa_traits.cc: arch/mips/isa_traits.hh: copied from sparc ISA directory arch/mips/isa_desc/decoder.h: decoder I started to work on... --HG-- rename : arch/sparc/isa_desc/bitfields.h => arch/mips/isa_desc/bitfields.h rename : arch/sparc/isa_desc/decoder.h => arch/mips/isa_desc/decoder.h rename : arch/sparc/isa_desc/formats.h => arch/mips/isa_desc/formats.h rename : arch/sparc/isa_desc/formats/basic.format => arch/mips/isa_desc/formats/basic.format rename : arch/sparc/isa_desc/formats/branch.format => arch/mips/isa_desc/formats/branch.format rename : arch/sparc/isa_desc/formats/integerop.format => arch/mips/isa_desc/formats/integerop.format rename : arch/sparc/isa_desc/formats/mem.format => arch/mips/isa_desc/formats/mem.format rename : arch/sparc/isa_desc/formats/noop.format => arch/mips/isa_desc/formats/noop.format rename : arch/sparc/isa_desc/formats/trap.format => arch/mips/isa_desc/formats/trap.format rename : arch/sparc/isa_desc/includes.h => arch/mips/isa_desc/includes.h rename : arch/sparc/isa_desc/operands.h => arch/mips/isa_desc/operands.h rename : arch/sparc/isa_traits.cc => arch/mips/isa_traits.cc rename : arch/sparc/isa_traits.hh => arch/mips/isa_traits.hh extra : convert_revision : d4f281960ecf2dce479fb665469c6f2c5dd3063e
2006-01-24Some stuff aparently didn't get committed which was from before the new ↵Gabe Black
repository was created. SConscript: There is a new SConscript in the arch/alpha directory which has the alpha specific files. To add files for an arch, a similar file should be created. arch/isa_parser.py: The isa parser now supports include directives. These are done with ##include build/SConstruct: The target directory is passed on so that the architecture specific SConscript can have it. Also, sparc was added as a valid architecture type. arch/alpha/SConscript: This SConscript adds the alpha specific source arch/sparc/isa_desc/operands.h: This sets up the operand types that the sparc isa uses arch/sparc/isa_traits.cc: Implementation of sparc specific things, like a register file with windows build/build_options/default/SPARC_SE: The default options for a sparc syscall emulation build. --HG-- extra : convert_revision : 1afedae61dc8cae0d59d3bf1d41420d929be2efd
2006-01-10Adding the sparc ISA files which were worked on locallyGabe Black
arch/sparc/isa_desc/bitfields.h: This file defines the bit fields used by the isa description system arch/sparc/isa_desc/decoder.h: This file describes the decoder for the isa description system arch/sparc/isa_desc/formats.h: This file declares the instruction formats arch/sparc/isa_desc/formats/basic.format: This file implements the "basic" instruction format arch/sparc/isa_desc/formats/branch.format: This file implements the "branch" instruction format arch/sparc/isa_desc/formats/integerop.format: This file implements the "integerop" instruction format arch/sparc/isa_desc/formats/mem.format: This file implements the "mem" instruction format arch/sparc/isa_desc/formats/noop.format: This file implements the "noop" instruction format arch/sparc/isa_desc/formats/trap.format: This file implements the "trap" instruction format arch/sparc/isa_desc/includes.h: This file is all of the inclues that are used by the isa description system --HG-- extra : convert_revision : 12a2ffe949317b8b57d83263a4261131b9432c2a