Merge branch 'highmem' into devel
Conflicts: arch/arm/mach-clps7500/include/mach/memory.h
This commit is contained in:
@@ -112,10 +112,8 @@
|
||||
* private definitions which should NOT be used outside memory.h
|
||||
* files. Use virt_to_phys/phys_to_virt/__pa/__va instead.
|
||||
*/
|
||||
#ifndef __virt_to_phys
|
||||
#define __virt_to_phys(x) ((x) - PAGE_OFFSET + PHYS_OFFSET)
|
||||
#define __phys_to_virt(x) ((x) - PHYS_OFFSET + PAGE_OFFSET)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Convert a physical address to a Page Frame Number and back
|
||||
@@ -180,6 +178,11 @@ static inline void *phys_to_virt(unsigned long x)
|
||||
* memory. Use of these is *deprecated* (and that doesn't mean
|
||||
* use the __ prefixed forms instead.) See dma-mapping.h.
|
||||
*/
|
||||
#ifndef __virt_to_bus
|
||||
#define __virt_to_bus __virt_to_phys
|
||||
#define __bus_to_virt __phys_to_virt
|
||||
#endif
|
||||
|
||||
static inline __deprecated unsigned long virt_to_bus(void *x)
|
||||
{
|
||||
return __virt_to_bus((unsigned long)x);
|
||||
|
@@ -108,30 +108,36 @@
|
||||
#error Unknown user operations model
|
||||
#endif
|
||||
|
||||
struct page;
|
||||
|
||||
struct cpu_user_fns {
|
||||
void (*cpu_clear_user_page)(void *p, unsigned long user);
|
||||
void (*cpu_copy_user_page)(void *to, const void *from,
|
||||
unsigned long user);
|
||||
void (*cpu_clear_user_highpage)(struct page *page, unsigned long vaddr);
|
||||
void (*cpu_copy_user_highpage)(struct page *to, struct page *from,
|
||||
unsigned long vaddr);
|
||||
};
|
||||
|
||||
#ifdef MULTI_USER
|
||||
extern struct cpu_user_fns cpu_user;
|
||||
|
||||
#define __cpu_clear_user_page cpu_user.cpu_clear_user_page
|
||||
#define __cpu_copy_user_page cpu_user.cpu_copy_user_page
|
||||
#define __cpu_clear_user_highpage cpu_user.cpu_clear_user_highpage
|
||||
#define __cpu_copy_user_highpage cpu_user.cpu_copy_user_highpage
|
||||
|
||||
#else
|
||||
|
||||
#define __cpu_clear_user_page __glue(_USER,_clear_user_page)
|
||||
#define __cpu_copy_user_page __glue(_USER,_copy_user_page)
|
||||
#define __cpu_clear_user_highpage __glue(_USER,_clear_user_highpage)
|
||||
#define __cpu_copy_user_highpage __glue(_USER,_copy_user_highpage)
|
||||
|
||||
extern void __cpu_clear_user_page(void *p, unsigned long user);
|
||||
extern void __cpu_copy_user_page(void *to, const void *from,
|
||||
unsigned long user);
|
||||
extern void __cpu_clear_user_highpage(struct page *page, unsigned long vaddr);
|
||||
extern void __cpu_copy_user_highpage(struct page *to, struct page *from,
|
||||
unsigned long vaddr);
|
||||
#endif
|
||||
|
||||
#define clear_user_page(addr,vaddr,pg) __cpu_clear_user_page(addr, vaddr)
|
||||
#define copy_user_page(to,from,vaddr,pg) __cpu_copy_user_page(to, from, vaddr)
|
||||
#define clear_user_highpage(page,vaddr) \
|
||||
__cpu_clear_user_highpage(page, vaddr)
|
||||
|
||||
#define __HAVE_ARCH_COPY_USER_HIGHPAGE
|
||||
#define copy_user_highpage(to,from,vaddr,vma) \
|
||||
__cpu_copy_user_highpage(to, from, vaddr)
|
||||
|
||||
#define clear_page(page) memset((void *)(page), 0, PAGE_SIZE)
|
||||
extern void copy_page(void *to, const void *from);
|
||||
|
@@ -209,9 +209,11 @@ struct meminfo {
|
||||
struct membank bank[NR_BANKS];
|
||||
};
|
||||
|
||||
extern struct meminfo meminfo;
|
||||
|
||||
#define for_each_nodebank(iter,mi,no) \
|
||||
for (iter = 0; iter < mi->nr_banks; iter++) \
|
||||
if (mi->bank[iter].node == no)
|
||||
for (iter = 0; iter < (mi)->nr_banks; iter++) \
|
||||
if ((mi)->bank[iter].node == no)
|
||||
|
||||
#define bank_pfn_start(bank) __phys_to_pfn((bank)->start)
|
||||
#define bank_pfn_end(bank) __phys_to_pfn((bank)->start + (bank)->size)
|
||||
|
Reference in New Issue
Block a user