Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
apicdef.h File Reference

Go to the source code of this file.

Data Structures

struct  local_apic
 

Macros

#define IO_APIC_DEFAULT_PHYS_BASE   0xfec00000
 
#define APIC_DEFAULT_PHYS_BASE   0xfee00000
 
#define IO_APIC_SLOT_SIZE   1024
 
#define APIC_ID   0x20
 
#define APIC_LVR   0x30
 
#define APIC_LVR_MASK   0xFF00FF
 
#define APIC_LVR_DIRECTED_EOI   (1 << 24)
 
#define GET_APIC_VERSION(x)   ((x) & 0xFFu)
 
#define GET_APIC_MAXLVT(x)   (((x) >> 16) & 0xFFu)
 
#define APIC_INTEGRATED(x)   (1)
 
#define APIC_XAPIC(x)   ((x) >= 0x14)
 
#define APIC_EXT_SPACE(x)   ((x) & 0x80000000)
 
#define APIC_TASKPRI   0x80
 
#define APIC_TPRI_MASK   0xFFu
 
#define APIC_ARBPRI   0x90
 
#define APIC_ARBPRI_MASK   0xFFu
 
#define APIC_PROCPRI   0xA0
 
#define APIC_EOI   0xB0
 
#define APIC_EOI_ACK   0x0 /* Docs say 0 for future compat. */
 
#define APIC_RRR   0xC0
 
#define APIC_LDR   0xD0
 
#define APIC_LDR_MASK   (0xFFu << 24)
 
#define GET_APIC_LOGICAL_ID(x)   (((x) >> 24) & 0xFFu)
 
#define SET_APIC_LOGICAL_ID(x)   (((x) << 24))
 
#define APIC_ALL_CPUS   0xFFu
 
#define APIC_DFR   0xE0
 
#define APIC_DFR_CLUSTER   0x0FFFFFFFul
 
#define APIC_DFR_FLAT   0xFFFFFFFFul
 
#define APIC_SPIV   0xF0
 
#define APIC_SPIV_DIRECTED_EOI   (1 << 12)
 
#define APIC_SPIV_FOCUS_DISABLED   (1 << 9)
 
#define APIC_SPIV_APIC_ENABLED   (1 << 8)
 
#define APIC_ISR   0x100
 
#define APIC_ISR_NR   0x8 /* Number of 32 bit ISR registers. */
 
#define APIC_TMR   0x180
 
#define APIC_IRR   0x200
 
#define APIC_ESR   0x280
 
#define APIC_ESR_SEND_CS   0x00001
 
#define APIC_ESR_RECV_CS   0x00002
 
#define APIC_ESR_SEND_ACC   0x00004
 
#define APIC_ESR_RECV_ACC   0x00008
 
#define APIC_ESR_SENDILL   0x00020
 
#define APIC_ESR_RECVILL   0x00040
 
#define APIC_ESR_ILLREGA   0x00080
 
#define APIC_LVTCMCI   0x2f0
 
#define APIC_ICR   0x300
 
#define APIC_DEST_SELF   0x40000
 
#define APIC_DEST_ALLINC   0x80000
 
#define APIC_DEST_ALLBUT   0xC0000
 
#define APIC_ICR_RR_MASK   0x30000
 
#define APIC_ICR_RR_INVALID   0x00000
 
#define APIC_ICR_RR_INPROG   0x10000
 
#define APIC_ICR_RR_VALID   0x20000
 
#define APIC_INT_LEVELTRIG   0x08000
 
#define APIC_INT_ASSERT   0x04000
 
#define APIC_ICR_BUSY   0x01000
 
#define APIC_DEST_LOGICAL   0x00800
 
#define APIC_DEST_PHYSICAL   0x00000
 
#define APIC_DM_FIXED   0x00000
 
#define APIC_DM_FIXED_MASK   0x00700
 
#define APIC_DM_LOWEST   0x00100
 
#define APIC_DM_SMI   0x00200
 
#define APIC_DM_REMRD   0x00300
 
#define APIC_DM_NMI   0x00400
 
#define APIC_DM_INIT   0x00500
 
#define APIC_DM_STARTUP   0x00600
 
#define APIC_DM_EXTINT   0x00700
 
#define APIC_VECTOR_MASK   0x000FF
 
#define APIC_ICR2   0x310
 
#define GET_APIC_DEST_FIELD(x)   (((x) >> 24) & 0xFF)
 
