coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
lapic_def.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define LAPIC_BASE_MSR   0x1B
 
#define LAPIC_BASE_MSR_BOOTSTRAP_PROCESSOR   (1 << 8)
 
#define LAPIC_BASE_MSR_X2APIC_MODE   (1 << 10)
 
#define LAPIC_BASE_MSR_ENABLE   (1 << 11)
 
#define LAPIC_BASE_X2APIC_ENABLED    (LAPIC_BASE_MSR_X2APIC_MODE | LAPIC_BASE_MSR_ENABLE)
 
#define LAPIC_BASE_MSR_ADDR_MASK   0xFFFFF000
 
#define LAPIC_DEFAULT_BASE   0xfee00000
 
#define LAPIC_ID   0x020
 
#define LAPIC_LVR   0x030
 
#define LAPIC_TASKPRI   0x80
 
#define LAPIC_TPRI_MASK   0xFF
 
#define LAPIC_ARBID   0x090
 
#define LAPIC_RRR   0x0C0
 
#define LAPIC_SVR   0x0f0
 
#define LAPIC_SPIV   0x0f0
 
#define LAPIC_SPIV_ENABLE   0x100
 
#define LAPIC_ESR   0x280
 
#define LAPIC_ESR_SEND_CS   0x00001
 
#define LAPIC_ESR_RECV_CS   0x00002
 
#define LAPIC_ESR_SEND_ACC   0x00004
 
#define LAPIC_ESR_RECV_ACC   0x00008
 
#define LAPIC_ESR_SENDILL   0x00020
 
#define LAPIC_ESR_RECVILL   0x00040
 
#define LAPIC_ESR_ILLREGA   0x00080
 
#define LAPIC_ICR   0x300
 
#define LAPIC_DEST_SELF   0x40000
 
#define LAPIC_DEST_ALLINC   0x80000
 
#define LAPIC_DEST_ALLBUT   0xC0000
 
#define LAPIC_ICR_RR_MASK   0x30000
 
#define LAPIC_ICR_RR_INVALID   0x00000
 
#define LAPIC_ICR_RR_INPROG   0x10000
 
#define LAPIC_ICR_RR_VALID   0x20000
 
#define LAPIC_INT_LEVELTRIG   0x08000
 
#define LAPIC_INT_ASSERT   0x04000
 
#define LAPIC_ICR_BUSY   0x01000
 
#define LAPIC_DEST_LOGICAL   0x00800
 
#define LAPIC_DM_FIXED   0x00000
 
#define LAPIC_DM_LOWEST   0x00100
 
#define LAPIC_DM_SMI   0x00200
 
#define LAPIC_DM_REMRD   0x00300
 
#define LAPIC_DM_NMI   0x00400
 
#define LAPIC_DM_INIT   0x00500
 
#define LAPIC_DM_STARTUP   0x00600
 
#define LAPIC_DM_EXTINT   0x00700
 
#define LAPIC_VECTOR_MASK   0x000FF
 
#define LAPIC_ICR2   0x310
 
#define GET_LAPIC_DEST_FIELD(x)   (((x)>>24)&0xFF)
 
#define SET_LAPIC_DEST_FIELD(x)   ((x)<<24)
 
#define LAPIC_LVTT   0x320
 
#define LAPIC_LVTPC   0x340
 
#define LAPIC_LVT0   0x350
 
#define LAPIC_LVT_TIMER_BASE_MASK   (0x3<<18)
 
#define GET_LAPIC_TIMER_BASE(x)   (((x)>>18)&0x3)
 
#define SET_LAPIC_TIMER_BASE(x)   (((x)<<18))
 
#define LAPIC_TIMER_BASE_CLKIN   0x0
 
#define LAPIC_TIMER_BASE_TMBASE   0x1
 
#define LAPIC_TIMER_BASE_DIV   0x2
 
#define LAPIC_LVT_TIMER_PERIODIC   (1<<17)
 
#define LAPIC_LVT_MASKED   (1<<16)
 
#define LAPIC_LVT_LEVEL_TRIGGER   (1<<15)
 
#define LAPIC_LVT_REMOTE_IRR   (1<<14)
 
