Re: [m5-dev] O3CPU + translateTiming

2010-07-22 Thread Gabe Black
The dynamic instruction object is really just the dynamic information associated with an instruction, as apposed to the static instruction object that gets reused. Strictly speaking there's no guarantee that an arbitrary dynamic instruction will always use timing mode, but all the CPU models we

Re: [m5-dev] O3CPU + translateTiming

2010-07-22 Thread Steve Reinhardt
I think you stated it pretty accurately, Gabe. It looks like the base_dyn_inst.hh file is only used in o3, ozone, and checker, and of those only o3 is really being used right now. Steve On Thu, Jul 22, 2010 at 12:56 AM, Gabe Black gbl...@eecs.umich.edu wrote: The dynamic instruction object is

Re: [m5-dev] O3CPU + translateTiming

2010-07-21 Thread Min Kyu Jeong
so base_dyn_inst is always used timing memory - I assumed so but just wanted to confirm this to make sure that read function, BaseDynInstImpl::read(Addr addr, T data, unsigned flags) 'data' argument isn't really doing anything but being a placeholder for func sig matching in xc interface. -- is

Re: [m5-dev] O3CPU + translateTiming

2010-07-14 Thread Min Kyu Jeong
It looks like the right place to place the code that checks for a fault and calls the CPU read/write function would be BaseDynInstImpl::finishTranslation(). All the code to make this work seems to be there already. If it hits in the TLB, then TheISA::TLB::translateTiming() should call

Re: [m5-dev] O3CPU + translateTiming

2010-07-13 Thread Min Kyu Jeong
Thanks, Tim It looks like the for the DTLB translation, some code is there to handle this but not complete, for the ISAs that does hardware page table walk. cpu/base_dyn_inst.hh BaseDynInstImpl::read(Addr addr, T data, unsigned flags) { ... initiateTranslation(req, sreqLow, sreqHigh, NULL,

Re: [m5-dev] O3CPU + translateTiming

2010-07-13 Thread Gabriel Michael Black
I think you've mostly interpretted this correctly. The instructions aren't retried if the translation fails, they just hang around and wait for it. The check if fault == NoFault will work if the translation is finished by the time initiateTranslation is done. That's true for everything we

[m5-dev] O3CPU + translateTiming

2010-07-12 Thread Min Kyu Jeong
Hi, This question is regarding the changeset ( http://repo.m5sim.org/m5?cmd=changeset;node=a123bd350935). This initiates a timing translation and passes the read or write on to the processor before waiting for it to finish It looks like even in the event of TLB miss, TLB-walk does not delay

Re: [m5-dev] O3CPU + translateTiming

2010-07-12 Thread Timothy M Jones
Hi Min, The way that the TLB deals with a timing translation is specific to each ISA. I don't have much experience with anything other than Power but for that ISA, yes, you're correct. The timing translation is just a wrapper around the atomic translation. It seems from a quick check that