Gabe Black [Tue, 18 Apr 2006 13:44:24 +0000 (09:44 -0400)]
Changed MIPS and Alpha to pass the syscall number to the syscall function
arch/alpha/isa/decoder.isa:
Fixed up Alpha to pass the syscall number directly to the syscall function.
arch/mips/isa/decoder.isa:
Fixed up MIPS to pass the syscall number directly to the syscall function.
arch/mips/isa/operands.isa:
Added an R2 operand which is passed to the syscall function as the syscall number to use.
--HG--
extra : convert_revision :
066d486cd6a2761b29e413c6d526c268788975f3
Gabe Black [Tue, 18 Apr 2006 13:27:22 +0000 (09:27 -0400)]
Fixes to SPARC syscall emulation mode.
arch/sparc/isa/base.isa:
Added a set of abbreviations for the different condition tests.
arch/sparc/isa/decoder.isa:
Fixes and additions to get syscall emulation closer to working.
arch/sparc/isa/formats/branch.isa:
Fixed branches so that the immediate version actually uses the immediate value
arch/sparc/isa/formats/integerop.isa:
Compute the condition codes -before- writing to the state of the machine.
arch/sparc/isa/formats/mem.isa:
An attempt to fix up the output of the disassembly of loads and stores.
arch/sparc/isa/formats/trap.isa:
Added code to disassemble a trap instruction. This probably needs to be fixed up so there are immediate and register versions.
arch/sparc/isa/operands.isa:
Added an R1 operand, and fixed up the numbering
arch/sparc/isa_traits.hh:
SyscallNumReg is no longer needed, the max number of sources and destinations are fixed up, and the syscall return uses xcc instead of icc.
arch/sparc/linux/process.cc:
arch/sparc/linux/process.hh:
Added a getresuidFunc syscall implementation. This isn't actually used, but I thought it was and will leave it in.
arch/sparc/process.cc:
arch/sparc/process.hh:
Fixed up how the initial stack frame is set up.
arch/sparc/regfile.hh:
Changed the number of windows from 6 to 32 so we don't have to worry about spill and fill traps for now, and commented out the register file setting itself up.
cpu/cpu_exec_context.hh:
cpu/exec_context.hh:
cpu/simple/cpu.hh:
sim/process.cc:
sim/process.hh:
Changed the syscall mechanism to pass down the syscall number directly.
--HG--
extra : convert_revision :
15723b949a0ddb3d24e68c079343b4dba2439f43
Gabe Black [Thu, 6 Apr 2006 19:21:52 +0000 (15:21 -0400)]
Fixed for full system.
--HG--
extra : convert_revision :
28c9cd55d887c9de7156c8cf76b7b91117f749d5
Gabe Black [Thu, 6 Apr 2006 19:14:08 +0000 (15:14 -0400)]
Small touchups to SPARC
arch/sparc/regfile.hh:
Added debug output to the setAltGlobals function.
--HG--
extra : convert_revision :
b5ed3ff6d6f30e840c2488d846658dadedb59869
Gabe Black [Thu, 6 Apr 2006 19:00:11 +0000 (15:00 -0400)]
Merge m5.eecs.umich.edu:/bk/newmem
into ewok.(none):/home/gblack/m5/newmem
--HG--
extra : convert_revision :
bd6352647798275a12d52d55a129cdddd8e25423
Ali Saidi [Thu, 6 Apr 2006 18:57:51 +0000 (14:57 -0400)]
fixes for newmem
ALPHA_FS finally compiles again
SConscript:
Use a couple more FS sources, still don't compile that much
arch/alpha/faults.hh:
the unimp fault should probably exist in nonfs too.
dev/alpha_console.cc:
dev/alpha_console.hh:
dev/simconsole.cc:
dev/simple_disk.cc:
dev/simple_disk.hh:
dev/uart.cc:
dev/uart.hh:
dev/uart8250.cc:
dev/uart8250.hh:
sim/process.cc:
sim/system.cc:
fixes for newmem
dev/io_device.hh:
a system pointer is probably useful for every device to have
mem/bus.hh:
mem/physical.cc:
new address ranges function
python/m5/objects/SimpleDisk.py:
simple disk now has a system pointer rather than physmem directly
--HG--
extra : convert_revision :
d8c0a5c6510a6210aec5e8adfb0a4a06ec0dcebf
Gabe Black [Thu, 6 Apr 2006 18:53:14 +0000 (14:53 -0400)]
Changed the CleanWindow fault from an enumerate fault into a regular one.
--HG--
extra : convert_revision :
bf43015f5e47768a6e07ce36dc66a38426beceee
Gabe Black [Thu, 6 Apr 2006 18:52:44 +0000 (14:52 -0400)]
Fixed up the isa description. Also added some capability to the isa_parser 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
Gabe Black [Thu, 6 Apr 2006 18:47:03 +0000 (14:47 -0400)]
Enable register windows.
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
Ali Saidi [Thu, 6 Apr 2006 04:51:46 +0000 (00:51 -0400)]
fixes for new memory system
SConscript:
comment out most devices
add vport.cc
arch/alpha/arguments.cc:
arch/alpha/arguments.hh:
push in alpha name space
fix for new memory system
arch/alpha/faults.cc:
arch/alpha/faults.hh:
Added an unimplemented fault that can be returned if a certain
function isn't implemented
arch/alpha/freebsd/system.cc:
arch/alpha/linux/system.cc:
arch/alpha/stacktrace.cc:
arch/alpha/system.cc:
arch/alpha/tlb.hh:
arch/alpha/tru64/system.cc:
fixed for new memory system
arch/alpha/tlb.cc:
fixed for new memory system
removed code that seems to have no purpose
arch/alpha/vtophys.cc:
arch/alpha/vtophys.hh:
fixed for new memory system
put in namespace AlphaISA
base/remote_gdb.cc:
fix for new memory system
cpu/cpu_exec_context.cc:
cpu/cpu_exec_context.hh:
cpu/exec_context.hh:
create two ports one of physical accesses and one for superpage accesses
Add functions getVirtPort() getPhysPort() delVirtPort(). To get statically
allocated physical or virtual ports or if an execcontext is passed in
get a dynamically allocated virtual port
dev/alpha_console.cc:
dev/alpha_console.hh:
Redo for new memory system
dev/io_device.cc:
dev/io_device.hh:
new I/O devices for new memory system
kern/linux/events.cc:
kern/linux/printk.cc:
kern/linux/printk.hh:
kern/tru64/dump_mbuf.hh:
kern/tru64/printf.cc:
kern/tru64/printf.hh:
Arguments now in namespaces
kern/tru64/tru64_events.cc:
mem/bus.cc:
fix for new memory syste
mem/physical.hh:
new addressranges function
getPort should be public
mem/port.hh:
Add write/read methods to functional port
update getDeviceAddrRanges to have a list of both snoops and response lists
sim/pseudo_inst.cc:
sim/system.cc:
sim/system.hh:
Update for new mem system
sim/vptr.hh:
comment out code and replace with panics
This will need to be fixed at some point, but it's not easy.
--HG--
extra : convert_revision :
41f41f422cfbab3751284d55cccb6ea64a7956e2
Gabe Black [Sat, 1 Apr 2006 01:32:18 +0000 (20:32 -0500)]
Merge m5.eecs.umich.edu:/bk/newmem
into ewok.(none):/home/gblack/m5/newmem
--HG--
extra : convert_revision :
08ae5e999d9b313e3e40cb6d58863905b70ca781
Gabe Black [Sat, 1 Apr 2006 01:31:53 +0000 (20:31 -0500)]
Fixes to SPARC for syscall emulation mode.
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
Ali Saidi [Thu, 30 Mar 2006 23:06:00 +0000 (18:06 -0500)]
Add a functional port that is used to load the original binaries in FS
SE mode now has a port that goes to whatever toplevel mem object the
CPU sees that does the appropriate translation for syscall emulation
SConscript:
translating port is a syscall emu only source
arch/alpha/system.cc:
base/loader/object_file.cc:
base/loader/object_file.hh:
Use the new functional port to write the binaries into memory
cpu/cpu_exec_context.cc:
cpu/cpu_exec_context.hh:
cpu/simple/cpu.cc:
We aren't always going to be writing straight to memory with syscalls
support writing to a cache
mem/port.hh:
Add a simple unidirectional functional port that panics on any incoming requests
mem/translating_port.hh:
make translating port inherit from the simple port
sim/system.cc:
sim/system.hh:
Add a functional port that is used to load the original binaries
--HG--
extra : convert_revision :
9096866d0b23e3aceea68394abb76e63c0f8fd8d
Ali Saidi [Thu, 30 Mar 2006 20:59:49 +0000 (15:59 -0500)]
Make TranslatingPort be a type of Port rather than something special
arch/alpha/arguments.cc:
rather than returning 0, put a panic in... it will actually make us fix
this rather than scratching our respective heads
base/loader/object_file.cc:
base/loader/object_file.hh:
Object loader now takes a port rather than a translating port
cpu/cpu_exec_context.cc:
cpu/cpu_exec_context.hh:
sim/process.cc:
Make translating port a type of port rather than anything special
cpu/simple/cpu.cc:
no need to grab a port from the cpu anymore
mem/physical.cc:
add an additional type of port to physicalmemory called "functional"
Only used for functional accesses (loading binaries/syscall emu)
mem/port.hh:
make readBlok/writeBlob virtual so translating port can do the
translation first
mem/translating_port.cc:
mem/translating_port.hh:
Make TranslatingPort inherit from Port
sim/system.cc:
header file that doesn't exit removed
--HG--
extra : convert_revision :
89b08f6146bba61f5605678d736055feab2fe6f7
Kevin Lim [Thu, 30 Mar 2006 15:42:55 +0000 (10:42 -0500)]
Fixes for full system compiling.
arch/alpha/arguments.cc:
There will not be a phys mem ptr in the XC in the newmem. This read will have to go through something else.
arch/alpha/ev5.cc:
Remove instantiations of these functions for the FastCPU, as the FastCPU is not really used. Also this messed up the ability to specify which CPU models are being built.
cpu/exec_context.hh:
Remove getPhysMemPtr() function.
cpu/exetrace.cc:
Include sim/system.hh, and sort the includes.
cpu/simple/cpu.cc:
Fixes for full system compilation.
kern/system_events.cc:
Remove include of encumbered FullCPU. The branch prediction will need to be fixed up in a more generic way in the future.
--HG--
extra : convert_revision :
a8bbf562a277aa80e8f40112570c0a825298a05c
Ali Saidi [Wed, 29 Mar 2006 23:42:53 +0000 (18:42 -0500)]
page_table.cc is a syscall only kinda thing
fix tlbs for newmem
SConscript:
page_table.cc is a syscall only kinda thing
arch/alpha/tlb.cc:
arch/alpha/tlb.hh:
fix tlbs for newmem
--HG--
extra : convert_revision :
0aafcb9698b993a807be883bde1696ee4d33b408
Gabe Black [Wed, 29 Mar 2006 22:40:09 +0000 (17:40 -0500)]
Merge m5.eecs.umich.edu:/bk/newmem
into ewok.(none):/home/gblack/m5/newmem
--HG--
extra : convert_revision :
7866241cf43416636cbd6a3a4f6eeda561ed2e27
Ali Saidi [Wed, 29 Mar 2006 22:39:20 +0000 (17:39 -0500)]
update for connector magic
--HG--
extra : convert_revision :
111af292373edebcd106938e76610f9ac4a6ce58
Ali Saidi [Wed, 29 Mar 2006 22:37:41 +0000 (17:37 -0500)]
Merge zizzer:/bk/newmem
into zeep.eecs.umich.edu:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision :
5ab4ce9f6ec7af326d8906060ae3558cfd67ca08
Ali Saidi [Wed, 29 Mar 2006 22:37:25 +0000 (17:37 -0500)]
move stuff around so PageShift is defined before it is needed
don't ever include a file while in a namespace
start of making alpha console new memsystem happy
Make a BasePioDevice which is what all the simple Pio devices will inherit from
add a description of when the data pointer will have memory
arch/alpha/isa_traits.hh:
don't ever include a file while in a namespace
dev/alpha_console.cc:
dev/alpha_console.hh:
start of making alpha console new memsystem happy
dev/io_device.cc:
dev/io_device.hh:
Make a BasePioDevice which is what all the simple Pio devices will inherit from
mem/packet.hh:
add a description of when the data pointer will have memory
--HG--
extra : convert_revision :
495c0915541f9cad3eb42891e60b4ecbee7952bf
Gabe Black [Wed, 29 Mar 2006 22:35:51 +0000 (17:35 -0500)]
Merge m5.eecs.umich.edu:/bk/newmem
into ewok.(none):/home/gblack/m5/newmem
--HG--
extra : convert_revision :
984b015700ccef71d95b4d7d775a7b3f24084dc6
Kevin Lim [Wed, 29 Mar 2006 21:05:26 +0000 (16:05 -0500)]
Remove "using namespace std" from global declarations.
--HG--
extra : convert_revision :
c580bc6bd308fd502fb5a14ea84b5214e1d2718e
Steve Reinhardt [Wed, 29 Mar 2006 03:55:08 +0000 (22:55 -0500)]
Make CPU_MODELS a sticky build option.
This causes a crash if you're using scons 0.96.1 *and* you specify
more than one CPU model. Since the .isa scanner now works with 0.96.91
then upgrading should not be an issue. For now we're only using one CPU
model (SimpleCPU) so there isn't even a pressing need to upgrade yet.
build/SConstruct:
Make CPU_MODELS a sticky option.
This causes a crash if you're using scons 0.96.1 *and* you specify
more than one CPU model. Since the .isa scanner now works with 0.96.91
then upgrading should not be an issue. For now we're only using one CPU
model (SimpleCPU) so there isn't even a pressing need to upgrade yet.
--HG--
extra : convert_revision :
d8319c4cd5c937c2c033270cef850d19b805d256
Steve Reinhardt [Wed, 29 Mar 2006 03:44:24 +0000 (22:44 -0500)]
Only compile in Tru64 objects if we're doing Alpha.
--HG--
extra : convert_revision :
15bcdb3a6552ad8ee070677c9464ae1302768068
Steve Reinhardt [Wed, 29 Mar 2006 03:32:08 +0000 (22:32 -0500)]
Use op_decl instead of op_src_decl + op_dest_decl in .isa templates.
The latter causes multiple variable definitions if the same operand
is used as both a src and a dest.
arch/alpha/isa/mem.isa:
arch/mips/isa/formats/mem.isa:
Use op_decl instead of op_src_decl + op_dest_decl.
The latter causes multiple variable definitions if the same operand
is used as both a src and a dest.
--HG--
extra : convert_revision :
c14d91b293d3afef45c8728d3d8784f372c0b7f4
Steve Reinhardt [Wed, 29 Mar 2006 03:30:43 +0000 (22:30 -0500)]
Make Alpha ItbFault methods abstract instead of calling panic()
(which wasn't working since panic() isn't declared yet here).
arch/alpha/faults.hh:
Make ItbFault methods abstract instead of calling panic()
(which wasn't working since panic() isn't declared yet here).
--HG--
extra : convert_revision :
b15242baa370777f265a3f6b7d5f5c05702b016f
Steve Reinhardt [Wed, 29 Mar 2006 03:29:42 +0000 (22:29 -0500)]
Make .isa-file ##include file paths relative to including file.
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
Gabe Black [Wed, 29 Mar 2006 00:39:29 +0000 (19:39 -0500)]
Fixed a typo.
--HG--
extra : convert_revision :
9ad2bde341a9efb2826159229427b719ff2142f4
Gabe Black [Wed, 29 Mar 2006 00:36:40 +0000 (19:36 -0500)]
Merge m5.eecs.umich.edu:/bk/newmem
into ewok.(none):/home/gblack/m5/newmem
--HG--
extra : convert_revision :
7effd744f9061d4aa8e9c3fa769115dfa73cbb79
Gabe Black [Wed, 29 Mar 2006 00:36:34 +0000 (19:36 -0500)]
SPARC compiles for SE!
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
Kevin Lim [Tue, 28 Mar 2006 23:01:01 +0000 (18:01 -0500)]
Move TLB faults into the normal Fault code. The TLB no longer fills in IPRs through its own fault() method; this is handled by the fault's invoke() methods.
arch/alpha/faults.cc:
Move TLB fault code into the normal fault invoke() method.
arch/alpha/faults.hh:
Move DTB/ITB fault handling code into their own class with a specific invoke() method. Have DTB/ITB faults derive from these classes.
Unfortunately the DtbAlignmentFault is somewhat odd; it's a normal alignment fault, but it must also set some specific IPRs.
arch/alpha/tlb.cc:
arch/alpha/tlb.hh:
Setting IPRs is now handled through the fault itself.
--HG--
extra : convert_revision :
5cb92ce2186ff79f632bfcbc9ba62a8a04400eae
Gabe Black [Tue, 28 Mar 2006 20:14:13 +0000 (15:14 -0500)]
Merge m5.eecs.umich.edu:/bk/newmem
into ewok.(none):/home/gblack/m5/newmem
--HG--
extra : convert_revision :
762df7bf15e8e22a8fab8bbcd933047d1c8cdfa9
Gabe Black [Tue, 28 Mar 2006 20:13:57 +0000 (15:13 -0500)]
Moving towards compilation.
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
Ali Saidi [Mon, 27 Mar 2006 02:44:22 +0000 (21:44 -0500)]
Add the bus and connector objects to scons
change getPort parameter from char* to string
Add an extra phase between construction and init called connect
SConscript:
Add the bus and connector objects to scons
cpu/simple/cpu.cc:
cpu/simple/cpu.hh:
the connection to memory shouldn't be made until we know the memory
object exists (e.g. after construction)
dev/io_device.hh:
change to const string
mem/bus.hh:
change getPort parameter from char* to string
initialize num_interfaces
mem/mem_object.hh:
change getPort parameter from char* to string
mem/physical.cc:
mem/physical.hh:
change getPort parameter from char* to string
get rid of the bus object I created last time
python/m5/objects/PhysicalMemory.py:
get rid of the bus object I created last time
sim/main.cc:
sim/sim_object.cc:
sim/sim_object.hh:
Add an extra phase between construction and init called connect
--HG--
extra : convert_revision :
0e994f93374fa72a06d291655c440ff1b8e155a9
Ali Saidi [Sat, 25 Mar 2006 23:34:50 +0000 (18:34 -0500)]
update for objects having a bus
--HG--
extra : convert_revision :
96b5494b7d0b5ca702ac69cfa0bf8c4d44e1cc3b
Ali Saidi [Sat, 25 Mar 2006 23:31:20 +0000 (18:31 -0500)]
Implement a very very simple bus
requestTime -> time
responseTime -> packet.time
Make CPU and memory able to connect to the bus
dev/io_device.cc:
update for request and packet both having a time
hand platform off to port for eventual selection of request modes
dev/io_device.hh:
update for request and packet both havig a time
hand platform off to port for eventual selection of request modes
mem/bus.hh:
Add a device map struct that maps a range to a portId
- Which needs work it theory it should be an interval tree
- but it is a list and works fine right now
Add a function called findPort which returns port for an addr range
Add a deviceBlockSize function that really shouldn't exist, but it
was easier than fixing the translating port
mem/packet.hh:
add a time to each packet
mem/physical.cc:
mem/physical.hh:
python/m5/objects/PhysicalMemory.py:
Make physical memory take a MemObject parameter of what to connect to
mem/request.hh:
remove requestTime/responseTime for just time in request which
is requset time and the time in the packet which is responsetime
python/m5/objects/BaseCPU.py:
Instead of memory cpu connects to any memory object
python/m5/objects/Bus.py:
Fix for new bus object
--HG--
extra : convert_revision :
72605e8a3fcdd9e80a41f439909ee7feb3f1fe1d
Ali Saidi [Tue, 21 Mar 2006 20:45:40 +0000 (15:45 -0500)]
Merge zizzer:/bk/newmem
into zeep.eecs.umich.edu:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision :
45dba22ecbdfc8e1bb0df1efd06a37f40d56b67f
Ali Saidi [Tue, 21 Mar 2006 20:45:31 +0000 (15:45 -0500)]
Make PioPort/DmaPort,DmaDevice/PioDevice compile.
Add another type to the PacketResult enum of Unknown
Seperate time into requsetTime and responseTime.
dev/io_device.cc:
dev/io_device.hh:
Make PioPort/DmaPort,DmaDevice/PioDevice compile.
mem/packet.hh:
Add another type to the PacketResult enum of Unknown (e.g. no state set yet)
mem/request.hh:
Seperate time into requsetTime and responseTime.
--HG--
extra : convert_revision :
c6394cb838013296caea6492275252b8cae2882f
Korey Sewell [Sun, 19 Mar 2006 18:41:04 +0000 (13:41 -0500)]
Merge zizzer:/bk/newmem
into zazzer.eecs.umich.edu:/.automount/zooks/y/ksewell/research/m5-sim/newmem-mips
--HG--
extra : convert_revision :
db8490e41ec17fc8f4e2dc9548ecdc7d28b4cdd1
Korey Sewell [Sun, 19 Mar 2006 18:40:03 +0000 (13:40 -0500)]
support for unaligned memory access
arch/mips/isa/base.isa:
disassembly fixes
arch/mips/isa/decoder.isa:
support for unaligned loads/stores
arch/mips/isa_traits.hh:
edit Syscall Reg values
arch/mips/linux_process.cc:
call writevFunc on writev syscall
--HG--
extra : convert_revision :
4aea6d069bd7ba0e83b23d2d85c50d68532f0454
Steve Reinhardt [Sat, 18 Mar 2006 19:42:21 +0000 (14:42 -0500)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/z/stever/bk/newmem-head
sim/process.cc:
Fix bad auto merge (m5 changes unnecessary in newmem).
--HG--
extra : convert_revision :
a3ced4cd1668cd47bd02430872ca68b1433aae98
Korey Sewell [Sat, 18 Mar 2006 16:31:31 +0000 (11:31 -0500)]
more syscall fixes
arch/mips/isa_traits.hh:
use syscall return function from alpha
arch/mips/linux_process.cc:
fix some syntax errors, map some functions to the desc. table
--HG--
extra : convert_revision :
75e8e8893b7d96bb4fc8e8eced53bd16c0a727d1
Korey Sewell [Sat, 18 Mar 2006 15:52:19 +0000 (10:52 -0500)]
Merge zizzer:/bk/newmem
into zazzer.eecs.umich.edu:/.automount/zooks/y/ksewell/research/m5-sim/newmem-mips
--HG--
extra : convert_revision :
1646b4fb065e3ed9d8de22e3f5c3aa05a2ef01b6
Korey Sewell [Sat, 18 Mar 2006 15:51:28 +0000 (10:51 -0500)]
steps toward making syscalls work
arch/mips/isa/decoder.isa:
arch/mips/isa_traits.hh:
sim/syscall_emul.cc:
make syscall instruction functional
arch/mips/linux_process.cc:
add all MIPS/Linux syscalls to descriptor list
--HG--
extra : convert_revision :
5455a345e76be921e9f63b248aef874b6358e465
Gabe Black [Fri, 17 Mar 2006 19:25:54 +0000 (14:25 -0500)]
Fixed a couple typos
--HG--
extra : convert_revision :
2ffbfc4755e46a119c9709d6a5e9ddc41fde45e0
Gabe Black [Fri, 17 Mar 2006 19:23:48 +0000 (14:23 -0500)]
Merge m5.eecs.umich.edu:/bk/newmem
into ewok.(none):/home/gblack/m5/newmem
arch/sparc/isa/decoder.isa:
Hand merged
--HG--
extra : convert_revision :
5d5338602c48be48978972a091c5e93f9dd775aa
Gabe Black [Fri, 17 Mar 2006 19:11:14 +0000 (14:11 -0500)]
An attempt to get byteswap to work accross more machines.
--HG--
extra : convert_revision :
4a73507206cf287a89e1d496b2a08cfd1fafdf4d
Gabe Black [Fri, 17 Mar 2006 19:02:38 +0000 (14:02 -0500)]
Clean up and fix for compilation
--HG--
extra : convert_revision :
c4e66cd678313f7fe169787cb1bf3e45f114c4fd
Ali Saidi [Fri, 17 Mar 2006 04:09:01 +0000 (23:09 -0500)]
clean up condition codes a little bit
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
Korey Sewell [Fri, 17 Mar 2006 00:01:09 +0000 (19:01 -0500)]
fix to LiveProcess (this change got deleted somehow)
--HG--
extra : convert_revision :
fe4b7dc5b7d583e1d890648ba98bb0daf722a704
Korey Sewell [Thu, 16 Mar 2006 23:40:54 +0000 (18:40 -0500)]
Merge zizzer:/bk/newmem
into zazzer.eecs.umich.edu:/.automount/zooks/y/ksewell/research/m5-sim/newmem-mips
--HG--
extra : convert_revision :
02fe0b0170348dc6f6a985c15123806088a8c23e
Korey Sewell [Thu, 16 Mar 2006 23:39:54 +0000 (18:39 -0500)]
Found and fixed 3 decoder.isa bugs!!! Now the hello_world program runs for a while
before getting in a infinite loop. It actually "tries" to syscall too, but syscalls
aren't implemented just yet
arch/mips/faults.cc:
more descriptive names for faults (will help future users as well as me!)
arch/mips/isa/base.isa:
make sure we are printing out "BasicOp" format disassembly instructions as dest,src,src instead of src,src,dest
arch/mips/isa/decoder.isa:
FIX LW/SW Bug!!!! I was actually loading a byte instead of a word
FIX JALR Bug!!!! I was not saving the link address in R31 for this instruction
FIX SLL/NOP Bug!!! We now recognize the varying flavors of sll,nop,ehb,& ssnop correctly
base/loader/elf_object.cc:
change back to original way
base/loader/elf_object.hh:
change back to original!
--HG--
extra : convert_revision :
39b65fba31c1842ac6966346fe8a35816a4231fa
Gabe Black [Thu, 16 Mar 2006 19:08:31 +0000 (14:08 -0500)]
Merge m5.eecs.umich.edu:/bk/newmem
into ewok.(none):/home/gblack/m5/newmem
arch/sparc/isa/decoder.isa:
SCCS merged
--HG--
extra : convert_revision :
460843b49bc96b3fbc5897828c23f9cf9b010ae0
Gabe Black [Thu, 16 Mar 2006 18:58:50 +0000 (13:58 -0500)]
Fixups towards compiling.
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
Ron Dreslinski [Thu, 16 Mar 2006 16:34:19 +0000 (11:34 -0500)]
Don't forget to check in the needed header file for the conditional prefetch building.
--HG--
extra : convert_revision :
2c2562da323fa1249af72af3a89c7666c745ae2b
Steve Reinhardt [Thu, 16 Mar 2006 15:31:00 +0000 (10:31 -0500)]
Add warning for ignored loadable ELF segments.
base/loader/elf_object.cc:
Print warning if there are more than two loadable segments.
We currently assume there are at most two (text & data), and that's
held so far, but it would be nice not to silently ignore others.
--HG--
extra : convert_revision :
1b3e693e95ba1210b09528b97819a7fa86426edc
Korey Sewell [Thu, 16 Mar 2006 04:38:55 +0000 (23:38 -0500)]
Merge zizzer:/bk/newmem
into zazzer.eecs.umich.edu:/.automount/zooks/y/ksewell/research/m5-sim/newmem-mips
--HG--
extra : convert_revision :
9bdde9b5bd3049744451eda1134f080b7c4b1b59
Ali Saidi [Wed, 15 Mar 2006 23:12:01 +0000 (18:12 -0500)]
implement the Tcc instruction to call syscall.
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
Ron Dreslinski [Wed, 15 Mar 2006 22:53:49 +0000 (17:53 -0500)]
Merge zizzer:/z/m5/Bitkeeper/m5
into zazzer.eecs.umich.edu:/z/rdreslin/m5bk/m5
--HG--
extra : convert_revision :
a4de274ec50821218121ba38f9215f2348262c27
Ron Dreslinski [Wed, 15 Mar 2006 22:53:21 +0000 (17:53 -0500)]
Add support for conditional compiling in of prefetchers.
--HG--
extra : convert_revision :
357554632f102224357c8c3848bc4bc7cbb9dc54
Ali Saidi [Wed, 15 Mar 2006 22:04:50 +0000 (17:04 -0500)]
add translations for new sections that are mmapped or when the brk
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
Korey Sewell [Wed, 15 Mar 2006 21:29:18 +0000 (16:29 -0500)]
add mips simple test in config directory
configs/test/hello_mips:
hello world mips binary
--HG--
extra : convert_revision :
5a495e1bfb1cbddc0879f8e80c02bd7435a02acb
Korey Sewell [Wed, 15 Mar 2006 21:26:40 +0000 (16:26 -0500)]
infinitesimal small baby steps toward MIPS actually working
arch/mips/isa/formats/branch.isa:
let user know that we alter r31 in disassembly
arch/mips/isa_traits.cc:
add copyRegs function ...
comment out serialize float code for now
arch/mips/isa_traits.hh:
make FloatRegFile a class ... change values of architectural regs
arch/mips/process.cc:
change MIPS to Mips
base/loader/elf_object.cc:
get global pointer initialized to a value
base/loader/elf_object.hh:
Add global_ptr to elf_object constructor
base/loader/object_file.hh:
MIPS to Mips
base/traceflags.py:
SimpleCPU trace flag
cpu/simple/cpu.cc:
DPRINTF flags for SimpleCPU
cpu/static_inst.hh:
Add Decoder functions to static_inst.hh
--HG--
extra : convert_revision :
0544a8524d3fe4229428cb06822f7da208c72459
Kevin Lim [Wed, 15 Mar 2006 20:38:14 +0000 (15:38 -0500)]
Don't access init_regs directly. This does not affect newmem; Steve already changed this in newmem.
--HG--
extra : convert_revision :
19b1ed0bb2c8bcde72843e62f73635e84adf95b5
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
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
Ron Dreslinski [Tue, 14 Mar 2006 23:03:34 +0000 (18:03 -0500)]
Remove unneeded header files.
Add some forward declerations.
Fix ordering problem of variables in constructor (see sourceforge)
Factor out code from header into _impl file to speed building process (keep cache_builder smaller in size)
--HG--
extra : convert_revision :
20087f88f95628af716094e09c2287e09580149e
Gabe Black [Tue, 14 Mar 2006 21:41:38 +0000 (16:41 -0500)]
added *.swp
--HG--
extra : convert_revision :
90e4387da5bbe5e3f05c4d25713d6a362c6724e8
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
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
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
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
Gabe Black [Tue, 14 Mar 2006 20:59:19 +0000 (15:59 -0500)]
SPARC clean up towards compilability.
--HG--
extra : convert_revision :
156670995fa61599e763b002cd70f31f19b108d1
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
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
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
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
Steve Reinhardt [Sun, 12 Mar 2006 22:24:02 +0000 (17:24 -0500)]
Add simple eio-based test.
--HG--
extra : convert_revision :
969e8fddad1b87eaa294857945a4c46cb175984d
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Gabe Black [Sat, 11 Mar 2006 19:26:34 +0000 (14:26 -0500)]
Added registerfile.hh and utility.hh
--HG--
extra : convert_revision :
f825fcf53e716efc62e541692cb4ed26366abc26
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
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
Gabe Black [Fri, 10 Mar 2006 23:20:14 +0000 (18:20 -0500)]
Got rid of some dead code.
--HG--
extra : convert_revision :
591312f1e57953a3b03639cef1a3ff6bd08f5f67