i would imagine you need to do patch -p1, not -p0. what errors do you get when your patching fails?
lisa On Sun, Nov 30, 2008 at 4:25 PM, Korey Sewell <[EMAIL PROTECTED]> wrote: > i'm having a problem with my repository as I was trying to fix a bug > that was stalling Mixie... > > basically, i started a new patch but then pulled in the current sets. > When i tried to merge everything just got screwed up. > > So, I just started to clone a fresh repo and apply the patches one at > a time (With "patch -p0 < ..." command), but that isnt working... > > Thus, yes the current stuff is the most recent but I'm stuck until I > give another look at getting my mercurial repo back to being sane. > > On Sun, Nov 30, 2008 at 1:21 PM, nathan binkert <[EMAIL PROTECTED]> wrote: > > Ok, what's the status now? I can dedicate some time to looking at > > this now. Are the patches sent out last week the most up to date? > > > > Nate > > > > On Tue, Nov 25, 2008 at 3:45 PM, Gabe Black <[EMAIL PROTECTED]> > wrote: > >> Ok, that sounds good. I didn't look in the second patch or the first one > >> very closely. Please let me know when/if you're queue is in a > >> repository. I've had my pending x86 patches on m5sim.org for a while > now > >> if you want to see an example, although I don't think they show up in > >> the web interface. > >> > >> Gabe > >> > >> Korey Sewell wrote: > >>> If you get a chance, look at that closely. > >>> > >>> I do derive a new tracer from the default tracer (mixie_trace.hh/cc). > >>> > >>> What's new is that I'm adding the option for per-stage tracing. To do > >>> this, the dump function needs to print out the ticks differently as > >>> there are now an arbitrary amount of stages. > >>> > >>> That's why I virtualized a printTicks() function which simply prints > >>> the commit stage # in the general case, but if you turn stage-tracing > >>> on for the Mixie it will print out on what cycle a instruction > >>> finished a particular stage. > >>> > >>> On Tue, Nov 25, 2008 at 10:17 PM, <[EMAIL PROTECTED]> wrote: > >>> > >>>> There's one other thing I just realized. I'm assuming you're extending > the trace > >>>> stuff by modifying exetrace.cc. The idea there was that you could make > your own > >>>> class which replaces or inherits from the default tracer, and then set > that up > >>>> to run in an arbitrary CPU. In the python, you could then override the > default > >>>> tracer your CPU class uses to be the one that does whatever special > thing you > >>>> want. The class that keeps track of the execution of a particular > instruction > >>>> is extensible as well if you want to add new fields, etc. > >>>> > >>>> Gabe > >>>> > >>>> Quoting Korey Sewell <[EMAIL PROTECTED]>: > >>>> > >>>> > >>>>> # HG changeset patch > >>>>> # User Korey Sewell <[EMAIL PROTECTED]> > >>>>> # Date 1227320916 18000 > >>>>> # Node ID b2b20a241e923c43a6978ea42fab9be4ead71220 > >>>>> # Parent 6f9923f77ced7b25a7a573549fd4ca1b0a49c466 > >>>>> [mq]: make_mixie_cmdline_runnable > >>>>> > >>>>> diff -r 6f9923f77ced -r b2b20a241e92 configs/common/Options.py > >>>>> --- a/configs/common/Options.py Tue Nov 18 16:03:31 2008 -0500 > >>>>> +++ b/configs/common/Options.py Fri Nov 21 21:28:36 2008 -0500 > >>>>> @@ -29,6 +29,7 @@ > >>>>> # system options > >>>>> parser.add_option("-d", "--detailed", action="store_true") > >>>>> parser.add_option("-t", "--timing", action="store_true") > >>>>> +parser.add_option("--mixie", action="store_true") > >>>>> parser.add_option("-n", "--num-cpus", type="int", default=1) > >>>>> parser.add_option("--caches", action="store_true") > >>>>> parser.add_option("--l2cache", action="store_true") > >>>>> diff -r 6f9923f77ced -r b2b20a241e92 configs/common/Simulation.py > >>>>> --- a/configs/common/Simulation.py Tue Nov 18 16:03:31 2008 -0500 > >>>>> +++ b/configs/common/Simulation.py Fri Nov 21 21:28:36 2008 -0500 > >>>>> @@ -43,6 +43,11 @@ def setCPUClass(options): > >>>>> print "O3 CPU must be used with caches" > >>>>> sys.exit(1) > >>>>> class TmpClass(DerivO3CPU): pass > >>>>> + elif options.mixie: > >>>>> + if not options.caches: > >>>>> + print "Mixie CPU must be used with caches" > >>>>> + sys.exit(1) > >>>>> + class TmpClass(MixieCPU): pass > >>>>> else: > >>>>> class TmpClass(AtomicSimpleCPU): pass > >>>>> atomic = True > >>>>> diff -r 6f9923f77ced -r b2b20a241e92 src/arch/mips/faults.cc > >>>>> --- a/src/arch/mips/faults.cc Tue Nov 18 16:03:31 2008 -0500 > >>>>> +++ b/src/arch/mips/faults.cc Fri Nov 21 21:28:36 2008 -0500 > >>>>> @@ -461,6 +461,9 @@ void ResetFault::invoke(ThreadContext *t > >>>>> tc->setNextPC(vect()+sizeof(MachInst)); > >>>>> tc->setNextNPC(vect()+sizeof(MachInst)+sizeof(MachInst)); > >>>>> DPRINTF(MipsPRA,"(%x) - ResetFault::invoke : PC set to > >>>>> %x",(unsigned)tc,(unsigned)tc->readPC()); > >>>>> +#else > >>>>> + //MixieCPU *cpu_ptr = > reinterpret_cast<MixieCPU*>(tc->getCpuPtr()); > >>>>> + //cpu_ptr->miscRegFile.reset(); > >>>>> #endif > >>>>> > >>>>> // Set Coprocessor 1 (Floating Point) To Usable > >>>>> diff -r 6f9923f77ced -r b2b20a241e92 src/arch/mips/mt.hh > >>>>> --- a/src/arch/mips/mt.hh Tue Nov 18 16:03:31 2008 -0500 > >>>>> +++ b/src/arch/mips/mt.hh Fri Nov 21 21:28:36 2008 -0500 > >>>>> @@ -68,7 +68,7 @@ getTargetThread(TC *tc) > >>>>> } > >>>>> > >>>>> template <class TC> > >>>>> -inline void > >>>>> +void > >>>>> haltThread(TC *tc) > >>>>> { > >>>>> if (tc->status() == TC::Active) { > >>>>> @@ -77,6 +77,8 @@ haltThread(TC *tc) > >>>>> // Save last known PC in TCRestart > >>>>> // @TODO: Needs to check if this is a branch and if so, take > >>>>> previous instruction > >>>>> tc->setMiscReg(TCRestart, tc->readNextPC()); > >>>>> + > >>>>> + //assert(0); > >>>>> > >>>>> warn("%i: Halting thread %i in %s @ PC %x, setting restart > PC to > >>>>> %x", curTick, tc->threadId(), tc->getCpuPtr()->name(), > >>>>> tc->readPC(), tc->readNextPC()); > >>>>> diff -r 6f9923f77ced -r b2b20a241e92 > src/arch/mips/regfile/misc_regfile.cc > >>>>> --- a/src/arch/mips/regfile/misc_regfile.cc Tue Nov 18 16:03:31 > 2008 -0500 > >>>>> +++ b/src/arch/mips/regfile/misc_regfile.cc Fri Nov 21 21:28:36 > 2008 -0500 > >>>>> @@ -179,8 +179,10 @@ int MiscRegFile:: getDataAsid() > >>>>> } > >>>>> //@TODO: Use MIPS STYLE CONSTANTS (e.g. TCHALT_H instead of TCH_H) > >>>>> void > >>>>> -MiscRegFile::reset(std::string core_name, unsigned num_threads, > >>>>> - unsigned num_vpes, BaseCPU *_cpu) > >>>>> +MiscRegFile::reset(std::string core_name, > >>>>> + unsigned num_threads, > >>>>> + unsigned num_vpes, > >>>>> + BaseCPU *_cpu) > >>>>> { > >>>>> DPRINTF(MipsPRA, "Resetting CP0 State with %i TCs and %i > VPEs\n", > >>>>> num_threads, num_vpes); > >>>>> @@ -588,6 +590,8 @@ MiscRegFile::updateCPU() > >>>>> > >>>>> //@todo: add vpe/mt check here thru mvpcontrol & vpecontrol > regs > >>>>> if (bits(tc_halt, TCH_H) == 1 || bits(tc_status, TCS_A) == > 0) { > >>>>> + cout << "TCHALT: " << bits(tc_halt, TCH_H) > >>>>> + << "TCStatus:" << bits(tc_status, TCS_A) << endl; > >>>>> haltThread(cpu->getContext(tid)); > >>>>> } else if (bits(tc_halt, TCH_H) == 0 && bits(tc_status, > TCS_A) == 1) > >>>>> { > >>>>> restoreThread(cpu->getContext(tid)); > >>>>> diff -r 6f9923f77ced -r b2b20a241e92 src/cpu/exetrace.cc > >>>>> --- a/src/cpu/exetrace.cc Tue Nov 18 16:03:31 2008 -0500 > >>>>> +++ b/src/cpu/exetrace.cc Fri Nov 21 21:28:36 2008 -0500 > >>>>> @@ -50,8 +50,21 @@ Trace::ExeTracerRecord::dump() > >>>>> { > >>>>> ostream &outs = Trace::output(); > >>>>> > >>>>> - if (IsOn(ExecTicks)) > >>>>> - ccprintf(outs, "%7d: ", when); > >>>>> + if (IsOn(ExecTicks)) > >>>>> + // { > >>>>> + //if (!stageTrace) { > >>>>> + ccprintf(outs, "%7d: ", when); > >>>>> + /*} else { > >>>>> + //outs << dec << "\t"; > >>>>> + ccprintf(outs, ""); > >>>>> + for (int i=0; i < stageCycle.size(); i++) { > >>>>> + if (i < stageCycle.size() - 1) > >>>>> + outs << dec << stageCycle[i] << "-"; > >>>>> + else > >>>>> + outs << dec << stageCycle[i] << ":"; > >>>>> + } > >>>>> + } > >>>>> + }*/ > >>>>> > >>>>> outs << thread->getCpuPtr()->name() << " "; > >>>>> > >>>>> diff -r 6f9923f77ced -r b2b20a241e92 src/cpu/mixie/MixieCPU.py > >>>>> --- a/src/cpu/mixie/MixieCPU.py Tue Nov 18 16:03:31 2008 -0500 > >>>>> +++ b/src/cpu/mixie/MixieCPU.py Fri Nov 21 21:28:36 2008 -0500 > >>>>> @@ -41,7 +41,8 @@ class MixieCPU(BaseCPU): > >>>>> class MixieCPU(BaseCPU): > >>>>> type = 'MixieCPU' > >>>>> activity = Param.Unsigned(0, "Initial count") > >>>>> - numThreads = Param.Unsigned(1, "number of HW thread contexts") > >>>>> + > >>>>> + #numThreads = Param.Unsigned(1, "number of HW thread contexts") > >>>>> > >>>>> cachePorts = Param.Unsigned("Cache Ports") > >>>>> stageWidth = Param.Unsigned(1, "Stage width") > >>>>> diff -r 6f9923f77ced -r b2b20a241e92 src/cpu/mixie/cpu.cc > >>>>> --- a/src/cpu/mixie/cpu.cc Tue Nov 18 16:03:31 2008 -0500 > >>>>> +++ b/src/cpu/mixie/cpu.cc Fri Nov 21 21:28:36 2008 -0500 > >>>>> @@ -283,8 +283,12 @@ MixieCPU::MixieCPU(Params *params) > >>>>> dummyReq = new ResourceRequest(NULL, NULL, 0, 0, 0, 0); > >>>>> > >>>>> // Reset CPU to reset state. > >>>>> +#if FULL_SYSTEM > >>>>> Fault resetFault = new ResetFault(); > >>>>> resetFault->invoke(tcBase()); > >>>>> +#else > >>>>> + reset(); > >>>>> +#endif > >>>>> > >>>>> // Schedule First Tick Event, CPU will reschedule itself from > here on > >>>>> out. > >>>>> scheduleTickEvent(0); > >>>>> @@ -460,7 +464,7 @@ void > >>>>> void > >>>>> MixieCPU::reset() > >>>>> { > >>>>> - miscRegFile.reset(coreType, numThreads, numVirtProcs, this); > >>>>> + miscRegFile.reset(coreType, numThreads, numVirtProcs, > >>>>> dynamic_cast<BaseCPU*>(this)); > >>>>> } > >>>>> > >>>>> Port* > >>>>> _______________________________________________ > >>>>> m5-dev mailing list > >>>>> m5-dev@m5sim.org > >>>>> http://m5sim.org/mailman/listinfo/m5-dev > >>>>> > >>>>> > >>>> > >>>> > >>>> _______________________________________________ > >>>> m5-dev mailing list > >>>> m5-dev@m5sim.org > >>>> http://m5sim.org/mailman/listinfo/m5-dev > >>>> > >>>> > >>> > >>> > >>> > >>> > >> > >> _______________________________________________ > >> m5-dev mailing list > >> m5-dev@m5sim.org > >> http://m5sim.org/mailman/listinfo/m5-dev > >> > >> > > _______________________________________________ > > m5-dev mailing list > > m5-dev@m5sim.org > > http://m5sim.org/mailman/listinfo/m5-dev > > > > > > -- > ---------- > Korey L Sewell > Graduate Student - PhD Candidate > Computer Science & Engineering > University of Michigan > _______________________________________________ > m5-dev mailing list > m5-dev@m5sim.org > http://m5sim.org/mailman/listinfo/m5-dev > >
_______________________________________________ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev