# getfreevirtualpage.c File Reference

`#include <vmm/vmm.h>`
`#include <ubixos/sched.h>`
`#include <ubixos/kpanic.h>`
`#include <ubixos/spinlock.h>`
`#include <lib/kprint.h>`

Include dependency graph for getfreevirtualpage.c:

Go to the source code of this file.

## Functions

void * | vmmGetFreeVirtualPage (pidType pid, int count, int type)

## Variables

static spinLock_t | fvpSpinLock = SPIN_LOCK_INITIALIZER

## Function Documentation

void* vmmGetFreeVirtualPage | ( | pidType | pid,
|  | int | count,
|  | int | type |
| ) |  |  |

Definition at line 47 of file getfreevirtualpage.c.

References _current, btoc, ctob, fvpSpinLock, taskStruct::id, K_PANIC, kpanic(), kprintf(), taskStruct::oInfo, PAGE_COW, PAGE_DEFAULT, PAGE_PRESENT, pageEntries, parentPageDirAddr, spinLock(), spinUnlock(), tablesBaseAddress, taskStruct::td, thread::vm_daddr, thread::vm_dsize, VM_TASK, VM_THRD, vmm_remapPage(), vmmClearVirtualPage(), vmmFindFreePage(), osInfo::vmStart, x1, and x1000.

Referenced by mmap(), sysExec(), sysGetFreePage(), and vmm_pageFault().

Here is the call graph for this function:

## Variable Documentation

spinLock_t fvpSpinLock = SPIN_LOCK_INITIALIZER`[static]`

Definition at line 36 of file getfreevirtualpage.c.

Referenced by vmmGetFreeVirtualPage().