Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v2.6.13-rc7 57 lines 1.6 kB view raw
1/* 2 * TLB shootdown specifics for PPC 3 * 4 * Copyright (C) 2002 Paul Mackerras, IBM Corp. 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version 9 * 2 of the License, or (at your option) any later version. 10 */ 11#ifndef _PPC_TLB_H 12#define _PPC_TLB_H 13 14#include <linux/config.h> 15#include <asm/pgtable.h> 16#include <asm/pgalloc.h> 17#include <asm/tlbflush.h> 18#include <asm/page.h> 19#include <asm/mmu.h> 20 21#ifdef CONFIG_PPC_STD_MMU 22/* Classic PPC with hash-table based MMU... */ 23 24struct mmu_gather; 25extern void tlb_flush(struct mmu_gather *tlb); 26 27/* Get the generic bits... */ 28#include <asm-generic/tlb.h> 29 30/* Nothing needed here in fact... */ 31#define tlb_start_vma(tlb, vma) do { } while (0) 32#define tlb_end_vma(tlb, vma) do { } while (0) 33 34extern void flush_hash_entry(struct mm_struct *mm, pte_t *ptep, 35 unsigned long address); 36 37static inline void __tlb_remove_tlb_entry(struct mmu_gather *tlb, pte_t *ptep, 38 unsigned long address) 39{ 40 if (pte_val(*ptep) & _PAGE_HASHPTE) 41 flush_hash_entry(tlb->mm, ptep, address); 42} 43 44#else 45/* Embedded PPC with software-loaded TLB, very simple... */ 46 47#define tlb_start_vma(tlb, vma) do { } while (0) 48#define tlb_end_vma(tlb, vma) do { } while (0) 49#define __tlb_remove_tlb_entry(tlb, pte, address) do { } while (0) 50#define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) 51 52/* Get the generic bits... */ 53#include <asm-generic/tlb.h> 54 55#endif /* CONFIG_PPC_STD_MMU */ 56 57#endif /* __PPC_TLB_H */