interrupts.cc (8745:575cab0db076) interrupts.cc (8746:42d3554b1c35)
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

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

299{
300 //
301 // The local apic must register its address ranges on both its pio port
302 // via the basicpiodevice(piodevice) init() function and its int port
303 // that it inherited from IntDev. Note IntDev is not a SimObject itself.
304 //
305 BasicPioDevice::init();
306 IntDev::init();
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

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

299{
300 //
301 // The local apic must register its address ranges on both its pio port
302 // via the basicpiodevice(piodevice) init() function and its int port
303 // that it inherited from IntDev. Note IntDev is not a SimObject itself.
304 //
305 BasicPioDevice::init();
306 IntDev::init();
307#if FULL_SYSTEM
308 Pc * pc = dynamic_cast<Pc *>(platform);
309 assert(pc);
310 pc->southBridge->ioApic->registerLocalApic(initialApicId, this);
311#endif
312}
313
314
315Tick
316X86ISA::Interrupts::recvMessage(PacketPtr pkt)
317{
318 Addr offset = pkt->getAddr() - x86InterruptAddress(initialApicId, 0);
319 assert(pkt->cmd == MemCmd::MessageReq);

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

611 apicTimerEvent(this),
612 pendingSmi(false), smiVector(0),
613 pendingNmi(false), nmiVector(0),
614 pendingExtInt(false), extIntVector(0),
615 pendingInit(false), initVector(0),
616 pendingStartup(false), startupVector(0),
617 startedUp(false), pendingUnmaskableInt(false),
618 pendingIPIs(0), cpu(NULL)
307}
308
309
310Tick
311X86ISA::Interrupts::recvMessage(PacketPtr pkt)
312{
313 Addr offset = pkt->getAddr() - x86InterruptAddress(initialApicId, 0);
314 assert(pkt->cmd == MemCmd::MessageReq);

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

606 apicTimerEvent(this),
607 pendingSmi(false), smiVector(0),
608 pendingNmi(false), nmiVector(0),
609 pendingExtInt(false), extIntVector(0),
610 pendingInit(false), initVector(0),
611 pendingStartup(false), startupVector(0),
612 startedUp(false), pendingUnmaskableInt(false),
613 pendingIPIs(0), cpu(NULL)
619#if FULL_SYSTEM
620 , platform(p->platform)
621#endif
622{
623 pioSize = PageBytes;
624 memset(regs, 0, sizeof(regs));
625 //Set the local apic DFR to the flat model.
626 regs[APIC_DESTINATION_FORMAT] = (uint32_t)(-1);
627 ISRV = 0;
628 IRRV = 0;
629}

--- 157 unchanged lines hidden ---
614{
615 pioSize = PageBytes;
616 memset(regs, 0, sizeof(regs));
617 //Set the local apic DFR to the flat model.
618 regs[APIC_DESTINATION_FORMAT] = (uint32_t)(-1);
619 ISRV = 0;
620 IRRV = 0;
621}

--- 157 unchanged lines hidden ---