diff options
Diffstat (limited to 'arch/ia64/kernel/acpi.c')
-rw-r--r-- | arch/ia64/kernel/acpi.c | 172 |
1 files changed, 86 insertions, 86 deletions
diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c index d37fb8e81898..4719e481d93b 100644 --- a/arch/ia64/kernel/acpi.c +++ b/arch/ia64/kernel/acpi.c | |||
@@ -55,7 +55,7 @@ | |||
55 | 55 | ||
56 | #define BAD_MADT_ENTRY(entry, end) ( \ | 56 | #define BAD_MADT_ENTRY(entry, end) ( \ |
57 | (!entry) || (unsigned long)entry + sizeof(*entry) > end || \ | 57 | (!entry) || (unsigned long)entry + sizeof(*entry) > end || \ |
58 | ((acpi_table_entry_header *)entry)->length < sizeof(*entry)) | 58 | ((struct acpi_subtable_header *)entry)->length < sizeof(*entry)) |
59 | 59 | ||
60 | #define PREFIX "ACPI: " | 60 | #define PREFIX "ACPI: " |
61 | 61 | ||
@@ -94,7 +94,7 @@ const char *acpi_get_sysname(void) | |||
94 | return "dig"; | 94 | return "dig"; |
95 | } | 95 | } |
96 | 96 | ||
97 | xsdt = (struct acpi_table_xsdt *)__va(rsdp->xsdt_address); | 97 | xsdt = (struct acpi_table_xsdt *)__va(rsdp->xsdt_physical_address); |
98 | hdr = &xsdt->header; | 98 | hdr = &xsdt->header; |
99 | if (strncmp(hdr->signature, ACPI_SIG_XSDT, sizeof(ACPI_SIG_XSDT) - 1)) { | 99 | if (strncmp(hdr->signature, ACPI_SIG_XSDT, sizeof(ACPI_SIG_XSDT) - 1)) { |
100 | printk(KERN_ERR | 100 | printk(KERN_ERR |
@@ -169,12 +169,12 @@ struct acpi_table_madt *acpi_madt __initdata; | |||
169 | static u8 has_8259; | 169 | static u8 has_8259; |
170 | 170 | ||
171 | static int __init | 171 | static int __init |
172 | acpi_parse_lapic_addr_ovr(acpi_table_entry_header * header, | 172 | acpi_parse_lapic_addr_ovr(struct acpi_subtable_header * header, |
173 | const unsigned long end) | 173 | const unsigned long end) |
174 | { | 174 | { |
175 | struct acpi_table_lapic_addr_ovr *lapic; | 175 | struct acpi_madt_local_apic_override *lapic; |
176 | 176 | ||
177 | lapic = (struct acpi_table_lapic_addr_ovr *)header; | 177 | lapic = (struct acpi_madt_local_apic_override *)header; |
178 | 178 | ||
179 | if (BAD_MADT_ENTRY(lapic, end)) | 179 | if (BAD_MADT_ENTRY(lapic, end)) |
180 | return -EINVAL; | 180 | return -EINVAL; |
@@ -187,21 +187,20 @@ acpi_parse_lapic_addr_ovr(acpi_table_entry_header * header, | |||
187 | } | 187 | } |
188 | 188 | ||
189 | static int __init | 189 | static int __init |
190 | acpi_parse_lsapic(acpi_table_entry_header * header, const unsigned long end) | 190 | acpi_parse_lsapic(struct acpi_subtable_header * header, const unsigned long end) |
191 | { | 191 | { |
192 | struct acpi_table_lsapic *lsapic; | 192 | struct acpi_madt_local_sapic *lsapic; |
193 | 193 | ||
194 | lsapic = (struct acpi_table_lsapic *)header; | 194 | lsapic = (struct acpi_madt_local_sapic *)header; |
195 | 195 | ||
196 | if (BAD_MADT_ENTRY(lsapic, end)) | 196 | /*Skip BAD_MADT_ENTRY check, as lsapic size could vary */ |
197 | return -EINVAL; | ||
198 | 197 | ||
199 | if (lsapic->flags.enabled) { | 198 | if (lsapic->lapic_flags & ACPI_MADT_ENABLED) { |
200 | #ifdef CONFIG_SMP | 199 | #ifdef CONFIG_SMP |
201 | smp_boot_data.cpu_phys_id[available_cpus] = | 200 | smp_boot_data.cpu_phys_id[available_cpus] = |
202 | (lsapic->id << 8) | lsapic->eid; | 201 | (lsapic->id << 8) | lsapic->eid; |
203 | #endif | 202 | #endif |
204 | ia64_acpiid_to_sapicid[lsapic->acpi_id] = | 203 | ia64_acpiid_to_sapicid[lsapic->processor_id] = |
205 | (lsapic->id << 8) | lsapic->eid; | 204 | (lsapic->id << 8) | lsapic->eid; |
206 | ++available_cpus; | 205 | ++available_cpus; |
207 | } | 206 | } |
@@ -211,11 +210,11 @@ acpi_parse_lsapic(acpi_table_entry_header * header, const unsigned long end) | |||
211 | } | 210 | } |
212 | 211 | ||
213 | static int __init | 212 | static int __init |
214 | acpi_parse_lapic_nmi(acpi_table_entry_header * header, const unsigned long end) | 213 | acpi_parse_lapic_nmi(struct acpi_subtable_header * header, const unsigned long end) |
215 | { | 214 | { |
216 | struct acpi_table_lapic_nmi *lacpi_nmi; | 215 | struct acpi_madt_local_apic_nmi *lacpi_nmi; |
217 | 216 | ||
218 | lacpi_nmi = (struct acpi_table_lapic_nmi *)header; | 217 | lacpi_nmi = (struct acpi_madt_local_apic_nmi *)header; |
219 | 218 | ||
220 | if (BAD_MADT_ENTRY(lacpi_nmi, end)) | 219 | if (BAD_MADT_ENTRY(lacpi_nmi, end)) |
221 | return -EINVAL; | 220 | return -EINVAL; |
@@ -225,11 +224,11 @@ acpi_parse_lapic_nmi(acpi_table_entry_header * header, const unsigned long end) | |||
225 | } | 224 | } |
226 | 225 | ||
227 | static int __init | 226 | static int __init |
228 | acpi_parse_iosapic(acpi_table_entry_header * header, const unsigned long end) | 227 | acpi_parse_iosapic(struct acpi_subtable_header * header, const unsigned long end) |
229 | { | 228 | { |
230 | struct acpi_table_iosapic *iosapic; | 229 | struct acpi_madt_io_sapic *iosapic; |
231 | 230 | ||
232 | iosapic = (struct acpi_table_iosapic *)header; | 231 | iosapic = (struct acpi_madt_io_sapic *)header; |
233 | 232 | ||
234 | if (BAD_MADT_ENTRY(iosapic, end)) | 233 | if (BAD_MADT_ENTRY(iosapic, end)) |
235 | return -EINVAL; | 234 | return -EINVAL; |
@@ -240,13 +239,13 @@ acpi_parse_iosapic(acpi_table_entry_header * header, const unsigned long end) | |||
240 | static unsigned int __initdata acpi_madt_rev; | 239 | static unsigned int __initdata acpi_madt_rev; |
241 | 240 | ||
242 | static int __init | 241 | static int __init |
243 | acpi_parse_plat_int_src(acpi_table_entry_header * header, | 242 | acpi_parse_plat_int_src(struct acpi_subtable_header * header, |
244 | const unsigned long end) | 243 | const unsigned long end) |
245 | { | 244 | { |
246 | struct acpi_table_plat_int_src *plintsrc; | 245 | struct acpi_madt_interrupt_source *plintsrc; |
247 | int vector; | 246 | int vector; |
248 | 247 | ||
249 | plintsrc = (struct acpi_table_plat_int_src *)header; | 248 | plintsrc = (struct acpi_madt_interrupt_source *)header; |
250 | 249 | ||
251 | if (BAD_MADT_ENTRY(plintsrc, end)) | 250 | if (BAD_MADT_ENTRY(plintsrc, end)) |
252 | return -EINVAL; | 251 | return -EINVAL; |
@@ -257,19 +256,19 @@ acpi_parse_plat_int_src(acpi_table_entry_header * header, | |||
257 | */ | 256 | */ |
258 | vector = iosapic_register_platform_intr(plintsrc->type, | 257 | vector = iosapic_register_platform_intr(plintsrc->type, |
259 | plintsrc->global_irq, | 258 | plintsrc->global_irq, |
260 | plintsrc->iosapic_vector, | 259 | plintsrc->io_sapic_vector, |
261 | plintsrc->eid, | 260 | plintsrc->eid, |
262 | plintsrc->id, | 261 | plintsrc->id, |
263 | (plintsrc->flags.polarity == | 262 | ((plintsrc->inti_flags & ACPI_MADT_POLARITY_MASK) == |
264 | 1) ? IOSAPIC_POL_HIGH : | 263 | ACPI_MADT_POLARITY_ACTIVE_HIGH) ? |
265 | IOSAPIC_POL_LOW, | 264 | IOSAPIC_POL_HIGH : IOSAPIC_POL_LOW, |
266 | (plintsrc->flags.trigger == | 265 | ((plintsrc->inti_flags & ACPI_MADT_TRIGGER_MASK) == |
267 | 1) ? IOSAPIC_EDGE : | 266 | ACPI_MADT_TRIGGER_EDGE) ? |
268 | IOSAPIC_LEVEL); | 267 | IOSAPIC_EDGE : IOSAPIC_LEVEL); |
269 | 268 | ||
270 | platform_intr_list[plintsrc->type] = vector; | 269 | platform_intr_list[plintsrc->type] = vector; |
271 | if (acpi_madt_rev > 1) { | 270 | if (acpi_madt_rev > 1) { |
272 | acpi_cpei_override = plintsrc->plint_flags.cpei_override_flag; | 271 | acpi_cpei_override = plintsrc->flags & ACPI_MADT_CPEI_OVERRIDE; |
273 | } | 272 | } |
274 | 273 | ||
275 | /* | 274 | /* |
@@ -324,30 +323,32 @@ unsigned int get_cpei_target_cpu(void) | |||
324 | } | 323 | } |
325 | 324 | ||
326 | static int __init | 325 | static int __init |
327 | acpi_parse_int_src_ovr(acpi_table_entry_header * header, | 326 | acpi_parse_int_src_ovr(struct acpi_subtable_header * header, |
328 | const unsigned long end) | 327 | const unsigned long end) |
329 | { | 328 | { |
330 | struct acpi_table_int_src_ovr *p; | 329 | struct acpi_madt_interrupt_override *p; |
331 | 330 | ||
332 | p = (struct acpi_table_int_src_ovr *)header; | 331 | p = (struct acpi_madt_interrupt_override *)header; |
333 | 332 | ||
334 | if (BAD_MADT_ENTRY(p, end)) | 333 | if (BAD_MADT_ENTRY(p, end)) |
335 | return -EINVAL; | 334 | return -EINVAL; |
336 | 335 | ||
337 | iosapic_override_isa_irq(p->bus_irq, p->global_irq, | 336 | iosapic_override_isa_irq(p->source_irq, p->global_irq, |
338 | (p->flags.polarity == | 337 | ((p->inti_flags & ACPI_MADT_POLARITY_MASK) == |
339 | 1) ? IOSAPIC_POL_HIGH : IOSAPIC_POL_LOW, | 338 | ACPI_MADT_POLARITY_ACTIVE_HIGH) ? |
340 | (p->flags.trigger == | 339 | IOSAPIC_POL_HIGH : IOSAPIC_POL_LOW, |
341 | 1) ? IOSAPIC_EDGE : IOSAPIC_LEVEL); | 340 | ((p->inti_flags & ACPI_MADT_TRIGGER_MASK) == |
341 | ACPI_MADT_TRIGGER_EDGE) ? | ||
342 | IOSAPIC_EDGE : IOSAPIC_LEVEL); | ||
342 | return 0; | 343 | return 0; |
343 | } | 344 | } |
344 | 345 | ||
345 | static int __init | 346 | static int __init |
346 | acpi_parse_nmi_src(acpi_table_entry_header * header, const unsigned long end) | 347 | acpi_parse_nmi_src(struct acpi_subtable_header * header, const unsigned long end) |
347 | { | 348 | { |
348 | struct acpi_table_nmi_src *nmi_src; | 349 | struct acpi_madt_nmi_source *nmi_src; |
349 | 350 | ||
350 | nmi_src = (struct acpi_table_nmi_src *)header; | 351 | nmi_src = (struct acpi_madt_nmi_source *)header; |
351 | 352 | ||
352 | if (BAD_MADT_ENTRY(nmi_src, end)) | 353 | if (BAD_MADT_ENTRY(nmi_src, end)) |
353 | return -EINVAL; | 354 | return -EINVAL; |
@@ -371,12 +372,12 @@ static void __init acpi_madt_oem_check(char *oem_id, char *oem_table_id) | |||
371 | } | 372 | } |
372 | } | 373 | } |
373 | 374 | ||
374 | static int __init acpi_parse_madt(unsigned long phys_addr, unsigned long size) | 375 | static int __init acpi_parse_madt(struct acpi_table_header *table) |
375 | { | 376 | { |
376 | if (!phys_addr || !size) | 377 | if (!table) |
377 | return -EINVAL; | 378 | return -EINVAL; |
378 | 379 | ||
379 | acpi_madt = (struct acpi_table_madt *)__va(phys_addr); | 380 | acpi_madt = (struct acpi_table_madt *)table; |
380 | 381 | ||
381 | acpi_madt_rev = acpi_madt->header.revision; | 382 | acpi_madt_rev = acpi_madt->header.revision; |
382 | 383 | ||
@@ -384,14 +385,14 @@ static int __init acpi_parse_madt(unsigned long phys_addr, unsigned long size) | |||
384 | #ifdef CONFIG_ITANIUM | 385 | #ifdef CONFIG_ITANIUM |
385 | has_8259 = 1; /* Firmware on old Itanium systems is broken */ | 386 | has_8259 = 1; /* Firmware on old Itanium systems is broken */ |
386 | #else | 387 | #else |
387 | has_8259 = acpi_madt->flags.pcat_compat; | 388 | has_8259 = acpi_madt->flags & ACPI_MADT_PCAT_COMPAT; |
388 | #endif | 389 | #endif |
389 | iosapic_system_init(has_8259); | 390 | iosapic_system_init(has_8259); |
390 | 391 | ||
391 | /* Get base address of IPI Message Block */ | 392 | /* Get base address of IPI Message Block */ |
392 | 393 | ||
393 | if (acpi_madt->lapic_address) | 394 | if (acpi_madt->address) |
394 | ipi_base_addr = ioremap(acpi_madt->lapic_address, 0); | 395 | ipi_base_addr = ioremap(acpi_madt->address, 0); |
395 | 396 | ||
396 | printk(KERN_INFO PREFIX "Local APIC address %p\n", ipi_base_addr); | 397 | printk(KERN_INFO PREFIX "Local APIC address %p\n", ipi_base_addr); |
397 | 398 | ||
@@ -413,23 +414,24 @@ static u32 __devinitdata pxm_flag[PXM_FLAG_LEN]; | |||
413 | #define pxm_bit_test(bit) (test_bit(bit,(void *)pxm_flag)) | 414 | #define pxm_bit_test(bit) (test_bit(bit,(void *)pxm_flag)) |
414 | static struct acpi_table_slit __initdata *slit_table; | 415 | static struct acpi_table_slit __initdata *slit_table; |
415 | 416 | ||
416 | static int get_processor_proximity_domain(struct acpi_table_processor_affinity *pa) | 417 | static int get_processor_proximity_domain(struct acpi_srat_cpu_affinity *pa) |
417 | { | 418 | { |
418 | int pxm; | 419 | int pxm; |
419 | 420 | ||
420 | pxm = pa->proximity_domain; | 421 | pxm = pa->proximity_domain_lo; |
421 | if (ia64_platform_is("sn2")) | 422 | if (ia64_platform_is("sn2")) |
422 | pxm += pa->reserved[0] << 8; | 423 | pxm += pa->proximity_domain_hi[0] << 8; |
423 | return pxm; | 424 | return pxm; |
424 | } | 425 | } |
425 | 426 | ||
426 | static int get_memory_proximity_domain(struct acpi_table_memory_affinity *ma) | 427 | static int get_memory_proximity_domain(struct acpi_srat_mem_affinity *ma) |
427 | { | 428 | { |
428 | int pxm; | 429 | int pxm; |
429 | 430 | ||
430 | pxm = ma->proximity_domain; | 431 | pxm = ma->proximity_domain; |
431 | if (ia64_platform_is("sn2")) | 432 | if (ia64_platform_is("sn2")) |
432 | pxm += ma->reserved1[0] << 8; | 433 | pxm += ma->reserved << 8; |
434 | |||
433 | return pxm; | 435 | return pxm; |
434 | } | 436 | } |
435 | 437 | ||
@@ -442,7 +444,7 @@ void __init acpi_numa_slit_init(struct acpi_table_slit *slit) | |||
442 | u32 len; | 444 | u32 len; |
443 | 445 | ||
444 | len = sizeof(struct acpi_table_header) + 8 | 446 | len = sizeof(struct acpi_table_header) + 8 |
445 | + slit->localities * slit->localities; | 447 | + slit->locality_count * slit->locality_count; |
446 | if (slit->header.length != len) { | 448 | if (slit->header.length != len) { |
447 | printk(KERN_ERR | 449 | printk(KERN_ERR |
448 | "ACPI 2.0 SLIT: size mismatch: %d expected, %d actual\n", | 450 | "ACPI 2.0 SLIT: size mismatch: %d expected, %d actual\n", |
@@ -454,11 +456,11 @@ void __init acpi_numa_slit_init(struct acpi_table_slit *slit) | |||
454 | } | 456 | } |
455 | 457 | ||
456 | void __init | 458 | void __init |
457 | acpi_numa_processor_affinity_init(struct acpi_table_processor_affinity *pa) | 459 | acpi_numa_processor_affinity_init(struct acpi_srat_cpu_affinity *pa) |
458 | { | 460 | { |
459 | int pxm; | 461 | int pxm; |
460 | 462 | ||
461 | if (!pa->flags.enabled) | 463 | if (!(pa->flags & ACPI_SRAT_CPU_ENABLED)) |
462 | return; | 464 | return; |
463 | 465 | ||
464 | pxm = get_processor_proximity_domain(pa); | 466 | pxm = get_processor_proximity_domain(pa); |
@@ -467,14 +469,14 @@ acpi_numa_processor_affinity_init(struct acpi_table_processor_affinity *pa) | |||
467 | pxm_bit_set(pxm); | 469 | pxm_bit_set(pxm); |
468 | 470 | ||
469 | node_cpuid[srat_num_cpus].phys_id = | 471 | node_cpuid[srat_num_cpus].phys_id = |
470 | (pa->apic_id << 8) | (pa->lsapic_eid); | 472 | (pa->apic_id << 8) | (pa->local_sapic_eid); |
471 | /* nid should be overridden as logical node id later */ | 473 | /* nid should be overridden as logical node id later */ |
472 | node_cpuid[srat_num_cpus].nid = pxm; | 474 | node_cpuid[srat_num_cpus].nid = pxm; |
473 | srat_num_cpus++; | 475 | srat_num_cpus++; |
474 | } | 476 | } |
475 | 477 | ||
476 | void __init | 478 | void __init |
477 | acpi_numa_memory_affinity_init(struct acpi_table_memory_affinity *ma) | 479 | acpi_numa_memory_affinity_init(struct acpi_srat_mem_affinity *ma) |
478 | { | 480 | { |
479 | unsigned long paddr, size; | 481 | unsigned long paddr, size; |
480 | int pxm; | 482 | int pxm; |
@@ -483,13 +485,11 @@ acpi_numa_memory_affinity_init(struct acpi_table_memory_affinity *ma) | |||
483 | pxm = get_memory_proximity_domain(ma); | 485 | pxm = get_memory_proximity_domain(ma); |
484 | 486 | ||
485 | /* fill node memory chunk structure */ | 487 | /* fill node memory chunk structure */ |
486 | paddr = ma->base_addr_hi; | 488 | paddr = ma->base_address; |
487 | paddr = (paddr << 32) | ma->base_addr_lo; | 489 | size = ma->length; |
488 | size = ma->length_hi; | ||
489 | size = (size << 32) | ma->length_lo; | ||
490 | 490 | ||
491 | /* Ignore disabled entries */ | 491 | /* Ignore disabled entries */ |
492 | if (!ma->flags.enabled) | 492 | if (!(ma->flags & ACPI_SRAT_MEM_ENABLED)) |
493 | return; | 493 | return; |
494 | 494 | ||
495 | /* record this node in proximity bitmap */ | 495 | /* record this node in proximity bitmap */ |
@@ -560,16 +560,16 @@ void __init acpi_numa_arch_fixup(void) | |||
560 | if (!slit_table) | 560 | if (!slit_table) |
561 | return; | 561 | return; |
562 | memset(numa_slit, -1, sizeof(numa_slit)); | 562 | memset(numa_slit, -1, sizeof(numa_slit)); |
563 | for (i = 0; i < slit_table->localities; i++) { | 563 | for (i = 0; i < slit_table->locality_count; i++) { |
564 | if (!pxm_bit_test(i)) | 564 | if (!pxm_bit_test(i)) |
565 | continue; | 565 | continue; |
566 | node_from = pxm_to_node(i); | 566 | node_from = pxm_to_node(i); |
567 | for (j = 0; j < slit_table->localities; j++) { | 567 | for (j = 0; j < slit_table->locality_count; j++) { |
568 | if (!pxm_bit_test(j)) | 568 | if (!pxm_bit_test(j)) |
569 | continue; | 569 | continue; |
570 | node_to = pxm_to_node(j); | 570 | node_to = pxm_to_node(j); |
571 | node_distance(node_from, node_to) = | 571 | node_distance(node_from, node_to) = |
572 | slit_table->entry[i * slit_table->localities + j]; | 572 | slit_table->entry[i * slit_table->locality_count + j]; |
573 | } | 573 | } |
574 | } | 574 | } |
575 | 575 | ||
@@ -614,15 +614,15 @@ void acpi_unregister_gsi(u32 gsi) | |||
614 | 614 | ||
615 | EXPORT_SYMBOL(acpi_unregister_gsi); | 615 | EXPORT_SYMBOL(acpi_unregister_gsi); |
616 | 616 | ||
617 | static int __init acpi_parse_fadt(unsigned long phys_addr, unsigned long size) | 617 | static int __init acpi_parse_fadt(struct acpi_table_header *table) |
618 | { | 618 | { |
619 | struct acpi_table_header *fadt_header; | 619 | struct acpi_table_header *fadt_header; |
620 | struct acpi_table_fadt *fadt; | 620 | struct acpi_table_fadt *fadt; |
621 | 621 | ||
622 | if (!phys_addr || !size) | 622 | if (!table) |
623 | return -EINVAL; | 623 | return -EINVAL; |
624 | 624 | ||
625 | fadt_header = (struct acpi_table_header *)__va(phys_addr); | 625 | fadt_header = (struct acpi_table_header *)table; |
626 | if (fadt_header->revision != 3) | 626 | if (fadt_header->revision != 3) |
627 | return -ENODEV; /* Only deal with ACPI 2.0 FADT */ | 627 | return -ENODEV; /* Only deal with ACPI 2.0 FADT */ |
628 | 628 | ||
@@ -655,7 +655,7 @@ int __init acpi_boot_init(void) | |||
655 | * information -- the successor to MPS tables. | 655 | * information -- the successor to MPS tables. |
656 | */ | 656 | */ |
657 | 657 | ||
658 | if (acpi_table_parse(ACPI_APIC, acpi_parse_madt) < 1) { | 658 | if (acpi_table_parse(ACPI_SIG_MADT, acpi_parse_madt) < 1) { |
659 | printk(KERN_ERR PREFIX "Can't find MADT\n"); | 659 | printk(KERN_ERR PREFIX "Can't find MADT\n"); |
660 | goto skip_madt; | 660 | goto skip_madt; |
661 | } | 661 | } |
@@ -663,40 +663,40 @@ int __init acpi_boot_init(void) | |||
663 | /* Local APIC */ | 663 | /* Local APIC */ |
664 | 664 | ||
665 | if (acpi_table_parse_madt | 665 | if (acpi_table_parse_madt |
666 | (ACPI_MADT_LAPIC_ADDR_OVR, acpi_parse_lapic_addr_ovr, 0) < 0) | 666 | (ACPI_MADT_TYPE_LOCAL_APIC_OVERRIDE, acpi_parse_lapic_addr_ovr, 0) < 0) |
667 | printk(KERN_ERR PREFIX | 667 | printk(KERN_ERR PREFIX |
668 | "Error parsing LAPIC address override entry\n"); | 668 | "Error parsing LAPIC address override entry\n"); |
669 | 669 | ||
670 | if (acpi_table_parse_madt(ACPI_MADT_LSAPIC, acpi_parse_lsapic, NR_CPUS) | 670 | if (acpi_table_parse_madt(ACPI_MADT_TYPE_LOCAL_SAPIC, acpi_parse_lsapic, NR_CPUS) |
671 | < 1) | 671 | < 1) |
672 | printk(KERN_ERR PREFIX | 672 | printk(KERN_ERR PREFIX |
673 | "Error parsing MADT - no LAPIC entries\n"); | 673 | "Error parsing MADT - no LAPIC entries\n"); |
674 | 674 | ||
675 | if (acpi_table_parse_madt(ACPI_MADT_LAPIC_NMI, acpi_parse_lapic_nmi, 0) | 675 | if (acpi_table_parse_madt(ACPI_MADT_TYPE_LOCAL_APIC_NMI, acpi_parse_lapic_nmi, 0) |
676 | < 0) | 676 | < 0) |
677 | printk(KERN_ERR PREFIX "Error parsing LAPIC NMI entry\n"); | 677 | printk(KERN_ERR PREFIX "Error parsing LAPIC NMI entry\n"); |
678 | 678 | ||
679 | /* I/O APIC */ | 679 | /* I/O APIC */ |
680 | 680 | ||
681 | if (acpi_table_parse_madt | 681 | if (acpi_table_parse_madt |
682 | (ACPI_MADT_IOSAPIC, acpi_parse_iosapic, NR_IOSAPICS) < 1) | 682 | (ACPI_MADT_TYPE_IO_SAPIC, acpi_parse_iosapic, NR_IOSAPICS) < 1) |
683 | printk(KERN_ERR PREFIX | 683 | printk(KERN_ERR PREFIX |
684 | "Error parsing MADT - no IOSAPIC entries\n"); | 684 | "Error parsing MADT - no IOSAPIC entries\n"); |
685 | 685 | ||
686 | /* System-Level Interrupt Routing */ | 686 | /* System-Level Interrupt Routing */ |
687 | 687 | ||
688 | if (acpi_table_parse_madt | 688 | if (acpi_table_parse_madt |
689 | (ACPI_MADT_PLAT_INT_SRC, acpi_parse_plat_int_src, | 689 | (ACPI_MADT_TYPE_INTERRUPT_SOURCE, acpi_parse_plat_int_src, |
690 | ACPI_MAX_PLATFORM_INTERRUPTS) < 0) | 690 | ACPI_MAX_PLATFORM_INTERRUPTS) < 0) |
691 | printk(KERN_ERR PREFIX | 691 | printk(KERN_ERR PREFIX |
692 | "Error parsing platform interrupt source entry\n"); | 692 | "Error parsing platform interrupt source entry\n"); |
693 | 693 | ||
694 | if (acpi_table_parse_madt | 694 | if (acpi_table_parse_madt |
695 | (ACPI_MADT_INT_SRC_OVR, acpi_parse_int_src_ovr, 0) < 0) | 695 | (ACPI_MADT_TYPE_INTERRUPT_OVERRIDE, acpi_parse_int_src_ovr, 0) < 0) |
696 | printk(KERN_ERR PREFIX | 696 | printk(KERN_ERR PREFIX |
697 | "Error parsing interrupt source overrides entry\n"); | 697 | "Error parsing interrupt source overrides entry\n"); |
698 | 698 | ||
699 | if (acpi_table_parse_madt(ACPI_MADT_NMI_SRC, acpi_parse_nmi_src, 0) < 0) | 699 | if (acpi_table_parse_madt(ACPI_MADT_TYPE_NMI_SOURCE, acpi_parse_nmi_src, 0) < 0) |
700 | printk(KERN_ERR PREFIX "Error parsing NMI SRC entry\n"); | 700 | printk(KERN_ERR PREFIX "Error parsing NMI SRC entry\n"); |
701 | skip_madt: | 701 | skip_madt: |
702 | 702 | ||
@@ -706,7 +706,7 @@ int __init acpi_boot_init(void) | |||
706 | * gets interrupts such as power and sleep buttons. If it's not | 706 | * gets interrupts such as power and sleep buttons. If it's not |
707 | * on a Legacy interrupt, it needs to be setup. | 707 | * on a Legacy interrupt, it needs to be setup. |
708 | */ | 708 | */ |
709 | if (acpi_table_parse(ACPI_FADT, acpi_parse_fadt) < 1) | 709 | if (acpi_table_parse(ACPI_SIG_FADT, acpi_parse_fadt) < 1) |
710 | printk(KERN_ERR PREFIX "Can't find FADT\n"); | 710 | printk(KERN_ERR PREFIX "Can't find FADT\n"); |
711 | 711 | ||
712 | #ifdef CONFIG_SMP | 712 | #ifdef CONFIG_SMP |
@@ -839,7 +839,7 @@ int acpi_map_lsapic(acpi_handle handle, int *pcpu) | |||
839 | { | 839 | { |
840 | struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; | 840 | struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; |
841 | union acpi_object *obj; | 841 | union acpi_object *obj; |
842 | struct acpi_table_lsapic *lsapic; | 842 | struct acpi_madt_local_sapic *lsapic; |
843 | cpumask_t tmp_map; | 843 | cpumask_t tmp_map; |
844 | long physid; | 844 | long physid; |
845 | int cpu; | 845 | int cpu; |
@@ -851,16 +851,16 @@ int acpi_map_lsapic(acpi_handle handle, int *pcpu) | |||
851 | return -EINVAL; | 851 | return -EINVAL; |
852 | 852 | ||
853 | obj = buffer.pointer; | 853 | obj = buffer.pointer; |
854 | if (obj->type != ACPI_TYPE_BUFFER || | 854 | if (obj->type != ACPI_TYPE_BUFFER) |
855 | obj->buffer.length < sizeof(*lsapic)) { | 855 | { |
856 | kfree(buffer.pointer); | 856 | kfree(buffer.pointer); |
857 | return -EINVAL; | 857 | return -EINVAL; |
858 | } | 858 | } |
859 | 859 | ||
860 | lsapic = (struct acpi_table_lsapic *)obj->buffer.pointer; | 860 | lsapic = (struct acpi_madt_local_sapic *)obj->buffer.pointer; |
861 | 861 | ||
862 | if ((lsapic->header.type != ACPI_MADT_LSAPIC) || | 862 | if ((lsapic->header.type != ACPI_MADT_TYPE_LOCAL_SAPIC) || |
863 | (!lsapic->flags.enabled)) { | 863 | (!lsapic->lapic_flags & ACPI_MADT_ENABLED)) { |
864 | kfree(buffer.pointer); | 864 | kfree(buffer.pointer); |
865 | return -EINVAL; | 865 | return -EINVAL; |
866 | } | 866 | } |
@@ -880,7 +880,7 @@ int acpi_map_lsapic(acpi_handle handle, int *pcpu) | |||
880 | 880 | ||
881 | cpu_set(cpu, cpu_present_map); | 881 | cpu_set(cpu, cpu_present_map); |
882 | ia64_cpu_to_sapicid[cpu] = physid; | 882 | ia64_cpu_to_sapicid[cpu] = physid; |
883 | ia64_acpiid_to_sapicid[lsapic->acpi_id] = ia64_cpu_to_sapicid[cpu]; | 883 | ia64_acpiid_to_sapicid[lsapic->processor_id] = ia64_cpu_to_sapicid[cpu]; |
884 | 884 | ||
885 | *pcpu = cpu; | 885 | *pcpu = cpu; |
886 | return (0); | 886 | return (0); |
@@ -917,7 +917,7 @@ acpi_map_iosapic(acpi_handle handle, u32 depth, void *context, void **ret) | |||
917 | { | 917 | { |
918 | struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; | 918 | struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; |
919 | union acpi_object *obj; | 919 | union acpi_object *obj; |
920 | struct acpi_table_iosapic *iosapic; | 920 | struct acpi_madt_io_sapic *iosapic; |
921 | unsigned int gsi_base; | 921 | unsigned int gsi_base; |
922 | int pxm, node; | 922 | int pxm, node; |
923 | 923 | ||
@@ -935,9 +935,9 @@ acpi_map_iosapic(acpi_handle handle, u32 depth, void *context, void **ret) | |||
935 | return AE_OK; | 935 | return AE_OK; |
936 | } | 936 | } |
937 | 937 | ||
938 | iosapic = (struct acpi_table_iosapic *)obj->buffer.pointer; | 938 | iosapic = (struct acpi_madt_io_sapic *)obj->buffer.pointer; |
939 | 939 | ||
940 | if (iosapic->header.type != ACPI_MADT_IOSAPIC) { | 940 | if (iosapic->header.type != ACPI_MADT_TYPE_IO_SAPIC) { |
941 | kfree(buffer.pointer); | 941 | kfree(buffer.pointer); |
942 | return AE_OK; | 942 | return AE_OK; |
943 | } | 943 | } |