Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=24e9d0b96dac5503c0b6f034d553030c604228a7 Commit: 24e9d0b96dac5503c0b6f034d553030c604228a7 Parent: 8bb809df6919f927bcb910bbc852d5724eaa1eb9 Author: Ralf Baechle <[EMAIL PROTECTED]> AuthorDate: Tue Jul 10 17:32:56 2007 +0100 Committer: Ralf Baechle <[EMAIL PROTECTED]> CommitDate: Tue Jul 10 17:32:56 2007 +0100
[MIPS] Hook for platforms to define cachability of /dev/mem regions Signed-off-by: Ralf Baechle <[EMAIL PROTECTED]> --- arch/mips/mm/cache.c | 10 ++++++++++ drivers/char/mem.c | 7 +++++++ 2 files changed, 17 insertions(+), 0 deletions(-) diff --git a/arch/mips/mm/cache.c b/arch/mips/mm/cache.c index abf99b1..81f925a 100644 --- a/arch/mips/mm/cache.c +++ b/arch/mips/mm/cache.c @@ -6,6 +6,8 @@ * Copyright (C) 1994 - 2003, 07 by Ralf Baechle ([EMAIL PROTECTED]) * Copyright (C) 2007 MIPS Technologies, Inc. */ +#include <linux/fs.h> +#include <linux/fcntl.h> #include <linux/init.h> #include <linux/kernel.h> #include <linux/module.h> @@ -164,3 +166,11 @@ void __init cpu_cache_init(void) panic(cache_panic); } + +int __weak __uncached_access(struct file *file, unsigned long addr) +{ + if (file->f_flags & O_SYNC) + return 1; + + return addr >= __pa(high_memory); +} diff --git a/drivers/char/mem.c b/drivers/char/mem.c index cc9a9d0..7e082bc 100644 --- a/drivers/char/mem.c +++ b/drivers/char/mem.c @@ -75,6 +75,13 @@ static inline int uncached_access(struct file *file, unsigned long addr) * On ia64, we ignore O_SYNC because we cannot tolerate memory attribute aliases. */ return !(efi_mem_attributes(addr) & EFI_MEMORY_WB); +#elif defined(CONFIG_MIPS) + { + extern int __uncached_access(struct file *file, + unsigned long addr); + + return __uncached_access(file, addr); + } #else /* * Accessing memory above the top the kernel knows about or through a file pointer - To unsubscribe from this list: send the line "unsubscribe git-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html