Deleted Added
sdiff udiff text old ( 8711:c7e14f52c682 ) new ( 8742:9df38d259935 )
full compact
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
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

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

39
40#ifndef __ARCH_X86_INTERRUPTS_HH__
41#define __ARCH_X86_INTERRUPTS_HH__
42
43#include "arch/x86/regs/apic.hh"
44#include "arch/x86/faults.hh"
45#include "arch/x86/intmessage.hh"
46#include "base/bitfield.hh"
47#include "config/full_system.hh"
48#include "cpu/thread_context.hh"
49#include "dev/x86/intdev.hh"
50#include "dev/io_device.hh"
51#include "params/X86LocalApic.hh"
52#include "sim/eventq.hh"
53
54class ThreadContext;
55class BaseCPU;

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

171 }
172
173 void requestInterrupt(uint8_t vector, uint8_t deliveryMode, bool level);
174
175 BaseCPU *cpu;
176
177 int initialApicId;
178
179#if FULL_SYSTEM
180 Platform *platform;
181#endif
182
183 public:
184 /*
185 * Params stuff.
186 */
187 typedef X86LocalApicParams Params;
188
189 void setCPU(BaseCPU * newCPU);
190

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

217 triggerTimerInterrupt()
218 {
219 LVTEntry entry = regs[APIC_LVT_TIMER];
220 if (!entry.masked)
221 requestInterrupt(entry.vector, entry.deliveryMode, entry.trigger);
222 return entry.periodic;
223 }
224
225 void addressRanges(AddrRangeList &range_list);
226 void getIntAddrRange(AddrRangeList &range_list);
227
228 Port *getPort(const std::string &if_name, int idx = -1)
229 {
230 if (if_name == "int_port")
231 return intPort;
232 return BasicPioDevice::getPort(if_name, idx);
233 }
234

--- 59 unchanged lines hidden ---