simple_thread.cc (3479:4fbcaa81d105) simple_thread.cc (3485:ac89a047e5b6)
1/*
2 * Copyright (c) 2001-2006 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;

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

55#include "mem/translating_port.hh"
56#endif
57
58using namespace std;
59
60// constructor
61#if FULL_SYSTEM
62SimpleThread::SimpleThread(BaseCPU *_cpu, int _thread_num, System *_sys,
1/*
2 * Copyright (c) 2001-2006 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;

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

55#include "mem/translating_port.hh"
56#endif
57
58using namespace std;
59
60// constructor
61#if FULL_SYSTEM
62SimpleThread::SimpleThread(BaseCPU *_cpu, int _thread_num, System *_sys,
63 TheISA::ITB *_itb, TheISA::DTB *_dtb,
63 AlphaITB *_itb, AlphaDTB *_dtb,
64 bool use_kernel_stats)
65 : ThreadState(_cpu, -1, _thread_num), cpu(_cpu), system(_sys), itb(_itb),
66 dtb(_dtb)
67
68{
69 tc = new ProxyThreadContext<SimpleThread>(this);
70
71 quiesceEvent = new EndQuiesceEvent(tc);

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

318SimpleThread::delVirtPort(VirtualPort *vp)
319{
320 if (vp != virtPort) {
321 delete vp->getPeer();
322 delete vp;
323 }
324}
325
64 bool use_kernel_stats)
65 : ThreadState(_cpu, -1, _thread_num), cpu(_cpu), system(_sys), itb(_itb),
66 dtb(_dtb)
67
68{
69 tc = new ProxyThreadContext<SimpleThread>(this);
70
71 quiesceEvent = new EndQuiesceEvent(tc);

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

318SimpleThread::delVirtPort(VirtualPort *vp)
319{
320 if (vp != virtPort) {
321 delete vp->getPeer();
322 delete vp;
323 }
324}
325
326#else
327TranslatingPort *
328SimpleThread::getMemPort()
329{
330 if (port != NULL)
331 return port;
332
333 /* Use this port to for syscall emulation writes to memory. */
334 Port *dcache_port;
335 port = new TranslatingPort(csprintf("%s-%d-funcport",
336 cpu->name(), tid),
337 process->pTable, false);
338 dcache_port = cpu->getPort("dcache_port");
339 assert(dcache_port != NULL);
340 dcache_port = dcache_port->getPeer();
341// mem_port->setPeer(port);
342 port->setPeer(dcache_port);
343 return port;
344}
345
346#endif
347
326#endif
327