#define SET_APIC_DEST_FIELD(x)   ((x) << 24)
 
#define APIC_LVTT   0x320
 
#define APIC_LVTTHMR   0x330
 
#define APIC_LVTPC   0x340
 
#define APIC_LVT0   0x350
 
#define APIC_LVT_TIMER_BASE_MASK   (0x3 << 18)
 
#define GET_APIC_TIMER_BASE(x)   (((x) >> 18) & 0x3)
 
#define SET_APIC_TIMER_BASE(x)   (((x) << 18))
 
#define APIC_TIMER_BASE_CLKIN   0x0
 
#define APIC_TIMER_BASE_TMBASE   0x1
 
#define APIC_TIMER_BASE_DIV   0x2
 
#define APIC_LVT_TIMER_ONESHOT   (0 << 17)
 
#define APIC_LVT_TIMER_PERIODIC   (1 << 17)
 
#define APIC_LVT_TIMER_TSCDEADLINE   (2 << 17)
 
#define APIC_LVT_MASKED   (1 << 16)
 
#define APIC_LVT_LEVEL_TRIGGER   (1 << 15)
 
#define APIC_LVT_REMOTE_IRR   (1 << 14)
 
#define APIC_INPUT_POLARITY   (1 << 13)
 
#define APIC_SEND_PENDING   (1 << 12)
 
#define APIC_MODE_MASK   0x700
 
#define GET_APIC_DELIVERY_MODE(x)   (((x) >> 8) & 0x7)
 
#define SET_APIC_DELIVERY_MODE(x, y)   (((x) & ~0x700) | ((y) << 8))
 
#define APIC_MODE_FIXED   0x0
 
#define APIC_MODE_NMI   0x4
 
#define APIC_MODE_EXTINT   0x7
 
#define APIC_LVT1   0x360
 
#define APIC_LVTERR   0x370
 
#define APIC_TMICT   0x380
 
#define APIC_TMCCT   0x390
 
#define APIC_TDCR   0x3E0
 
#define APIC_SELF_IPI   0x3F0
 
#define APIC_TDR_DIV_TMBASE   (1 << 2)
 
#define APIC_TDR_DIV_1   0xB
 
#define APIC_TDR_DIV_2   0x0
 
#define APIC_TDR_DIV_4   0x1
 
#define APIC_TDR_DIV_8   0x2
 
#define APIC_TDR_DIV_16   0x3
 
#define APIC_TDR_DIV_32   0x8
 
#define APIC_TDR_DIV_64   0x9
 
#define APIC_TDR_DIV_128   0xA
 
#define APIC_EFEAT   0x400
 
#define APIC_ECTRL   0x410
 
#define APIC_EILVTn(n)   (0x500 + 0x10 * n)
 
#define APIC_EILVT_NR_AMD_K8   1 /* # of extended interrupts */
 
#define APIC_EILVT_NR_AMD_10H   4
 
#define APIC_EILVT_NR_MAX   APIC_EILVT_NR_AMD_10H
 
#define APIC_EILVT_LVTOFF(x)   (((x) >> 4) & 0xF)
 
#define APIC_EILVT_MSG_FIX   0x0
 
#define APIC_EILVT_MSG_SMI   0x2
 
#define APIC_EILVT_MSG_NMI   0x4
 
#define APIC_EILVT_MSG_EXT   0x7
 
#define APIC_EILVT_MASKED   (1 << 16)
 
#define APIC_BASE   (fix_to_virt(FIX_APIC_BASE))
 
#define APIC_BASE_MSR   0x800
 
#define XAPIC_ENABLE   (1UL << 11)
 
#define X2APIC_ENABLE   (1UL << 10)
 
#define MAX_IO_APICS   128
 
#define MAX_LOCAL_APIC   32768
 
#define XAPIC_DEST_CPUS_SHIFT   4
 
#define XAPIC_DEST_CPUS_MASK   ((1u << XAPIC_DEST_CPUS_SHIFT) - 1)
 
#define XAPIC_DEST_CLUSTER_MASK   (XAPIC_DEST_CPUS_MASK << XAPIC_DEST_CPUS_SHIFT)
 
#define APIC_CLUSTER(apicid)   ((apicid) & XAPIC_DEST_CLUSTER_MASK)
 