#define LAPIC_INPUT_POLARITY   (1<<13)
 
#define LAPIC_SEND_PENDING   (1<<12)
 
#define LAPIC_LVT_RESERVED_1   (1<<11)
 
#define LAPIC_DELIVERY_MODE_MASK   (7<<8)
 
#define LAPIC_DELIVERY_MODE_FIXED   (0<<8)
 
#define LAPIC_DELIVERY_MODE_NMI   (4<<8)
 
#define LAPIC_DELIVERY_MODE_EXTINT   (7<<8)
 
#define GET_LAPIC_DELIVERY_MODE(x)   (((x)>>8)&0x7)
 
#define SET_LAPIC_DELIVERY_MODE(x, y)   (((x)&~0x700)|((y)<<8))
 
#define LAPIC_MODE_FIXED   0x0
 
#define LAPIC_MODE_NMI   0x4
 
#define LAPIC_MODE_EXINT   0x7
 
#define LAPIC_LVT1   0x360
 
#define LAPIC_LVTERR   0x370
 
#define LAPIC_TMICT   0x380
 
#define LAPIC_TMCCT   0x390
 
#define LAPIC_TDCR   0x3E0
 
#define LAPIC_TDR_DIV_TMBASE   (1<<2)
 
#define LAPIC_TDR_DIV_1   0xB
 
#define LAPIC_TDR_DIV_2   0x0
 
#define LAPIC_TDR_DIV_4   0x1
 
#define LAPIC_TDR_DIV_8   0x2
 
#define LAPIC_TDR_DIV_16   0x3
 
#define LAPIC_TDR_DIV_32   0x8
 
#define LAPIC_TDR_DIV_64   0x9
 
#define LAPIC_TDR_DIV_128   0xA
 
#define X2APIC_MSR_BASE_ADDRESS   0x800
 
#define X2APIC_LAPIC_ID   (X2APIC_MSR_BASE_ADDRESS | (LAPIC_ID >> 4))
 
#define X2APIC_MSR_ICR_ADDRESS   0x830
 

Macro Definition Documentation

◆ GET_LAPIC_DELIVERY_MODE

#define GET_LAPIC_DELIVERY_MODE (   x)    (((x)>>8)&0x7)

Definition at line 75 of file lapic_def.h.

◆ GET_LAPIC_DEST_FIELD

#define GET_LAPIC_DEST_FIELD (   x)    (((x)>>24)&0xFF)

Definition at line 53 of file lapic_def.h.

◆ GET_LAPIC_TIMER_BASE

#define GET_LAPIC_TIMER_BASE (   x)    (((x)>>18)&0x3)

Definition at line 59 of file lapic_def.h.

◆ LAPIC_ARBID

#define LAPIC_ARBID   0x090

Definition at line 18 of file lapic_def.h.

◆ LAPIC_BASE_MSR

#define LAPIC_BASE_MSR   0x1B

Definition at line 4 of file lapic_def.h.

◆ LAPIC_BASE_MSR_ADDR_MASK

#define LAPIC_BASE_MSR_ADDR_MASK   0xFFFFF000

Definition at line 10 of file lapic_def.h.

◆ LAPIC_BASE_MSR_BOOTSTRAP_PROCESSOR

#define LAPIC_BASE_MSR_BOOTSTRAP_PROCESSOR   (1 << 8)

Definition at line 5 of file lapic_def.h.

◆ LAPIC_BASE_MSR_ENABLE

#define LAPIC_BASE_MSR_ENABLE   (1 << 11)

Definition at line 7 of file lapic_def.h.

◆ LAPIC_BASE_MSR_X2APIC_MODE

#define LAPIC_BASE_MSR_X2APIC_MODE   (1 << 10)

Definition at line 6 of file lapic_def.h.

◆ LAPIC_BASE_X2APIC_ENABLED

#define LAPIC_BASE_X2APIC_ENABLED    (LAPIC_BASE_MSR_X2APIC_MODE | LAPIC_BASE_MSR_ENABLE)

Definition at line 8 of file lapic_def.h.

◆ LAPIC_DEFAULT_BASE

