Re: [m5-dev] encumbered: CPU: Stop using the ArgumentReg array to get argumen...

2009-02-27 Thread Korey Sewell
Hey Gabe, why did we make the switch from ArgumentReg array to argument names? Just wondering. On Fri, Feb 27, 2009 at 12:37 PM, Gabe Black wrote: > changeset 4270e0502e5e in /z/repo/encumbered > details: http://repo.m5sim.org/encumbered?cmd=changeset;node=4270e0502e5e > summary: CPU: Stop using

Re: [m5-dev] suspending unallocated context

2009-02-28 Thread Korey Sewell
Nate, are you referring to the CPU's state vs. the actual thread-object's state? That connection between the two in my opinion has been ad-hoc for awhile or at least beyond my complete understanding. Changing things for FS breaks SE and vice-versa. Needless to say, we should probably get this st

[m5-dev] [PATCH 0 of 5] Updates to InOrder Model; MIPS *was* slightly broken after import

2009-03-02 Thread Korey Sewell
Updates to InOrder Model; MIPS *was* slightly broken after import == -Of note is that I needed to an ID to the timebuffer class so that generic pipeline stages could figure out what timebuffer they were accessing. -Updated defaults in InOrder as newer changes forced param values to have a def

[m5-dev] [PATCH 1 of 5] use numCycles instead of simTicks to determine CPI stat in InOrder

2009-03-02 Thread Korey Sewell
# HG changeset patch # User Korey Sewell # Date 1236007005 18000 # Node ID 8340f7c1862ea4bcb29e6e018dbdb8ae19b282ce # Parent 5e7899a2692f4b048620400643d320817af20624 use numCycles instead of simTicks to determine CPI stat in InOrder diff -r 5e7899a2692f -r 8340f7c1862e src/cpu/inorder/cpu.cc

[m5-dev] [PATCH 3 of 5] InOrder didnt have all it's params set to a default value, which is now required for M5 objects; Also, a # of values need to be reset to 0 (or the appropriate value) before we

2009-03-02 Thread Korey Sewell
# HG changeset patch # User Korey Sewell # Date 1236007007 18000 # Node ID 9a2e4b6c275a8513f040d4cb7604b2f8f25aeb68 # Parent bcb6c464587b1ef278165ff41442b226fed2a4a9 InOrder didnt have all it's params set to a default value, which is now required for M5 objects; Also, a # of values need

[m5-dev] [PATCH 4 of 5] make handling of interstage buffers (i.e. StageQueues) more consistent: (1)number from 0-n, not 1-n+1, (2) always check nextStageValid before a stageNum+1 and prevStageValid fo

2009-03-02 Thread Korey Sewell
# HG changeset patch # User Korey Sewell # Date 1236007009 18000 # Node ID 2c4821af1e8314377232578e7aa72177bad27761 # Parent 9a2e4b6c275a8513f040d4cb7604b2f8f25aeb68 make handling of interstage buffers (i.e. StageQueues) more consistent: (1)number from 0-n, not 1-n+1, (2) always check

[m5-dev] [PATCH 5 of 5] Remove un-used functions/comments cluttering up the code

2009-03-02 Thread Korey Sewell
# HG changeset patch # User Korey Sewell # Date 1236007011 18000 # Node ID 83adb3fded0dc5a2c0667609d5e4392440181bed # Parent 2c4821af1e8314377232578e7aa72177bad27761 Remove un-used functions/comments cluttering up the code. diff -r 2c4821af1e83 -r 83adb3fded0d src/cpu/inorder/SConscript --- a

[m5-dev] [PATCH 2 of 5] Give TimeBuffer an ID that can be set. Necessary because InOrder uses generic stages so w/o an ID there is no way to differentiate buffers when debugging

2009-03-02 Thread Korey Sewell
# HG changeset patch # User Korey Sewell # Date 1236007006 18000 # Node ID bcb6c464587b1ef278165ff41442b226fed2a4a9 # Parent 8340f7c1862ea4bcb29e6e018dbdb8ae19b282ce Give TimeBuffer an ID that can be set. Necessary because InOrder uses generic stages so w/o an ID there is no way to

Re: [m5-dev] [PATCH 2 of 5] Give TimeBuffer an ID that can be set. Necessary because InOrder uses generic stages so w/o an ID there is no way to differentiate buffers when debugging

2009-03-02 Thread Korey Sewell
. > > Nate > > On Mon, Mar 2, 2009 at 7:58 AM, Korey Sewell wrote: >> # HG changeset patch >> # User Korey Sewell >> # Date 1236007006 18000 >> # Node ID bcb6c464587b1ef278165ff41442b226fed2a4a9 >> # Parent 8340f7c1862ea4bcb29e6e018dbdb8ae19b282ce >>

Re: [m5-dev] [PATCH 3 of 5] InOrder didnt have all it's params set to a default value, which is now required for M5 objects; Also, a # of values need to be reset to 0 (or the appropriate value) before

2009-03-02 Thread Korey Sewell
Good catch. I'll go through and make sure this is done throughout the model before commit... On Mon, Mar 2, 2009 at 12:18 PM, nathan binkert wrote: >> @@ -53,6 +53,15 @@ struct InterStageStruct { >> uint64_t nextPC; >> InstSeqNum squashedSeqNum; >> bool includeSquashInst; >> + >> +

[m5-dev] changeset in m5: use numCycles instead of simTicks to determine ...

