View | Details | Raw Unified | Return to bug 2415 | Differences between
and this patch

Collapse All | Expand All

(-)a/arch/i386/kernel/acpi/boot.c~dup (-3 / +37 lines)
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)
(-)a/drivers/acpi/tables.c~checksum (-1 / +1 lines)
Lines 218-224 acpi_table_print_madt_entry ( Link Here
218
}
218
}
219
219
220
220
221
static int
221
int
222
acpi_table_compute_checksum (
222
acpi_table_compute_checksum (
223
	void			*table_pointer,
223
	void			*table_pointer,
224
	unsigned long		length)
224
	unsigned long		length)

Return to bug 2415