#define APIC_CLUSTERID(apicid)   (APIC_CLUSTER(apicid) >> XAPIC_DEST_CPUS_SHIFT)
 
#define APIC_CPUID(apicid)   ((apicid) & XAPIC_DEST_CPUS_MASK)
 
#define NUM_APIC_CLUSTERS   ((BAD_APICID + 1) >> XAPIC_DEST_CPUS_SHIFT)
 
#define u32   unsigned int
 
#define BAD_APICID   0xFFFFu
 

Enumerations

enum  ioapic_irq_destination_types {
  dest_Fixed = 0, dest_LowestPrio = 1, dest_SMI = 2, dest__reserved_1 = 3,
  dest_NMI = 4, dest_INIT = 5, dest__reserved_2 = 6, dest_ExtINT = 7
}
 

Functions

struct local_apic __attribute__ ((packed))
 

Variables

struct {
   u32   __reserved [4]
 
__reserved_01
 
struct {
   u32   __reserved [4]
 
__reserved_02
 
struct {
   u32   __reserved_1: 24
 
   u32   phys_apic_id: 4
 
   u32   __reserved_2: 4
 
   u32   __reserved [3]
 
id
 
struct {
   u32   __reserved [4]
 
__reserved_03
 
struct {
   u32   __reserved [4]
 
__reserved_04
 
struct {
   u32   __reserved [4]
 
__reserved_05
 
struct {
   u32   __reserved [4]
 
__reserved_06
 
struct {
   u32   priority: 8
 
   u32   __reserved_1: 24
 
   u32   __reserved_2 [3]
 
tpr
 
struct {
   u32   priority: 8
 
   u32   __reserved_1: 24
 
   u32   __reserved_2 [3]
 
apr
 
struct {
   u32   priority: 8
 
   u32   __reserved_1: 24
 
   u32   __reserved_2 [3]
 
ppr
 
struct {
   u32   __reserved [4]
 
__reserved_07
 
struct {
   u32   __reserved_1: 24
 
   u32   logical_dest: 8
 
   u32   __reserved_2 [3]
 
ldr
 
struct {
   u32   __reserved_1: 28
 
   u32   model: 4
 
   u32   __reserved_2 [3]
 
dfr
 
struct {
   u32   spurious_vector: 8
 
   u32   apic_enabled: 1
 
   u32   focus_cpu: 1
 
   u32   __reserved_2: 22
 
   u32   __reserved_3 [3]
 
svr
 
struct {
   u32   bitfield
 
   u32   __reserved [3]
 
isr [8]
 
struct {
   u32   bitfield
 
   u32   __reserved [3]
 
tmr [8]
 
struct {
   u32   bitfield
 
   u32   __reserved [3]
 
irr [8]
 
union {
   struct {
      u32   send_cs_error: 1
 
      u32   receive_cs_error: 1
 
      u32   send_accept_error: 1
 
      u32   receive_accept_error: 1
 
      u32   __reserved_1: 1
 
      u32   send_illegal_vector: 1
 
      u32   receive_illegal_vector: 1
 
      u32   illegal_register_address: 1
 
      u32   __reserved_2: 24
 
      u32   __reserved_3 [3]
 
   }   error_bits
 
   struct {
      u32   errors
 
      u32   __reserved_3 [3]
 
   }   all_errors
 
esr
 
struct {
   u32   __reserved [4]
 
__reserved_08
 
struct {
   u32   __reserved [4]
 
__reserved_09
 
struct {
   u32   __reserved [4]
 
__reserved_10
 
struct {
   u32   __reserved [4]
 
__reserved_11
 
struct {
   u32   __reserved [4]
 
__reserved_12
 
struct {
   u32   __reserved [4]
 
__reserved_13
 
struct {
   u32   __reserved [4]
 
__reserved_14
 
struct {
   u32   vector: 8
 
   u32   delivery_mode: 3
 
   u32   destination_mode: 1
 
   u32   delivery_status: 1
 
   u32   __reserved_1: 1
 
   u32   level: 1
 
   u32   trigger: 1
 
   u32   __reserved_2: 2
 
   u32   shorthand: 2
 
   u32   __reserved_3: 12
 
   u32   __reserved_4 [3]
 
icr1
 
struct {
   union {
      u32   __reserved_1: 24
 
      u32   phys_dest: 4
 
      u32   __reserved_2: 4
 
      u32   __reserved_3: 24
 
