Rev 349 | Rev 422 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 349 | Rev 370 | ||
---|---|---|---|
Line 49... | Line 49... | ||
49 | static int madt_cmp(void * a, void * b); |
49 | static int madt_cmp(void * a, void * b); |
50 | 50 | ||
51 | struct madt_l_apic *madt_l_apic_entries = NULL; |
51 | struct madt_l_apic *madt_l_apic_entries = NULL; |
52 | struct madt_io_apic *madt_io_apic_entries = NULL; |
52 | struct madt_io_apic *madt_io_apic_entries = NULL; |
53 | 53 | ||
54 | __u32 madt_l_apic_entry_index = 0; |
54 | index_t madt_l_apic_entry_index = 0; |
55 | __u32 madt_io_apic_entry_index = 0; |
55 | index_t madt_io_apic_entry_index = 0; |
56 | int madt_l_apic_entry_cnt = 0; |
56 | count_t madt_l_apic_entry_cnt = 0; |
57 | int madt_io_apic_entry_cnt = 0; |
57 | count_t madt_io_apic_entry_cnt = 0; |
- | 58 | count_t cpu_count = 0; |
|
58 | 59 | ||
59 | struct madt_apic_header * * madt_entries_index = NULL; |
60 | struct madt_apic_header * * madt_entries_index = NULL; |
60 | int madt_entries_index_cnt = 0; |
61 | int madt_entries_index_cnt = 0; |
61 | 62 | ||
62 | char *entry[] = { |
63 | char *entry[] = { |
Line 174... | Line 175... | ||
174 | 175 | ||
175 | 176 | ||
176 | } |
177 | } |
177 | 178 | ||
178 | 179 | ||
179 | if (madt_l_apic_entry_cnt) |
180 | if (cpu_count) |
180 | config.cpu_count = madt_l_apic_entry_cnt; |
181 | config.cpu_count = cpu_count; |
181 | } |
182 | } |
182 | 183 | ||
183 | 184 | ||
184 | void madt_l_apic_entry(struct madt_l_apic *la, __u32 index) |
185 | void madt_l_apic_entry(struct madt_l_apic *la, __u32 index) |
185 | { |
186 | { |
Line 189... | Line 190... | ||
189 | 190 | ||
190 | if (!(la->flags & 0x1)) { |
191 | if (!(la->flags & 0x1)) { |
191 | /* Processor is unusable, skip it. */ |
192 | /* Processor is unusable, skip it. */ |
192 | return; |
193 | return; |
193 | } |
194 | } |
194 | 195 | ||
- | 196 | cpu_count++; |
|
195 | apic_id_mask |= 1<<la->apic_id; |
197 | apic_id_mask |= 1<<la->apic_id; |
196 | } |
198 | } |
197 | 199 | ||
198 | void madt_io_apic_entry(struct madt_io_apic *ioa, __u32 index) |
200 | void madt_io_apic_entry(struct madt_io_apic *ioa, __u32 index) |
199 | { |
201 | { |