2009-03-04 Thread Korey Sewell
changeset 2a2c2403ee5b in /z/repo/m5 details: http://repo.m5sim.org/m5?cmd=changeset;node=2a2c2403ee5b description: use numCycles instead of simTicks to determine CPI stat in InOrder diffstat: 1 file changed, 2 insertions(+), 2 deletions(-) src/cpu/inorder/cpu.cc |4 ++-- diffs (21 li

[m5-dev] changeset in m5: Give TimeBuffer an ID that can be set. Necessar...

2009-03-04 Thread Korey Sewell
changeset 4842a7d78634 in /z/repo/m5 details: http://repo.m5sim.org/m5?cmd=changeset;node=4842a7d78634 description: Give TimeBuffer an ID that can be set. Necessary because InOrder uses generic stages so w/o an ID there is no way to differentiate buffers when debugging diffstat: 3 files

[m5-dev] changeset in m5: InOrder didnt have all it's params set to a def...

2009-03-04 Thread Korey Sewell
changeset b4e30b30f695 in /z/repo/m5 details: http://repo.m5sim.org/m5?cmd=changeset;node=b4e30b30f695 description: InOrder didnt have all it's params set to a default value, which is now required for M5 objects; Also, a # of values need to be reset to 0 (or the appropriate value) before

