summaryrefslogtreecommitdiffstats
path: root/arch/sparc/include/asm/pgtable_64.h
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2009-08-27 17:05:47 +0200
committerThomas Gleixner <tglx@linutronix.de>2009-08-27 17:06:24 +0200
commit4152f93508b184a85a975810b2cc3dc5c597cf57 (patch)
tree19dff39aa185f18ed662ab5802d1e873aea5ab44 /arch/sparc/include/asm/pgtable_64.h
parent6effcd92454ca5d7021b74f89fcac75209e146f9 (diff)
parentfa84e9eecfff478df2d00e94deb3fc40fe4634ad (diff)
downloadtalos-op-linux-4152f93508b184a85a975810b2cc3dc5c597cf57.tar.gz
talos-op-linux-4152f93508b184a85a975810b2cc3dc5c597cf57.zip
Merge branch 'sched/clock' into x86/cleanups
Reason: The tsc init cleanup depends on sched_clock_init moving past late_time_init. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/sparc/include/asm/pgtable_64.h')
-rw-r--r--arch/sparc/include/asm/pgtable_64.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/arch/sparc/include/asm/pgtable_64.h b/arch/sparc/include/asm/pgtable_64.h
index b049abf9902f..0ff92fa22064 100644
--- a/arch/sparc/include/asm/pgtable_64.h
+++ b/arch/sparc/include/asm/pgtable_64.h
@@ -726,11 +726,17 @@ extern unsigned long pte_file(pte_t);
extern pte_t pgoff_to_pte(unsigned long);
#define PTE_FILE_MAX_BITS (64UL - PAGE_SHIFT - 1UL)
-extern unsigned long *sparc64_valid_addr_bitmap;
+extern unsigned long sparc64_valid_addr_bitmap[];
/* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
-#define kern_addr_valid(addr) \
- (test_bit(__pa((unsigned long)(addr))>>22, sparc64_valid_addr_bitmap))
+static inline bool kern_addr_valid(unsigned long addr)
+{
+ unsigned long paddr = __pa(addr);
+
+ if ((paddr >> 41UL) != 0UL)
+ return false;
+ return test_bit(paddr >> 22, sparc64_valid_addr_bitmap);
+}
extern int page_in_phys_avail(unsigned long paddr);
OpenPOWER on IntegriCloud