atomic.cc (4986:b7c82ad6b3ef) atomic.cc (4997:e7380529bd2d)
1/*
2 * Copyright (c) 2002-2005 The Regents of The University of Michigan
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;

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

306 dcache_latency = TheISA::handleIprRead(thread->getTC(), &pkt);
307 else {
308 if (hasPhysMemPort && pkt.getAddr() == physMemAddr)
309 dcache_latency = physmemPort.sendAtomic(&pkt);
310 else
311 dcache_latency = dcachePort.sendAtomic(&pkt);
312 }
313 dcache_access = true;
1/*
2 * Copyright (c) 2002-2005 The Regents of The University of Michigan
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;

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

306 dcache_latency = TheISA::handleIprRead(thread->getTC(), &pkt);
307 else {
308 if (hasPhysMemPort && pkt.getAddr() == physMemAddr)
309 dcache_latency = physmemPort.sendAtomic(&pkt);
310 else
311 dcache_latency = dcachePort.sendAtomic(&pkt);
312 }
313 dcache_access = true;
314
315 assert(!pkt.isError());
316
317 data = gtoh(data);
318
319 if (req->isLocked()) {
320 TheISA::handleLockedRead(thread, req);
321 }
322 }

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

532 Packet::Broadcast);
533 ifetch_pkt.dataStatic(&inst);
534
535 if (hasPhysMemPort && ifetch_pkt.getAddr() == physMemAddr)
536 icache_latency = physmemPort.sendAtomic(&ifetch_pkt);
537 else
538 icache_latency = icachePort.sendAtomic(&ifetch_pkt);
539
314 assert(!pkt.isError());
315
316 data = gtoh(data);
317
318 if (req->isLocked()) {
319 TheISA::handleLockedRead(thread, req);
320 }
321 }

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

531 Packet::Broadcast);
532 ifetch_pkt.dataStatic(&inst);
533
534 if (hasPhysMemPort && ifetch_pkt.getAddr() == physMemAddr)
535 icache_latency = physmemPort.sendAtomic(&ifetch_pkt);
536 else
537 icache_latency = icachePort.sendAtomic(&ifetch_pkt);
538
540 assert(!ifetch_pkt.isError());
541
542 // ifetch_req is initialized to read the instruction directly
543 // into the CPU object's inst field.
544 //}
545
546 preExecute();
547
548 if(curStaticInst)

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

599 params->functionTrace = function_trace;
600 params->functionTraceStart = function_trace_start;
601 params->width = width;
602 params->simulate_stalls = simulate_stalls;
603 params->system = system;
604 params->cpu_id = cpu_id;
605 params->tracer = tracer;
606
539
540 // ifetch_req is initialized to read the instruction directly
541 // into the CPU object's inst field.
542 //}
543
544 preExecute();
545
546 if(curStaticInst)

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

597 params->functionTrace = function_trace;
598 params->functionTraceStart = function_trace_start;
599 params->width = width;
600 params->simulate_stalls = simulate_stalls;
601 params->system = system;
602 params->cpu_id = cpu_id;
603 params->tracer = tracer;
604
607#if FULL_SYSTEM
608 params->itb = itb;
609 params->dtb = dtb;
605 params->itb = itb;
606 params->dtb = dtb;
607#if FULL_SYSTEM
610 params->profile = profile;
611 params->do_quiesce = do_quiesce;
612 params->do_checkpoint_insts = do_checkpoint_insts;
613 params->do_statistics_insts = do_statistics_insts;
614#else
615 if (workload.size() != 1)
616 panic("only one workload allowed");
617 params->process = workload[0];
618#endif
619
620 AtomicSimpleCPU *cpu = new AtomicSimpleCPU(params);
621 return cpu;
622}
608 params->profile = profile;
609 params->do_quiesce = do_quiesce;
610 params->do_checkpoint_insts = do_checkpoint_insts;
611 params->do_statistics_insts = do_statistics_insts;
612#else
613 if (workload.size() != 1)
614 panic("only one workload allowed");
615 params->process = workload[0];
616#endif
617
618 AtomicSimpleCPU *cpu = new AtomicSimpleCPU(params);
619 return cpu;
620}