Chameleon

Chameleon Svn Source Tree

Root/branches/cparm/i386/libsaio/apic.h

1/*
2 * <Insert copyright here : it must be BSD-like so everyone can use it>
3 *
4 * Author: Erich Boleyn <erich@uruk.org> http://www.uruk.org/~erich/
5 *
6 * Header file for Intel Architecture local and I/O APIC definitions.
7 *
8 * This file was created from information in the Intel Pentium Pro
9 * Family Developer's Manual, Volume 3: Operating System Writer's
10 * Manual, order number 242692-001, which can be ordered from the
11 * Intel literature center.
12 */
13
14#ifndef _APIC_H
15#define _APIC_H
16
17/*
18 * APIC Defines.
19 */
20
21/*
22 * Recommendation: Don't use this except for MSI interrupt delivery.
23 * In general, the "Destination Mode" can be used to control this, since
24 * it is DIFFERENT (0xF) for Pentium and P6, but not on the same APIC
25 * version for AMD Opteron.
26 */
27#define APIC_BCAST_ID 0xFF
28
29/*
30 * APIC register definitions
31 */
32
33/*
34 * Shared defines for I/O and local APIC definitions
35 */
36/* APIC version register */
37#defineAPIC_VERSION(x)((x) & 0xFF)
38#defineAPIC_MAXREDIR(x)(((x) >> 16) & 0xFF)
39/* APIC id register */
40#defineAPIC_ID(x)((x) >> 24)
41#define APIC_VER_NEW0x10
42
43#define IOAPIC_REGSEL0
44#define IOAPIC_RW0x10
45#defineIOAPIC_ID0
46#defineIOAPIC_VER1
47#defineIOAPIC_REDIR0x10
48
49#define LAPIC_ID0x20
50#define LAPIC_VER0x30
51#define LAPIC_TPR0x80
52#define LAPIC_APR0x90
53#define LAPIC_PPR0xA0
54#define LAPIC_EOI0xB0
55#define LAPIC_LDR0xD0
56#define LAPIC_DFR0xE0
57#define LAPIC_SPIV0xF0
58#defineLAPIC_SPIV_ENABLE_APIC0x100
59#define LAPIC_ISR0x100
60#define LAPIC_TMR0x180
61#define LAPIC_IRR0x200
62#define LAPIC_ESR0x280
63#define LAPIC_ICR0x300
64#defineLAPIC_ICR_DS_SELF0x40000
65#defineLAPIC_ICR_DS_ALLINC0x80000
66#defineLAPIC_ICR_DS_ALLEX0xC0000
67#defineLAPIC_ICR_TM_LEVEL0x8000
68#defineLAPIC_ICR_LEVELASSERT0x4000
69#defineLAPIC_ICR_STATUS_PEND0x1000
70#defineLAPIC_ICR_DM_LOGICAL0x800
71#defineLAPIC_ICR_DM_LOWPRI0x100
72#defineLAPIC_ICR_DM_SMI0x200
73#defineLAPIC_ICR_DM_NMI0x400
74#defineLAPIC_ICR_DM_INIT0x500
75#defineLAPIC_ICR_DM_SIPI0x600
76#define LAPIC_LVTT0x320
77#define LAPIC_LVTPC 0x340
78#define LAPIC_LVT00x350
79#define LAPIC_LVT10x360
80#define LAPIC_LVTE0x370
81#define LAPIC_TICR0x380
82#define LAPIC_TCCR0x390
83#define LAPIC_TDCR0x3E0
84
85#endif /* _APIC_H */
86

Archive Download this file

Revision: 2006