linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / arch / i386 / kernel / acpi / boot.c
index 40e5aba..f1a2194 100644 (file)
@@ -668,10 +668,10 @@ unsigned long __init acpi_find_rsdp(void)
        unsigned long rsdp_phys = 0;
 
        if (efi_enabled) {
-               if (efi.acpi20 != EFI_INVALID_TABLE_ADDR)
-                       return efi.acpi20;
-               else if (efi.acpi != EFI_INVALID_TABLE_ADDR)
-                       return efi.acpi;
+               if (efi.acpi20)
+                       return __pa(efi.acpi20);
+               else if (efi.acpi)
+                       return __pa(efi.acpi);
        }
        /*
         * Scan memory looking for the RSDP signature. First search EBDA (low
@@ -693,9 +693,6 @@ static int __init acpi_parse_madt_lapic_entries(void)
 {
        int count;
 
-       if (!cpu_has_apic)
-               return -ENODEV;
-
        /* 
         * Note that the LAPIC address is obtained from the MADT (32-bit value)
         * and (optionally) overriden by a LAPIC_ADDR_OVR entry (64-bit value).
@@ -754,9 +751,6 @@ static int __init acpi_parse_madt_ioapic_entries(void)
                return -ENODEV;
        }
 
-       if (!cpu_has_apic)
-               return -ENODEV;
-
        /*
         * if "noapic" boot option, don't look for IO-APICs
         */