2005-11-19 20:17:32 +11:00
# ifndef _ASM_POWERPC_PGTABLE_H
# define _ASM_POWERPC_PGTABLE_H
2005-12-16 22:43:46 +01:00
# ifdef __KERNEL__
2005-11-19 20:17:32 +11:00
2007-06-13 14:52:56 +10:00
# ifndef __ASSEMBLY__
# include <asm/processor.h> /* For TASK_SIZE */
# include <asm/mmu.h>
# include <asm/page.h>
struct mm_struct ;
# endif /* !__ASSEMBLY__ */
2007-04-30 16:30:56 +10:00
# if defined(CONFIG_PPC64)
# include <asm / pgtable-ppc64.h>
2005-11-19 20:17:32 +11:00
# else
2007-04-30 16:30:56 +10:00
# include <asm / pgtable-ppc32.h>
2005-08-05 19:39:06 +10:00
# endif
2005-04-16 15:20:36 -07:00
# ifndef __ASSEMBLY__
2007-06-13 14:52:56 +10:00
/*
* ZERO_PAGE is a global shared page that is always zero : used
* for zero - mapped memory areas etc . .
*/
extern unsigned long empty_zero_page [ ] ;
# define ZERO_PAGE(vaddr) (virt_to_page(empty_zero_page))
extern pgd_t swapper_pg_dir [ ] ;
extern void paging_init ( void ) ;
/*
* kern_addr_valid is intended to indicate whether an address is a valid
* kernel address . Most 32 - bit archs define it as always true ( like this )
* but most 64 - bit archs actually perform a test . What should we do here ?
*/
# define kern_addr_valid(addr) (1)
# define io_remap_pfn_range(vma, vaddr, pfn, size, prot) \
remap_pfn_range ( vma , vaddr , pfn , size , prot )
2005-04-16 15:20:36 -07:00
# include <asm-generic/pgtable.h>
2008-07-25 16:21:11 +10:00
/*
* This gets called at the end of handling a page fault , when
* the kernel has put a new PTE into the page table for the process .
* We use it to ensure coherency between the i - cache and d - cache
* for the page which has just been mapped in .
* On machines which use an MMU hash table , we use this to put a
* corresponding HPTE into the hash table ahead of time , instead of
* waiting for the inevitable extra hash - table miss exception .
*/
extern void update_mmu_cache ( struct vm_area_struct * , unsigned long , pte_t ) ;
2005-04-16 15:20:36 -07:00
# endif /* __ASSEMBLY__ */
2005-12-16 22:43:46 +01:00
# endif /* __KERNEL__ */
2005-11-19 20:17:32 +11:00
# endif /* _ASM_POWERPC_PGTABLE_H */