summaryrefslogtreecommitdiffstats
path: root/sys/x86/include/apicreg.h
Commit message (Collapse)AuthorAgeFilesLines
* MFC r314398: Local APIC: add support for extended LVT entries found in AMD ↵avg2017-04-141-7/+37
| | | | processors
* Add defines for the LAPIC TSC deadline timer mode. The LVT timer modekib2016-03-281-2/+3
| | | | | | | | field is two-bit, extend the mask. Also add comments about all MSRs writes to which are not serializing. Sponsored by: The FreeBSD Foundation
* Add x2APIC support. Enable it by default if CPU is capable. Thekib2015-02-091-0/+60
| | | | | | | | | | | | | | | | | | | | | | | | | hw.x2apic_enable tunable allows disabling it from the loader prompt. To closely repeat effects of the uncached memory ops when accessing registers in the xAPIC mode, the x2APIC writes to MSRs are preceeded by mfence, except for the EOI notifications. This is probably too strict, only ICR writes to send IPI require serialization to ensure that other CPUs see the previous actions when IPI is delivered. This may be changed later. In vmm justreturn IPI handler, call doreti_iret instead of doing iretd inline, to handle corner conditions. Note that the patch only switches LAPICs into x2APIC mode. It does not enables FreeBSD to support > 255 CPUs, which requires parsing x2APIC MADT entries and doing interrupts remapping, but is the required step on the way. Reviewed by: neel Tested by: pho (real hardware), neel (on bhyve) Discussed with: jhb, grehan Sponsored by: The FreeBSD Foundation MFC after: 2 months
* Move constants for indices in the local APIC's local vector table fromjhb2013-12-091-0/+10
| | | | apicvar.h to apicreg.h.
* Move <machine/apicreg.h> to <x86/apicreg.h>.jhb2010-11-011-0/+445
OpenPOWER on IntegriCloud