#define LAPIC_DEFAULT_BASE   0xfee00000

Definition at line 12 of file lapic_def.h.

◆ LAPIC_DELIVERY_MODE_EXTINT

#define LAPIC_DELIVERY_MODE_EXTINT   (7<<8)

Definition at line 74 of file lapic_def.h.

◆ LAPIC_DELIVERY_MODE_FIXED

#define LAPIC_DELIVERY_MODE_FIXED   (0<<8)

Definition at line 72 of file lapic_def.h.

◆ LAPIC_DELIVERY_MODE_MASK

#define LAPIC_DELIVERY_MODE_MASK   (7<<8)

Definition at line 71 of file lapic_def.h.

◆ LAPIC_DELIVERY_MODE_NMI

#define LAPIC_DELIVERY_MODE_NMI   (4<<8)

Definition at line 73 of file lapic_def.h.

◆ LAPIC_DEST_ALLBUT

#define LAPIC_DEST_ALLBUT   0xC0000

Definition at line 34 of file lapic_def.h.

◆ LAPIC_DEST_ALLINC

#define LAPIC_DEST_ALLINC   0x80000

Definition at line 33 of file lapic_def.h.

◆ LAPIC_DEST_LOGICAL

#define LAPIC_DEST_LOGICAL   0x00800

Definition at line 42 of file lapic_def.h.

◆ LAPIC_DEST_SELF

#define LAPIC_DEST_SELF   0x40000

Definition at line 32 of file lapic_def.h.

◆ LAPIC_DM_EXTINT

#define LAPIC_DM_EXTINT   0x00700

Definition at line 50 of file lapic_def.h.

◆ LAPIC_DM_FIXED

#define LAPIC_DM_FIXED   0x00000

Definition at line 43 of file lapic_def.h.

◆ LAPIC_DM_INIT

#define LAPIC_DM_INIT   0x00500

Definition at line 48 of file lapic_def.h.

◆ LAPIC_DM_LOWEST

#define LAPIC_DM_LOWEST   0x00100

Definition at line 44 of file lapic_def.h.

◆ LAPIC_DM_NMI

#define LAPIC_DM_NMI   0x00400

Definition at line 47 of file lapic_def.h.

◆ LAPIC_DM_REMRD

#define LAPIC_DM_REMRD   0x00300

Definition at line 46 of file lapic_def.h.

◆ LAPIC_DM_SMI

#define LAPIC_DM_SMI   0x00200

Definition at line 45 of file lapic_def.h.

◆ LAPIC_DM_STARTUP

#define LAPIC_DM_STARTUP   0x00600

Definition at line 49 of file lapic_def.h.

◆ LAPIC_ESR

#define LAPIC_ESR   0x280

Definition at line 23 of file lapic_def.h.

◆ LAPIC_ESR_ILLREGA

#define LAPIC_ESR_ILLREGA   0x00080

Definition at line 30 of file lapic_def.h.

◆ LAPIC_ESR_RECV_ACC

#define LAPIC_ESR_RECV_ACC   0x00008

Definition at line 27 of file lapic_def.h.

◆ LAPIC_ESR_RECV_CS

#define LAPIC_ESR_RECV_CS   0x00002

Definition at line 25 of file lapic_def.h.

◆ LAPIC_ESR_RECVILL

#define LAPIC_ESR_RECVILL   0x00040

Definition at line 29 of file lapic_def.h.

◆ LAPIC_ESR_SEND_ACC

#define LAPIC_ESR_SEND_ACC   0x00004

Definition at line 26 of file lapic_def.h.

◆ LAPIC_ESR_SEND_CS

#define LAPIC_ESR_SEND_CS   0x00001

Definition at line 24 of file lapic_def.h.

◆ LAPIC_ESR_SENDILL

#define LAPIC_ESR_SENDILL   0x00020

Definition at line 28 of file lapic_def.h.

◆ LAPIC_ICR

#define LAPIC_ICR   0x300

Definition at line 31 of file lapic_def.h.

◆ LAPIC_ICR2

#define LAPIC_ICR2   0x310

Definition at line 52 of file lapic_def.h.

◆ LAPIC_ICR_BUSY

