Thanks Avadh,
Yes, I observed that ide/dma reads are done in one sim cycle, but their
completion interrupt is happening after a long delay. I am kind of trying
to find out how this delay in interrupt according to virtual clock is
triggered. Where in the code this clock/delay translation is happening,
and this
interrupt is queued.? I suppose, it is happening in QEMU, but I am kind
of not getting the exact place where it is getting done.
Please, could you point me to a place where this time dilation from real
clock to virtual clock is happening.
Thanks again.
Ishwar
On 11/10/2010 2:19 PM, avadh patel wrote:
On Tue, Nov 9, 2010 at 4:09 PM, Ishwar Bhati <[email protected]
<mailto:[email protected]>> wrote:
Dear Avadh,
I am Ishwar Singh Bhati, PhD student in UMCP. We are integrating
the DiskSim or FlashDim simulator with the MARSS.
This looks like a very interesting project. Thanks for evaluating our
framework for your needs.
I was trying to understand how Hard Disk requests are handled by
PTLsim/QEMU. And at the same time how the time dilation
for the hard disk request is simulated in the PTLSim. Like, how
many simulation cycles PTLSIM will advance, for a Disk data request.
From my understanding, for a File I/O request, processor will
switch to kernel mode and write in to the dma registers to
read/write from the Disk. And once the
dma has completed the request, it will interrupt the processor
that it has completed the request. And then processor will come
back to user mode and execute the next
instructions. But, how the number of simulation cycles are
increasing when DMA is accessing the IDE disk in the QEMU.
For this, I am simply copying from my older reply to same question:
In QEMU DMA transfers are done in one sim_cycle but the interrupt that
generates the DMA completion is delayed by fix value with respect to
QEMU's virtual clock. When MARSS is running in simulation mode,
QEMU's virtual clock refers to the 'sim_cycle' count of CPU. So if the
HDD DMA is using QEMU's virtual clock to generate the interrupt after
some specific delay, it will be automatically delayed more in
simulation mode according to simulation speed.
Please help me in understanding, how QEMU and PTLSim are
interacting for the Disk requests. And how the clock cycles are
advancing.
You can start looking at some 'ide' device implementation in 'qemu/hw'
directory which emulates the ide interface. I am not sure if there is
support for SATA or newer interfaces.
Thanks,
Avadh
Thanks
Ishwar
_______________________________________________
http://www.marss86.org
Marss86-Devel mailing list
[email protected]
https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel