Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\hmm.c Create Date:2022-07-28 16:37:05
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:hmm_vma_handle_pmd

Proto:static int hmm_vma_handle_pmd(struct mm_walk *walk, unsigned long addr, unsigned long end, uint64_t *pfns, pmd_t pmd)

Type:int

Parameter:

TypeParameterName
struct mm_walk *walk
unsigned longaddr
unsigned longend
uint64_t *pfns
pmd_tpmd
218  hmm_vma_walk = private
219  range = range
224  npages = end - addr >> PAGE_SHIFT determines the page size
225  cpu_flags = pmd_to_hmm_pfn_flags(range, pmd)
226  hmm_range_need_fault(hmm_vma_walk, pfns, npages, cpu_flags, & fault, & write_fault)
229  If pmd_protnone(pmd) || fault || write_fault Then Return hmm_vma_walk_hole_() - handle a range lacking valid pmd or pte(s)*@addr: range virtual start address (inclusive)*@end: range virtual end address (exclusive)*@fault: should we fault or not ?*@write_fault: write fault ?*@walk: mm_walk structure* Return: 0
232  pfn = pmd_pfn(pmd) + ((addr & ~PMD_MASK) >> PAGE_SHIFT determines the page size )
233  When addr < end cycle
234  If pmd_devmap(pmd) Then
240  pfns[i] = hmm_device_entry_from_pfn() - create a valid device entry value from pfn*@range: range use to encode HMM pfn value*@pfn: pfn value for which to create the device entry* Return: valid device entry for the pfn | cpu_flags
242  If pgmap Then
243  put_dev_pagemap(pgmap)
244  pgmap = NULL
246  last = end
247  Return 0
Caller
NameDescribe
hmm_vma_walk_pmd