Lines 90-95
u8 x86_acpiid_to_apicid[MAX_MADT_ENTRIES
Link Here
|
90 |
{ [0 ... MAX_MADT_ENTRIES-1] = 0xff }; |
90 |
{ [0 ... MAX_MADT_ENTRIES-1] = 0xff }; |
91 |
EXPORT_SYMBOL(x86_acpiid_to_apicid); |
91 |
EXPORT_SYMBOL(x86_acpiid_to_apicid); |
92 |
|
92 |
|
|
|
93 |
#ifndef CONFIG_ACPI_INTERPRETER |
94 |
static inline acpi_status acpi_get_rsdp (u32 f, struct acpi_pointer *p) |
95 |
{ |
96 |
return AE_NOT_FOUND; |
97 |
} |
98 |
#else |
99 |
static inline acpi_status acpi_get_rsdp (u32 f, struct acpi_pointer *p) |
100 |
{ |
101 |
return acpi_os_get_root_pointer(f, p); |
102 |
} |
103 |
#endif |
104 |
|
93 |
/* -------------------------------------------------------------------------- |
105 |
/* -------------------------------------------------------------------------- |
94 |
Boot-time Configuration |
106 |
Boot-time Configuration |
95 |
-------------------------------------------------------------------------- */ |
107 |
-------------------------------------------------------------------------- */ |
Lines 480-485
unsigned int acpi_register_gsi(u32 gsi,
Link Here
|
480 |
} |
492 |
} |
481 |
EXPORT_SYMBOL(acpi_register_gsi); |
493 |
EXPORT_SYMBOL(acpi_register_gsi); |
482 |
|
494 |
|
|
|
495 |
#ifdef CONFIG_ACPI_INTERPRETER |
496 |
static unsigned long __init acpi_scan_rsdp (unsigned long start, unsigned long len) |
497 |
{ |
498 |
return 0; |
499 |
} |
500 |
|
501 |
#else |
502 |
extern int acpi_table_compute_checksum(void *,unsigned long); |
503 |
|
483 |
static unsigned long __init |
504 |
static unsigned long __init |
484 |
acpi_scan_rsdp ( |
505 |
acpi_scan_rsdp ( |
485 |
unsigned long start, |
506 |
unsigned long start, |
Lines 493-506
acpi_scan_rsdp (
Link Here
|
493 |
* RSDP signature. |
514 |
* RSDP signature. |
494 |
*/ |
515 |
*/ |
495 |
for (offset = 0; offset < length; offset += 16) { |
516 |
for (offset = 0; offset < length; offset += 16) { |
496 |
if (strncmp((char *) (start + offset), "RSD PTR ", sig_len)) |
517 |
if (strncmp((char *) (start + offset), "RSD PTR ", sig_len) == 0 && |
497 |
continue; |
518 |
acpi_table_compute_checksum((char *)(start + offset), ACPI_RSDP_CHECKSUM_LENGTH) == 0) { |
498 |
return (start + offset); |
519 |
return (start + offset); |
|
|
520 |
} |
499 |
} |
521 |
} |
500 |
|
522 |
|
501 |
return 0; |
523 |
return 0; |
502 |
} |
524 |
} |
503 |
|
525 |
|
|
|
526 |
#endif |
527 |
|
504 |
static int __init acpi_parse_sbf(unsigned long phys_addr, unsigned long size) |
528 |
static int __init acpi_parse_sbf(unsigned long phys_addr, unsigned long size) |
505 |
{ |
529 |
{ |
506 |
struct acpi_table_sbf *sb; |
530 |
struct acpi_table_sbf *sb; |
Lines 605-610
unsigned long __init
Link Here
|
605 |
acpi_find_rsdp (void) |
629 |
acpi_find_rsdp (void) |
606 |
{ |
630 |
{ |
607 |
unsigned long rsdp_phys = 0; |
631 |
unsigned long rsdp_phys = 0; |
|
|
632 |
struct acpi_pointer rsdp_addr; |
633 |
acpi_status result; |
634 |
|
635 |
result = acpi_get_rsdp (ACPI_PHYSICAL_ADDRESSING, &rsdp_addr); |
636 |
if (ACPI_SUCCESS(result)) { |
637 |
rsdp_phys = (unsigned long)rsdp_addr.pointer.physical; |
638 |
if (!rsdp_phys) |
639 |
return 0; |
640 |
return rsdp_phys; |
641 |
} |
608 |
|
642 |
|
609 |
if (efi_enabled) { |
643 |
if (efi_enabled) { |
610 |
if (efi.acpi20) |
644 |
if (efi.acpi20) |