AquilaOS documentation
How it works, and its code
Toggle main menu visibility
Loading...
Searching...
No Matches
pmap.h
Go to the documentation of this file.
1
#ifndef _AARCH64_MM_PMAP_H
2
#define _AARCH64_MM_PMAP_H
3
4
/*
5
* An address space's page tables: those of its user half (TTBR0_EL1's top
6
* table). The kernel's half is one set of tables, in TTBR1_EL1, the same
7
* whatever process runs (mm/pmap.c).
8
*/
9
struct
pmap
{
10
paddr_t
map
;
11
size_t
ref
;
12
};
13
14
/* tlb_shootdown() and pmap_loaded(), as on x86 (arch/i386/include/mm/pmap.h
15
* documents them). With one CPU, only this CPU's TLB is flushed. */
16
void
tlb_shootdown
(
struct
pmap
*
pmap
,
vaddr_t
sva,
vaddr_t
eva,
int
leave);
17
void
pmap_loaded
(
struct
pmap
*from,
struct
pmap
*to);
18
19
#include_next <mm/pmap.h>
20
21
#endif
/* ! _AARCH64_MM_PMAP_H */
paddr_t
uint64_t paddr_t
Definition
mm.h:39
vaddr_t
uint64_t vaddr_t
Definition
mm.h:40
pmap_loaded
void pmap_loaded(struct pmap *from, struct pmap *to)
Definition
pmap.c:157
tlb_shootdown
void tlb_shootdown(struct pmap *pmap, vaddr_t sva, vaddr_t eva, int leave)
Definition
pmap.c:130
pmap
An address space's page tables, on x86.
Definition
pmap.h:9
pmap::map
paddr_t map
Definition
pmap.h:10
pmap::ref
size_t ref
Definition
pmap.h:11
kernel
arch
aarch64
include
mm
pmap.h
Generated by
1.18.0