Rev 501 | Rev 513 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 501 | Rev 512 | ||
---|---|---|---|
Line 112... | Line 112... | ||
112 | #define IOAPICID 0x00 |
112 | #define IOAPICID 0x00 |
113 | #define IOAPICVER 0x01 |
113 | #define IOAPICVER 0x01 |
114 | #define IOAPICARB 0x02 |
114 | #define IOAPICARB 0x02 |
115 | #define IOREDTBL 0x10 |
115 | #define IOREDTBL 0x10 |
116 | 116 | ||
- | 117 | /** Delivery modes. */ |
|
- | 118 | #define DELMOD_FIXED 0x0 |
|
- | 119 | #define DELMOD_LOWPRI 0x1 |
|
- | 120 | #define DELMOD_SMI 0x2 |
|
- | 121 | /* 0x3 reserved */ |
|
- | 122 | #define DELMOD_NMI 0x4 |
|
- | 123 | #define DELMOD_INIT 0x5 |
|
- | 124 | /* 0x6 reserved */ |
|
- | 125 | #define DELMOD_EXTINT 0x7 |
|
- | 126 | ||
- | 127 | /** Destination modes. */ |
|
- | 128 | #define DESTMOD_PHYS 0x0 |
|
- | 129 | #define DESTMOD_LOGIC 0x1 |
|
- | 130 | ||
- | 131 | /** Trigger Modes. */ |
|
- | 132 | #define TRIGMOD_EDGE 0x0 |
|
- | 133 | #define TRIGMOD_LEVEL 0x1 |
|
- | 134 | ||
- | 135 | /** Interrupt Input Pin Polarities. */ |
|
- | 136 | #define POLARITY_HIGH 0x0 |
|
- | 137 | #define POLARITY_LOW 0x1 |
|
- | 138 | ||
- | 139 | /** I/O Redirection Register. */ |
|
- | 140 | struct io_redirection_reg { |
|
- | 141 | union { |
|
- | 142 | __u32 lo; |
|
- | 143 | struct { |
|
- | 144 | unsigned intvec : 8; /**< Interrupt Vector. */ |
|
- | 145 | unsigned delmod : 3; /**< Delivery Mode. */ |
|
- | 146 | unsigned destmod : 1; /**< Destination mode. */ |
|
- | 147 | unsigned delivs : 1; /**< Delivery status (RO). */ |
|
- | 148 | unsigned intpol : 1; /**< Interrupt Input Pin Polarity. */ |
|
- | 149 | unsigned irr : 1; /**< Remote IRR (RO). */ |
|
- | 150 | unsigned trigger_mode : 1; /**< Trigger Mode. */ |
|
- | 151 | unsigned masked : 1; /**< Interrupt Mask. */ |
|
- | 152 | unsigned : 15; /**< Reserved. */ |
|
- | 153 | }; |
|
- | 154 | }; |
|
- | 155 | union { |
|
- | 156 | __u32 hi; |
|
- | 157 | struct { |
|
- | 158 | unsigned : 24; /**< Reserved. */ |
|
- | 159 | unsigned dest : 8; /**< Destination Field. */ |
|
- | 160 | }; |
|
- | 161 | }; |
|
- | 162 | ||
- | 163 | } __attribute__ ((packed)); |
|
- | 164 | ||
- | 165 | typedef struct io_redirection_reg io_redirection_reg_t; |
|
117 | 166 | ||
118 | extern volatile __u32 *l_apic; |
167 | extern volatile __u32 *l_apic; |
119 | extern volatile __u32 *io_apic; |
168 | extern volatile __u32 *io_apic; |
120 | 169 | ||
121 | extern __u32 apic_id_mask; |
170 | extern __u32 apic_id_mask; |