[m5-dev] changeset in m5: make handling of interstage buffers (i.e. Stage...

2009-03-04 Thread Korey Sewell
changeset a6d07755d34f in /z/repo/m5 details: http://repo.m5sim.org/m5?cmd=changeset;node=a6d07755d34f description: make handling of interstage buffers (i.e. StageQueues) more consistent: (1)number from 0-n, not 1-n+1, (2) always check nextStageValid before a stageNum+1 and prevStageValid

[m5-dev] changeset in m5: Remove unused functions/comments cluttering up ...

2009-03-04 Thread Korey Sewell
changeset a87880065b42 in /z/repo/m5 details: http://repo.m5sim.org/m5?cmd=changeset;node=a87880065b42 description: Remove unused functions/comments cluttering up the code. diffstat: 13 files changed, 14 insertions(+), 159 deletions(-) src/cpu/inorder/SConscript |2 - src/

[m5-dev] changeset in m5: Give each resource in InOrder it's own TraceFla...

2009-03-04 Thread Korey Sewell
changeset 38e32429b739 in /z/repo/m5 details: http://repo.m5sim.org/m5?cmd=changeset;node=38e32429b739 description: Give each resource in InOrder it's own TraceFlag instead of just standard 'Resource' flag diffstat: 11 files changed, 87 insertions(+), 77 deletions(-) src/cpu/inorder/SCon

Re: [m5-dev] changeset in m5: InOrder didnt have all it's params set to a def...

2009-03-04 Thread Korey Sewell
> > InOrderDynInst::InOrderDynInst() > : traceData(NULL), cpu(cpu) > -{ initVars(); } > +{ > +seqNum = 0; > +initVars(); > +} > Sorry guys, I'm aware of this... Constructor initialization will be updated in next changeset. I want to go through all the InOrderCPU structures and clean

[m5-dev] changeset in m5: InOrderCPU: Clean up Constructors to initialize...

2009-03-04 Thread Korey Sewell
changeset 4ed2100efa84 in /z/repo/m5 details: http://repo.m5sim.org/m5?cmd=changeset;node=4ed2100efa84 description: InOrderCPU: Clean up Constructors to initialize variables correctly (i.e. in a way for the compiler to play *nice*) diffstat: 11 files changed, 33 insertions(+), 66 deletio

Re: [m5-dev] MIPS UTB and multiple inheritance.

2009-03-05 Thread Korey Sewell
I believe the reason the UTB thing was done in that way was to try to match the current M5 infrastructure which require ITB and DTB pointers in every CPU model and have a few functions that hardcode (itb->___ or dtb->___). If you dont derive UTB from both ITB and DTB you'll have a problem there wi

Re: [m5-dev] MIPS UTB and multiple inheritance.

2009-03-06 Thread Korey Sewell
OK, so the solution should probably be move the ITB/DTB functions into one base TLB and then let a unified TLB derive off of that...correct? This would allow us the two standard ITB and DTB pointers we've been using...but also avoid multiple inheritance issues as well. On Fri, Mar 6, 2009 at 2:12

Re: [m5-dev] MIPS UTB and multiple inheritance.

2009-03-06 Thread Korey Sewell
Gabe, aren't those per-CPU python parameters? In other words, each CPU instantiates it' own set of parameters in the config file through this python interface...right? On Fri, Mar 6, 2009 at 3:09 AM, Gabe Black wrote: > Is the following correct? This is in the BaseCPU where it sets up the > data

Re: [m5-dev] MIPS UTB and multiple inheritance.

2009-03-06 Thread Korey Sewell
Nate, I didn't directly implement that UTB part myself but I believe the mips utlb has some different features than a normal tlb which allows them to share one structure. I think that's part of their "claim to fame" so to speak... Unfortunately, I can't think of the exact mechanism right now, but

Re: [m5-dev] MIPS UTB and multiple inheritance.

2009-03-06 Thread Korey Sewell
> > That may be true, but none of it is actually in the UTB that we have > in our tree. All the UTB does is inherit from DTB and ITB and that's > it. > Although the UTB inheriting from the DTB and ITB seems pointless from the outset, the way it was implemented is that if you can combine the functi

Re: [m5-dev] thread context status

2009-03-17 Thread Korey Sewell
I'd go with Active, Suspended, and Unallocated. In my interpretation, the threads start in Suspended state because that meant that you've allocated registers for that thread but it currently isn't running. While Unallocated or Halted would mean that the CPU has no knowledge or register binding for

[m5-dev] Deletion of Mem.Isa "EAComp" and "MemAcc" Unused Code

2009-03-17 Thread Korey Sewell
I would like to delete some code that has caused me confusion for awhile and it seems its not even used anymore. In the mem.isa files, two instruction objects EAComp and MemAcc are added to each memory instruction. These can be referenced by the eaCompPtr() and memAccPtr() in the instruction objec

[m5-dev] Isa_parser operands bug

2009-03-17 Thread Korey Sewell
>From the previous email, it seems there is a potential bug that is exposed with the EAComp access. When the ISA Parser generates instruction objects, it only generates operands that are used in the instruction definition. This works out well except for the case where we are only doing the addres

Re: [m5-dev] thread context status

2009-03-17 Thread Korey Sewell
t web with it's own meaning of Halt. On Tue, Mar 17, 2009 at 8:43 AM, Korey Sewell wrote: > I'd go with Active, Suspended, and Unallocated. > > In my interpretation, the threads start in Suspended state because that > meant that you've allocated registers for that thread

Re: [m5-dev] Isa_parser operands bug

2009-03-17 Thread Korey Sewell
Param knows about are coordinated so that > instruction classes with different pieces in different templates are set > up consistently. You might not be taking advantage of one of those but > there could be a bug too. > > Gabe > > Korey Sewell wrote: > > >From the previou

Re: [m5-dev] Isa_parser operands bug

2009-03-17 Thread Korey Sewell
Yea, that's why I'm saying just delete that old code for EAcomp and MemAcc because of all the CPU models use initiateAcc and completeAcc anyway... On Tue, Mar 17, 2009 at 12:53 PM, Gabe Black wrote: > Korey Sewell wrote: > > I theorize it hasn't come up, because the c

Re: [m5-dev] Isa_parser operands bug

2009-03-17 Thread Korey Sewell
7;re not even implemented in SPARC > or x86, but you can fix them if you use one InstObjParam for everything > in one instruction. > > Gabe > > Korey Sewell wrote: > > Yea, that's why I'm saying just delete that old code for EAcomp and > > MemAcc because of all the

Re: [m5-dev] Isa_parser operands bug

2009-03-18 Thread Korey Sewell
- In saying we should wack EAComp and MemAcc, I neglected to mention my solution which was to create another function similar to "initiateAcc" and "completeAcc" called "addrGen" which basically does what EAComp does but doesnt write back the memory_access code but ensured the write operands would g

Re: [m5-dev] Isa_parser operands bug

2009-03-21 Thread Korey Sewell
> > The only compelling reason I see to avoid initateAcc() is if for some > reason the input operands for the EA calculation were no longer > available at that point in the pipeline. It's a possible optimization that you could early release a source register after it's already been used to calcula

Re: [m5-dev] Isa_parser operands bug

2009-03-23 Thread Korey Sewell
> > Yes, that's exactly my point. I'm proposing that we do it all through > functions and get rid of the subinstructions. I'm trying to figure > out if the subinstructions are actually buying us anything that we > need at this point. > Well, other than provide a easy/proven way to read only the r

Re: [m5-dev] thread context status

2009-03-29 Thread Korey Sewell
Looks like a few of these issues are up my alley. I've been out of town for the weekend, so I will take a strong look at these after I get back tonight. On a first look, I'm thinking that the "activateWhenReady" code could be safely removed since individual threads changing from active to unalloc

Re: [m5-dev] thread context status

2009-03-31 Thread Korey Sewell
Comments below: > The other place it's called though is in > InOrderThreadContext::setThreadRescheduleCondition, a function that > doesn't appear to be called from anywhere itself, so it's hard to say > what it's supposed to be doing. That function is supposed to be called from arch/mips/mt.hh wh

Re: [m5-dev] Memory corruption in m5 dev repository when using --trace-flags="ExecEnable"

2009-04-03 Thread Korey Sewell
I would echo Gabe sentiments. I've been suspicious of the trace-flags causing memory corruption for awhile now, but every time I dig into it there's some small error that I'm propagating through that finally surfaces. In the big picture, I suspect that the trace-flags just exacerbate any kind of m

Re: [m5-dev] MIPS O3 fault

2009-04-06 Thread Korey Sewell
Hi, thanks for your interest in M5. I'd be happy to assist with solving some of these problems as updating and committing regressions for the MIPS O3 model has long been overdue on my part. I actually believed that we had fixed this earlier so I was a bit surprised to see this same error. For your

Re: [m5-dev] MIPS O3 fault

2009-04-07 Thread Korey Sewell
simultaneously keep everything else working. This is nontrivial BUT I'm working on it. 2009/4/6 Korey Sewell > Hi, thanks for your interest in M5. I'd be happy to assist with solving > some of these problems as updating and committing regressions for the MIPS > O3 model has l

Re: [m5-dev] changeset in m5: tlb: Don't separate the TLB classes into an ins...

2009-04-09 Thread Korey Sewell
For the TLB changes, can someone elaborate on what the 3 modes mean {Read, Write, Execute}? I ask because in the translateAtomic function it seems as if the only modes that matter are Write and Execute. Why does Read not matter? I might be missing something simple, but it seems as if there are on

Re: [m5-dev] changeset in m5: tlb: Don't separate the TLB classes into an ins...

2009-04-09 Thread Korey Sewell
The file I'm referring to is arch/alpha/tlb.cc and specifically the translateAtomic() function implemented there. Basically, having the "Read" mode is irrelevant there since it's given a default type of "write" when it calls translateData(). Then in the translateData() function it goes ahead and g

Re: [m5-dev] changeset in m5: tlb: Don't separate the TLB classes into an ins...

2009-04-09 Thread Korey Sewell
oohhh, wow ok, yea, I just misread the code then. That's *just* the default value. I knew something just wasn't right there in how I was looking at it. The other issue I had was from the "write" value and confusing that with the mode derived from the system register in the translateD

[m5-dev] How can I add a new regression test for InOrder???

2009-04-09 Thread Korey Sewell
If I would like to add a new regression test for the InOrder model what are the steps? The WIKI entry I wrote is painfully outdated. So far, I've collected the stats from m5.fast & placed them in the correct folder (quick/hello/ref/inorder-timing). What do I need to to get M5 to recognize this re

Re: [m5-dev] How can I add a new regression test for InOrder???

2009-04-09 Thread Korey Sewell
n/mJust took a little digging If anyone wants to do this, you need to look in the m5/tests/SConscript file and add your CPU-model to the script toward the bottom around line 265... On Thu, Apr 9, 2009 at 12:54 PM, Korey Sewell wrote: > If I would like to add a new regression test

Re: [m5-dev] How can I add a new regression test for InOrder???

2009-04-09 Thread Korey Sewell
can I update the regression stats? Thanks for the help. The sooner I can get a hold of this the sooner I can get stuff I've worked on 'stable' in the tree. -Korey On Thu, Apr 9, 2009 at 8:50 PM, Korey Sewell wrote: > n/mJust took a little digging > > If a

Re: [m5-dev] How can I add a new regression test for InOrder???

2009-04-09 Thread Korey Sewell
nary) has changed; it will just print out the result of the > last run if it thinks it's up to date. To force the test to be run you have > to delete all the files in the test dir (under build/*/tests). > > Steve > > On Thu, Apr 9, 2009 at 8:31 PM, Korey Sewell wrote:

[m5-dev] [PATCH 00 of 10] InOrder Alpha Port Patches

2009-04-09 Thread Korey Sewell
- port alpha to inorder model - fix functionality to handle non-delay slot ISA - add hello regression test as a start toward stabilizing the model ___ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev

[m5-dev] [PATCH 01 of 10] Edit AlphaISA to support the inorder model. Mostly alternate constructor functions and also a few skeleton multithreaded support functions

2009-04-09 Thread Korey Sewell
# HG changeset patch # User Korey Sewell # Date 1239339875 14400 # Node ID d4ff65e87a0bad86dd03c19fced4fdcd4ed68782 # Parent 0555121b5c5fb9fdfeb6f232421cf7a6c8d98b59 Edit AlphaISA to support the inorder model. Mostly alternate constructor functions and also a few skeleton multithreaded support

[m5-dev] [PATCH 02 of 10] Separate the TLB from the CPU and allow it to live in the TLBUnit resource. Give CPU accessor functions for access and also bind at construction time

2009-04-09 Thread Korey Sewell
# HG changeset patch # User Korey Sewell # Date 1239339925 14400 # Node ID 8542476836a75672fa06fe066e62b2b679319aea # Parent d4ff65e87a0bad86dd03c19fced4fdcd4ed68782 Separate the TLB from the CPU and allow it to live in the TLBUnit resource. Give CPU accessor functions for access and also bind

[m5-dev] [PATCH 03 of 10] Expose memory access size and flags through instruction object

2009-04-09 Thread Korey Sewell
# HG changeset patch # User Korey Sewell # Date 1239340019 14400 # Node ID dc1c89c97e02450a3b5302286904ab1e763f4300 # Parent 8542476836a75672fa06fe066e62b2b679319aea Expose memory access size and flags through instruction object diff -r 8542476836a7 -r dc1c89c97e02 src/arch/alpha/isa/mem.isa

[m5-dev] [PATCH 04 of 10] Changes so that InOrder can work for a non-delay-slot ISA like Alpha. Typically, changes have to do with handling misspeculated branches at different points in pipeline

2009-04-09 Thread Korey Sewell
# HG changeset patch # User Korey Sewell # Date 1239342473 14400 # Node ID 64fcc70b469dc97e03fc1cd1a3bf7192e00e2b6f # Parent dc1c89c97e02450a3b5302286904ab1e763f4300 Changes so that InOrder can work for a non-delay-slot ISA like Alpha. Typically, changes have to do with handling misspeculated

[m5-dev] [PATCH 05 of 10] Remove subinstructions eaComp/memAcc since unused in CPU Models. Instead, create eaComp that is visible from StaticInst object. Gives InOrder model capability of generating a

2009-04-09 Thread Korey Sewell
# HG changeset patch # User Korey Sewell # Date 1239342519 14400 # Node ID cdb3bc0078182a8deaf592707b55aca1bf9559bf # Parent 64fcc70b469dc97e03fc1cd1a3bf7192e00e2b6f Remove subinstructions eaComp/memAcc since unused in CPU Models. Instead, create eaComp that is visible from StaticInst object