      u32   logical_dest: 8
 
   }   dest
 
   u32   __reserved_4 [3]
 
icr2
 
struct {
   u32   vector: 8
 
   u32   __reserved_1: 4
 
   u32   delivery_status: 1
 
   u32   __reserved_2: 3
 
   u32   mask: 1
 
   u32   timer_mode: 1
 
   u32   __reserved_3: 14
 
   u32   __reserved_4 [3]
 
lvt_timer
 
struct {
   u32   vector: 8
 
   u32   delivery_mode: 3
 
   u32   __reserved_1: 1
 
   u32   delivery_status: 1
 
   u32   __reserved_2: 3
 
   u32   mask: 1
 
   u32   __reserved_3: 15
 
   u32   __reserved_4 [3]
 
lvt_thermal
 
struct {
   u32   vector: 8
 
   u32   delivery_mode: 3
 
   u32   __reserved_1: 1
 
   u32   delivery_status: 1
 
   u32   __reserved_2: 3
 
   u32   mask: 1
 
   u32   __reserved_3: 15
 
   u32   __reserved_4 [3]
 
lvt_pc
 
struct {
   u32   vector: 8
 
   u32   delivery_mode: 3
 
   u32   __reserved_1: 1
 
   u32   delivery_status: 1
 
   u32   polarity: 1
 
   u32   remote_irr: 1
 
   u32   trigger: 1
 
   u32   mask: 1
 
   u32   __reserved_2: 15
 
   u32   __reserved_3 [3]
 
lvt_lint0
 
struct {
   u32   vector: 8
 
   u32   delivery_mode: 3
 
   u32   __reserved_1: 1
 
   u32   delivery_status: 1
 
   u32   polarity: 1
 
   u32   remote_irr: 1
 
   u32   trigger: 1
 
   u32   mask: 1
 
   u32   __reserved_2: 15
 
   u32   __reserved_3 [3]
 
lvt_lint1
 
struct {
   u32   vector: 8
 
   u32   __reserved_1: 4
 
   u32   delivery_status: 1
 
   u32   __reserved_2: 3
 
   u32   mask: 1
 
   u32   __reserved_3: 15
 
   u32   __reserved_4 [3]
 
lvt_error
 
struct {
   u32   initial_count
 
   u32   __reserved_2 [3]
 
timer_icr
 
struct {
   u32   curr_count
 
   u32   __reserved_2 [3]
 
timer_ccr
 
struct {
   u32   __reserved [4]
 
__reserved_16
 
struct {
   u32   __reserved [4]
 
__reserved_17
 
struct {
   u32   __reserved [4]
 
__reserved_18
 
struct {
   u32   __reserved [4]
 
__reserved_19
 
struct {
   u32   divisor: 4
 
   u32   __reserved_1: 28
 
