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 --- |