x86: add PAT related debug prints
authorvenkatesh.pallipadi@intel.com <venkatesh.pallipadi@intel.com>
Wed, 19 Mar 2008 00:00:25 +0000 (17:00 -0700)
committerIngo Molnar <mingo@elte.hu>
Thu, 17 Apr 2008 15:41:20 +0000 (17:41 +0200)
Adds debug prints at critical code. Adds enough info in dmesg to allow us to
do effective first round of analysis of any issues that may result due to PAT
patch series.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/mm/ioremap.c
arch/x86/mm/pat.c

index 51cd3956c564ccccf9e7858758211572e3c7e911..6cd3418afe712a77a77ed5345e91d1e52832be01 100644 (file)
@@ -131,7 +131,7 @@ static void __iomem *__ioremap(resource_size_t phys_addr, unsigned long size,
                return NULL;
 
        if (!phys_addr_valid(phys_addr)) {
-               printk(KERN_WARNING "ioremap: invalid physical address %lx\n",
+               printk(KERN_WARNING "ioremap: invalid physical address %llx\n",
                       phys_addr);
                WARN_ON_ONCE(1);
                return NULL;
@@ -177,6 +177,10 @@ static void __iomem *__ioremap(resource_size_t phys_addr, unsigned long size,
                      new_prot_val == _PAGE_CACHE_WC)) ||
                    (prot_val == _PAGE_CACHE_WC &&
                     new_prot_val == _PAGE_CACHE_WB)) {
+                       printk(
+               "ioremap error for 0x%llx-0x%llx, requested 0x%lx, got 0x%lx\n",
+                               phys_addr, phys_addr + size,
+                               prot_val, new_prot_val);
                        free_memtype(phys_addr, phys_addr + size);
                        return NULL;
                }
index 7cc71d868483c1940612ed12871ab89502763b1d..57a2af36d6ee68f0320c9218610cbe4d6dcfe47d 100644 (file)
@@ -246,6 +246,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 +296,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 +348,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 +358,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 +370,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 +419,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;
 }