   u32   __reserved_2 [3]
 
timer_dcr
 
struct {
   u32   __reserved [4]
 
__reserved_20
 
enum ioapic_irq_destination_types __attribute__
 

Macro Definition Documentation

#define APIC_ALL_CPUS   0xFFu

Definition at line 46 of file apicdef.h.

#define APIC_ARBPRI   0x90

Definition at line 36 of file apicdef.h.

#define APIC_ARBPRI_MASK   0xFFu

Definition at line 37 of file apicdef.h.

#define APIC_BASE   (fix_to_virt(FIX_APIC_BASE))

Definition at line 145 of file apicdef.h.

#define APIC_BASE_MSR   0x800

Definition at line 146 of file apicdef.h.

#define APIC_CLUSTER (   apicid)    ((apicid) & XAPIC_DEST_CLUSTER_MASK)

Definition at line 165 of file apicdef.h.

#define APIC_CLUSTERID (   apicid)    (APIC_CLUSTER(apicid) >> XAPIC_DEST_CPUS_SHIFT)

Definition at line 166 of file apicdef.h.

#define APIC_CPUID (   apicid)    ((apicid) & XAPIC_DEST_CPUS_MASK)

Definition at line 167 of file apicdef.h.

#define APIC_DEFAULT_PHYS_BASE   0xfee00000

Definition at line 12 of file apicdef.h.

#define APIC_DEST_ALLBUT   0xC0000

Definition at line 70 of file apicdef.h.

#define APIC_DEST_ALLINC   0x80000

Definition at line 69 of file apicdef.h.

#define APIC_DEST_LOGICAL   0x00800

Definition at line 78 of file apicdef.h.

#define APIC_DEST_PHYSICAL   0x00000

Definition at line 79 of file apicdef.h.

#define APIC_DEST_SELF   0x40000

Definition at line 68 of file apicdef.h.

#define APIC_DFR   0xE0

Definition at line 47 of file apicdef.h.

#define APIC_DFR_CLUSTER   0x0FFFFFFFul

Definition at line 48 of file apicdef.h.

#define APIC_DFR_FLAT   0xFFFFFFFFul

Definition at line 49 of file apicdef.h.

#define APIC_DM_EXTINT   0x00700

Definition at line 88 of file apicdef.h.

#define APIC_DM_FIXED   0x00000

Definition at line 80 of file apicdef.h.

#define APIC_DM_FIXED_MASK   0x00700

Definition at line 81 of file apicdef.h.

#define APIC_DM_INIT   0x00500

Definition at line 86 of file apicdef.h.

#define APIC_DM_LOWEST   0x00100

Definition at line 82 of file apicdef.h.

#define APIC_DM_NMI   0x00400

Definition at line 85 of file apicdef.h.

#define APIC_DM_REMRD   0x00300

Definition at line 84 of file apicdef.h.

#define APIC_DM_SMI   0x00200

Definition at line 83 of file apicdef.h.

#define APIC_DM_STARTUP   0x00600

Definition at line 87 of file apicdef.h.

#define APIC_ECTRL   0x410

Definition at line 133 of file apicdef.h.

#define APIC_EFEAT   0x400

Definition at line 132 of file apicdef.h.

#define APIC_EILVT_LVTOFF (   x)    (((x) >> 4) & 0xF)

Definition at line 138 of file apicdef.h.

#define APIC_EILVT_MASKED   (1 << 16)

Definition at line 143 of file apicdef.h.

#define APIC_EILVT_MSG_EXT   0x7

Definition at line 142 of file apicdef.h.

#define APIC_EILVT_MSG_FIX   0x0

Definition at line 139 of file apicdef.h.

#define APIC_EILVT_MSG_NMI   0x4

Definition at line 141 of file apicdef.h.

#define APIC_EILVT_MSG_SMI   0x2

Definition at line 140 of file apicdef.h.

#define APIC_EILVT_NR_AMD_10H   4

Definition at line 136 of file apicdef.h.

#define APIC_EILVT_NR_AMD_K8   1 /* # of extended interrupts */

Definition at line 135 of file apicdef.h.

#define APIC_EILVT_NR_MAX   APIC_EILVT_NR_AMD_10H

Definition at line 137 of file apicdef.h.

#define APIC_EILVTn (   n)    (0x500 + 0x10 * n)

Definition at line 134 of file apicdef.h.

#define APIC_EOI   0xB0

Definition at line 39 of file apicdef.h.

#define APIC_EOI_ACK   0x0 /* Docs say 0 for future compat. */

Definition at line 40 of file apicdef.h.

#define APIC_ESR   0x280

Definition at line 58 of file apicdef.h.

#define APIC_ESR_ILLREGA   0x00080

Definition at line 65 of file apicdef.h.

#define APIC_ESR_RECV_ACC   0x00008

Definition at line 62 of file apicdef.h.

#define APIC_ESR_RECV_CS   0x00002

Definition at line 60 of file apicdef.h.

#define APIC_ESR_RECVILL   0x00040

Definition at line 64 of file apicdef.h.

#define APIC_ESR_SEND_ACC   0x00004

Definition at line 61 of file apicdef.h.

#define APIC_ESR_SEND_CS   0x00001

Definition at line 59 of file apicdef.h.

#define APIC_ESR_SENDILL   0x00020

Definition at line 63 of file apicdef.h.

#define APIC_EXT_SPACE (   x)    ((x) & 0x80000000)

Definition at line 33 of file apicdef.h.

#define APIC_ICR   0x300

Definition at line 67 of file apicdef.h.

#define APIC_ICR2   0x310

Definition at line 90 of file apicdef.h.

#define APIC_ICR_BUSY   0x01000

Definition at line 77 of file apicdef.h.

#define APIC_ICR_RR_INPROG   0x10000

Definition at line 73 of file apicdef.h.

#define APIC_ICR_RR_INVALID   0x00000

Definition at line 72 of file apicdef.h.

#define APIC_ICR_RR_MASK   0x30000

Definition at line 71 of file apicdef.h.

#define APIC_ICR_RR_VALID   0x20000

Definition at line 74 of file apicdef.h.

#define APIC_ID   0x20

Definition at line 20 of file apicdef.h.

#define APIC_INPUT_POLARITY   (1 << 13)

Definition at line 109 of file apicdef.h.

#define APIC_INT_ASSERT   0x04000

Definition at line 76 of file apicdef.h.

#define APIC_INT_LEVELTRIG   0x08000

Definition at line 75 of file apicdef.h.

#define APIC_INTEGRATED (   x)    (1)

Definition at line 30 of file apicdef.h.

#define APIC_IRR   0x200

Definition at line 57 of file apicdef.h.

#define APIC_ISR   0x100

Definition at line 54 of file apicdef.h.

#define APIC_ISR_NR   0x8 /* Number of 32 bit ISR registers. */

Definition at line 55 of file apicdef.h.

#define APIC_LDR   0xD0

Definition at line 42 of file apicdef.h.

#define APIC_LDR_MASK   (0xFFu << 24)

Definition at line 43 of file apicdef.h.

#define APIC_LVR   0x30

Definition at line 22 of file apicdef.h.

#define APIC_LVR_DIRECTED_EOI   (1 << 24)

Definition at line 24 of file apicdef.h.

#define APIC_LVR_MASK   0xFF00FF

Definition at line 23 of file apicdef.h.

#define APIC_LVT0   0x350

Definition at line 96 of file apicdef.h.

#define APIC_LVT1   0x360

Definition at line 117 of file apicdef.h.

#define APIC_LVT_LEVEL_TRIGGER   (1 << 15)

Definition at line 107 of file apicdef.h.

#define APIC_LVT_MASKED   (1 << 16)

Definition at line 106 of file apicdef.h.

#define APIC_LVT_REMOTE_IRR   (1 << 14)

Definition at line 108 of file apicdef.h.

#define APIC_LVT_TIMER_BASE_MASK   (0x3 << 18)

Definition at line 97 of file apicdef.h.

#define APIC_LVT_TIMER_ONESHOT   (0 << 17)

Definition at line 103 of file apicdef.h.

#define APIC_LVT_TIMER_PERIODIC   (1 << 17)

Definition at line 104 of file apicdef.h.

#define APIC_LVT_TIMER_TSCDEADLINE   (2 << 17)

Definition at line 105 of file apicdef.h.

#define APIC_LVTCMCI   0x2f0

Definition at line 66 of file apicdef.h.

#define APIC_LVTERR   0x370

Definition at line 118 of file apicdef.h.

#define APIC_LVTPC   0x340

Definition at line 95 of file apicdef.h.

#define APIC_LVTT   0x320

Definition at line 93 of file apicdef.h.

#define APIC_LVTTHMR   0x330

Definition at line 94 of file apicdef.h.

#define APIC_MODE_EXTINT   0x7

Definition at line 116 of file apicdef.h.

#define APIC_MODE_FIXED   0x0

Definition at line 114 of file apicdef.h.

#define APIC_MODE_MASK   0x700

Definition at line 111 of file apicdef.h.

#define APIC_MODE_NMI   0x4

Definition at line 115 of file apicdef.h.

#define APIC_PROCPRI   0xA0

Definition at line 38 of file apicdef.h.

#define APIC_RRR   0xC0

Definition at line 41 of file apicdef.h.

#define APIC_SELF_IPI   0x3F0

Definition at line 122 of file apicdef.h.

#define APIC_SEND_PENDING   (1 << 12)

Definition at line 110 of file apicdef.h.

#define APIC_SPIV   0xF0

Definition at line 50 of file apicdef.h.

#define APIC_SPIV_APIC_ENABLED   (1 << 8)

Definition at line 53 of file apicdef.h.

#define APIC_SPIV_DIRECTED_EOI   (1 << 12)

Definition at line 51 of file apicdef.h.

#define APIC_SPIV_FOCUS_DISABLED   (1 << 9)

Definition at line 52 of file apicdef.h.

#define APIC_TASKPRI   0x80

Definition at line 34 of file apicdef.h.

#define APIC_TDCR   0x3E0

Definition at line 121 of file apicdef.h.

#define APIC_TDR_DIV_1   0xB

Definition at line 124 of file apicdef.h.

#define APIC_TDR_DIV_128   0xA

Definition at line 131 of file apicdef.h.

#define APIC_TDR_DIV_16   0x3

Definition at line 128 of file apicdef.h.

#define APIC_TDR_DIV_2   0x0

Definition at line 125 of file apicdef.h.

#define APIC_TDR_DIV_32   0x8

Definition at line 129 of file apicdef.h.

#define APIC_TDR_DIV_4   0x1

Definition at line 126 of file apicdef.h.

#define APIC_TDR_DIV_64   0x9

Definition at line 130 of file apicdef.h.

#define APIC_TDR_DIV_8   0x2

Definition at line 127 of file apicdef.h.

#define APIC_TDR_DIV_TMBASE   (1 << 2)

Definition at line 123 of file apicdef.h.

#define APIC_TIMER_BASE_CLKIN   0x0

Definition at line 100 of file apicdef.h.

#define APIC_TIMER_BASE_DIV   0x2

Definition at line 102 of file apicdef.h.

#define APIC_TIMER_BASE_TMBASE   0x1

Definition at line 101 of file apicdef.h.

#define APIC_TMCCT   0x390

Definition at line 120 of file apicdef.h.

#define APIC_TMICT   0x380

Definition at line 119 of file apicdef.h.

#define APIC_TMR   0x180

Definition at line 56 of file apicdef.h.

#define APIC_TPRI_MASK   0xFFu

Definition at line 35 of file apicdef.h.

#define APIC_VECTOR_MASK   0x000FF

Definition at line 89 of file apicdef.h.

#define APIC_XAPIC (   x)    ((x) >= 0x14)

Definition at line 32 of file apicdef.h.

#define BAD_APICID   0xFFFFu

Definition at line 431 of file apicdef.h.

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

Definition at line 112 of file apicdef.h.

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

Definition at line 91 of file apicdef.h.

#define GET_APIC_LOGICAL_ID (   x)    (((x) >> 24) & 0xFFu)

Definition at line 44 of file apicdef.h.

#define GET_APIC_MAXLVT (   x)    (((x) >> 16) & 0xFFu)

Definition at line 26 of file apicdef.h.

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

Definition at line 98 of file apicdef.h.

#define GET_APIC_VERSION (   x)    ((x) & 0xFFu)

Definition at line 25 of file apicdef.h.

#define IO_APIC_DEFAULT_PHYS_BASE   0xfec00000

Definition at line 11 of file apicdef.h.

#define IO_APIC_SLOT_SIZE   1024

Definition at line 18 of file apicdef.h.

#define MAX_IO_APICS   128

Definition at line 154 of file apicdef.h.

#define MAX_LOCAL_APIC   32768

Definition at line 155 of file apicdef.h.

#define NUM_APIC_CLUSTERS   ((BAD_APICID + 1) >> XAPIC_DEST_CPUS_SHIFT)

Definition at line 168 of file apicdef.h.

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

Definition at line 113 of file apicdef.h.

#define SET_APIC_DEST_FIELD (   x)    ((x) << 24)

Definition at line 92 of file apicdef.h.

#define SET_APIC_LOGICAL_ID (   x)    (((x) << 24))

Definition at line 45 of file apicdef.h.

#define SET_APIC_TIMER_BASE (   x)    (((x) << 18))

Definition at line 99 of file apicdef.h.

#define u32   unsigned int

Definition at line 176 of file apicdef.h.

#define X2APIC_ENABLE   (1UL << 10)

Definition at line 148 of file apicdef.h.

#define XAPIC_DEST_CLUSTER_MASK   (XAPIC_DEST_CPUS_MASK << XAPIC_DEST_CPUS_SHIFT)

Definition at line 164 of file apicdef.h.

#define XAPIC_DEST_CPUS_MASK   ((1u << XAPIC_DEST_CPUS_SHIFT) - 1)

Definition at line 163 of file apicdef.h.

#define XAPIC_DEST_CPUS_SHIFT   4

Definition at line 162 of file apicdef.h.

#define XAPIC_ENABLE   (1UL << 11)

Definition at line 147 of file apicdef.h.

Enumeration Type Documentation

Enumerator:
dest_Fixed 
dest_LowestPrio 
dest_SMI 
dest__reserved_1 
dest_NMI 
dest_INIT 
dest__reserved_2 
dest_ExtINT 

Definition at line 434 of file apicdef.h.

Function Documentation

struct local_apic __attribute__ ( (packed)  )
read

Definition at line 171 of file esd_usb2.c.

Variable Documentation

u32 __reserved[4]

Definition at line 426 of file apicdef.h.

struct { ... } __reserved_01
struct { ... } __reserved_02
struct { ... } __reserved_03
struct { ... } __reserved_04
struct { ... } __reserved_05
struct { ... } __reserved_06
struct { ... } __reserved_07
struct { ... } __reserved_08
struct { ... } __reserved_09
u32 __reserved_1

Definition at line 431 of file apicdef.h.

struct { ... } __reserved_10
struct { ... } __reserved_11
struct { ... } __reserved_12
struct { ... } __reserved_13
struct { ... } __reserved_14
struct { ... } __reserved_16
struct { ... } __reserved_17
struct { ... } __reserved_18
struct { ... } __reserved_19
__u32 __reserved_2

Definition at line 431 of file apicdef.h.

struct { ... } __reserved_20
u32 __reserved_3

Definition at line 498 of file apicdef.h.

u32 __reserved_4[3]

Definition at line 560 of file apicdef.h.

struct { ... } all_errors
u32 apic_enabled

Definition at line 494 of file apicdef.h.

struct { ... } apr
u32 bitfield

Definition at line 502 of file apicdef.h.

u32 curr_count

Definition at line 650 of file apicdef.h.

u32 delivery_mode

Definition at line 550 of file apicdef.h.

__u64 delivery_status

Definition at line 550 of file apicdef.h.

union { ... } dest
u32 destination_mode

Definition at line 550 of file apicdef.h.

struct { ... } dfr
u32 divisor

Definition at line 663 of file apicdef.h.

struct { ... } eoi

Definition at line 475 of file apicdef.h.

struct { ... } error_bits
u32 errors

Definition at line 530 of file apicdef.h.

union { ... } esr
u32 focus_cpu

Definition at line 494 of file apicdef.h.

struct { ... } icr1
struct { ... } icr2
struct { ... } id
u32 illegal_register_address

Definition at line 518 of file apicdef.h.

u32 initial_count

Definition at line 644 of file apicdef.h.

__u64 irr

Definition at line 97 of file io_apic.h.

struct { ... } isr[8]
struct { ... } ldr
u32 level

Definition at line 550 of file apicdef.h.

u32 logical_dest

Definition at line 482 of file apicdef.h.

struct { ... } lvt_error
struct { ... } lvt_lint0
struct { ... } lvt_lint1
struct { ... } lvt_pc
struct { ... } lvt_thermal
struct { ... } lvt_timer
u32 mask

Definition at line 575 of file apicdef.h.

u32 max_lvt

Definition at line 439 of file apicdef.h.

u32 model

Definition at line 488 of file apicdef.h.

u32 phys_apic_id

Definition at line 431 of file apicdef.h.

u32 phys_dest

Definition at line 565 of file apicdef.h.

__u64 polarity

Definition at line 608 of file apicdef.h.

struct { ... } ppr
is run in a process context with the highest priority

preempting any task on the cpu and monopolizing it. This function returns after all executions are complete.

This function doesn't guarantee the cpus in stay online till

Definition at line 455 of file apicdef.h.

u32 receive_accept_error

Definition at line 518 of file apicdef.h.

u32 receive_cs_error

Definition at line 518 of file apicdef.h.

u32 receive_illegal_vector

Definition at line 518 of file apicdef.h.

u32 remote_irr

Definition at line 608 of file apicdef.h.

u32 send_accept_error

Definition at line 518 of file apicdef.h.

u32 send_cs_error

Definition at line 518 of file apicdef.h.

u32 send_illegal_vector

Definition at line 518 of file apicdef.h.

u32 shorthand

Definition at line 550 of file apicdef.h.

u32 spurious_vector

Definition at line 494 of file apicdef.h.

struct { ... } svr
struct { ... } timer_ccr
struct { ... } timer_dcr
struct { ... } timer_icr
u32 timer_mode

Definition at line 575 of file apicdef.h.

struct { ... } tmr[8]
struct { ... } tpr
u32 trigger

Definition at line 550 of file apicdef.h.

u32 vector

Definition at line 550 of file apicdef.h.

struct { ... } version

Definition at line 439 of file apicdef.h.