Commit 10146801 authored by Greg Ungerer's avatar Greg Ungerer Committed by Linus Torvalds

m68knommu: remove is_in_rom() function

Remove is_in_rom() function.  It doesn't actually serve the purpose it was
intended to.  If you look at the use of it _access_ok() (which is the only use
of it) then it is obvious that most of memory is marked as access_ok.  No
point having is_in_rom() then, so remove it.
Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent a4c8b915
...@@ -81,8 +81,6 @@ EXPORT_SYMBOL(__mulsi3); ...@@ -81,8 +81,6 @@ EXPORT_SYMBOL(__mulsi3);
EXPORT_SYMBOL(__udivsi3); EXPORT_SYMBOL(__udivsi3);
EXPORT_SYMBOL(__umodsi3); EXPORT_SYMBOL(__umodsi3);
EXPORT_SYMBOL(is_in_rom);
#ifdef CONFIG_COLDFIRE #ifdef CONFIG_COLDFIRE
extern unsigned int *dma_device_address; extern unsigned int *dma_device_address;
extern unsigned long dma_base_addr, _ramend; extern unsigned long dma_base_addr, _ramend;
......
...@@ -33,23 +33,3 @@ unsigned long kernel_map(unsigned long paddr, unsigned long size, ...@@ -33,23 +33,3 @@ unsigned long kernel_map(unsigned long paddr, unsigned long size,
return paddr; return paddr;
} }
int is_in_rom(unsigned long addr)
{
extern unsigned long _ramstart, _ramend;
/*
* What we are really trying to do is determine if addr is
* in an allocated kernel memory region. If not then assume
* we cannot free it or otherwise de-allocate it. Ideally
* we could restrict this to really being in a ROM or flash,
* but that would need to be done on a board by board basis,
* not globally.
*/
if ((addr < _ramstart) || (addr >= _ramend))
return(1);
/* Default case, not in ROM */
return(0);
}
...@@ -49,7 +49,6 @@ static inline int pte_file(pte_t pte) { return 0; } ...@@ -49,7 +49,6 @@ static inline int pte_file(pte_t pte) { return 0; }
* These would be in other places but having them here reduces the diffs. * These would be in other places but having them here reduces the diffs.
*/ */
extern unsigned int kobjsize(const void *objp); extern unsigned int kobjsize(const void *objp);
extern int is_in_rom(unsigned long);
/* /*
* No page table caches to initialise. * No page table caches to initialise.
......
...@@ -15,12 +15,15 @@ ...@@ -15,12 +15,15 @@
#define access_ok(type,addr,size) _access_ok((unsigned long)(addr),(size)) #define access_ok(type,addr,size) _access_ok((unsigned long)(addr),(size))
/*
* It is not enough to just have access_ok check for a real RAM address.
* This would disallow the case of code/ro-data running XIP in flash/rom.
* Ideally we would check the possible flash ranges too, but that is
* currently not so easy.
*/
static inline int _access_ok(unsigned long addr, unsigned long size) static inline int _access_ok(unsigned long addr, unsigned long size)
{ {
extern unsigned long memory_start, memory_end; return 1;
return (((addr >= memory_start) && (addr+size < memory_end)) ||
(is_in_rom(addr) && is_in_rom(addr+size)));
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment