git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'drm-forlinus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
[pandora-kernel.git]
/
arch
/
i386
/
kernel
/
acpi
/
boot.c
diff --git
a/arch/i386/kernel/acpi/boot.c
b/arch/i386/kernel/acpi/boot.c
index
f366772
..
2111529
100644
(file)
--- a/
arch/i386/kernel/acpi/boot.c
+++ b/
arch/i386/kernel/acpi/boot.c
@@
-108,7
+108,7
@@
char *__acpi_map_table(unsigned long phys_addr, unsigned long size)
if (!phys_addr || !size)
return NULL;
if (!phys_addr || !size)
return NULL;
- if (phys_addr
< (end_pfn_map << PAGE_SHIFT)
)
+ if (phys_addr
+size <= (end_pfn_map << PAGE_SHIFT) + PAGE_SIZE
)
return __va(phys_addr);
return NULL;
return __va(phys_addr);
return NULL;
@@
-248,9
+248,7
@@
acpi_parse_lapic(acpi_table_entry_header * header, const unsigned long end)
acpi_table_print_madt_entry(header);
acpi_table_print_madt_entry(header);
- /* no utility in registering a disabled processor */
- if (processor->flags.enabled == 0)
- return 0;
+ /* Register even disabled CPUs for cpu hotplug */
x86_acpiid_to_apicid[processor->acpi_id] = processor->id;
x86_acpiid_to_apicid[processor->acpi_id] = processor->id;
@@
-640,6
+638,13
@@
static int __init acpi_parse_fadt(unsigned long phys, unsigned long size)
return 0;
pmtmr_ioport = fadt->xpm_tmr_blk.address;
return 0;
pmtmr_ioport = fadt->xpm_tmr_blk.address;
+ /*
+ * "X" fields are optional extensions to the original V1.0
+ * fields, so we must selectively expand V1.0 fields if the
+ * corresponding X field is zero.
+ */
+ if (!pmtmr_ioport)
+ pmtmr_ioport = fadt->V1_pm_tmr_blk;
} else {
/* FADT rev. 1 */
pmtmr_ioport = fadt->V1_pm_tmr_blk;
} else {
/* FADT rev. 1 */
pmtmr_ioport = fadt->V1_pm_tmr_blk;