[m5-dev] [PATCH 06 of 10] Fix indexing for misc. reg operands and update result-types for better tracing of these types of values

2009-04-09 Thread Korey Sewell
# HG changeset patch # User Korey Sewell # Date 1239342519 14400 # Node ID 2ac6e5d7d8aa30b4f82417401f0c97f0339b505e # Parent cdb3bc0078182a8deaf592707b55aca1bf9559bf Fix indexing for misc. reg operands and update result-types for better tracing of these types of values diff -r cdb3bc007818 -r

[m5-dev] [PATCH 07 of 10] Remove namespace from header file. Causes compiler issues that are hard to find

2009-04-09 Thread Korey Sewell
# HG changeset patch # User Korey Sewell # Date 1239342519 14400 # Node ID 1ea36de4c34568f7a3561fb9b7ed7393b725692b # Parent 2ac6e5d7d8aa30b4f82417401f0c97f0339b505e Remove namespace from header file. Causes compiler issues that are hard to find diff -r 2ac6e5d7d8aa -r 1ea36de4c345 src/cpu

[m5-dev] [PATCH 08 of 10] Merge code to handle unified TLB

2009-04-09 Thread Korey Sewell
# HG changeset patch # User Korey Sewell # Date 1239342519 14400 # Node ID ca55bb800d298db29634293b637e2e6a5eb31b3d # Parent 1ea36de4c34568f7a3561fb9b7ed7393b725692b Merge code to handle unified TLB. diff -r 1ea36de4c345 -r ca55bb800d29 src/arch/alpha/regfile.hh --- a/src/arch/alpha/regfile.hh

[m5-dev] [PATCH 09 of 10] allow InOrder and O3CPU to be compiled at the same time: need to make branch prediction filed shared by both models

2009-04-09 Thread Korey Sewell
# HG changeset patch # User Korey Sewell # Date 1239342519 14400 # Node ID 98211627847247ccd203e243c38e579a2e443b2b # Parent ca55bb800d298db29634293b637e2e6a5eb31b3d allow InOrder and O3CPU to be compiled at the same time: need to make branch prediction filed shared by both models diff -r

[m5-dev] [PATCH 10 of 10] create hello world regression for inorder-model

2009-04-09 Thread Korey Sewell
# HG changeset patch # User Korey Sewell # Date 1239342519 14400 # Node ID d95ac474241eb0c7ce1ad1f71d57c60da547f946 # Parent 98211627847247ccd203e243c38e579a2e443b2b create hello world regression for inorder-model diff -r 982116278472 -r d95ac474241e tests/SConscript --- a/tests/SConscript Fri

Re: [m5-dev] [PATCH 00 of 10] InOrder Alpha Port Patches

2009-04-09 Thread Korey Sewell
I'm assuming they''ll be some commentary , so I'll wait before I commit this. On Fri, Apr 10, 2009 at 1:54 AM, Korey Sewell wrote: > - port alpha to inorder model > - fix functionality to handle non-delay slot ISA > - add hello regression test as a start

Re: [m5-dev] [PATCH 09 of 10] allow InOrder and O3CPU to be compiled at the same time: need to make branch prediction filed shared by both models

2009-04-10 Thread Korey Sewell
Hi Steve, I agree it would great to get some organization there. I had been just treating that as literally a "dump" for things that all CPU models need. My theory to clean it up would be to add a "common" folder similar to how is in the src/configs directory. Then in the common folder place a dir

Re: [m5-dev] [PATCH 03 of 10] Expose memory access size and flags through instruction object

2009-04-10 Thread Korey Sewell
nctions are for and why they're needed? > > Korey Sewell wrote: > > # HG changeset patch > > # User Korey Sewell > > # Date 1239340019 14400 > > # Node ID dc1c89c97e02450a3b5302286904ab1e763f4300 > > # Parent 8542476836a75672fa06fe066e62b2b679319aea > &g

Re: [m5-dev] [PATCH 01 of 10] Edit AlphaISA to support the inorder model. Mostly alternate constructor functions and also a few skeleton multithreaded support functions

2009-04-10 Thread Korey Sewell
What happened with the FloatRF is that other CPU models accessed the FloatRF only through the main "RegFile" object but didnt instantiate the FloatRF separately. Since the InOrder model wanted to instantiate the FloatRF separately then it needs those accessor functions. Kind of odd that it wasnt th

Re: [m5-dev] [PATCH 09 of 10] allow InOrder and O3CPU to be compiled at the same time: need to make branch prediction filed shared by both models

2009-04-10 Thread Korey Sewell
So will adding the "git = 1" then refreshing the patch queue do the trick or do I need to start over with the patch and move files with the hg mv? On Fri, Apr 10, 2009 at 1:58 PM, nathan binkert wrote: > > In reading the hg docs, i thought when you did a "hg copy" it will copy > the > > history

Re: [m5-dev] [PATCH 03 of 10] Expose memory access size and flags through instruction object

2009-04-10 Thread Korey Sewell
> I didn't break anything that way, but it should really > be translateTiming(). I noticed that the O3 model still uses translateAtomic() as well and meant to ask the list should the O3 model (and InOrder) really be using the timing version of the TLBs Thoughts? -- -- Korey L Sewel

Re: [m5-dev] [PATCH 03 of 10] Expose memory access size and flags through instruction object

2009-04-10 Thread Korey Sewell
Well, I dont think pretending to do the access would work for the TLB necessarily. I can see that the actual size of the access is irrelevant for the TLB translation (right?). Maybe we can work around that. But what about the type of access? That comes from the memory access flags and the only ob

Re: [m5-dev] [PATCH 03 of 10] Expose memory access size and flags through instruction object

2009-04-11 Thread Korey Sewell
ou want to break it up more: > > 1. Instruction calls read with flags. > 2. Build a request with the flags and the right size, and stick it in > the dynInst. > 3. Pull out the request, translate it, and stick it back in the dynInst. > 4. Actually do the read with the translated r

Re: [m5-dev] [PATCH 03 of 10] Expose memory access size and flags through instruction object

2009-04-11 Thread Korey Sewell
. >> 2. Build a request with the flags and the right size, translate it, and >> stick it in the dynInst. >> 3. Actually do the read with the translated request. >> >> Or if you want to break it up more: >> >> 1. Instruction calls read with flags. >> 2. Buil

Re: [m5-dev] [PATCH 03 of 10] Expose memory access size and flags through instruction object

2009-04-14 Thread Korey Sewell
Comments below: > There's still one aspect that confuses me though: why does translation > need to be separated out of xc->read() and xc->write()? The model for > all the other CPUs is that translation is part of that process. I can > believe that in the InOrder model you may want to separate th

[m5-dev] O3-MIPS-Fixes: What happened to squash after Syscall?

2009-04-14 Thread Korey Sewell
I'm pretty sure that was in the code a while back, but I can not locate this currently in O3. Has this been removed? In SE mode, I would think squashing after a system call is necessary because real system calls would need to save/restore context to Memory before returning to user-mode execution s

Re: [m5-dev] O3-MIPS-Fixes: What happened to squash after Syscall?

2009-04-14 Thread Korey Sewell
pointless at best, > and misleading at worst (IMO). > > The difference with TLB overheads is that they're needed to more accurately > model the execution time of the user code as well, so leaving them out is a > more fundamental issue with respect to the things that SE mode i

Re: [m5-dev] O3-MIPS-Fixes: What happened to squash after Syscall?

2009-04-14 Thread Korey Sewell
t; O3 checks isSerializeBefore() and isSerializeAfter() but never checks > isSerializing(), then an instruction marked IsSerializing will never > actually serialize. > > Steve > > > > On Tue, Apr 14, 2009 at 11:17 AM, Korey Sewell wrote: > >> Thanks for the insight. >

Re: [m5-dev] O3-MIPS-Fixes: What happened to squash after Syscall?

2009-04-14 Thread Korey Sewell
t, > > and misleading at worst (IMO). > > > > The difference with TLB overheads is that they're needed to more > accurately > > model the execution time of the user code as well, so leaving them out is > a > > more fundamental issue with respect to the things that S

[m5-dev] [PATCH 0 of 5] O3-MIPS-Fixes (for HelloWorld)

2009-04-15 Thread Korey Sewell
Collection of patches to allow MIPS to successfully run O3-Hello World App again. Also, add regression to stabilize functionality. ___ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev

[m5-dev] [PATCH 1 of 5] Remove Shadowsets from Int & Arch. Reg Calculations

2009-04-15 Thread Korey Sewell
# HG changeset patch # User Korey Sewell # Date 1239850292 14400 # Node ID 7b685fee8773c2fe0bd09ec7abb0a43873aeed92 # Parent 0647c8b31a991cd2d20c48054cd6aba05878e332 Remove Shadowsets from Int & Arch. Reg Calculations diff --git a/src/arch/mips/isa_traits.hh b/src/arch/mips/isa_traits.hh -

[m5-dev] [PATCH 2 of 5] Fix Branch Prediction for MIPS. Namely, i dont see the reason for updating the branch history on anything that happens in decode. this should happen only in commit, right?

2009-04-15 Thread Korey Sewell
# HG changeset patch # User Korey Sewell # Date 1239850525 14400 # Node ID ce539a58327b78b049f8af0bf8a00737f2b97640 # Parent 7b685fee8773c2fe0bd09ec7abb0a43873aeed92 Fix Branch Prediction for MIPS. Namely, i dont see the reason for updating the branch history on anything that happens in decode

[m5-dev] [PATCH 3 of 5] MIPS was using wrong serialization flag on syscall instructions allowing O3 to handle SE mode syscalls incorrectly and speculate on instructions after a syscall

2009-04-15 Thread Korey Sewell
# HG changeset patch # User Korey Sewell # Date 1239850529 14400 # Node ID c55653331067e3493ff4da2665247017928ef43e # Parent ce539a58327b78b049f8af0bf8a00737f2b97640 MIPS was using wrong serialization flag on syscall instructions allowing O3 to handle SE mode syscalls incorrectly and speculate

[m5-dev] [PATCH 4 of 5] MIPS was never updated to use TLBS correcty in SE mode. The error was forwarding translations directly to pageTable. The TLB should check for alignment faults at bare minimum h

2009-04-15 Thread Korey Sewell
# HG changeset patch # User Korey Sewell # Date 1239850532 14400 # Node ID dfe72826c0b7f146ef6c967506716a7c1ffef415 # Parent c55653331067e3493ff4da2665247017928ef43e MIPS was never updated to use TLBS correcty in SE mode. The error was forwarding translations directly to pageTable. The TLB

[m5-dev] [PATCH 5 of 5] Add a Hello World Regression for MIPS O3

2009-04-15 Thread Korey Sewell
# HG changeset patch # User Korey Sewell # Date 1239850532 14400 # Node ID 8281a270a9a0cf52abbe38304cbd27b826f90450 # Parent dfe72826c0b7f146ef6c967506716a7c1ffef415 Add a Hello World Regression for MIPS O3 diff --git a/tests/quick/00.hello/ref/mips/linux/o3-timing/config.ini b/tests/quick/00

Re: [m5-dev] [PATCH 2 of 5] Fix Branch Prediction for MIPS. Namely, i dont see the reason for updating the branch history on anything that happens in decode. this should happen only in commit, right?

2009-04-15 Thread Korey Sewell
on ALPHA/SPARC to make sure I'm not breaking anything if I were to remove that code. Anybody have any thoughts on this (Gabe, Kevin?)? On Wed, Apr 15, 2009 at 11:06 PM, Korey Sewell wrote: > # HG changeset patch > # User Korey Sewell > # Date 1239850525 144

Re: [m5-dev] [PATCH 2 of 5] Fix Branch Prediction for MIPS. Namely, i dont see the reason for updating the branch history on anything that happens in decode. this should happen only in commit, right?

2009-04-15 Thread Korey Sewell
until execute (and > you may want to wait until commit if that makes recovery substantially > simpler). > > Steve > > > On Wed, Apr 15, 2009 at 8:15 PM, Korey Sewell wrote: > >> This is the patch that will prevent me from committing. >> >> Basically, the

Re: [m5-dev] [PATCH 2 of 5] Fix Branch Prediction for MIPS. Namely, i dont see the reason for updating the branch history on anything that happens in decode. this should happen only in commit, right?

2009-04-15 Thread Korey Sewell
wer is to fix the real problem. > > Steve > > > On Wed, Apr 15, 2009 at 9:16 PM, Korey Sewell wrote: > >> There is a bunch of DPRINTS in there that I kept in figuring out what's >> going on. >> >> The actual fix is small in fetch_impl.hh: >> &q

Re: [m5-dev] [PATCH 1 of 5] Remove Shadowsets from Int & Arch. Reg Calculations

2009-04-15 Thread Korey Sewell
Eehhh Well, yes and no. I was thinking there has to be a better of way to implement optional shadowsets (through parameters maybe?). TotalArchRegs is used in the Mips Regfile so I kind of want to take advantage of potentially working shadow set code and maybe move that in there... But i

Re: [m5-dev] [PATCH 2 of 5] Fix Branch Prediction for MIPS. Namely, i dont see the reason for updating the branch history on anything that happens in decode. this should happen only in commit, right?

2009-04-16 Thread Korey Sewell
> My question is why does the branch predictor matter as far as functional > correctness? >If it was wrong 100% of the time wouldn't that just make O3 > slow? The problem isnt with branch prediction being wrong functionally, its that there are assert statements that break execution from updating th

Re: [m5-dev] Big push coming

2009-04-16 Thread Korey Sewell
Gabe, briefly can you talk about what you're big push is going to be on? I'm really scrambling to get these MIPS fixes in for O3 since a major culprit of it getting continually broken is the lack of a regression test. People (including me) can change stuff and unknowingly break MIPS code. Then, I

[m5-dev] View Traceflags From Command Line...

2009-04-16 Thread Korey Sewell
I'm wondering if anybody would find this useful or not. Basically, when debugging, I often find myself going through SConscript files trying to remember or find out what trace-flag is available for a particular object. For instance, just now, I wanted to view the Exec trace but didnt want the sym

Re: [m5-dev] [PATCH 2 of 5] Fix Branch Prediction for MIPS. Namely, i dont see the reason for updating the branch history on anything that happens in decode. this should happen only in commit, right?

2009-04-17 Thread Korey Sewell
n unrealistic but not broken path instead, > while the right answer is to fix the real problem. > > Steve > > On Wed, Apr 15, 2009 at 9:16 PM, Korey Sewell wrote: >> >> There is a bunch of DPRINTS in there that I kept in figuring out what's >> going on. >>

Re: [m5-dev] View Traceflags From Command Line...

2009-04-17 Thread Korey Sewell
blurb too, so that you can see if you want is > available. > Lisa > > On Fri, Apr 17, 2009 at 2:56 AM, Korey Sewell wrote: >> >> I'm wondering if anybody would find this useful or not. >> >> Basically, when debugging, I often find myself going th

Re: [m5-dev] View Traceflags From Command Line...

2009-04-17 Thread Korey Sewell
nt together into a composite flag and > call it O3CPUAll.then not only would it be easy to see but easy to turn > on. > On Fri, Apr 17, 2009 at 11:47 AM, Korey Sewell wrote: >> >> Yea, that's helpful. I guess I am looking for a more fine-grained >> control of thin

[m5-dev] changeset in m5: mips-shadowsets: fix calcuations. \n Remove Sh...

2009-04-18 Thread Korey Sewell
changeset 4d27997b548c in /z/repo/m5 details: http://repo.m5sim.org/m5?cmd=changeset;node=4d27997b548c description: mips-shadowsets: fix calcuations. \n Remove Shadowsets from Int & Arch. Reg Calculations diffstat: 2 files changed, 7 insertions(+), 4 deletions(-) src/arch/mips/isa_trait

