]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/x86/mm/pat.c
libata: fix boot panic with SATAPI devices on non-SFF HBAs
[linux-2.6-omap-h63xx.git] / arch / x86 / mm / pat.c
index 7cc71d868483c1940612ed12871ab89502763b1d..72c0f6097402bfae75d7d658efa4dc6544994c78 100644 (file)
@@ -40,13 +40,8 @@ static int pat_known_cpu(void)
        if (!pat_wc_enabled)
                return 0;
 
-       if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL &&
-           (boot_cpu_data.x86 == 0xF ||
-            (boot_cpu_data.x86 == 6 && boot_cpu_data.x86_model >= 15))) {
-               if (cpu_has_pat) {
-                       return 1;
-               }
-       }
+       if (cpu_has_pat)
+               return 1;
 
        pat_wc_enabled = 0;
        printk(KERN_INFO "CPU and/or kernel does not support PAT.\n");
@@ -246,6 +241,7 @@ int reserve_memtype(u64 start, u64 end, unsigned long req_type,
                struct memtype *saved_ptr;
 
                if (parse->start >= end) {
+                       printk("New Entry\n");
                        list_add(&new_entry->nd, parse->nd.prev);
                        new_entry = NULL;
                        break;
@@ -295,6 +291,8 @@ int reserve_memtype(u64 start, u64 end, unsigned long req_type,
                                break;
                        }
 
+                       printk("Overlap at 0x%Lx-0x%Lx\n",
+                              saved_ptr->start, saved_ptr->end);
                        /* No conflict. Go ahead and add this new entry */
                        list_add(&new_entry->nd, saved_ptr->nd.prev);
                        new_entry = NULL;
@@ -345,6 +343,8 @@ int reserve_memtype(u64 start, u64 end, unsigned long req_type,
                                break;
                        }
 
+                       printk("Overlap at 0x%Lx-0x%Lx\n",
+                              saved_ptr->start, saved_ptr->end);
                        /* No conflict. Go ahead and add this new entry */
                        list_add(&new_entry->nd, &saved_ptr->nd);
                        new_entry = NULL;
@@ -353,6 +353,10 @@ int reserve_memtype(u64 start, u64 end, unsigned long req_type,
        }
 
        if (err) {
+               printk(
+       "reserve_memtype failed 0x%Lx-0x%Lx, track %s, req %s\n",
+                       start, end, cattr_name(new_entry->type),
+                       cattr_name(req_type));
                kfree(new_entry);
                spin_unlock(&memtype_lock);
                return err;
@@ -361,6 +365,19 @@ int reserve_memtype(u64 start, u64 end, unsigned long req_type,
        if (new_entry) {
                /* No conflict. Not yet added to the list. Add to the tail */
                list_add_tail(&new_entry->nd, &memtype_list);
+               printk("New Entry\n");
+       }
+
+       if (ret_type) {
+               printk(
+       "reserve_memtype added 0x%Lx-0x%Lx, track %s, req %s, ret %s\n",
+                       start, end, cattr_name(actual_type),
+                       cattr_name(req_type), cattr_name(*ret_type));
+       } else {
+               printk(
+       "reserve_memtype added 0x%Lx-0x%Lx, track %s, req %s\n",
+                       start, end, cattr_name(actual_type),
+                       cattr_name(req_type));
        }
 
        spin_unlock(&memtype_lock);
@@ -397,6 +414,8 @@ int free_memtype(u64 start, u64 end)
                printk(KERN_DEBUG "%s:%d freeing invalid memtype %Lx-%Lx\n",
                        current->comm, current->pid, start, end);
        }
+
+       printk( "free_memtype request 0x%Lx-0x%Lx\n", start, end);
        return err;
 }