kvm: Correctly handle the return value from handleIpr(Read|Write)

The KVM base class incorrectly assumed that handleIprRead and
handleIprWrite both return ticks. This is not the case, instead they
return cycles. This changeset converts the returned cycles to ticks
when handling IPR accesses.
This commit is contained in:
Andreas Sandberg 2013-09-19 17:55:04 +02:00
parent 211c10b46d
commit cd9cd85ce9

View file

@ -969,10 +969,10 @@ BaseKvmCPU::doMMIOAccess(Addr paddr, void *data, int size, bool write)
pkt.dataStatic(data);
if (mmio_req.isMmappedIpr()) {
if (write)
return TheISA::handleIprWrite(tc, &pkt);
else
return TheISA::handleIprRead(tc, &pkt);
const Cycles ipr_delay(write ?
TheISA::handleIprWrite(tc, &pkt) :
TheISA::handleIprRead(tc, &pkt));
return clockEdge(ipr_delay);
} else {
return dataPort.sendAtomic(&pkt);
}