[m5-dev] SPARC O3 register indexing

2009-04-14 Thread Steve Reinhardt
I'm running into a problem with running a SPARC SE-mode multithreaded program on a multiprocessor (but not SMT) O3 system. Part of the clone() syscall emulation copies the FP regs like this: for (int i = 0; i < SparcISA::NumFloatRegs; ++i) { dest->setFloatRegBits(i, src->readFloatRegB

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

2009-04-14 Thread Steve Reinhardt
On Tue, Apr 14, 2009 at 1:43 PM, Korey Sewell wrote: > Well, I think the problem was (other than me just messing up), was that > nowhere in the O3 code does it use "IsSerializing" anymore. Matter of fact, > nowhere in any CPU model is that used anymore. (grep -rn "IsSerializing" > src/cpu/*). So

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

2009-04-14 Thread Korey Sewell
Well, I think the problem was (other than me just messing up), was that nowhere in the O3 code does it use "IsSerializing" anymore. Matter of fact, nowhere in any CPU model is that used anymore. (grep -rn "IsSerializing" src/cpu/*). So I'm not sure that particular flag is necessary since it seems t

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

2009-04-14 Thread Gabriel Michael Black
The last I looked at the code, when you called the syscall function in the exec context it eventually made O3 flush the pipeline. I don't know if anything happened to that, but I would be moderately surprised if it vanished between now and then, but who knows. You also definitely want to ma

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

2009-04-14 Thread Korey Sewell
OO OK... I see what happened... I'm messing up myself basically. When I was at MIPS we kept a different tree than from M5-dev. So when I merged in the new code from when I was at MIPS, I basically overwrote the 'SerializeAfter' change for the O3 model. And since there wasnt (and still isnt

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

2009-04-14 Thread Steve Reinhardt
On Tue, Apr 14, 2009 at 11:42 AM, nathan binkert wrote: > I'll admit that I'm not following this thread very closely, but the > biggest question I have is: is it necessary to actually do the > translation in the translation pipe stage? Can't it just be there to > burn a cycle while you do the ac

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

2009-04-14 Thread Steve Reinhardt
I vaguely recall that at some point the single IsSerializing flag got replaced by the SerializeBefore and SerializeAfter flags to provide a little more fine-grain control... some instructions just need one or the other and some need both. Now that I've looked at 'hg annotate', your name is on the

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

2009-04-14 Thread nathan binkert
I'll admit that I'm not following this thread very closely, but the biggest question I have is: is it necessary to actually do the translation in the translation pipe stage? Can't it just be there to burn a cycle while you do the actual translation when executing the read? Nate On Tue, Apr 14,

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

2009-04-14 Thread Korey Sewell
Thanks for the insight. Looks like O3 has moved from squashing after system call to marking a the "SerializeAfter" flag for system calls. MIPS had system calls marked as "IsSerializing" which (from grep'ing around) happens to be a flag that isn't even used in the code anymore (delete?!). On Tue

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

2009-04-14 Thread Steve Reinhardt
The syscall instruction is marked as serializing, and it's up to the CPU model to look at that flag and do whatever (if anything) is necessary to make sure that any register or memory changes that happen in the syscall are seen by the subsequent instructions--typically this means flush the pipeline

[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] [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

Re: [m5-dev] Cron /z/m5/regression/do-regression quick

2009-04-14 Thread Ali Saidi
Ok, so it seems lie the following is happening: qdo submits the jobs to the pool. Normally, we just check for a timeout here, and if one occurs we're done and execute M5 locally. However, the last two days we've gotten lucky, and managed to sneak in a job in the middle of the otherwise busy

[m5-dev] Cron /z/m5/regression/do-regression quick

2009-04-14 Thread Cron Daemon
See /z/m5/regression/regress-2009-04-14-03:00:01 for details. ___ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev