AquilaOS documentation
How it works, and its code
Loading...
Searching...
No Matches
vm_entry Struct Reference

A mapping (map entry): a range of an address space, its permissions, and where its pages come from. More...

#include <vm.h>

Data Fields

paddr_t paddr
 physical memory to map all at once (vm_map()), or 0 for pages that come in on page faults
vaddr_t base
 where the mapping starts in its address space
size_t size
 its size
uint32_t flags
 its permissions and flags (VM_*)
struct vm_anon * vm_anon
 its anon: the pages the process wrote to
struct vm_object * vm_object
 its object: what its other pages come from (a file)
size_t off
 where the mapping starts in its object
struct qnode * qnode
 its node in its address space's list of mappings

Detailed Description

A mapping (map entry): a range of an address space, its permissions, and where its pages come from.

Definition at line 66 of file vm.h.

Field Documentation

◆ base

◆ flags

◆ off

size_t vm_entry::off

where the mapping starts in its object

Definition at line 87 of file vm.h.

Referenced by binfmt_elf_load_segments(), fbdev_vesa_map(), mm_page_fault(), procfs_proc_maps(), procfs_proc_vmstats(), and sys_mmap().

◆ paddr

paddr_t vm_entry::paddr

physical memory to map all at once (vm_map()), or 0 for pages that come in on page faults

Definition at line 69 of file vm.h.

Referenced by acpi_map(), earlycon_fb_init(), earlycon_fb_register(), fbdev_vesa_map(), fbdev_vesa_prope(), and vm_map().

◆ qnode

struct qnode* vm_entry::qnode

its node in its address space's list of mappings

Definition at line 90 of file vm.h.

Referenced by binfmt_elf_load_segments(), binfmt_fmt_load(), sys_mmap(), sys_munmap(), vm_space_fork(), and vm_space_insert().

◆ size

◆ vm_anon

struct vm_anon* vm_entry::vm_anon

its anon: the pages the process wrote to

Definition at line 81 of file vm.h.

Referenced by mm_page_fault(), pf_anon(), pf_object(), pf_present(), pf_zero(), vm_entry_destroy(), and vm_space_fork().

◆ vm_object

struct vm_object* vm_entry::vm_object

its object: what its other pages come from (a file)

Definition at line 84 of file vm.h.

Referenced by arch_sigcode_map(), binfmt_elf_load_segments(), binfmt_fmt_load(), mm_page_fault(), pf_object(), procfs_proc_maps(), procfs_proc_vmstats(), sys_mmap(), vfs_map(), vm_entry_destroy(), and vm_space_fork().


The documentation for this struct was generated from the following file:
  • kernel/include/mm/vm.h