pagetable_walker.cc (8711:c7e14f52c682) pagetable_walker.cc (8832:247fee427324)
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
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

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

494 walker->tlb->insert(entry.vaddr, entry);
495 endWalk();
496 } else {
497 PacketPtr oldRead = read;
498 //If we didn't return, we're setting up another read.
499 Request::Flags flags = oldRead->req->getFlags();
500 flags.set(Request::UNCACHEABLE, uncacheable);
501 RequestPtr request =
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
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

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

494 walker->tlb->insert(entry.vaddr, entry);
495 endWalk();
496 } else {
497 PacketPtr oldRead = read;
498 //If we didn't return, we're setting up another read.
499 Request::Flags flags = oldRead->req->getFlags();
500 flags.set(Request::UNCACHEABLE, uncacheable);
501 RequestPtr request =
502 new Request(nextRead, oldRead->getSize(), flags);
502 new Request(nextRead, oldRead->getSize(), flags, walker->masterId);
503 read = new Packet(request, MemCmd::ReadReq, Packet::Broadcast);
504 read->allocate();
505 // If we need to write, adjust the read packet to write the modified
506 // value back to memory.
507 if (doWrite) {
508 write = oldRead;
509 write->set<uint64_t>(pte);
510 write->cmd = MemCmd::WriteReq;

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

564 }
565
566 nextState = Ready;
567 entry.vaddr = vaddr;
568
569 Request::Flags flags = Request::PHYSICAL;
570 if (cr3.pcd)
571 flags.set(Request::UNCACHEABLE);
503 read = new Packet(request, MemCmd::ReadReq, Packet::Broadcast);
504 read->allocate();
505 // If we need to write, adjust the read packet to write the modified
506 // value back to memory.
507 if (doWrite) {
508 write = oldRead;
509 write->set<uint64_t>(pte);
510 write->cmd = MemCmd::WriteReq;

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

564 }
565
566 nextState = Ready;
567 entry.vaddr = vaddr;
568
569 Request::Flags flags = Request::PHYSICAL;
570 if (cr3.pcd)
571 flags.set(Request::UNCACHEABLE);
572 RequestPtr request = new Request(topAddr, dataSize, flags);
572 RequestPtr request = new Request(topAddr, dataSize, flags, walker->masterId);
573 read = new Packet(request, MemCmd::ReadReq, Packet::Broadcast);
574 read->allocate();
575}
576
577bool
578Walker::WalkerState::recvPacket(PacketPtr pkt)
579{
580 if (pkt->isResponse() && !pkt->wasNacked()) {

--- 134 unchanged lines hidden ---
573 read = new Packet(request, MemCmd::ReadReq, Packet::Broadcast);
574 read->allocate();
575}
576
577bool
578Walker::WalkerState::recvPacket(PacketPtr pkt)
579{
580 if (pkt->isResponse() && !pkt->wasNacked()) {

--- 134 unchanged lines hidden ---