Gabe Black [Sat, 16 Dec 2006 17:53:01 +0000 (12:53 -0500)]
Compiler error fix.
--HG--
extra : convert_revision :
39e2638a10bf3e821e8f3d4d8c664008c98fc921
Ali Saidi [Fri, 15 Dec 2006 00:01:21 +0000 (19:01 -0500)]
flesh out twinx asis
fix TICK register reads
reduce the number of readmiscreg accesses,
implement tsb pointer stuff
src/arch/sparc/asi.cc:
flesh out twinx asis
src/arch/sparc/miscregfile.cc:
fix TICK register reads
src/arch/sparc/tlb.cc:
reduce the number of readmiscreg accesses,
implement tsb pointer stuff
--HG--
extra : convert_revision :
1995c3b04b7743c6122cbf8ded7c4d5de48fa3c8
Ali Saidi [Tue, 12 Dec 2006 22:55:27 +0000 (17:55 -0500)]
Fix bugs in tlbmap (and thus rangemap since the code is nearly identical)
Deal with block initializing stores (by doing nothing, at some point we might want to do the write hint 64 like thing)
Fix tcc instruction igoner in legion-lock stuff to be correct in all cases
Have console interrupts warn rather than panicing until we figure out what to do with interrupts
src/arch/sparc/miscregfile.cc:
src/arch/sparc/miscregfile.hh:
add a magic miscreg which reads all the bits the tlb needs in one go
src/arch/sparc/tlb.cc:
initialized the context type and id to reasonable values and handle block init stores
src/arch/sparc/tlb_map.hh:
fix bug in tlb map code
src/base/range_map.hh:
fix bug in rangemap code and add range_multimap
(these are probably useful for bus range stuff)
src/cpu/exetrace.cc:
fixup tcc ignore code to be correct
src/dev/sparc/t1000.cc:
make console interrupt stuff warn instead of panicing until we get interrupt stuff figured out
src/unittest/rangemaptest.cc:
fix up the rangemap unit test to catch the missing case
--HG--
extra : convert_revision :
70604a8b5d0553aa0b0bd7649f775a0cfa8267a5
Ali Saidi [Sat, 9 Dec 2006 23:27:54 +0000 (18:27 -0500)]
fix lisa's hand merge
--HG--
extra : convert_revision :
d25604156ae0b2cf29d92fb960b8f5d77427985b
Ali Saidi [Sat, 9 Dec 2006 23:00:49 +0000 (18:00 -0500)]
Merge zizzer:/bk/sparcfs
into zeep.pool:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision :
c51fd95f7acd7cffb3ea705d7216772f0a801844
Ali Saidi [Sat, 9 Dec 2006 23:00:40 +0000 (18:00 -0500)]
Allocate the correct number of global registers
Fix fault formating and code for traps
fix a couple of bugs in the decoder
Cleanup/fix page table entry code
Implement more mmaped iprs, fix numbered tlb insertion code, add function to dump tlb contents
Don't panic if we differ from legion on a tcc instruction because of where legion prints its data and where we print our data
src/arch/sparc/faults.cc:
Fix fault formating and code for traps
src/arch/sparc/intregfile.hh:
allocate the correct number of global registers
src/arch/sparc/isa/decoder.isa:
fix a couple of bugs in the decoder: wrasi should write asi not ccr, done/retry should get hpstate from htstate
src/arch/sparc/pagetable.hh:
cleanup/fix page table code
src/arch/sparc/tlb.cc:
implement more mmaped iprs, fix numbered insertion code, add function to dump tlb contents
src/arch/sparc/tlb.hh:
add functions to write TagAccess register on tlb miss and to dump all tlb entries for debugging
src/cpu/exetrace.cc:
dump tlb entries on error, don't consider differences the cycle we take a trap to be bad.
--HG--
extra : convert_revision :
d7d771900f6f25219f3dc6a6e51986d342a32e03
Lisa Hsu [Fri, 8 Dec 2006 20:07:26 +0000 (15:07 -0500)]
Merge zizzer:/bk/sparcfs
into zed.eecs.umich.edu:/z/hsul/work/sparc/m5
src/arch/sparc/ua2005.cc:
hand merge
--HG--
extra : convert_revision :
5157fa5d7053cb93f73241c63871eaae6f58b8a6
Lisa Hsu [Fri, 8 Dec 2006 19:37:31 +0000 (14:37 -0500)]
mostly implemented SOFTINT relevant interrupt stuff.
src/arch/sparc/interrupts.hh:
add in thread_context.hh to get access to tc.
get rid of stubs that don't make sense right now.
implement checking and get softint interrupts
src/arch/sparc/miscregfile.cc:
softint should be OR-ed on a write.
src/arch/sparc/miscregfile.hh:
add some enums for state fields for easy access to bitmasks of HPSTATE and PSTATE regs.
src/arch/sparc/ua2005.cc:
implement writing SOFTINT, PSTATE, PIL, and HPSTATE properly, add helpful info to panic for bad reg write.
--HG--
extra : convert_revision :
d12d1147b508121075ee9be4599693554d4b9eae
Ali Saidi [Thu, 7 Dec 2006 23:50:33 +0000 (18:50 -0500)]
get legion/m5 to first tlb miss fault
src/arch/sparc/asi.cc:
src/arch/sparc/asi.hh:
add sparc error asi
src/arch/sparc/faults.cc:
put a panic in if TL == MaxTL
src/arch/sparc/isa/decoder.isa:
Hpstate needs to be updated on a done too
src/arch/sparc/miscregfile.cc:
warn istead of panicing of fprs/fsr accesses
src/arch/sparc/tlb.cc:
add sparc error register code that just does nothing
fix a couple of other tlb bugs
src/arch/sparc/ua2005.cc:
fix implementation of HPSTATE write
src/cpu/exetrace.cc:
let exectrate mess up a couple of times before dying
src/python/m5/objects/T1000.py:
add l2 error status register fake devices
--HG--
extra : convert_revision :
ed5dfdfb28633bf36e5ae07d244f7510a02874ca
Ali Saidi [Thu, 7 Dec 2006 00:25:53 +0000 (19:25 -0500)]
Handle access to ASI_QUEUE
Add function for interrupt ASIs
add all the new MISCREGs to the copyMiscRegs() file
src/arch/sparc/asi.cc:
src/arch/sparc/asi.hh:
Add function for interrupt ASIs
src/arch/sparc/miscregfile.cc:
src/arch/sparc/miscregfile.hh:
Add QUEUE asi/misc registers
src/arch/sparc/regfile.cc:
add all the new MISCREGs to the copyMiscRegs() file
src/arch/sparc/tlb.cc:
Handle access to ASI_QUEUE
--HG--
extra : convert_revision :
7a14450485816e6ee3bc8c80b462a13e1edf0ba0
Ali Saidi [Wed, 6 Dec 2006 19:29:10 +0000 (14:29 -0500)]
Many more fixes for SPARC_FS. Gets us to the point where SOFTINT starts
getting touched.
configs/common/FSConfig.py:
Physical memory on the T1 starts at 1MB, The first megabyte is unmapped to catch bugs
src/arch/isa_parser.py:
we should readmiscregwitheffect not readmiscreg
src/arch/sparc/asi.cc:
Fix AsiIsNucleus spelling with respect to header file
Add ASI_LSU_CONTROL_REG to AsiSiMmu
src/arch/sparc/asi.hh:
Fix spelling of two ASIs
src/arch/sparc/isa/decoder.isa:
switch back to defaults letting the isa_parser insert readMiscRegWithEffect
src/arch/sparc/isa/formats/mem/util.isa:
Flesh out priviledgedString with hypervisor checks
Make load alternate set the flags correctly
src/arch/sparc/miscregfile.cc:
insert some forgotten break statements
src/arch/sparc/miscregfile.hh:
Add some comments to make it easier to find which misc register is which number
src/arch/sparc/tlb.cc:
flesh out the tlb memory mapped registers a lot more
src/base/traceflags.py:
add an IPR traceflag
src/mem/request.hh:
Fix a bad assert() in request
--HG--
extra : convert_revision :
1e11aa004e8f42c156e224c1d30d49479ebeed28
Ali Saidi [Tue, 5 Dec 2006 01:29:55 +0000 (20:29 -0500)]
forgot to commit miscreg file
--HG--
extra : convert_revision :
c2ede9efbf7b264c32d5565d3f0fc0601c4cd63b
Gabe Black [Tue, 5 Dec 2006 00:56:04 +0000 (19:56 -0500)]
Merge zizzer:/bk/sparcfs
into zower.eecs.umich.edu:/eecshome/m5/newmemmid
--HG--
extra : convert_revision :
45d9599dd883e10c283812c1c241c20323f44cec
Gabe Black [Tue, 5 Dec 2006 00:55:52 +0000 (19:55 -0500)]
Add in code to pass the ASI to translation.
--HG--
extra : convert_revision :
4a985635cda7680abcddaf0bc9579fa03d5bc7c6
Lisa Hsu [Tue, 5 Dec 2006 00:39:58 +0000 (19:39 -0500)]
Merge zizzer:/bk/sparcfs
into zed.eecs.umich.edu:/z/hsul/work/sparc/m5
--HG--
extra : convert_revision :
3186d6055794b41c26eb8d2411903869b5b39329
Ali Saidi [Tue, 5 Dec 2006 00:39:57 +0000 (19:39 -0500)]
reogranize code to split off FS only misc regs with effect into their own file (reducing the number of if FULL_SYSTEM defines and includes)
Protect other pieces of code so that sparc compiles SE again
src/arch/sparc/SConscript:
Add ua2005.cc back into SConscript
src/arch/sparc/miscregfile.hh:
add functions that deal with priv registers so we don't have to have a bunch of if defs and other ugliness
src/arch/sparc/mmaped_ipr.hh:
wrap handleIpr* with if full_system so it compiles under se
src/arch/sparc/ua2005.cc:
reorganize edit fs only miscreg functions
src/cpu/exetrace.cc:
protect legion code so it doesn't try to compile under se
--HG--
extra : convert_revision :
6b3c9f6f95b4da8544525f4f82e92861383ede76
Lisa Hsu [Tue, 5 Dec 2006 00:37:50 +0000 (19:37 -0500)]
automatically build sparc system or alpha system.
configs/example/fs.py:
make it an automatic system build for alpha vs. sparc.
--HG--
extra : convert_revision :
4c217cf9309c6209be7f80e358f6640857a785e8
Ali Saidi [Mon, 4 Dec 2006 23:25:21 +0000 (18:25 -0500)]
delete m5stats which shouldn't have been commited
--HG--
extra : convert_revision :
cc9f65c94145e957ea96e0b765ae2ea0ae093029
Ali Saidi [Mon, 4 Dec 2006 23:22:55 +0000 (18:22 -0500)]
Legion actually writes to tl-1 in the data structure, so we need to compare correctly
--HG--
extra : convert_revision :
60fef1bd5dc03d7b107150dba922dd4a3f51626f
Lisa Hsu [Mon, 4 Dec 2006 22:51:07 +0000 (17:51 -0500)]
Merge zizzer:/bk/sparcfs
into zed.eecs.umich.edu:/z/hsul/work/sparc/m5
--HG--
extra : convert_revision :
3bce43982689e9bda3a12e21a24b5ea390f347b8
Ali Saidi [Mon, 4 Dec 2006 05:54:40 +0000 (00:54 -0500)]
More changes to get SPARC fs closer. Now at 1.2M cycles before difference
configs/common/FSConfig.py:
seperate the hypervisor memory and the guest0 memory. In reality we're going to need a better way to do this at some point. Perhaps auto generating the hv-desc image based on the specified config.
src/arch/sparc/isa/decoder.isa:
change reads/writes to the [hs]tick(cmpr) registers to use readmiscregwitheffect
src/arch/sparc/miscregfile.cc:
For niagra stick and tick are aliased to one value (if we end up doing mps we might not want this).
Use instruction count from cpu rather than cycles because that is what legion does
we can change it back after were done with legion
src/base/bitfield.hh:
add a new function mbits() that just masks off bits of interest but doesn't shift
src/cpu/base.cc:
src/cpu/base.hh:
add instruction count to cpu
src/cpu/exetrace.cc:
src/cpu/m5legion_interface.h:
compare instruction count between legion and m5 too
src/cpu/simple/atomic.cc:
change asserts of packet success to if panics wrapped with NDEBUG defines
so we can get some more useful information when we have a bad address
src/dev/isa_fake.cc:
src/dev/isa_fake.hh:
src/python/m5/objects/Device.py:
expand isa fake a bit more having data for each size request, the ability to have writes update the data and to warn on accesses
src/python/m5/objects/System.py:
convert some tabs to spaces
src/python/m5/objects/T1000.py:
add more fake devices for each l1 bank and each memory controller
--HG--
extra : convert_revision :
8024ae07b765a04ff6f600e5875b55d8a7d3d276
Lisa Hsu [Fri, 1 Dec 2006 20:04:48 +0000 (15:04 -0500)]
Merge zizzer:/bk/sparcfs
into zed.eecs.umich.edu:/z/hsul/work/sparc/m5
--HG--
extra : convert_revision :
07119747d9b08ea51f21942e36f22afcc62f16e1
Lisa Hsu [Fri, 1 Dec 2006 18:51:49 +0000 (13:51 -0500)]
change this to be a quick one so that it's in the regressions every night - it's only maybe 15 min. long.
tests/configs/twosys-tsunami-simple-atomic.py:
don't need this import
--HG--
rename : tests/long/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/config.ini => tests/quick/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/config.ini
rename : tests/long/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/config.out => tests/quick/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/config.out
rename : tests/long/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/console.drivesys.sim_console => tests/quick/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/console.drivesys.sim_console
rename : tests/long/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/console.testsys.sim_console => tests/quick/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/console.testsys.sim_console
rename : tests/long/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/m5stats.txt => tests/quick/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/m5stats.txt
rename : tests/long/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/stderr => tests/quick/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/stderr
rename : tests/long/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/stdout => tests/quick/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/stdout
rename : tests/long/80.netperf-stream/test.py => tests/quick/80.netperf-stream/test.py
extra : convert_revision :
68497b2ef8b21590cb6c636485703e46dc616513
Lisa Hsu [Fri, 1 Dec 2006 06:24:16 +0000 (01:24 -0500)]
Merge zizzer:/bk/newmem
into zed.eecs.umich.edu:/z/hsul/work/m5/newmem
--HG--
extra : convert_revision :
b62ca8009105aad7173bdbc5d528de243d21a82c
Lisa Hsu [Fri, 1 Dec 2006 06:24:01 +0000 (01:24 -0500)]
add a simple netperf-stream test to the long tests.
tests/SConscript:
add a new configuration for two-system tests (atomic simple only)
--HG--
extra : convert_revision :
16c260ab16f38779fe17b1cab18f36d5c7a70846
Nathan Binkert [Fri, 1 Dec 2006 04:53:30 +0000 (20:53 -0800)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into iceaxe.:/Volumes/work/m5/incoming
--HG--
extra : convert_revision :
05060a06e0b6d66a9c1e7005c233047c6e8ba15f
Nathan Binkert [Fri, 1 Dec 2006 04:50:47 +0000 (20:50 -0800)]
Get rid of the old release-edits script and create make_release.py
which takes care of almost everything needed for putting together
a release.
--HG--
extra : convert_revision :
b05d418a1002633b1286591eb8a8588ba33f5df1
Ali Saidi [Thu, 30 Nov 2006 20:51:54 +0000 (15:51 -0500)]
Load the hypervisor symbols twice, once with an address mask so that we can get symbols for where it's copied to in memory
Add the ability to use an address mask for symbol loading
Rather then silently failing on platform accesses panic
Move BadAddr/IsaFake no Device from Tsunami
Let the system kernel be none, but warn about it
configs/common/FSConfig.py:
We don't have a kernel for sparc yet
src/arch/sparc/system.cc:
Load the hypervisor symbols twice, once with an address mask so that we can get symbols for where it's copied to in memory
src/base/loader/aout_object.cc:
src/base/loader/aout_object.hh:
src/base/loader/ecoff_object.cc:
src/base/loader/ecoff_object.hh:
src/base/loader/elf_object.cc:
src/base/loader/elf_object.hh:
src/base/loader/object_file.hh:
src/base/loader/raw_object.cc:
src/base/loader/raw_object.hh:
Add the ability to use an address mask for symbol loading
src/dev/sparc/t1000.cc:
Rather then silently failing on platform accesses panic
src/dev/sparc/t1000.hh:
fix up a couple of platform comments
src/python/m5/objects/Bus.py:
src/python/m5/objects/Device.py:
src/python/m5/objects/T1000.py:
src/python/m5/objects/Tsunami.py:
Move BadAddr/IsaFake no Device from Tsunami
src/python/m5/objects/System.py:
Let kernel be none
src/sim/system.cc:
Let the system kernel be none, but warn about it
--HG--
extra : convert_revision :
92f6afef599a3d3c7c5026d03434102c41c7b5f4
Ron Dreslinski [Thu, 30 Nov 2006 20:01:49 +0000 (15:01 -0500)]
Update stats to match writeback fix that was made
--HG--
extra : convert_revision :
3e0ed2b374d8d96798ea9b3416c9e5579cafacda
Lisa Hsu [Thu, 30 Nov 2006 16:53:33 +0000 (11:53 -0500)]
netperf-maerts-client.rcS:
change /netperf/netperf to /netperf-bin/netperf
nat-netperf-maerts-client.rcS:
bad comment that went with the file - accidentally committed but probably doesn't matter, i ust eliminated an ivlb in the script.
configs/boot/nat-netperf-maerts-client.rcS:
replace netperf/netperf with netperf-bin/netperf
configs/boot/netperf-maerts-client.rcS:
change /netperf/netperf to /netperf-bin/netperf
--HG--
extra : convert_revision :
32fed0042e267f315d3e688ebc4b66d7002b85f0
Ali Saidi [Thu, 30 Nov 2006 01:32:43 +0000 (20:32 -0500)]
Add TLB Dprintfs
fix addr alignment problem
--HG--
extra : convert_revision :
c691611d4d32bc95d0ae30243b30cd6634e7772b
Gabe Black [Wed, 29 Nov 2006 22:59:42 +0000 (17:59 -0500)]
Fixes to get compilation.
--HG--
extra : convert_revision :
cd6b496c4e4b32ce2a639eb9a2b6fbd62dfff2d1
Gabe Black [Wed, 29 Nov 2006 22:34:20 +0000 (17:34 -0500)]
Merge zizzer:/bk/sparcfs
into zower.eecs.umich.edu:/eecshome/m5/newmemmid
src/arch/sparc/isa_traits.hh:
src/arch/sparc/miscregfile.hh:
hand merge
--HG--
extra : convert_revision :
34f50dc5e6e22096cb2c08b5888f2b0fcd418f3e
Ali Saidi [Wed, 29 Nov 2006 22:11:20 +0000 (17:11 -0500)]
Merge zizzer:/bk/newmem
into zeep.pool:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision :
c358d5e3211756bbf905eef2a62b65a2e56a86f3
Ali Saidi [Wed, 29 Nov 2006 22:11:10 +0000 (17:11 -0500)]
Add support for mmapped iprs to atomic cpu
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
Kevin Lim [Wed, 29 Nov 2006 21:08:19 +0000 (16:08 -0500)]
Merge ktlim@zizzer:/bk/newmem
into zamp.eecs.umich.edu:/z/ktlim2/clean/tmp/test-regress
--HG--
extra : convert_revision :
3142f68356458ecd2677c30e9cf0a65005b782c2
Kevin Lim [Wed, 29 Nov 2006 21:07:55 +0000 (16:07 -0500)]
Change the connecting of the physPort and virtPort to the memory object below the CPU to happen every time activateContext is called. The overhead is probably a little higher than necessary, but allows these connections to properly be made when there are CPUs that are inactive until they are switched in.
Right now this introduces a minor memory leak as old physPorts and virtPorts are not deleted when new ones are created. A flyspray task has been created for this issue. It can not be resolved until we determine how the bus will handle giving out ID's to functional ports that may be deleted.
src/cpu/o3/cpu.cc:
src/cpu/simple/atomic.cc:
src/cpu/simple/timing.cc:
Change the setup of the physPort and virtPort to instead happen every time the CPU has a context activated. This is a little high overhead, but keeps it working correctly when the CPU does not have a physical memory attached to it until it switches in (like the case of switch CPUs).
src/cpu/o3/thread_context.hh:
Change function from being called at init() to just being called whenever the memory ports need to be connected.
src/cpu/o3/thread_context_impl.hh:
Update this to not delete the port if it's the same as the virtPort.
src/cpu/thread_context.hh:
Change function from being called at init() to whenever the memory ports need to be connected.
src/cpu/thread_state.cc:
Instead of initializing the ports, simply connect them, deleting any old ports that might exist. This allows these functions to be called multiple times.
src/cpu/thread_state.hh:
Ports are no longer initialized, but rather connected at context activation time.
--HG--
extra : convert_revision :
e399ce5dfbd6ad658c953a7c9c7b69b89a70219e
Kevin Lim [Wed, 29 Nov 2006 16:50:03 +0000 (11:50 -0500)]
Add in O3CPU to default CPU list.
--HG--
extra : convert_revision :
4aaaae058cb763580ea0b9019d4a9346938121d4
Ali Saidi [Tue, 28 Nov 2006 21:02:13 +0000 (16:02 -0500)]
add 2.0b2 release notes
--HG--
extra : convert_revision :
ce34f8086f682cc732bf868f6b9700e42c604ca3
Kevin Lim [Tue, 28 Nov 2006 16:41:17 +0000 (11:41 -0500)]
Merge ktlim@zizzer:/bk/newmem
into zamp.eecs.umich.edu:/z/ktlim2/clean/tmp/test-regress
--HG--
extra : convert_revision :
ffc7931d7da153b421b3c838a0968e484fd182ec
Kevin Lim [Tue, 28 Nov 2006 16:41:08 +0000 (11:41 -0500)]
Remove assertion. It's not needed and messes up writebacks when a 2 level cache is used in a uniprocessor setting.
--HG--
extra : convert_revision :
020a9799cd7177fdb85a767701d6fcb8cf018827
Steve Reinhardt [Mon, 27 Nov 2006 07:16:24 +0000 (02:16 -0500)]
Add TRACING_ON setting for m5.prof.
--HG--
extra : convert_revision :
ebda49bff30d76d3209acce55458d3f4e29594d3
Kevin Lim [Sun, 26 Nov 2006 16:46:58 +0000 (11:46 -0500)]
Include check for making sure caches are enabled.
--HG--
extra : convert_revision :
e3902b065db524ebe5bf762e44a840133ccb8d75
Gabe Black [Sat, 25 Nov 2006 03:06:33 +0000 (22:06 -0500)]
Initial changes to get O3 working with SPARC
src/arch/sparc/process.cc:
MachineBytes doesn't exist any more.
src/arch/sparc/regfile.cc:
Add in the miscRegFile for good measure.
src/cpu/o3/isa_specific.hh:
Add in a section for SPARC
src/cpu/o3/sparc/cpu.cc:
src/cpu/o3/sparc/cpu.hh:
src/cpu/o3/sparc/cpu_builder.cc:
src/cpu/o3/sparc/cpu_impl.hh:
src/cpu/o3/sparc/dyn_inst.cc:
src/cpu/o3/sparc/dyn_inst.hh:
src/cpu/o3/sparc/dyn_inst_impl.hh:
src/cpu/o3/sparc/impl.hh:
src/cpu/o3/sparc/params.hh:
src/cpu/o3/sparc/thread_context.cc:
src/cpu/o3/sparc/thread_context.hh:
Sparc version of this file.
--HG--
extra : convert_revision :
34bb5218f802d0a1328132a518cdd769fb59b6a4
Gabe Black [Fri, 24 Nov 2006 19:08:44 +0000 (14:08 -0500)]
Merge zower:/eecshome/m5/newmem
into ewok.(none):/home/gblack/m5/newmemo3
--HG--
extra : convert_revision :
e8d6ce19a83fe526112c1dd61c48196eb8c0951f
Gabe Black [Fri, 24 Nov 2006 19:08:43 +0000 (14:08 -0500)]
Merge zizzer:/bk/newmem
into zower.eecs.umich.edu:/eecshome/m5/newmem
--HG--
extra : convert_revision :
7dbd30ce5579dd62d5f54bb5d75cf12346bc5d1d
Gabe Black [Fri, 24 Nov 2006 19:01:18 +0000 (14:01 -0500)]
Rename this function.
--HG--
extra : convert_revision :
57ea1e1d3b75e35abb3310d392ec70086fff699a
Gabe Black [Fri, 24 Nov 2006 19:00:45 +0000 (14:00 -0500)]
Fix weird type modifier.
--HG--
extra : convert_revision :
7372b7a92b3c9d05388acb43ba58ada18464fa24
Gabe Black [Fri, 24 Nov 2006 19:00:00 +0000 (14:00 -0500)]
Fix an include problem.
--HG--
extra : convert_revision :
89be55bd3f4f9b452a680a98b69ce42b80546769
Steve Reinhardt [Fri, 24 Nov 2006 17:32:33 +0000 (12:32 -0500)]
Add no-op versions of ivlb and ivle back in for backwards compatibility.
--HG--
extra : convert_revision :
383b72c130b20f3d7cde4e08fa36a481f3c0bf7c
Steve Reinhardt [Thu, 23 Nov 2006 15:46:24 +0000 (10:46 -0500)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/newmem
into zizzer.eecs.umich.edu:/z/stever/bk/newmem-head
--HG--
extra : convert_revision :
154bc605c62b1e51c32e65916d4c2eda3a3f22fd
Ali Saidi [Thu, 23 Nov 2006 06:44:49 +0000 (01:44 -0500)]
Merge zizzer:/bk/sparcfs
into zeep.pool:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision :
f540987901994fe9dc023587fd555efb2dbf24bf
Ali Saidi [Thu, 23 Nov 2006 06:42:57 +0000 (01:42 -0500)]
first cut at a sparc tlb
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
Gabe Black [Thu, 23 Nov 2006 06:27:41 +0000 (01:27 -0500)]
Use the right constant.
--HG--
extra : convert_revision :
f93182ed41057025cc10df443b24e82fbe783df6
Gabe Black [Thu, 23 Nov 2006 05:36:42 +0000 (00:36 -0500)]
Fixes to the isa description.
src/arch/sparc/isa/base.isa:
Fix a constant.
src/arch/sparc/isa/decoder.isa:
Made carry calculation more consistent.
src/arch/sparc/isa/operands.isa:
Use the right constant.
--HG--
extra : convert_revision :
25b3a09ff20d4b8e1a95ee8a983d14ef3cfe73bb
Gabe Black [Thu, 23 Nov 2006 04:49:44 +0000 (23:49 -0500)]
Moved some constants from isa_traits.hh to the reg file headers.
--HG--
extra : convert_revision :
378b2d9791e6282539900a2261ad2275d726b4be
Gabe Black [Thu, 23 Nov 2006 04:09:27 +0000 (23:09 -0500)]
Added a parameter to set memory to zero. This is to support Legion, and once we can make our own hypervisor binary, we probably won't need it.
--HG--
extra : convert_revision :
168883e4a5d3760962cd9759a6f41c66f5a6402a
Ron Dreslinski [Thu, 23 Nov 2006 01:20:38 +0000 (20:20 -0500)]
Do a functional access to levels above on a read as a temporary solution for L2's in FS
Fix a small writeback bug when missing in the L2 in atomic mode
src/mem/bus.cc:
Fix a comment to make sense
src/mem/cache/cache_impl.hh:
Do a functional access to levels above on a read as a temporary solution for L2's in FS
Also fix a small writeback miss in L2 issue
src/mem/cache/coherence/simple_coherence.hh:
src/mem/cache/coherence/uni_coherence.cc:
src/mem/cache/coherence/uni_coherence.hh:
Do a functional access to levels above on a read as a temporary solution for L2's in FS
tests/quick/00.hello/ref/alpha/linux/o3-timing/m5stats.txt:
tests/quick/00.hello/ref/alpha/linux/simple-timing/m5stats.txt:
tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/m5stats.txt:
Update ref's for writeback changes
--HG--
extra : convert_revision :
937febd577b16b7fd97a5a68acaf53541828a251
Gabe Black [Wed, 22 Nov 2006 20:45:32 +0000 (15:45 -0500)]
Merge zizzer:/bk/sparcfs
into zower.eecs.umich.edu:/eecshome/m5/newmem
--HG--
extra : convert_revision :
75f3398e38e18eb1f8248e23708d7a8d8cce0fc5
Gabe Black [Mon, 20 Nov 2006 23:11:19 +0000 (18:11 -0500)]
Fix an assert to correctly make sure a request falls entirely inside a memory.
--HG--
extra : convert_revision :
71cf02edffbc7029666c0d9c97b67e1d32332758
Gabe Black [Mon, 20 Nov 2006 23:09:55 +0000 (18:09 -0500)]
Add in checks of more Legion based state, and put in more sophisticated formatting functions.
--HG--
extra : convert_revision :
e3aa5919a6480aa01924c832a86fa1e8ddf5ba0d
Gabe Black [Mon, 20 Nov 2006 23:08:50 +0000 (18:08 -0500)]
Make sure only real bits of pstate can be set.
--HG--
extra : convert_revision :
8707bbed2aeb80613f86503e92b63853767adaa9
Gabe Black [Mon, 20 Nov 2006 23:07:58 +0000 (18:07 -0500)]
Set the pstate.priv bit to 1 in hyperpriveleged mode. The description in the manual of what happens during a trap says it should be 0, and other places say it doesn't matter.
--HG--
extra : convert_revision :
9ecb6af06657e936a208cbeb8e4a18305869b949
Gabe Black [Mon, 20 Nov 2006 22:59:35 +0000 (17:59 -0500)]
Add in rom/rams for the nvram, hypervisor description, and partition description.
--HG--
extra : convert_revision :
a49de5fcfbea307c971964b8a68b95eb5d9a2bf4
Kevin Lim [Mon, 20 Nov 2006 16:44:27 +0000 (11:44 -0500)]
Fix typo.
--HG--
extra : convert_revision :
2dd830c6b3b5df894608b7596250b0181a3dfdf0
Steve Reinhardt [Sun, 19 Nov 2006 23:38:12 +0000 (18:38 -0500)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/newmem
into zizzer.eecs.umich.edu:/z/stever/bk/newmem-head
--HG--
extra : convert_revision :
c2b7784377d85df5b8ee39c891cd3da9907410d8
Kevin Lim [Sun, 19 Nov 2006 22:43:03 +0000 (17:43 -0500)]
Update Virtual and Physical ports.
src/cpu/o3/alpha/cpu_impl.hh:
Handle the PhysicalPort and VirtualPort in the ThreadState.
src/cpu/o3/cpu.cc:
Initialize the thread context.
src/cpu/o3/thread_context.hh:
Add new function to initialize thread context.
src/cpu/o3/thread_context_impl.hh:
Use code now put into function.
src/cpu/simple_thread.cc:
Move code to ThreadState and use the new helper function.
src/cpu/simple_thread.hh:
Remove init() in this derived class; use init() from ThreadState base class.
src/cpu/thread_state.cc:
Move setting up of Physical and Virtual ports here. Change getMemFuncPort() to connectToMemFunc(), which connects a port to a functional port of the memory object below the CPU.
src/cpu/thread_state.hh:
Update functions.
--HG--
extra : convert_revision :
ff254715ef0b259dc80d08f13543b63e4024ca8d
Ron Dreslinski [Sat, 18 Nov 2006 03:01:18 +0000 (22:01 -0500)]
Merge zizzer:/bk/newmem
into zazzer.eecs.umich.edu:/z/rdreslin/m5bk/newmemcleanest
--HG--
extra : convert_revision :
1fc55d7d5707bb7c63790aab306ca5ea8ade5fab
Ron Dreslinski [Sat, 18 Nov 2006 02:55:28 +0000 (21:55 -0500)]
Make an initialization pass for the thread context and set the [phys,virt]Port correctly
src/cpu/simple/atomic.cc:
src/cpu/simple/timing.cc:
Call the thread context initialization
--HG--
extra : convert_revision :
d7dc2a8b893dc670077b7f6150d4b710a1778620
Nathan Binkert [Thu, 16 Nov 2006 21:18:21 +0000 (13:18 -0800)]
add warn_once which will print any given warning message
only once.
--HG--
extra : convert_revision :
b64bb495c1bd0c4beb3db6ca28fad5af4d05ef8e
Nathan Binkert [Thu, 16 Nov 2006 21:10:38 +0000 (13:10 -0800)]
Implement a single config file to encompass all of the SPEC
CPU2000 stuff, and use it in all of the tests that currently
use SPEC
--HG--
extra : convert_revision :
8cd26a597e51a90b6d2810d344a075f5aa0f011b
Nathan Binkert [Thu, 16 Nov 2006 21:08:29 +0000 (13:08 -0800)]
implement RUSAGE_CHILDREN for getrusage since it's trivial
--HG--
extra : convert_revision :
bc12b3b2e9ee02f42c437cbc20680ea00e19a801
Nathan Binkert [Thu, 16 Nov 2006 20:43:11 +0000 (12:43 -0800)]
Implement current working directory for LiveProcesses
--HG--
extra : convert_revision :
a2d3cf29ab65c61af27d82a8c421a41a19fd5aeb
Gabe Black [Thu, 16 Nov 2006 19:42:44 +0000 (14:42 -0500)]
Merge zower.eecs.umich.edu:/home/gblack/m5/newmemmemops
into zower.eecs.umich.edu:/eecshome/m5/newmem
--HG--
extra : convert_revision :
74b2352b8f088e38cd1ecf3a8233b45df0476d93
Gabe Black [Thu, 16 Nov 2006 19:41:56 +0000 (14:41 -0500)]
Merge zizzer.eecs.umich.edu:/bk/newmem/
into zower.eecs.umich.edu:/home/gblack/m5/newmemmemops
--HG--
extra : convert_revision :
c49b760eac758dbde30867cb638fcb3b790f4721
Gabe Black [Thu, 16 Nov 2006 17:34:10 +0000 (12:34 -0500)]
Fixes for SPARC_FS
configs/common/FSConfig.py:
Make a SPARC system create an IO bus.
src/python/m5/objects/T1000.py:
Create a T1000 platform
src/arch/sparc/miscregfile.cc:
Initialize the strand status register to the value legion provides.
src/cpu/exetrace.cc:
Truncate an ExtMachInst to a MachInst before comparing with Legion.
--HG--
extra : convert_revision :
e4189b572a5297e8362f5bd26d87b74736c8e5f1
Ron Dreslinski [Wed, 15 Nov 2006 23:22:15 +0000 (18:22 -0500)]
Add L2 cache option to fs.py --l2cache
--HG--
extra : convert_revision :
5bdd1129c3b23e91d441e7b83f6a824ef7740fab
Ron Dreslinski [Tue, 14 Nov 2006 23:41:37 +0000 (18:41 -0500)]
Merge zizzer:/bk/newmem
into zazzer.eecs.umich.edu:/z/rdreslin/m5bk/newmemcleanest
--HG--
extra : convert_revision :
8d61b474428d494b1a5382e4cf95934ad54e35dd
Kevin Lim [Tue, 14 Nov 2006 22:22:32 +0000 (17:22 -0500)]
Various fixes to delete packet and request a little better.
src/cpu/simple/timing.cc:
Various updates for deleting requests more properly.
The major change is moving the deletion of the fetch request/packet to after the instruction has executed and completed. This should fix a few bugs because Ron's memory system didn't expect a call for a functional access while a timing access was being processed.
--HG--
extra : convert_revision :
c7cf114bb1ff3cdaa7b0a40ed4c5302dc9d3a522
Ron Dreslinski [Tue, 14 Nov 2006 22:19:57 +0000 (17:19 -0500)]
Merge zizzer:/bk/newmem
into zazzer.eecs.umich.edu:/z/rdreslin/m5bk/newmemcleanest
--HG--
extra : convert_revision :
b216fcdb2632dce68ac18932b0c13408eb1aeaf4
Ron Dreslinski [Tue, 14 Nov 2006 22:15:05 +0000 (17:15 -0500)]
Fix bugs around uni-coherence invalidates being propogated properly.
src/mem/bus.cc:
Make it so that invalidates being sent from the responder up don't call the responder
but they should also not Panic.
src/mem/packet.hh:
If we don't have data in the packet, don't call deleteData:
Example: InvalidateRequests never have data.
--HG--
extra : convert_revision :
18766bc9f3bb4d852ac651d094254d347abd1634
Gabe Black [Tue, 14 Nov 2006 20:23:23 +0000 (15:23 -0500)]
Merge zizzer.eecs.umich.edu:/bk/newmem/
into zeep.eecs.umich.edu:/home/gblack/m5/newmemmemops
--HG--
extra : convert_revision :
966246877ac1f1e6c2675d413b0b405cccfecbeb
Gabe Black [Tue, 14 Nov 2006 20:14:28 +0000 (15:14 -0500)]
Merge 141.212.106.238:/home/gblack/m5/newmemmemops
into zizzer.eecs.umich.edu:/.automount/wexford/x/gblack/m5/newmem
--HG--
extra : convert_revision :
8e805b9bbd5c64c2e5951384b3c6ef712062d08c
Gabe Black [Tue, 14 Nov 2006 20:14:27 +0000 (15:14 -0500)]
Create a stub t1000 platform.
--HG--
extra : convert_revision :
7e27b23b66c743b4625a1dd9d8d6ba61bff45168
Lisa Hsu [Tue, 14 Nov 2006 18:00:05 +0000 (13:00 -0500)]
Merge zizzer:/bk/newmem
into zed.eecs.umich.edu:/z/hsul/work/sparc/m5
--HG--
extra : convert_revision :
6abd919711966eaaa157483557a3f953b02dde01
Lisa Hsu [Tue, 14 Nov 2006 17:59:57 +0000 (12:59 -0500)]
interrupts.hh:
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
Ron Dreslinski [Tue, 14 Nov 2006 15:09:13 +0000 (10:09 -0500)]
If all the targets aren't satisfied, reinitialize the packet.
--HG--
extra : convert_revision :
5b0a977a162a1b881b97a3185fb386cc76632a4a
Ron Dreslinski [Tue, 14 Nov 2006 06:38:42 +0000 (01:38 -0500)]
Update atomic and functional paths for snoops as well
--HG--
extra : convert_revision :
566d73438efb87ca683e4dee23454d880db3dfc7
Gabe Black [Tue, 14 Nov 2006 06:31:37 +0000 (01:31 -0500)]
Merge 141.212.106.238:/home/gblack/m5/newmemmemops
into zizzer.eecs.umich.edu:/.automount/wexford/x/gblack/m5/newmem
--HG--
extra : convert_revision :
cda58e6e63f2f909b85a510fb76d35d49d8042b9
Gabe Black [Tue, 14 Nov 2006 06:30:34 +0000 (01:30 -0500)]
Set hpstate to be what I'm assuming Legion is.
--HG--
extra : convert_revision :
0be66513cb0cff07c0c2b50c97c1ea74d52b0dc9
Gabe Black [Tue, 14 Nov 2006 06:29:11 +0000 (01:29 -0500)]
Make sure a POR doesn't clobber the value of the hpstate.
--HG--
extra : convert_revision :
4504f08fd94792819bd4419bbd2e0ebd1d7f29e9
Gabe Black [Tue, 14 Nov 2006 06:28:11 +0000 (01:28 -0500)]
Fix up the disassembly a little.
--HG--
extra : convert_revision :
7bdf68f445b79b1b5dbcdfa5fa1005c68d03724c
Gabe Black [Tue, 14 Nov 2006 06:23:59 +0000 (01:23 -0500)]
Merge 141.212.106.238:/home/gblack/m5/newmemmemops
into zizzer.eecs.umich.edu:/.automount/wexford/x/gblack/m5/newmem
--HG--
extra : convert_revision :
753831a9f6f79d07e6ee122ab894e24161d2e722
Ron Dreslinski [Tue, 14 Nov 2006 06:13:26 +0000 (01:13 -0500)]
Update phase param in the .py file for the cpus
--HG--
extra : convert_revision :
cd2eb8c00adcb34b8693a4d1a66187927c0f6803
Ron Dreslinski [Tue, 14 Nov 2006 06:12:52 +0000 (01:12 -0500)]
Update bus bridges now that snoop ranges are passed properly
src/mem/bridge.cc:
Update brdiges, now that snoop addresses are properly forwarded.
Bus bridge should only handle snoops on the second phase (SNOOP_COMMIT)
src/mem/bus.cc:
src/mem/bus.hh:
Make sure if a busBridge has access to both things that snoop and things that respond it only takes the request once
--HG--
extra : convert_revision :
26cc9ee4429be45d4476fa435e0e9a54843c2509
Ron Dreslinski [Tue, 14 Nov 2006 06:10:36 +0000 (01:10 -0500)]
Make cpu's capable of having a phase shift
--HG--
extra : convert_revision :
7f082ba5c1cd2445aec731950c31a877aac23a75
Ron Dreslinski [Tue, 14 Nov 2006 03:37:22 +0000 (22:37 -0500)]
Fix a bug to handle the fact that a CPU can send Functional accesses while a sendTiming has not returned in the call stack.
src/mem/cache/base_cache.cc:
Sometimes a functional access comes while waiting on a outstanding packet being sent.
This could be because Timing CPU does some post processing on the recvTiming which send functional access.
Either the CPU should leave the pkt/req around (so They can be referenced in the mem system). Or the mem
system should remove them from outstanding lists and reinsert them if they fail in the sendTiming.
I did the later, eventually we should consider doing the former if that is the correct behavior.
--HG--
extra : convert_revision :
be41e0d2632369dca9d7c15e96e5576d7583fe6a
Ron Dreslinski [Tue, 14 Nov 2006 02:59:50 +0000 (21:59 -0500)]
Merge zizzer:/bk/newmem
into zazzer.eecs.umich.edu:/z/rdreslin/m5bk/newmemcleanest
--HG--
extra : convert_revision :
253766a17bb5e109f8ad76b3c54e443db5274ef5
Ron Dreslinski [Tue, 14 Nov 2006 02:34:25 +0000 (21:34 -0500)]
If we didn't satisfy all targets, reset the packet we are requesting with.
--HG--
extra : convert_revision :
736372131b046eccf3520292fb3c086dc568d918
Ron Dreslinski [Tue, 14 Nov 2006 02:33:01 +0000 (21:33 -0500)]
Fix some errors related to snooping and functional access in the bus
src/mem/bus.cc:
Only call snoop once per port, need to fix it so snoop ranges that overlap aren't added to list
Functional accesses that call snoop and it goes to a higher bus may change the src, reset it after each snoop.
--HG--
extra : convert_revision :
7276059c798a85cb9d138ccc5531298ecd055c13