summaryrefslogtreecommitdiff
path: root/src/arch/sparc
AgeCommit message (Collapse)Author
2006-11-29Add support for mmapped iprs to atomic cpuAli Saidi
src/arch/SConscript: add mmaped_ipr.hh to switch headers src/arch/sparc/asi.hh: make ASI_IMPLICT=0 so by default nothing needs to be done src/arch/sparc/miscregfile.hh: miscregfile no longer needs to include asi.hh src/arch/sparc/tlb.cc: src/arch/sparc/tlb.hh: implement panic instructions for mmaped ipr reads src/cpu/simple/atomic.cc: add check for mmaped iprs and handle them if it exists src/mem/request.hh: allocate space in the flags for mmaped iprs. Put in in the first 8 bits so that by default its fast. Move the other flags up 8 bits --HG-- extra : convert_revision : 31255b0494588c4d06a727fe35241121d741b115
2006-11-23Merge zizzer:/bk/sparcfsAli Saidi
into zeep.pool:/z/saidi/work/m5.newmem --HG-- extra : convert_revision : f540987901994fe9dc023587fd555efb2dbf24bf
2006-11-23first cut at a sparc tlbAli Saidi
src/arch/sparc/SConscript: Add code to serialize/unserialze tlb entries src/arch/sparc/asi.cc: src/arch/sparc/asi.hh: update asi names for how they're listed in the supplement add asis add more asi functions src/arch/sparc/isa_traits.hh: move the interrupt stuff and some basic address space stuff into isa traits src/arch/sparc/miscregfile.cc: src/arch/sparc/miscregfile.hh: add mmu registers to tlb get rid of implicit asi stuff... the tlb will handle it src/arch/sparc/regfile.hh: make isnt/dataAsid return ints not asis src/arch/sparc/tlb.cc: src/arch/sparc/tlb.hh: first cut at sparc tlb src/arch/sparc/vtophys.hh: pagatable nedes to be included here src/mem/request.hh: add asi and if the request is a memory mapped register to the requset object src/sim/host.hh: fix incorrect definition of LL --HG-- extra : convert_revision : 6c85cd1681c62c8cd8eab04f70b1f15a034b0aa3
2006-11-16Implement current working directory for LiveProcessesNathan Binkert
--HG-- extra : convert_revision : a2d3cf29ab65c61af27d82a8c421a41a19fd5aeb
2006-11-14interrupts.hh:Lisa Hsu
make a likewise updateIntrInfo for Sparc that's blank so it doesn't fart on build src/arch/sparc/interrupts.hh: make a likewise updateIntrInfo for Sparc that's blank so it doesn't fart on build --HG-- extra : convert_revision : 5f469d0cf897479b42703104cd801a8ef923fcae
2006-11-10fix endian issues with condition codesAli Saidi
use memcpy instead of bcopy s/u_int32_t/uint32_t/g fixup endian code to work with solaris hack to make sure htole() works... Nate, have a good idea to fix this? src/arch/sparc/faults.cc: set the reset address to be 40 bits. Makes PC printing easier at least for now. src/arch/sparc/isa/base.isa: fix endian issues with condition codes src/arch/sparc/tlb.hh: add implemented physical addres constants src/arch/sparc/utility.hh: add tlb.hh to utilities src/base/loader/raw_object.cc: add a symbol <filename>_start to the symbol table for binaries files src/base/remote_gdb.cc: use memcpy instead of bcopy src/cpu/exetrace.cc: clean up printing a bit more src/cpu/m5legion_interface.h: add tons to the shared interface src/dev/ethertap.cc: s/u_int32_t/uint32_t/g src/dev/ide_atareg.h: fixup endian code to work with solaris src/dev/pcidev.cc: src/sim/param.hh: hack to make sure htole() works... --HG-- extra : convert_revision : 4579392184b40bcc1062671a953c6595c685e9b2
2006-11-10Elaborated on the tlb stubs so that they just set the physical address to ↵Gabe Black
the virtual address. --HG-- extra : convert_revision : 41478abc4d21d504420f6842338675c0767f7cf9
2006-11-10Fixed up DepTags a little. I think NumMicroIntRegs shouldn't be added to ↵Gabe Black
Ctrl_Base_DepTag. --HG-- extra : convert_revision : 2ebb3eb781441ba936c8d8bb1f42e4c0840aff2e
2006-11-10Added StrandStsReg operand.Gabe Black
--HG-- extra : convert_revision : 51be41716ed9fe0e99e53f2341ad5651a525055a
2006-11-10Put in provisions for rd, rdpr, rdhpr, wr, wrpr, and wrhpr to disassemble ↵Gabe Black
properly. --HG-- extra : convert_revision : f2cad8a5879999438ba9b05f15a91320e7a4cc4a
2006-11-10Made the annul of unconditional conditional branches behave properly, added ↵Gabe Black
code to read and write the strand_sts_reg, and made restored a Priv instruction. --HG-- extra : convert_revision : 386512215f7243d230717c369217f8d2f9ada935
2006-11-10Fixed up the code that prints out registers to take into account microregisters.Gabe Black
--HG-- extra : convert_revision : 6809de467e4500ce34447c0544caf0ba04af81e7
2006-11-10Tweaked debug output.Gabe Black
--HG-- extra : convert_revision : cd33b7c1ebdbefd42f18c1435b2519d06d9914a6
2006-11-10Touched up faults, and made POR actually do something.Gabe Black
--HG-- extra : convert_revision : 38951352edbfc423fb6767a9aac49a703578c0ac
2006-11-10The reset function of the MiscRegFile really resets it now. This function is ↵Gabe Black
called from the class's constructor. --HG-- extra : convert_revision : 4e7a40ffe0a9a71fd1b2b171d9c0dcac50e1a1fe
2006-11-10Set the ASI register to be something explicitly so that simulation is ↵Gabe Black
deterministic. --HG-- extra : convert_revision : 38cd06f946fc0cc22288f71f567e77ce8fdfea99
2006-11-10Fix up instructions to read and write control registers, and got rid of the ↵Gabe Black
control register fields which won't work on a big endian host. --HG-- extra : convert_revision : 1b518873b6e1a073b58cbe27642537d5ae3a604d
2006-11-09Moved the Alpha MiscRegFile into it's own file, and got rid of the Alpha ↵Gabe Black
specific DepTag constants. --HG-- extra : convert_revision : e4af5e2fb2a6953f8837ad9bda309b7d6fa7abfb
2006-11-09Fix a couple uninitialized variables.Gabe Black
--HG-- extra : convert_revision : d17d28a9520524e5f56bd79beb9b2be6ce76a22f
2006-11-09Get SPARC to the point that it starts running. Add ability to load the ROM ↵Ali Saidi
bin files, cleanup lockstep printing a bit Since we don't have a platform yet, you need to comment out the default responder stuff in Bus.py to make it work. SConstruct: Add TARGET_ISA to the list of environment variables that end up in the build_env for python configs/common/FSConfig.py: add a simple SPARC system to being testing with, you'll need to change makeLinuxAlphaSystem to makeSparcSystem in fs.py for now src/SConscript: add a raw file object, at least until we get more info about how to compile openboot properly src/arch/sparc/system.cc: src/arch/sparc/system.hh: add parameters for ROM files (OBP/Reset/Hypervisor), a ROM, load files into ROM src/base/loader/object_file.cc: src/base/loader/object_file.hh: add option to try raw when nothing works src/cpu/exetrace.cc: cleanup lockstep printing a little bit src/cpu/m5legion_interface.h: change the instruction to be 32 bits because it is src/mem/physical.cc: fix assert that doesn't work if memory starts somewhere above 0 src/python/m5/objects/BaseCPU.py: Add if statement to choose between sparc tlbs and alpha tlbs src/python/m5/objects/System.py: Add a sparc system that sets the rom addresses correctly src/python/m5/params.py: add the ability to add Addr() together --HG-- extra : convert_revision : bbbd8a56134f2dda2728091f740e2f7119b0c4af
2006-11-08First cut at full blown SPARC faults. There are a few details that are missing.Gabe Black
--HG-- extra : convert_revision : 8023db1479cb9bf99fc9edfeb521c4e5b581f895
2006-11-08Move the check to see if you're in user mode into the isa directory.Gabe Black
--HG-- extra : convert_revision : b5b7cdf4a5e5e54228c592093516bf18d0f7dbe6
2006-11-08Sorted faults by the trap type constant, expanded their names, added in new ↵Gabe Black
faults for ua2005, and commented out ones which are apparently dropped. --HG-- extra : convert_revision : 32bd0c3a75d7c036ad4a3cb0bc1c32e0b6cb3d87
2006-11-08Fix for slightly mangled merge.Gabe Black
--HG-- extra : convert_revision : 1dea04ca222dd423c3d462114bc1c65afa52825d
2006-11-08Merge zeep.eecs.umich.edu:/home/gblack/m5/newmemGabe Black
into zeep.eecs.umich.edu:/home/gblack/m5/newmemmemops src/arch/sparc/faults.hh: Hand merged. --HG-- extra : convert_revision : 1bcefe47fa98e878a0dfbcfa5869b5b171927911
2006-11-08Major clean up of the fault code.Gabe Black
--HG-- extra : convert_revision : eb7e016a127417cbb0e1e2c733b17f82469c2f24
2006-11-08The new global level is computed with min, not max.Gabe Black
--HG-- extra : convert_revision : 6339c82d3655694445c3eb43e467b9aa6b4c8224
2006-11-08Changed the getReg and setReg functions so that they work like netbsd. ↵Gabe Black
Apparently, gdb expects to do single stepping on its own, so those functions panic for SPARC. acc still needs to be implemented. --HG-- extra : convert_revision : c6e98e37b8ab3d6f8d6b3cd2c961faa65b08a179
2006-11-08Put the ProcessInfo and StackTrace objects into the ISA namespaces.Gabe Black
--HG-- extra : convert_revision : 1626703583f02a1c9823874290462c1b6bdb6c3c
2006-11-08Stubs for SPARC's tlbsGabe Black
--HG-- extra : convert_revision : ba08da78693cc6f59f7358134f121f471910dbf6
2006-11-08Replaced getArg with a SPARC implementation.Gabe Black
--HG-- extra : convert_revision : ba31171a81b6c46de2997de2701d35fcf8c614b7
2006-11-07Put kernel_stats back into arch.Gabe Black
--HG-- rename : src/kern/alpha/idle_event.cc => src/arch/alpha/idle_event.cc rename : src/kern/alpha/idle_event.hh => src/arch/alpha/idle_event.hh rename : src/kern/alpha/kernel_stats.cc => src/arch/alpha/kernel_stats.cc rename : src/kern/alpha/kernel_stats.hh => src/arch/alpha/kernel_stats.hh rename : src/kern/sparc/kernel_stats.hh => src/arch/sparc/kernel_stats.hh rename : src/kern/base_kernel_stats.cc => src/kern/kernel_stats.cc rename : src/kern/base_kernel_stats.hh => src/kern/kernel_stats.hh extra : convert_revision : 42bd3e36b407edbd19b912c9218f4e5923a15966
2006-11-07A dummy implementation of stacktrace.cc to clear up linker errors.Gabe Black
--HG-- extra : convert_revision : ea1e54a529ad7ae4a6564dd6fb47c31fb0573adf
2006-11-07Arguments class for SPARC. This is basically just a copy of Alpha'sGabe Black
--HG-- extra : convert_revision : 9df68973c63d5ff256d6de485e8d918c454c8ff1
2006-11-07Added a stub implementation of fixFuncEventAddr to get past linker errors.Gabe Black
--HG-- extra : convert_revision : 24ab1789496c5fae6c0992db2d521ea02354ee90
2006-11-07The normal spill and fill faults only need to behave specially in SE.Gabe Black
--HG-- extra : convert_revision : 4d4b866699e3450b88418822fc198411ee3d831a
2006-11-07Added in alot of missing source files.Gabe Black
--HG-- extra : convert_revision : 335b458d195a00dac3d04e92fe9df915e660538f
2006-11-07Broke remote_gdb into a base class and architecture specific derived classes.Gabe Black
--HG-- extra : convert_revision : 8c528fab56a95b8245ad0f2572d62bb556ce0dde
2006-11-06Merge zizzer.eecs.umich.edu:/bk/newmem/Gabe Black
into zeep.eecs.umich.edu:/home/gblack/m5/newmemmemops src/SConscript: SCCS merged --HG-- extra : convert_revision : f130c8a2d33f58d857e5d5a02bb9698c1bceb23b
2006-11-06Stub for SPARC interrupt handling object.Gabe Black
--HG-- extra : convert_revision : 7257e3387c01e84e5a1018a9cdcc09a79edfa934
2006-11-06Remote GDB support has been changed to use inheritance. Alpha should work, ↵Gabe Black
but isn't tested. Other architectures will not. --HG-- extra : convert_revision : fc7e1e73e2f3b1a4ab9905a1eb98c5f07c6c8707
2006-11-04fixes so that M5 will compile under solarisAli Saidi
SConstruct: Add check to see if we need to include libsocket src/arch/sparc/floatregfile.cc: src/arch/sparc/intregfile.cc: use memset rather than bzero and include the appropriate headerfile src/base/pollevent.cc: If we're compling under solaris we need sys/file.h src/base/random.cc: src/base/random.hh: solaris doesn't have random(), so use rint with the correct rounding mode if we're compiling on solaris src/base/stats/flags.hh: u_int32_t?? src/base/time.hh: grab the timersub() define from freebsd since it doesn't exist in solaris src/cpu/inst_seq.hh: we don't need to include stdint here src/sim/byteswap.hh: the method to detect endianness on Solaris is a little more complex... --HG-- extra : convert_revision : 6b7db0e900e7bccfc250d65c125065f27280dda1
2006-11-03Make things compile in SE again.Gabe Black
--HG-- extra : convert_revision : cf7faf5001b31d61c61ddce2386d61c919075800
2006-11-03Use a PowerOnReset to initialize the cpu.Gabe Black
--HG-- extra : convert_revision : 9e65af095c37c7c67db377424d2d4363fa8065f9
2006-11-03Calling syscalls from within the trap instruction's invoke method won't work ↵Gabe Black
because apparently you need an xc for that and not a tc. Cleaned up the TrapInstruction fault in light of this. --HG-- extra : convert_revision : 1805c9244cfd62d0ee7862d8fd7c9983e00c5747
2006-11-03Gutted out the old Alpha stuff.Gabe Black
--HG-- extra : convert_revision : 6767dc1305a58e3e7eb0ee909d54768e51744927
2006-11-03Added a stub initCPU function. This would be a good place to force in a ↵Gabe Black
PowerOnReset fault to kick start the CPU. --HG-- extra : convert_revision : 79e1fa2ef40e326682069639e260db255fd29d93
2006-11-03Compilation fixes.Gabe Black
--HG-- extra : convert_revision : 44d67a3bb95f875f17586499aa4a04268aa2fd46
2006-11-03Add the syscall number as the second parameter for the trap fault. This ↵Gabe Black
could be improved and syscalls could be called from the trap's invoke method. --HG-- extra : convert_revision : 127a3673a076110fb3605c0fbc93e8d7e9fec84b
2006-11-03Add an invoke function for PowerOnResetGabe Black
--HG-- extra : convert_revision : a1cdd35c74f6e85f42a04061b466ec7617da8ac2