LCOV - code coverage report
Current view: top level - include/asm-generic - mmu_context.h (source / functions) Hit Total Coverage
Test: fstests of 6.5.0-rc4-xfsa @ Mon Jul 31 20:08:27 PDT 2023 Lines: 1 1 100.0 %
Date: 2023-07-31 20:08:27 Functions: 0 0 -

          Line data    Source code
       1             : /* SPDX-License-Identifier: GPL-2.0 */
       2             : #ifndef __ASM_GENERIC_MMU_CONTEXT_H
       3             : #define __ASM_GENERIC_MMU_CONTEXT_H
       4             : 
       5             : /*
       6             :  * Generic hooks to implement no-op functionality.
       7             :  */
       8             : 
       9             : struct task_struct;
      10             : struct mm_struct;
      11             : 
      12             : /*
      13             :  * enter_lazy_tlb - Called when "tsk" is about to enter lazy TLB mode.
      14             :  *
      15             :  * @mm:  the currently active mm context which is becoming lazy
      16             :  * @tsk: task which is entering lazy tlb
      17             :  *
      18             :  * tsk->mm will be NULL
      19             :  */
      20             : #ifndef enter_lazy_tlb
      21             : static inline void enter_lazy_tlb(struct mm_struct *mm,
      22             :                         struct task_struct *tsk)
      23             : {
      24             : }
      25             : #endif
      26             : 
      27             : /**
      28             :  * init_new_context - Initialize context of a new mm_struct.
      29             :  * @tsk: task struct for the mm
      30             :  * @mm:  the new mm struct
      31             :  * @return: 0 on success, -errno on failure
      32             :  */
      33             : #ifndef init_new_context
      34             : static inline int init_new_context(struct task_struct *tsk,
      35             :                         struct mm_struct *mm)
      36             : {
      37             :         return 0;
      38             : }
      39             : #endif
      40             : 
      41             : /**
      42             :  * destroy_context - Undo init_new_context when the mm is going away
      43             :  * @mm: old mm struct
      44             :  */
      45             : #ifndef destroy_context
      46             : static inline void destroy_context(struct mm_struct *mm)
      47             : {
      48             : }
      49             : #endif
      50             : 
      51             : /**
      52             :  * activate_mm - called after exec switches the current task to a new mm, to switch to it
      53             :  * @prev_mm: previous mm of this task
      54             :  * @next_mm: new mm
      55             :  */
      56             : #ifndef activate_mm
      57             : static inline void activate_mm(struct mm_struct *prev_mm,
      58             :                                struct mm_struct *next_mm)
      59             : {
      60    15467340 :         switch_mm(prev_mm, next_mm, current);
      61             : }
      62             : #endif
      63             : 
      64             : /**
      65             :  * dectivate_mm - called when an mm is released after exit or exec switches away from it
      66             :  * @tsk: the task
      67             :  * @mm:  the old mm
      68             :  */
      69             : #ifndef deactivate_mm
      70             : static inline void deactivate_mm(struct task_struct *tsk,
      71             :                         struct mm_struct *mm)
      72             : {
      73             : }
      74             : #endif
      75             : 
      76             : #endif /* __ASM_GENERIC_MMU_CONTEXT_H */

Generated by: LCOV version 1.14