interrupts.cc (8781:dc1bc37bfb00) | interrupts.cc (8799:dac1e33e07b0) |
---|---|
1/* 2 * Copyright (c) 2008 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 --- 337 unchanged lines hidden (view full) --- 346 low.deliveryStatus = 0; 347 regs[APIC_INTERRUPT_COMMAND_LOW] = low; 348 } 349 DPRINTF(LocalApic, "ICR is now idle.\n"); 350 return 0; 351} 352 353 | 1/* 2 * Copyright (c) 2008 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 --- 337 unchanged lines hidden (view full) --- 346 low.deliveryStatus = 0; 347 regs[APIC_INTERRUPT_COMMAND_LOW] = low; 348 } 349 DPRINTF(LocalApic, "ICR is now idle.\n"); 350 return 0; 351} 352 353 |
354void 355X86ISA::Interrupts::addressRanges(AddrRangeList &range_list) | 354AddrRangeList 355X86ISA::Interrupts::getAddrRanges() |
356{ | 356{ |
357 range_list.clear(); | 357 AddrRangeList ranges; |
358 Range<Addr> range = RangeEx(x86LocalAPICAddress(initialApicId, 0), 359 x86LocalAPICAddress(initialApicId, 0) + 360 PageBytes); | 358 Range<Addr> range = RangeEx(x86LocalAPICAddress(initialApicId, 0), 359 x86LocalAPICAddress(initialApicId, 0) + 360 PageBytes); |
361 range_list.push_back(range); | 361 ranges.push_back(range); |
362 pioAddr = range.start; | 362 pioAddr = range.start; |
363 return ranges; |
|
363} 364 365 | 364} 365 366 |
366void 367X86ISA::Interrupts::getIntAddrRange(AddrRangeList &range_list) | 367AddrRangeList 368X86ISA::Interrupts::getIntAddrRange() |
368{ | 369{ |
369 range_list.clear(); 370 range_list.push_back(RangeEx(x86InterruptAddress(initialApicId, 0), 371 x86InterruptAddress(initialApicId, 0) + 372 PhysAddrAPICRangeSize)); | 370 AddrRangeList ranges; 371 ranges.push_back(RangeEx(x86InterruptAddress(initialApicId, 0), 372 x86InterruptAddress(initialApicId, 0) + 373 PhysAddrAPICRangeSize)); 374 return ranges; |
373} 374 375 376uint32_t 377X86ISA::Interrupts::readReg(ApicRegIndex reg) 378{ 379 if (reg >= APIC_TRIGGER_MODE(0) && 380 reg <= APIC_TRIGGER_MODE(15)) { --- 398 unchanged lines hidden --- | 375} 376 377 378uint32_t 379X86ISA::Interrupts::readReg(ApicRegIndex reg) 380{ 381 if (reg >= APIC_TRIGGER_MODE(0) && 382 reg <= APIC_TRIGGER_MODE(15)) { --- 398 unchanged lines hidden --- |