[m5-dev] changeset in m5: o3-delay-slot-bpred: fix decode stage handling ...

2009-04-18 Thread Korey Sewell
changeset f0841ee466a5 in /z/repo/m5 details: http://repo.m5sim.org/m5?cmd=changeset;node=f0841ee466a5 description: o3-delay-slot-bpred: fix decode stage handling of uncdtl. branches.\n decode stage was not setting the predicted PC correctly or passing that information back to fetch corre

[m5-dev] changeset in m5: mips-syscall: mark with correct flag. \nMIPS wa...

2009-04-18 Thread Korey Sewell
changeset 0b0341bfb359 in /z/repo/m5 details: http://repo.m5sim.org/m5?cmd=changeset;node=0b0341bfb359 description: mips-syscall: mark with correct flag. \nMIPS was using wrong serialization flag on syscall instructions allowing O3 to handle SE mode syscalls incorrectly and speculate on i

[m5-dev] changeset in m5: mips-tlb-fix: check for alignment faults.\nMIPS...

2009-04-18 Thread Korey Sewell
changeset 4c21637acedd in /z/repo/m5 details: http://repo.m5sim.org/m5?cmd=changeset;node=4c21637acedd description: mips-tlb-fix: check for alignment faults.\nMIPS was never updated to use TLBS correcty in SE mode. The error was forwarding translations directly to pageTable. The TLB shoul

[m5-dev] changeset in m5: o3-mips-regress: add hello word regression.

2009-04-18 Thread Korey Sewell
changeset fd5ed84c460e in /z/repo/m5 details: http://repo.m5sim.org/m5?cmd=changeset;node=fd5ed84c460e description: o3-mips-regress: add hello word regression. diffstat: 4 files changed, 890 insertions(+) tests/quick/00.hello/ref/mips/linux/o3-timing/config.ini | 448 ++ tests

Re: [m5-dev] changeset in m5: o3-delay-slot-bpred: fix decode stage handling ...

2009-04-18 Thread Korey Sewell
ow how to do the 2nd option correctly, so I dont necessarily want to test run on the clean tree if thats the preferable option. I'm guessing the process would be: - log into daystrom - hg revert -r6035:6039 - Then repush my patches from my local tree On Sat, Apr 18, 2009 at 10:45 AM, Korey S

Re: [m5-dev] View Traceflags From Command Line...

2009-04-18 Thread Korey Sewell
Hey Nate, yea, I would be looking for a variation of what your describing here. Basically, I want to maybe do something like: m5.debug configs/example/se.py --trace-all-objects -d --caches So since this would be an O3 simulation, then that would mean I would want all CPU flags, the TLB, the Cache

Re: [m5-dev] [PATCH 2 of 5] Fix Branch Prediction for MIPS. Namely, i dont see the reason for updating the branch history on anything that happens in decode. this should happen only in commit, right?

2009-04-18 Thread Korey Sewell
should be a one-line stand-alone summary.  What you have here >> would be OK if you just put a newline after the first period.  I think Nate >> is pushing us to use labels, something like "branch pred: fix for MIPS". >> >> Steve >> >> On Wed, Apr 15

Re: [m5-dev] View Traceflags From Command Line...

2009-04-18 Thread Korey Sewell
The difference between 'All'...hI guess not much! Other than you dont want 'Event' typically for the noise factor ... Maybe I dont want the "Fault" flag on? Like Lisa said, I was just trying to figure out if there was a way for me to wrap up all context-specific, object information with a

Re: [m5-dev] changeset in m5: o3-delay-slot-bpred: fix decode stage handling ...

2009-04-18 Thread Korey Sewell
> unconditional branches in made in decode consider delay slots, right? > > Gabe > > Korey Sewell wrote: >> changeset f0841ee466a5 in /z/repo/m5 >> details: http://repo.m5sim.org/m5?cmd=changeset;node=f0841ee466a5 >> description: >>       o3-delay-slot-bpred

[m5-dev] M5 Assert Facilities

2009-04-18 Thread Korey Sewell
This definitely isnt a pressing issue, but is there any facility in M5 so that I can give assert a message to go along with breaking execution. I remember at Intel we had something like this available in the simulator. Panic, Fatal, etc. dont quite do the trick since you still typically need to e

[m5-dev] O3-SMT regressions...what do we need?

2009-04-19 Thread Korey Sewell
Steve's comment in a commit got me thinking about what we need to do to get the SMT regressions in O3 back to respectability. If the SMT can have some better tests, then that probably squashes a lot of questions that we get on the list. So, I want to take this up again soon, but have a few questio

[m5-dev] Predecoder Re-Write?

2009-04-20 Thread Korey Sewell
In reference to src/arch/*/predecoder.hh: I really think that somehow this predecoder code needs to be generalized since if you look at the "predecoder.hh" for alpha,mips,arm, & sparc they are 90% the same code. The difference for those ISAs is just the "moreBytes" function which is still pretty m

Re: [m5-dev] Predecoder Re-Write?

2009-04-20 Thread Korey Sewell
f other places (lots in the CPUs) where there is > duplicated code for the same reason. That would be at most a > reorganization anyway, not a rewrite. > > Gabe > > Korey Sewell wrote: > > In reference to src/arch/*/predecoder.hh: > > > > I really think that someho

<    1   2   3   4   5   6   7   8   >