interrupts.hh (8839:eeb293859255) interrupts.hh (8851:7e966326ef5b)
1/*
2 * Copyright (c) 2012 ARM Limited
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

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

183 }
184
185 void requestInterrupt(uint8_t vector, uint8_t deliveryMode, bool level);
186
187 BaseCPU *cpu;
188
189 int initialApicId;
190
1/*
2 * Copyright (c) 2012 ARM Limited
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

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

183 }
184
185 void requestInterrupt(uint8_t vector, uint8_t deliveryMode, bool level);
186
187 BaseCPU *cpu;
188
189 int initialApicId;
190
191 // Port for receiving interrupts
192 IntPort intSlavePort;
193
191 public:
192
193 int getInitialApicId() { return initialApicId; }
194
195 /*
196 * Params stuff.
197 */
198 typedef X86LocalApicParams Params;

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

237 AddrRangeList getIntAddrRange();
238
239 Port *getPort(const std::string &if_name, int idx = -1)
240 {
241 // a bit of an odd one since there is now two ports in the
242 // Python class we also need two ports even if they are
243 // identical
244 if (if_name == "int_master") {
194 public:
195
196 int getInitialApicId() { return initialApicId; }
197
198 /*
199 * Params stuff.
200 */
201 typedef X86LocalApicParams Params;

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

240 AddrRangeList getIntAddrRange();
241
242 Port *getPort(const std::string &if_name, int idx = -1)
243 {
244 // a bit of an odd one since there is now two ports in the
245 // Python class we also need two ports even if they are
246 // identical
247 if (if_name == "int_master") {
245 return intPort;
248 return &intPort;
246 } else if (if_name == "int_slave") {
249 } else if (if_name == "int_slave") {
247 // memory leak...but will be removed in the next patch
248 return new IntPort(name() + ".int_slave", this, this, latency);
250 return &intSlavePort;
249 }
250 return BasicPioDevice::getPort(if_name, idx);
251 }
252
253 /*
254 * Functions to access and manipulate the APIC's registers.
255 */
256

--- 55 unchanged lines hidden ---
251 }
252 return BasicPioDevice::getPort(if_name, idx);
253 }
254
255 /*
256 * Functions to access and manipulate the APIC's registers.
257 */
258

--- 55 unchanged lines hidden ---