aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2014-04-29 16:28:23 -0400
committerDavid S. Miller <davem@davemloft.net>2014-05-04 01:56:25 -0400
commitfe866433f843b080246ce729b5e6b27b5f5d9a58 (patch)
tree4c0123ab989b0386d39cf04be83b76f04523eceb
parent26cf432551d749e7d581db33529507a711c6eaab (diff)
sparc64: Give more detailed information in {pgd,pmd}_ERROR() and kill pte_ERROR().
pte_ERROR() is not used anywhere, delete it. For pgd_ERROR() and pmd_ERROR(), output something similar to x86, giving the address of the pgd/pmd as well as it's value. Also provide the caller, since these macros are invoked from pgd_clear_bad() and pmd_clear_bad() which provides little context as to what high level operation was occuring when the BAD state was detected. Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--arch/sparc/include/asm/pgtable_64.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/sparc/include/asm/pgtable_64.h b/arch/sparc/include/asm/pgtable_64.h
index baccf35621c0..fde5abaac0cc 100644
--- a/arch/sparc/include/asm/pgtable_64.h
+++ b/arch/sparc/include/asm/pgtable_64.h
@@ -96,9 +96,12 @@ static inline bool kern_addr_valid(unsigned long addr)
96/* Kernel has a separate 44bit address space. */ 96/* Kernel has a separate 44bit address space. */
97#define FIRST_USER_ADDRESS 0 97#define FIRST_USER_ADDRESS 0
98 98
99#define pte_ERROR(e) __builtin_trap() 99#define pmd_ERROR(e) \
100#define pmd_ERROR(e) __builtin_trap() 100 pr_err("%s:%d: bad pmd %p(%016lx) seen at (%pS)\n", \
101#define pgd_ERROR(e) __builtin_trap() 101 __FILE__, __LINE__, &(e), pmd_val(e), __builtin_return_address(0))
102#define pgd_ERROR(e) \
103 pr_err("%s:%d: bad pgd %p(%016lx) seen at (%pS)\n", \
104 __FILE__, __LINE__, &(e), pgd_val(e), __builtin_return_address(0))
102 105
103#endif /* !(__ASSEMBLY__) */ 106#endif /* !(__ASSEMBLY__) */
104 107