DMASequencer.cc (9117:49116b947194) | DMASequencer.cc (9466:23e13ad7091f) |
---|---|
1/* 2 * Copyright (c) 2008 Mark D. Hill and David A. Wood 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 56 unchanged lines hidden (view full) --- 65 active_request.start_paddr = paddr; 66 active_request.write = write; 67 active_request.data = data; 68 active_request.len = len; 69 active_request.bytes_completed = 0; 70 active_request.bytes_issued = 0; 71 active_request.pkt = pkt; 72 | 1/* 2 * Copyright (c) 2008 Mark D. Hill and David A. Wood 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 56 unchanged lines hidden (view full) --- 65 active_request.start_paddr = paddr; 66 active_request.write = write; 67 active_request.data = data; 68 active_request.len = len; 69 active_request.bytes_completed = 0; 70 active_request.bytes_issued = 0; 71 active_request.pkt = pkt; 72 |
73 SequencerMsg *msg = new SequencerMsg; | 73 SequencerMsg *msg = new SequencerMsg(curCycle()); |
74 msg->getPhysicalAddress() = Address(paddr); 75 msg->getLineAddress() = line_address(msg->getPhysicalAddress()); 76 msg->getType() = write ? SequencerRequestType_ST : SequencerRequestType_LD; 77 int offset = paddr & m_data_block_mask; 78 79 msg->getLen() = (offset + len) <= RubySystem::getBlockSizeBytes() ? 80 len : RubySystem::getBlockSizeBytes() - offset; 81 --- 21 unchanged lines hidden (view full) --- 103 // the callback may cause a previously nacked request to be reissued 104 // 105 DPRINTF(RubyDma, "DMA request completed\n"); 106 m_is_busy = false; 107 ruby_hit_callback(active_request.pkt); 108 return; 109 } 110 | 74 msg->getPhysicalAddress() = Address(paddr); 75 msg->getLineAddress() = line_address(msg->getPhysicalAddress()); 76 msg->getType() = write ? SequencerRequestType_ST : SequencerRequestType_LD; 77 int offset = paddr & m_data_block_mask; 78 79 msg->getLen() = (offset + len) <= RubySystem::getBlockSizeBytes() ? 80 len : RubySystem::getBlockSizeBytes() - offset; 81 --- 21 unchanged lines hidden (view full) --- 103 // the callback may cause a previously nacked request to be reissued 104 // 105 DPRINTF(RubyDma, "DMA request completed\n"); 106 m_is_busy = false; 107 ruby_hit_callback(active_request.pkt); 108 return; 109 } 110 |
111 SequencerMsg *msg = new SequencerMsg; | 111 SequencerMsg *msg = new SequencerMsg(curCycle()); |
112 msg->getPhysicalAddress() = Address(active_request.start_paddr + 113 active_request.bytes_completed); 114 115 assert((msg->getPhysicalAddress().getAddress() & m_data_block_mask) == 0); 116 msg->getLineAddress() = line_address(msg->getPhysicalAddress()); 117 118 msg->getType() = (active_request.write ? SequencerRequestType_ST : 119 SequencerRequestType_LD); --- 58 unchanged lines hidden --- | 112 msg->getPhysicalAddress() = Address(active_request.start_paddr + 113 active_request.bytes_completed); 114 115 assert((msg->getPhysicalAddress().getAddress() & m_data_block_mask) == 0); 116 msg->getLineAddress() = line_address(msg->getPhysicalAddress()); 117 118 msg->getType() = (active_request.write ? SequencerRequestType_ST : 119 SequencerRequestType_LD); --- 58 unchanged lines hidden --- |