# pagefault.c File Reference

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

Include dependency graph for pagefault.c:

Go to the source code of this file.

## Functions

void | vmm_pageFault (uInt32 memAddr, uInt32 eip, uInt32 esp)

## Variables

static spinLock_t | pageFaultSpinLock = SPIN_LOCK_INITIALIZER

## Function Documentation

void vmm_pageFault | ( | uInt32 | memAddr,
|  | uInt32 | eip,
|  | uInt32 | esp |
| ) |  |  |

Definition at line 53 of file pagefault.c.

References _current, adjustCowCounter(), endTask(), taskStruct::id, kpanic(), kprintf(), PAGE_COW, PAGE_DEFAULT, pageEntries, pageFaultSpinLock, parentPageDirAddr, spinLock(), spinUnlock(), tablesBaseAddress, taskStruct::td, thread::vm_daddr, thread::vm_dsize, vmm_getPhysicalAddr(), vmmFindFreePage(), vmmGetFreeVirtualPage(), vmmUnmapPage(), x1, and x1000.

Here is the call graph for this function:

## Variable Documentation

spinLock_t pageFaultSpinLock = SPIN_LOCK_INITIALIZER`[static]`

Definition at line 36 of file pagefault.c.

Referenced by vmm_pageFault().