arch/x86/include/asm/pgtable_types.h
Source file repositories/reference/linux-study-clean/arch/x86/include/asm/pgtable_types.h
File Facts
- System
- Linux kernel
- Corpus path
arch/x86/include/asm/pgtable_types.h- Extension
.h- Size
- 18319 bytes
- Lines
- 582
- Domain
- Architecture Layer
- Bucket
- arch/x86
- Inferred role
- Architecture Layer: implementation source
- Status
- source implementation candidate
Why This File Exists
CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/const.hlinux/mem_encrypt.hasm/page_types.hasm/pgtable_32_types.hasm/pgtable_64_types.hlinux/types.hasm-generic/pgtable-nop4d.hasm-generic/pgtable-nopud.hasm-generic/pgtable-nopmd.h
Detected Declarations
struct fileenum page_cache_modeenum pg_levelfunction pgprot_nxfunction native_make_pgdfunction native_pgd_valfunction pgd_flagsfunction native_make_p4dfunction native_p4d_valfunction native_make_p4dfunction native_p4d_valfunction native_make_pudfunction native_pud_valfunction native_make_pudfunction native_pud_valfunction native_make_pmdfunction native_pmd_valfunction native_make_pmdfunction native_pmd_valfunction p4d_pfn_maskfunction p4d_flags_maskfunction p4d_flagsfunction pud_pfn_maskfunction pud_flags_maskfunction pud_flagsfunction pmd_pfn_maskfunction pmd_flags_maskfunction pmd_flagsfunction native_make_ptefunction native_pte_valfunction pte_flagsfunction protval_4k_2_largefunction pgprot_4k_2_largefunction protval_large_2_4kfunction pgprot_large_2_4kfunction update_page_count
Annotated Snippet
static inline void update_page_count(int level, unsigned long pages) { }
#endif
/*
* Helper function that returns the kernel pagetable entry controlling
* the virtual address 'address'. NULL means no pagetable entry present.
* NOTE: the return type is pte_t but if the pmd is PSE then we return it
* as a pte too.
*/
extern pte_t *lookup_address(unsigned long address, unsigned int *level);
extern pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
unsigned int *level);
pte_t *lookup_address_in_pgd_attr(pgd_t *pgd, unsigned long address,
unsigned int *level, bool *nx, bool *rw);
extern pmd_t *lookup_pmd_address(unsigned long address);
extern phys_addr_t slow_virt_to_phys(void *__address);
extern int __init kernel_map_pages_in_pgd(pgd_t *pgd, u64 pfn,
unsigned long address,
unsigned numpages,
unsigned long page_flags);
extern int __init kernel_unmap_pages_in_pgd(pgd_t *pgd, unsigned long address,
unsigned long numpages);
#endif /* !__ASSEMBLER__ */
#endif /* _ASM_X86_PGTABLE_DEFS_H */
Annotation
- Immediate include surface: `linux/const.h`, `linux/mem_encrypt.h`, `asm/page_types.h`, `asm/pgtable_32_types.h`, `asm/pgtable_64_types.h`, `linux/types.h`, `asm-generic/pgtable-nop4d.h`, `asm-generic/pgtable-nopud.h`.
- Detected declarations: `struct file`, `enum page_cache_mode`, `enum pg_level`, `function pgprot_nx`, `function native_make_pgd`, `function native_pgd_val`, `function pgd_flags`, `function native_make_p4d`, `function native_p4d_val`, `function native_make_p4d`.
- Atlas domain: Architecture Layer / arch/x86.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.