timing.cc (8948:e95ee70f876c) timing.cc (8949:3fa1ee293096)
1/*
2 * Copyright (c) 2010-2012 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 341 unchanged lines hidden (view full) ---

350 } else {
351 cmd = MemCmd::WriteReq;
352 if (req->isLLSC()) {
353 cmd = MemCmd::StoreCondReq;
354 } else if (req->isSwap()) {
355 cmd = MemCmd::SwapReq;
356 }
357 }
1/*
2 * Copyright (c) 2010-2012 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 341 unchanged lines hidden (view full) ---

350 } else {
351 cmd = MemCmd::WriteReq;
352 if (req->isLLSC()) {
353 cmd = MemCmd::StoreCondReq;
354 } else if (req->isSwap()) {
355 cmd = MemCmd::SwapReq;
356 }
357 }
358 pkt = new Packet(req, cmd, Packet::Broadcast);
358 pkt = new Packet(req, cmd);
359}
360
361void
362TimingSimpleCPU::buildSplitPacket(PacketPtr &pkt1, PacketPtr &pkt2,
363 RequestPtr req1, RequestPtr req2, RequestPtr req,
364 uint8_t *data, bool read)
365{
366 pkt1 = pkt2 = NULL;

--- 4 unchanged lines hidden (view full) ---

371 buildPacket(pkt1, req, read);
372 return;
373 }
374
375 buildPacket(pkt1, req1, read);
376 buildPacket(pkt2, req2, read);
377
378 req->setPhys(req1->getPaddr(), req->getSize(), req1->getFlags(), dataMasterId());
359}
360
361void
362TimingSimpleCPU::buildSplitPacket(PacketPtr &pkt1, PacketPtr &pkt2,
363 RequestPtr req1, RequestPtr req2, RequestPtr req,
364 uint8_t *data, bool read)
365{
366 pkt1 = pkt2 = NULL;

--- 4 unchanged lines hidden (view full) ---

371 buildPacket(pkt1, req, read);
372 return;
373 }
374
375 buildPacket(pkt1, req1, read);
376 buildPacket(pkt2, req2, read);
377
378 req->setPhys(req1->getPaddr(), req->getSize(), req1->getFlags(), dataMasterId());
379 PacketPtr pkt = new Packet(req, pkt1->cmd.responseCommand(),
380 Packet::Broadcast);
379 PacketPtr pkt = new Packet(req, pkt1->cmd.responseCommand());
381
382 pkt->dataDynamicArray<uint8_t>(data);
383 pkt1->dataStatic<uint8_t>(data);
384 pkt2->dataStatic<uint8_t>(data + req1->getSize());
385
386 SplitMainSenderState * main_send_state = new SplitMainSenderState;
387 pkt->senderState = main_send_state;
388 main_send_state->fragments[0] = pkt1;

--- 184 unchanged lines hidden (view full) ---

573
574
575void
576TimingSimpleCPU::sendFetch(Fault fault, RequestPtr req, ThreadContext *tc)
577{
578 if (fault == NoFault) {
579 DPRINTF(SimpleCPU, "Sending fetch for addr %#x(pa: %#x)\n",
580 req->getVaddr(), req->getPaddr());
380
381 pkt->dataDynamicArray<uint8_t>(data);
382 pkt1->dataStatic<uint8_t>(data);
383 pkt2->dataStatic<uint8_t>(data + req1->getSize());
384
385 SplitMainSenderState * main_send_state = new SplitMainSenderState;
386 pkt->senderState = main_send_state;
387 main_send_state->fragments[0] = pkt1;

--- 184 unchanged lines hidden (view full) ---

572
573
574void
575TimingSimpleCPU::sendFetch(Fault fault, RequestPtr req, ThreadContext *tc)
576{
577 if (fault == NoFault) {
578 DPRINTF(SimpleCPU, "Sending fetch for addr %#x(pa: %#x)\n",
579 req->getVaddr(), req->getPaddr());
581 ifetch_pkt = new Packet(req, MemCmd::ReadReq, Packet::Broadcast);
580 ifetch_pkt = new Packet(req, MemCmd::ReadReq);
582 ifetch_pkt->dataStatic(&inst);
583 DPRINTF(SimpleCPU, " -- pkt addr: %#x\n", ifetch_pkt->getAddr());
584
585 if (!icachePort.sendTiming(ifetch_pkt)) {
586 // Need to wait for retry
587 _status = IcacheRetry;
588 } else {
589 // Need to wait for cache to respond

--- 374 unchanged lines hidden ---
581 ifetch_pkt->dataStatic(&inst);
582 DPRINTF(SimpleCPU, " -- pkt addr: %#x\n", ifetch_pkt->getAddr());
583
584 if (!icachePort.sendTiming(ifetch_pkt)) {
585 // Need to wait for retry
586 _status = IcacheRetry;
587 } else {
588 // Need to wait for cache to respond

--- 374 unchanged lines hidden ---