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; |