Deleted Added
sdiff udiff text old ( 3125:febd811bccc6 ) new ( 3402:db60546818d0 )
full compact
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;

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

57
58using namespace std;
59
60// constructor
61#if FULL_SYSTEM
62SimpleThread::SimpleThread(BaseCPU *_cpu, int _thread_num, System *_sys,
63 AlphaITB *_itb, AlphaDTB *_dtb,
64 bool use_kernel_stats)
65 : ThreadState(-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);
72
73 regs.clear();

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

101 virtPort = new VirtualPort(csprintf("%s-%d-vport",
102 cpu->name(), tid));
103 mem_port = system->physmem->getPort("functional");
104 mem_port->setPeer(virtPort);
105 virtPort->setPeer(mem_port);
106}
107#else
108SimpleThread::SimpleThread(BaseCPU *_cpu, int _thread_num,
109 Process *_process, int _asid, MemObject* memobj)
110 : ThreadState(-1, _thread_num, _process, _asid, memobj),
111 cpu(_cpu)
112{
113 /* Use this port to for syscall emulation writes to memory. */
114 Port *mem_port;
115 port = new TranslatingPort(csprintf("%s-%d-funcport",
116 cpu->name(), tid),
117 process->pTable, false);
118 mem_port = memobj->getPort("functional");
119 mem_port->setPeer(port);
120 port->setPeer(mem_port);
121
122 regs.clear();
123 tc = new ProxyThreadContext<SimpleThread>(this);
124}
125
126#endif
127
128SimpleThread::SimpleThread()
129#if FULL_SYSTEM
130 : ThreadState(-1, -1)
131#else
132 : ThreadState(-1, -1, NULL, -1, NULL)
133#endif
134{
135 tc = new ProxyThreadContext<SimpleThread>(this);
136 regs.clear();
137}
138
139SimpleThread::~SimpleThread()
140{

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

327SimpleThread::delVirtPort(VirtualPort *vp)
328{
329 if (vp != virtPort) {
330 delete vp->getPeer();
331 delete vp;
332 }
333}
334
335
336#endif
337