#define LAPIC_ICR_BUSY   0x01000

Definition at line 41 of file lapic_def.h.

◆ LAPIC_ICR_RR_INPROG

#define LAPIC_ICR_RR_INPROG   0x10000

Definition at line 37 of file lapic_def.h.

◆ LAPIC_ICR_RR_INVALID

#define LAPIC_ICR_RR_INVALID   0x00000

Definition at line 36 of file lapic_def.h.

◆ LAPIC_ICR_RR_MASK

#define LAPIC_ICR_RR_MASK   0x30000

Definition at line 35 of file lapic_def.h.

◆ LAPIC_ICR_RR_VALID

#define LAPIC_ICR_RR_VALID   0x20000

Definition at line 38 of file lapic_def.h.

◆ LAPIC_ID

#define LAPIC_ID   0x020

Definition at line 14 of file lapic_def.h.

◆ LAPIC_INPUT_POLARITY

#define LAPIC_INPUT_POLARITY   (1<<13)

Definition at line 68 of file lapic_def.h.

◆ LAPIC_INT_ASSERT

#define LAPIC_INT_ASSERT   0x04000

Definition at line 40 of file lapic_def.h.

◆ LAPIC_INT_LEVELTRIG

#define LAPIC_INT_LEVELTRIG   0x08000

Definition at line 39 of file lapic_def.h.

◆ LAPIC_LVR

#define LAPIC_LVR   0x030

Definition at line 15 of file lapic_def.h.

◆ LAPIC_LVT0

#define LAPIC_LVT0   0x350

Definition at line 57 of file lapic_def.h.

◆ LAPIC_LVT1

#define LAPIC_LVT1   0x360

Definition at line 80 of file lapic_def.h.

◆ LAPIC_LVT_LEVEL_TRIGGER

#define LAPIC_LVT_LEVEL_TRIGGER   (1<<15)

Definition at line 66 of file lapic_def.h.

◆ LAPIC_LVT_MASKED

#define LAPIC_LVT_MASKED   (1<<16)

Definition at line 65 of file lapic_def.h.

◆ LAPIC_LVT_REMOTE_IRR

#define LAPIC_LVT_REMOTE_IRR   (1<<14)

Definition at line 67 of file lapic_def.h.

◆ LAPIC_LVT_RESERVED_1

#define LAPIC_LVT_RESERVED_1   (1<<11)

Definition at line 70 of file lapic_def.h.

◆ LAPIC_LVT_TIMER_BASE_MASK

#define LAPIC_LVT_TIMER_BASE_MASK   (0x3<<18)

Definition at line 58 of file lapic_def.h.

◆ LAPIC_LVT_TIMER_PERIODIC

#define LAPIC_LVT_TIMER_PERIODIC   (1<<17)

Definition at line 64 of file lapic_def.h.

◆ LAPIC_LVTERR

#define LAPIC_LVTERR   0x370

Definition at line 81 of file lapic_def.h.

◆ LAPIC_LVTPC

#define LAPIC_LVTPC   0x340

Definition at line 56 of file lapic_def.h.

◆ LAPIC_LVTT

#define LAPIC_LVTT   0x320

Definition at line 55 of file lapic_def.h.

◆ LAPIC_MODE_EXINT

#define LAPIC_MODE_EXINT   0x7

Definition at line 79 of file lapic_def.h.

◆ LAPIC_MODE_FIXED

#define LAPIC_MODE_FIXED   0x0

Definition at line 77 of file lapic_def.h.

◆ LAPIC_MODE_NMI

#define LAPIC_MODE_NMI   0x4

Definition at line 78 of file lapic_def.h.

◆ LAPIC_RRR

#define LAPIC_RRR   0x0C0

Definition at line 19 of file lapic_def.h.

◆ LAPIC_SEND_PENDING

#define LAPIC_SEND_PENDING   (1<<12)

Definition at line 69 of file lapic_def.h.

◆ LAPIC_SPIV

#define LAPIC_SPIV   0x0f0

Definition at line 21 of file lapic_def.h.

◆ LAPIC_SPIV_ENABLE

