mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-27 17:58:22 +00:00 
			
		
		
		
	 5e5419734c
			
		
	
	
		5e5419734c
		
	
	
	
	
		
			
			(with Martin Schwidefsky <schwidefsky@de.ibm.com>) The pgd/pud/pmd/pte page table allocation functions get a mm_struct pointer as first argument. The free functions do not get the mm_struct argument. This is 1) asymmetrical and 2) to do mm related page table allocations the mm argument is needed on the free function as well. [kamalesh@linux.vnet.ibm.com: i386 fix] [akpm@linux-foundation.org: coding-syle fixes] Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: <linux-arch@vger.kernel.org> Signed-off-by: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
		
			
				
	
	
		
			38 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef _4LEVEL_FIXUP_H
 | |
| #define _4LEVEL_FIXUP_H
 | |
| 
 | |
| #define __ARCH_HAS_4LEVEL_HACK
 | |
| #define __PAGETABLE_PUD_FOLDED
 | |
| 
 | |
| #define PUD_SIZE			PGDIR_SIZE
 | |
| #define PUD_MASK			PGDIR_MASK
 | |
| #define PTRS_PER_PUD			1
 | |
| 
 | |
| #define pud_t				pgd_t
 | |
| 
 | |
| #define pmd_alloc(mm, pud, address) \
 | |
| 	((unlikely(pgd_none(*(pud))) && __pmd_alloc(mm, pud, address))? \
 | |
|  		NULL: pmd_offset(pud, address))
 | |
| 
 | |
| #define pud_alloc(mm, pgd, address)	(pgd)
 | |
| #define pud_offset(pgd, start)		(pgd)
 | |
| #define pud_none(pud)			0
 | |
| #define pud_bad(pud)			0
 | |
| #define pud_present(pud)		1
 | |
| #define pud_ERROR(pud)			do { } while (0)
 | |
| #define pud_clear(pud)			pgd_clear(pud)
 | |
| #define pud_val(pud)			pgd_val(pud)
 | |
| #define pud_populate(mm, pud, pmd)	pgd_populate(mm, pud, pmd)
 | |
| #define pud_page(pud)			pgd_page(pud)
 | |
| #define pud_page_vaddr(pud)		pgd_page_vaddr(pud)
 | |
| 
 | |
| #undef pud_free_tlb
 | |
| #define pud_free_tlb(tlb, x)            do { } while (0)
 | |
| #define pud_free(mm, x)			do { } while (0)
 | |
| #define __pud_free_tlb(tlb, x)		do { } while (0)
 | |
| 
 | |
| #undef  pud_addr_end
 | |
| #define pud_addr_end(addr, end)		(end)
 | |
| 
 | |
| #endif
 |