Public Member Functions | Public Attributes

Lapic Class Reference

Local APIC model. More...

Inheritance diagram for Lapic:
DiscoveryHelper< Lapic > StaticReceiver< Lapic > Device

List of all members.

Public Member Functions

bool receive (MessageMem &msg)
 Receive MMIO access.
bool receive (MessageMemRegion &msg)
 Receive MMIO map request.
bool receive (MessageTimeout &msg)
 Timeout for the APIC timer.
bool receive (MessageApic &msg)
 Receive an IPI.
bool receive (LapicEvent &msg)
 Receive INTA cycle or RESET from the CPU.
bool receive (CpuMessage &msg)
 Receive RDMSR and WRMSR messages.
bool receive (MessageLegacy &msg)
 Legacy pins.
void discovery ()
 Lapic (Motherboard &mb, VCpu *vcpu, unsigned initial_apic_id, unsigned timer)

Public Attributes

Motherboard_mb

Detailed Description

Local APIC model.

Copyright (C) 2010, Bernhard Kauer <bk@vmmon.org> Economic rights: Technische Universitaet Dresden (Germany)

This file is part of Vancouver.

Vancouver is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

Vancouver is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License version 2 for more details. Lapic model.

State: testing Features: MEM, MSR, MSR-base and CPUID, LVT, LINT0/1, EOI, prioritize IRQ, error, RemoteEOI, timer, IPI, lowest prio, reset, x2apic mode, BIOS ACPI tables Missing: focus checking, CR8/TPR setting Difference: no interrupt polarity, lowest prio is round-robin Documentation: Intel SDM Volume 3a Chapter 10 253668-033.


Constructor & Destructor Documentation

Lapic::Lapic ( Motherboard mb,
VCpu vcpu,
unsigned  initial_apic_id,
unsigned  timer 
) [inline]

Member Function Documentation

void Lapic::discovery (  )  [inline]
bool Lapic::receive ( MessageApic msg  )  [inline]

Receive an IPI.

bool Lapic::receive ( MessageLegacy msg  )  [inline]

Legacy pins.

bool Lapic::receive ( CpuMessage msg  )  [inline]

Receive RDMSR and WRMSR messages.

bool Lapic::receive ( LapicEvent msg  )  [inline]

Receive INTA cycle or RESET from the CPU.

bool Lapic::receive ( MessageMemRegion msg  )  [inline]

Receive MMIO map request.

We return true without setting msg.ptr and thus nobody else can claim this region.

bool Lapic::receive ( MessageTimeout msg  )  [inline]

Timeout for the APIC timer.

bool Lapic::receive ( MessageMem msg  )  [inline]

Receive MMIO access.


Member Data Documentation


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines