interrupts.hh (8711:c7e14f52c682) | interrupts.hh (8742:9df38d259935) |
---|---|
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" | 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" |
|
47#include "cpu/thread_context.hh" 48#include "dev/x86/intdev.hh" 49#include "dev/io_device.hh" 50#include "params/X86LocalApic.hh" 51#include "sim/eventq.hh" 52 53class ThreadContext; 54class BaseCPU; --- 115 unchanged lines hidden (view full) --- 170 } 171 172 void requestInterrupt(uint8_t vector, uint8_t deliveryMode, bool level); 173 174 BaseCPU *cpu; 175 176 int initialApicId; 177 | 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 |
|
178 public: 179 /* 180 * Params stuff. 181 */ 182 typedef X86LocalApicParams Params; 183 184 void setCPU(BaseCPU * newCPU); 185 --- 26 unchanged lines hidden (view full) --- 212 triggerTimerInterrupt() 213 { 214 LVTEntry entry = regs[APIC_LVT_TIMER]; 215 if (!entry.masked) 216 requestInterrupt(entry.vector, entry.deliveryMode, entry.trigger); 217 return entry.periodic; 218 } 219 | 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 |
220 AddrRangeList getAddrRanges(); 221 AddrRangeList getIntAddrRange(); | 225 void addressRanges(AddrRangeList &range_list); 226 void getIntAddrRange(AddrRangeList &range_list); |
222 223 Port *getPort(const std::string &if_name, int idx = -1) 224 { 225 if (if_name == "int_port") 226 return intPort; 227 return BasicPioDevice::getPort(if_name, idx); 228 } 229 --- 59 unchanged lines hidden --- | 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 --- |