[PATCH] EFI fixes

Here's a patch that fixes EFI boot for x86 on 2.6.16-rc5-mm3.  The
off-by-one is admittedly my fault, but the other two fix up the rest.

Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Matt Domsch <Matt_Domsch@dell.com>
Cc: "Tolentino, Matthew E" <matthew.e.tolentino@intel.com>
Cc: "Brown, Len" <len.brown@intel.com>
Cc: Andi Kleen <ak@muc.de>
Cc: "Luck, Tony" <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Tolentino, Matthew E 2006-03-26 01:37:09 -08:00 committed by Linus Torvalds
parent b2c99e3c70
commit 23dd842c00
3 changed files with 6 additions and 5 deletions

View file

@ -229,7 +229,7 @@ void __init dmi_scan_machine(void)
goto out; goto out;
rc = dmi_present(p + 0x10); /* offset of _DMI_ string */ rc = dmi_present(p + 0x10); /* offset of _DMI_ string */
iounmap(p); dmi_iounmap(p, 32);
if (!rc) if (!rc)
return; return;
} }

View file

@ -1058,10 +1058,10 @@ static int __init
free_available_memory(unsigned long start, unsigned long end, void *arg) free_available_memory(unsigned long start, unsigned long end, void *arg)
{ {
/* check max_low_pfn */ /* check max_low_pfn */
if (start >= ((max_low_pfn + 1) << PAGE_SHIFT)) if (start >= (max_low_pfn << PAGE_SHIFT))
return 0; return 0;
if (end >= ((max_low_pfn + 1) << PAGE_SHIFT)) if (end >= (max_low_pfn << PAGE_SHIFT))
end = (max_low_pfn + 1) << PAGE_SHIFT; end = max_low_pfn << PAGE_SHIFT;
if (start < end) if (start < end)
free_bootmem(start, end - start); free_bootmem(start, end - start);

View file

@ -587,7 +587,8 @@ int __init acpi_table_init(void)
return -ENODEV; return -ENODEV;
} }
rsdp = (struct acpi_table_rsdp *)__va(rsdp_phys); rsdp = (struct acpi_table_rsdp *)__acpi_map_table(rsdp_phys,
sizeof(struct acpi_table_rsdp));
if (!rsdp) { if (!rsdp) {
printk(KERN_WARNING PREFIX "Unable to map RSDP\n"); printk(KERN_WARNING PREFIX "Unable to map RSDP\n");
return -ENODEV; return -ENODEV;