KVM
Functions | Variables
early_alloc.h File Reference
#include <asm/kvm_pgtable.h>
Include dependency graph for early_alloc.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void hyp_early_alloc_init (void *virt, unsigned long size)
 
unsigned long hyp_early_alloc_nr_used_pages (void)
 
void * hyp_early_alloc_page (void *arg)
 
void * hyp_early_alloc_contig (unsigned int nr_pages)
 

Variables

struct kvm_pgtable_mm_ops hyp_early_alloc_mm_ops
 

Function Documentation

◆ hyp_early_alloc_contig()

void* hyp_early_alloc_contig ( unsigned int  nr_pages)

Definition at line 24 of file early_alloc.c.

25 {
26  unsigned long size = (nr_pages << PAGE_SHIFT);
27  void *ret = (void *)cur;
28 
29  if (!nr_pages)
30  return NULL;
31 
32  if (end - cur < size)
33  return NULL;
34 
35  cur += size;
36  memset(ret, 0, size);
37 
38  return ret;
39 }
static unsigned long cur
Definition: early_alloc.c:17
static unsigned long end
Definition: early_alloc.c:16
size_t size
Definition: gen-hyprel.c:133
Here is the caller graph for this function:

◆ hyp_early_alloc_init()

void hyp_early_alloc_init ( void *  virt,
unsigned long  size 
)

Definition at line 49 of file early_alloc.c.

50 {
51  base = cur = (unsigned long)virt;
52  end = base + size;
53 
59 }
struct kvm_pgtable_mm_ops hyp_early_alloc_mm_ops
Definition: early_alloc.c:12
static unsigned long base
Definition: early_alloc.c:15
void * hyp_early_alloc_page(void *arg)
Definition: early_alloc.c:41
static void hyp_early_alloc_get_page(void *addr)
Definition: early_alloc.c:46
static void hyp_early_alloc_put_page(void *addr)
Definition: early_alloc.c:47
static void * hyp_phys_to_virt(phys_addr_t phys)
Definition: memory.h:20
static phys_addr_t hyp_virt_to_phys(void *addr)
Definition: memory.h:25
Here is the call graph for this function:
Here is the caller graph for this function:

◆ hyp_early_alloc_nr_used_pages()

unsigned long hyp_early_alloc_nr_used_pages ( void  )

Definition at line 19 of file early_alloc.c.

20 {
21  return (cur - base) >> PAGE_SHIFT;
22 }
Here is the caller graph for this function:

◆ hyp_early_alloc_page()

void* hyp_early_alloc_page ( void *  arg)

Definition at line 41 of file early_alloc.c.

42 {
43  return hyp_early_alloc_contig(1);
44 }
void * hyp_early_alloc_contig(unsigned int nr_pages)
Definition: early_alloc.c:24
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ hyp_early_alloc_mm_ops

struct kvm_pgtable_mm_ops hyp_early_alloc_mm_ops
extern

Definition at line 1 of file early_alloc.c.