#define LAPIC_SPIV_ENABLE   0x100

Definition at line 22 of file lapic_def.h.

◆ LAPIC_SVR

#define LAPIC_SVR   0x0f0

Definition at line 20 of file lapic_def.h.

◆ LAPIC_TASKPRI

#define LAPIC_TASKPRI   0x80

Definition at line 16 of file lapic_def.h.

◆ LAPIC_TDCR

#define LAPIC_TDCR   0x3E0

Definition at line 84 of file lapic_def.h.

◆ LAPIC_TDR_DIV_1

#define LAPIC_TDR_DIV_1   0xB

Definition at line 86 of file lapic_def.h.

◆ LAPIC_TDR_DIV_128

#define LAPIC_TDR_DIV_128   0xA

Definition at line 93 of file lapic_def.h.

◆ LAPIC_TDR_DIV_16

#define LAPIC_TDR_DIV_16   0x3

Definition at line 90 of file lapic_def.h.

◆ LAPIC_TDR_DIV_2

#define LAPIC_TDR_DIV_2   0x0

Definition at line 87 of file lapic_def.h.

◆ LAPIC_TDR_DIV_32

#define LAPIC_TDR_DIV_32   0x8

Definition at line 91 of file lapic_def.h.

◆ LAPIC_TDR_DIV_4

#define LAPIC_TDR_DIV_4   0x1

Definition at line 88 of file lapic_def.h.

◆ LAPIC_TDR_DIV_64

#define LAPIC_TDR_DIV_64   0x9

Definition at line 92 of file lapic_def.h.

◆ LAPIC_TDR_DIV_8

#define LAPIC_TDR_DIV_8   0x2

Definition at line 89 of file lapic_def.h.

◆ LAPIC_TDR_DIV_TMBASE

#define LAPIC_TDR_DIV_TMBASE   (1<<2)

Definition at line 85 of file lapic_def.h.

◆ LAPIC_TIMER_BASE_CLKIN

#define LAPIC_TIMER_BASE_CLKIN   0x0

Definition at line 61 of file lapic_def.h.

◆ LAPIC_TIMER_BASE_DIV

#define LAPIC_TIMER_BASE_DIV   0x2

Definition at line 63 of file lapic_def.h.

◆ LAPIC_TIMER_BASE_TMBASE

#define LAPIC_TIMER_BASE_TMBASE   0x1

Definition at line 62 of file lapic_def.h.

◆ LAPIC_TMCCT

#define LAPIC_TMCCT   0x390

Definition at line 83 of file lapic_def.h.

◆ LAPIC_TMICT

#define LAPIC_TMICT   0x380

Definition at line 82 of file lapic_def.h.

◆ LAPIC_TPRI_MASK

#define LAPIC_TPRI_MASK   0xFF

Definition at line 17 of file lapic_def.h.

◆ LAPIC_VECTOR_MASK

#define LAPIC_VECTOR_MASK   0x000FF

Definition at line 51 of file lapic_def.h.

◆ SET_LAPIC_DELIVERY_MODE

#define SET_LAPIC_DELIVERY_MODE (   x,
  y 
)    (((x)&~0x700)|((y)<<8))

Definition at line 76 of file lapic_def.h.

◆ SET_LAPIC_DEST_FIELD

#define SET_LAPIC_DEST_FIELD (   x)    ((x)<<24)

Definition at line 54 of file lapic_def.h.

◆ SET_LAPIC_TIMER_BASE

#define SET_LAPIC_TIMER_BASE (   x)    (((x)<<18))

Definition at line 60 of file lapic_def.h.

◆ X2APIC_LAPIC_ID

#define X2APIC_LAPIC_ID   (X2APIC_MSR_BASE_ADDRESS | (LAPIC_ID >> 4))

Definition at line 96 of file lapic_def.h.

◆ X2APIC_MSR_BASE_ADDRESS

#define X2APIC_MSR_BASE_ADDRESS   0x800

Definition at line 95 of file lapic_def.h.

◆ X2APIC_MSR_ICR_ADDRESS

#define X2APIC_MSR_ICR_ADDRESS   0x830

Definition at line 97 of file lapic_def.h.