<?xml version='1.0' encoding='UTF-8' standalone='no'?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.16"> <compounddef id="vmm_8h" kind="file" language="C++"> <compoundname>vmm.h</compoundname> <includes refid="include_2sys_2types_8h" local="no">sys/types.h</includes> <includes refid="paging_8h" local="no">vmm/paging.h</includes> <includedby refid="armv6_2bioscall_8c" local="no">C:/Dev/git/UbixOS/sys/arch/armv6/bioscall.c</includedby> <includedby refid="exec_8c" local="no">C:/Dev/git/UbixOS/sys/arch/armv6/exec.c</includedby> <includedby refid="armv6_2fork_8c" local="no">C:/Dev/git/UbixOS/sys/arch/armv6/fork.c</includedby> <includedby refid="armv6_2sched_8c" local="no">C:/Dev/git/UbixOS/sys/arch/armv6/sched.c</includedby> <includedby refid="arch_2armv6_2syscall_8c" local="no">C:/Dev/git/UbixOS/sys/arch/armv6/syscall.c</includedby> <includedby refid="armv6_2systemtask_8c" local="no">C:/Dev/git/UbixOS/sys/arch/armv6/systemtask.c</includedby> <includedby refid="i386_2bioscall_8c" local="no">C:/Dev/git/UbixOS/sys/arch/i386/bioscall.c</includedby> <includedby refid="i386_2fork_8c" local="no">C:/Dev/git/UbixOS/sys/arch/i386/fork.c</includedby> <includedby refid="i386__exec_8c" local="no">C:/Dev/git/UbixOS/sys/arch/i386/i386_exec.c</includedby> <includedby refid="i386_2sched_8c" local="no">C:/Dev/git/UbixOS/sys/arch/i386/sched.c</includedby> <includedby refid="i386_2systemtask_8c" local="no">C:/Dev/git/UbixOS/sys/arch/i386/systemtask.c</includedby> <includedby refid="trap_8c" local="no">C:/Dev/git/UbixOS/sys/arch/i386/trap.c</includedby> <includedby refid="ubixos_2init_8h" local="no">C:/Dev/git/UbixOS/sys/include/ubixos/init.h</includedby> <includedby refid="kernel_2elf_8c" local="no">C:/Dev/git/UbixOS/sys/kernel/elf.c</includedby> <includedby refid="endtask_8c" local="no">C:/Dev/git/UbixOS/sys/kernel/endtask.c</includedby> <includedby refid="gen__calls_8c" local="no">C:/Dev/git/UbixOS/sys/kernel/gen_calls.c</includedby> <includedby refid="ld_8c" local="no">C:/Dev/git/UbixOS/sys/kernel/ld.c</includedby> <includedby refid="kernel_2syscall_8c" local="no">C:/Dev/git/UbixOS/sys/kernel/syscall.c</includedby> <includedby refid="kmod_8c" local="no">C:/Dev/git/UbixOS/sys/kmods/kmod.c</includedby> <includedby refid="kmalloc_8c" local="no">C:/Dev/git/UbixOS/sys/lib/kmalloc.c</includedby> <includedby refid="main_8cc" local="no">C:/Dev/git/UbixOS/sys/sde/main.cc</includedby> <includedby refid="ogDisplay__UbixOS_8cc" local="no">C:/Dev/git/UbixOS/sys/sde/ogDisplay_UbixOS.cc</includedby> <includedby refid="idt_8c" local="no">C:/Dev/git/UbixOS/sys/sys/idt.c</includedby> <includedby refid="copyvirtualspace_8c" local="no">C:/Dev/git/UbixOS/sys/vmm/copyvirtualspace.c</includedby> <includedby refid="createvirtualspace_8c" local="no">C:/Dev/git/UbixOS/sys/vmm/createvirtualspace.c</includedby> <includedby refid="getfreepage_8c" local="no">C:/Dev/git/UbixOS/sys/vmm/getfreepage.c</includedby> <includedby refid="getfreevirtualpage_8c" local="no">C:/Dev/git/UbixOS/sys/vmm/getfreevirtualpage.c</includedby> <includedby refid="getphysicaladdr_8c" local="no">C:/Dev/git/UbixOS/sys/vmm/getphysicaladdr.c</includedby> <includedby refid="pagefault_8c" local="no">C:/Dev/git/UbixOS/sys/vmm/pagefault.c</includedby> <includedby refid="paging_8c" local="no">C:/Dev/git/UbixOS/sys/vmm/paging.c</includedby> <includedby refid="setpageattributes_8c" local="no">C:/Dev/git/UbixOS/sys/vmm/setpageattributes.c</includedby> <includedby refid="unmappage_8c" local="no">C:/Dev/git/UbixOS/sys/vmm/unmappage.c</includedby> <includedby refid="vmm__allocpagetable_8c" local="no">C:/Dev/git/UbixOS/sys/vmm/vmm_allocpagetable.c</includedby> <includedby refid="vmm__init_8c" local="no">C:/Dev/git/UbixOS/sys/vmm/vmm_init.c</includedby> <includedby refid="vmm__memory_8c" local="no">C:/Dev/git/UbixOS/sys/vmm/vmm_memory.c</includedby> <includedby refid="vmm__mmap_8c" local="no">C:/Dev/git/UbixOS/sys/vmm/vmm_mmap.c</includedby> <incdepgraph> <node id="22"> <label>ufs/ufs.h</label> <link refid="ufs_8h"/> <childnode refid="2" relation="include"> </childnode> <childnode refid="23" relation="include"> </childnode> </node> <node id="14"> <label>i386/cpu.h</label> <link refid="i386_2cpu_8h"/> <childnode refid="2" relation="include"> </childnode> </node> <node id="9"> <label>vmm/paging.h</label> <link refid="paging_8h"/> <childnode refid="2" relation="include"> </childnode> <childnode refid="10" relation="include"> </childnode> <childnode refid="12" relation="include"> </childnode> </node> <node id="4"> <label>sys/select.h</label> <link refid="select_8h"/> <childnode refid="5" relation="include"> </childnode> <childnode refid="3" relation="include"> </childnode> <childnode refid="6" relation="include"> </childnode> <childnode refid="7" relation="include"> </childnode> <childnode refid="8" relation="include"> </childnode> </node> <node id="18"> <label>vfs/inode.h</label> <link refid="inode_8h"/> <childnode refid="2" relation="include"> </childnode> <childnode refid="19" relation="include"> </childnode> <childnode refid="20" relation="include"> </childnode> <childnode refid="21" relation="include"> </childnode> <childnode refid="22" relation="include"> </childnode> </node> <node id="8"> <label>sys/_sigset.h</label> <link refid="__sigset_8h"/> <childnode refid="3" relation="include"> </childnode> </node> <node id="1"> <label>C:/Dev/git/UbixOS/sys/include/vmm/vmm.h</label> <link refid="vmm_8h"/> <childnode refid="2" relation="include"> </childnode> <childnode refid="9" relation="include"> </childnode> </node> <node id="24"> <label>vfs/mount.h</label> <link refid="mount_8h"/> <childnode refid="2" relation="include"> </childnode> </node> <node id="15"> <label>sys/resource.h</label> <link refid="resource_8h"/> <childnode refid="3" relation="include"> </childnode> </node> <node id="13"> <label>sys/trap.h</label> <link refid="trap_8h"/> <childnode refid="14" relation="include"> </childnode> </node> <node id="2"> <label>sys/types.h</label> <link refid="include_2sys_2types_8h"/> <childnode refid="3" relation="include"> </childnode> <childnode refid="4" relation="include"> </childnode> </node> <node id="16"> <label>vfs/file.h</label> <link refid="include_2vfs_2file_8h"/> <childnode refid="2" relation="include"> </childnode> <childnode refid="17" relation="include"> </childnode> <childnode refid="12" relation="include"> </childnode> <childnode refid="18" relation="include"> </childnode> <childnode refid="24" relation="include"> </childnode> <childnode refid="22" relation="include"> </childnode> </node> <node id="21"> <label>fs/msdos_fs.h</label> <link refid="msdos__fs_8h"/> </node> <node id="11"> <label>sys/signal.h</label> <link refid="sys_2signal_8h"/> <childnode refid="2" relation="include"> </childnode> </node> <node id="20"> <label>fs/pipe_fs.h</label> <link refid="pipe__fs_8h"/> </node> <node id="19"> <label>ubixos/wait.h</label> <link refid="wait_8h"/> </node> <node id="12"> <label>sys/thread.h</label> <link refid="thread_8h"/> <childnode refid="2" relation="include"> </childnode> <childnode refid="13" relation="include"> </childnode> <childnode refid="11" relation="include"> </childnode> <childnode refid="15" relation="include"> </childnode> </node> <node id="5"> <label>sys/cdefs.h</label> <link refid="cdefs_8h"/> </node> <node id="3"> <label>sys/_types.h</label> <link refid="__types_8h"/> </node> <node id="6"> <label>sys/_timespec.h</label> <link refid="__timespec_8h"/> <childnode refid="3" relation="include"> </childnode> </node> <node id="23"> <label>sys/device.h</label> <link refid="include_2sys_2device_8h"/> <childnode refid="2" relation="include"> </childnode> </node> <node id="10"> <label>sys/sysproto_posix.h</label> <link refid="sysproto__posix_8h"/> <childnode refid="11" relation="include"> </childnode> <childnode refid="12" relation="include"> </childnode> <childnode refid="16" relation="include"> </childnode> </node> <node id="17"> <label>ubixfs/dirCache.h</label> <link refid="dirCache_8h"/> <childnode refid="2" relation="include"> </childnode> </node> <node id="7"> <label>sys/_timeval.h</label> <link refid="__timeval_8h"/> <childnode refid="3" relation="include"> </childnode> </node> </incdepgraph> <invincdepgraph> <node id="31"> <label>C:/Dev/git/UbixOS/sys/vmm/pagefault.c</label> <link refid="pagefault_8c"/> </node> <node id="15"> <label>C:/Dev/git/UbixOS/sys/init/main.c</label> <link refid="main_8c"/> </node> <node id="22"> <label>C:/Dev/git/UbixOS/sys/lib/kmalloc.c</label> <link refid="kmalloc_8c"/> </node> <node id="4"> <label>C:/Dev/git/UbixOS/sys/arch/armv6/fork.c</label> <link refid="armv6_2fork_8c"/> </node> <node id="23"> <label>C:/Dev/git/UbixOS/sys/sde/main.cc</label> <link refid="main_8cc"/> </node> <node id="25"> <label>C:/Dev/git/UbixOS/sys/sys/idt.c</label> <link refid="idt_8c"/> </node> <node id="11"> <label>C:/Dev/git/UbixOS/sys/arch/i386/sched.c</label> <link refid="i386_2sched_8c"/> </node> <node id="35"> <label>C:/Dev/git/UbixOS/sys/vmm/vmm_allocpagetable.c</label> <link refid="vmm__allocpagetable_8c"/> </node> <node id="16"> <label>C:/Dev/git/UbixOS/sys/kernel/elf.c</label> <link refid="kernel_2elf_8c"/> </node> <node id="34"> <label>C:/Dev/git/UbixOS/sys/vmm/unmappage.c</label> <link refid="unmappage_8c"/> </node> <node id="24"> <label>C:/Dev/git/UbixOS/sys/sde/ogDisplay_UbixOS.cc</label> <link refid="ogDisplay__UbixOS_8cc"/> </node> <node id="17"> <label>C:/Dev/git/UbixOS/sys/kernel/endtask.c</label> <link refid="endtask_8c"/> </node> <node id="21"> <label>C:/Dev/git/UbixOS/sys/kmods/kmod.c</label> <link refid="kmod_8c"/> </node> <node id="1"> <label>C:/Dev/git/UbixOS/sys/include/vmm/vmm.h</label> <link refid="vmm_8h"/> <childnode refid="2" relation="include"> </childnode> <childnode refid="3" relation="include"> </childnode> <childnode refid="4" relation="include"> </childnode> <childnode refid="5" relation="include"> </childnode> <childnode refid="6" relation="include"> </childnode> <childnode refid="7" relation="include"> </childnode> <childnode refid="8" relation="include"> </childnode> <childnode refid="9" relation="include"> </childnode> <childnode refid="10" relation="include"> </childnode> <childnode refid="11" relation="include"> </childnode> <childnode refid="12" relation="include"> </childnode> <childnode refid="13" relation="include"> </childnode> <childnode refid="14" relation="include"> </childnode> <childnode refid="16" relation="include"> </childnode> <childnode refid="17" relation="include"> </childnode> <childnode refid="18" relation="include"> </childnode> <childnode refid="19" relation="include"> </childnode> <childnode refid="20" relation="include"> </childnode> <childnode refid="21" relation="include"> </childnode> <childnode refid="22" relation="include"> </childnode> <childnode refid="23" relation="include"> </childnode> <childnode refid="24" relation="include"> </childnode> <childnode refid="25" relation="include"> </childnode> <childnode refid="26" relation="include"> </childnode> <childnode refid="27" relation="include"> </childnode> <childnode refid="28" relation="include"> </childnode> <childnode refid="29" relation="include"> </childnode> <childnode refid="30" relation="include"> </childnode> <childnode refid="31" relation="include"> </childnode> <childnode refid="32" relation="include"> </childnode> <childnode refid="33" relation="include"> </childnode> <childnode refid="34" relation="include"> </childnode> <childnode refid="35" relation="include"> </childnode> <childnode refid="36" relation="include"> </childnode> <childnode refid="37" relation="include"> </childnode> <childnode refid="38" relation="include"> </childnode> </node> <node id="3"> <label>C:/Dev/git/UbixOS/sys/arch/armv6/exec.c</label> <link refid="exec_8c"/> </node> <node id="9"> <label>C:/Dev/git/UbixOS/sys/arch/i386/fork.c</label> <link refid="i386_2fork_8c"/> </node> <node id="2"> <label>C:/Dev/git/UbixOS/sys/arch/armv6/bioscall.c</label> <link refid="armv6_2bioscall_8c"/> </node> <node id="38"> <label>C:/Dev/git/UbixOS/sys/vmm/vmm_mmap.c</label> <link refid="vmm__mmap_8c"/> </node> <node id="32"> <label>C:/Dev/git/UbixOS/sys/vmm/paging.c</label> <link refid="paging_8c"/> </node> <node id="26"> <label>C:/Dev/git/UbixOS/sys/vmm/copyvirtualspace.c</label> <link refid="copyvirtualspace_8c"/> </node> <node id="19"> <label>C:/Dev/git/UbixOS/sys/kernel/ld.c</label> <link refid="ld_8c"/> </node> <node id="12"> <label>C:/Dev/git/UbixOS/sys/arch/i386/systemtask.c</label> <link refid="i386_2systemtask_8c"/> </node> <node id="18"> <label>C:/Dev/git/UbixOS/sys/kernel/gen_calls.c</label> <link refid="gen__calls_8c"/> </node> <node id="28"> <label>C:/Dev/git/UbixOS/sys/vmm/getfreepage.c</label> <link refid="getfreepage_8c"/> </node> <node id="30"> <label>C:/Dev/git/UbixOS/sys/vmm/getphysicaladdr.c</label> <link refid="getphysicaladdr_8c"/> </node> <node id="27"> <label>C:/Dev/git/UbixOS/sys/vmm/createvirtualspace.c</label> <link refid="createvirtualspace_8c"/> </node> <node id="29"> <label>C:/Dev/git/UbixOS/sys/vmm/getfreevirtualpage.c</label> <link refid="getfreevirtualpage_8c"/> </node> <node id="5"> <label>C:/Dev/git/UbixOS/sys/arch/armv6/sched.c</label> <link refid="armv6_2sched_8c"/> </node> <node id="37"> <label>C:/Dev/git/UbixOS/sys/vmm/vmm_memory.c</label> <link refid="vmm__memory_8c"/> </node> <node id="33"> <label>C:/Dev/git/UbixOS/sys/vmm/setpageattributes.c</label> <link refid="setpageattributes_8c"/> </node> <node id="20"> <label>C:/Dev/git/UbixOS/sys/kernel/syscall.c</label> <link refid="kernel_2syscall_8c"/> </node> <node id="7"> <label>C:/Dev/git/UbixOS/sys/arch/armv6/systemtask.c</label> <link refid="armv6_2systemtask_8c"/> </node> <node id="36"> <label>C:/Dev/git/UbixOS/sys/vmm/vmm_init.c</label> <link refid="vmm__init_8c"/> </node> <node id="6"> <label>C:/Dev/git/UbixOS/sys/arch/armv6/syscall.c</label> <link refid="arch_2armv6_2syscall_8c"/> </node> <node id="10"> <label>C:/Dev/git/UbixOS/sys/arch/i386/i386_exec.c</label> <link refid="i386__exec_8c"/> </node> <node id="8"> <label>C:/Dev/git/UbixOS/sys/arch/i386/bioscall.c</label> <link refid="i386_2bioscall_8c"/> </node> <node id="14"> <label>C:/Dev/git/UbixOS/sys/include/ubixos/init.h</label> <link refid="ubixos_2init_8h"/> <childnode refid="15" relation="include"> </childnode> </node> <node id="13"> <label>C:/Dev/git/UbixOS/sys/arch/i386/trap.c</label> <link refid="trap_8c"/> </node> </invincdepgraph> <innerclass refid="structfreebsd6__mmap__args" prot="public">freebsd6_mmap_args</innerclass> <innerclass refid="structmMap" prot="public">mMap</innerclass> <sectiondef kind="define"> <memberdef kind="define" id="vmm_8h_1ab75ffaa83e1dc903d97c411c84dfec0f" prot="public" static="no"> <name>memAvail</name> <initializer>1</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="41" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" bodystart="41" bodyend="-1"/> </memberdef> <memberdef kind="define" id="vmm_8h_1a41dc1abc6436bd66a4269de8ab471181" prot="public" static="no"> <name>memNotavail</name> <initializer>2</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="42" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" bodystart="42" bodyend="-1"/> </memberdef> <memberdef kind="define" id="vmm_8h_1ad93dccba62fb5241c0b7cebcd097794a" prot="public" static="no"> <name>STACK_ADDR</name> <initializer>0xBFFFFFFF</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="39" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" bodystart="39" bodyend="-1"/> </memberdef> <memberdef kind="define" id="vmm_8h_1aa878ae386056b8fe8b87c813de27e4ba" prot="public" static="no"> <name>VMM_KERN_CODE_END</name> <initializer>0x007FEFFF</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="54" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" bodystart="54" bodyend="-1"/> </memberdef> <memberdef kind="define" id="vmm_8h_1a2f7c0ede39e3dba13fabe3f445593bf8" prot="public" static="no"> <name>VMM_KERN_CODE_START</name> <initializer>0x00000000</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="53" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" bodystart="53" bodyend="-1"/> </memberdef> <memberdef kind="define" id="vmm_8h_1a8204faafc0c27e418f993e07c2f59f14" prot="public" static="no"> <name>VMM_KERN_END</name> <initializer>0xFDFFFFFF</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="65" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" bodystart="65" bodyend="-1"/> </memberdef> <memberdef kind="define" id="vmm_8h_1a3e6d5c059fd2ae1f2eb12d55ddab666e" prot="public" static="no"> <name>VMM_KERN_STACK_END</name> <initializer>0xFFFFFFFF</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="68" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" bodystart="68" bodyend="-1"/> </memberdef> <memberdef kind="define" id="vmm_8h_1afa8fb16552b49cc7929a140f5095b2c0" prot="public" static="no"> <name>VMM_KERN_STACK_START</name> <initializer>0xFE000000</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="67" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" bodystart="67" bodyend="-1"/> </memberdef> <memberdef kind="define" id="vmm_8h_1ad6394b4f60e68fe4e1431fc4e1998957" prot="public" static="no"> <name>VMM_KERN_START</name> <initializer>0xC0800000</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="64" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" bodystart="64" bodyend="-1"/> </memberdef> <memberdef kind="define" id="vmm_8h_1aa015f84b2a9b7588c472ff5dc99646f6" prot="public" static="no"> <name>VMM_MMAP_ADDR_PMODE</name> <initializer><ref refid="vmm_8h_1ad6394b4f60e68fe4e1431fc4e1998957" kindref="member">VMM_KERN_START</ref> /* (<ref refid="paging_8h_1a1b0f37794d3da1a86f1df77e503ed98f" kindref="member">PD_BASE_ADDR</ref> + <ref refid="paging_8h_1a7d467c1d283fdfa1f2081ba1e0d01b6e" kindref="member">PAGE_SIZE</ref>) */</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="50" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" bodystart="50" bodyend="-1"/> </memberdef> <memberdef kind="define" id="vmm_8h_1a1e10465731ac6cbfc253ce7d89ae34c8" prot="public" static="no"> <name>VMM_MMAP_ADDR_RMODE</name> <initializer>0x101000</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="51" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" bodystart="51" bodyend="-1"/> </memberdef> <memberdef kind="define" id="vmm_8h_1aed2c86b43a86c237706bc62cc2bb4000" prot="public" static="no"> <name>VMM_PAGE_DIR</name> <initializer>0xC0400000</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="62" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" bodystart="62" bodyend="-1"/> </memberdef> <memberdef kind="define" id="vmm_8h_1aa61649f59ee9ac1d67dee62afb0e36d7" prot="public" static="no"> <name>VMM_PAGE_DIRS</name> <initializer>0xC0000000</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="61" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" bodystart="61" bodyend="-1"/> </memberdef> <memberdef kind="define" id="vmm_8h_1a71bd5e4901787995ae8f9cc3e1a888f9" prot="public" static="no"> <name>VMM_USER_END</name> <initializer>0xBFFFFFFF</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="59" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" bodystart="59" bodyend="-1"/> </memberdef> <memberdef kind="define" id="vmm_8h_1ab73be2fd1f1c93794618941747db46c6" prot="public" static="no"> <name>VMM_USER_LDT</name> <initializer>0x007FF000</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="56" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" bodystart="56" bodyend="-1"/> </memberdef> <memberdef kind="define" id="vmm_8h_1ad43d15bd90c1980dae3db013c1a5abb0" prot="public" static="no"> <name>VMM_USER_START</name> <initializer>0x00800000</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="58" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" bodystart="58" bodyend="-1"/> </memberdef> <memberdef kind="define" id="vmm_8h_1ae6c443b60824c02f199f51cf4a14e9f4" prot="public" static="no"> <name>vmmID</name> <initializer>-3</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="43" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" bodystart="43" bodyend="-1"/> </memberdef> </sectiondef> <sectiondef kind="enum"> <memberdef kind="enum" id="vmm_8h_1aabceab91796188f211167ff9ca38fad7" prot="public" static="no" strong="no"> <type></type> <name>unmapFlags_t</name> <enumvalue id="vmm_8h_1aabceab91796188f211167ff9ca38fad7a3b6a650ea04d6ae6d7a349d6b91afe58" prot="public"> <name>VMM_FREE</name> <initializer>= 0</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> </enumvalue> <enumvalue id="vmm_8h_1aabceab91796188f211167ff9ca38fad7aaa698f3781aab937e9e3a9b2d15db15d" prot="public"> <name>VMM_KEEP</name> <initializer>= 1</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> </enumvalue> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="110" column="16" bodyfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" bodystart="110" bodyend="112"/> </memberdef> </sectiondef> <sectiondef kind="var"> <memberdef kind="variable" id="vmm_8h_1a2b0091bdc36e32af3daf9cfcaa7c04e1" prot="public" static="no" mutable="no"> <type>int</type> <definition>int numPages</definition> <argsstring></argsstring> <name>numPages</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="114" column="14" bodyfile="C:/Dev/git/UbixOS/sys/vmm/vmm_memory.c" bodystart="45" bodyend="-1" declfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" declline="114" declcolumn="14"/> <referencedby refid="vmm__memory_8c_1a4fc8ad0b76f4382b01c4a0e53529750c" compoundref="vmm__memory_8c" startline="57" endline="99">vmm_memMapInit</referencedby> <referencedby refid="paging_8c_1af47a45e3f0802f5aac053808127aaaf1" compoundref="paging_8c" startline="58" endline="187">vmm_pagingInit</referencedby> </memberdef> <memberdef kind="variable" id="vmm_8h_1afcaabe90527f6aec9cfeaaba78500e4c" prot="public" static="no" mutable="no"> <type>struct <ref refid="structspinLock" kindref="compound">spinLock</ref></type> <definition>struct spinLock pdSpinLock</definition> <argsstring></argsstring> <name>pdSpinLock</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="102" column="17" bodyfile="C:/Dev/git/UbixOS/sys/vmm/vmm_init.c" bodystart="33" bodyend="-1" declfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" declline="102" declcolumn="17"/> <referencedby refid="paging_8c_1a3615feeeee9f4038cd1070372ccba22e" compoundref="paging_8c" startline="291" endline="346">vmm_getFreeKernelPage</referencedby> </memberdef> <memberdef kind="variable" id="vmm_8h_1a89e87741958ee81f1811075b25af058a" prot="public" static="no" mutable="no"> <type><ref refid="structmMap" kindref="compound">mMap</ref> *</type> <definition>mMap* vmmMemoryMap</definition> <argsstring></argsstring> <name>vmmMemoryMap</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="115" column="15" bodyfile="C:/Dev/git/UbixOS/sys/vmm/vmm_memory.c" bodystart="47" bodyend="-1" declfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" declline="115" declcolumn="15"/> <referencedby refid="vmm__memory_8c_1a38c3fe6ce5f3bf8af4a0631d4c41b0ba" compoundref="vmm__memory_8c" startline="262" endline="290">freePage</referencedby> <referencedby refid="vmm__memory_8c_1a4fc8ad0b76f4382b01c4a0e53529750c" compoundref="vmm__memory_8c" startline="57" endline="99">vmm_memMapInit</referencedby> <referencedby refid="paging_8c_1af47a45e3f0802f5aac053808127aaaf1" compoundref="paging_8c" startline="58" endline="187">vmm_pagingInit</referencedby> </memberdef> </sectiondef> <sectiondef kind="func"> <memberdef kind="function" id="vmm_8h_1aafef303dc8f2c6ed7bcf171819579166" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>int</type> <definition>int adjustCowCounter</definition> <argsstring>(uint32_t baseAddr, int adjustment)</argsstring> <name>adjustCowCounter</name> <param> <type><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref></type> <declname>baseAddr</declname> </param> <param> <type>int</type> <declname>adjustment</declname> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="122" column="7" declfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" declline="122" declcolumn="7"/> <referencedby refid="createvirtualspace_8c_1ab7ce06bf4237638127c7f052e8872f8a" compoundref="createvirtualspace_8c" startline="53" endline="191">vmm_createVirtualSpace</referencedby> </memberdef> <memberdef kind="function" id="vmm_8h_1a1a89fbc2f80ca828332c5ef31801faa3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>int</type> <definition>int countMemory</definition> <argsstring>()</argsstring> <name>countMemory</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="119" column="7" bodyfile="C:/Dev/git/UbixOS/sys/vmm/vmm_memory.c" bodystart="109" bodyend="210" declfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" declline="119" declcolumn="7"/> <references refid="io_8h_1a77b934268de1b3ecdcf3f275413b3108" compoundref="io_8c" startline="38" endline="46">inportByte</references> <references refid="io_8h_1a8acc1a06073db2e7b92ffbd00fbd0cf1" compoundref="io_8c" startline="72" endline="78">outportByte</references> <referencedby refid="vmm__memory_8c_1a4fc8ad0b76f4382b01c4a0e53529750c" compoundref="vmm__memory_8c" startline="57" endline="99">vmm_memMapInit</referencedby> </memberdef> <memberdef kind="function" id="vmm_8h_1a38c3fe6ce5f3bf8af4a0631d4c41b0ba" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>int</type> <definition>int freePage</definition> <argsstring>(uint32_t pageAddr)</argsstring> <name>freePage</name> <param> <type><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref></type> <declname>pageAddr</declname> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="121" column="7" bodyfile="C:/Dev/git/UbixOS/sys/vmm/vmm_memory.c" bodystart="262" bodyend="290" declfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" declline="121" declcolumn="7"/> <references refid="assert_8h_1ad6d5aaa966ca7424f7cb9bd01f2c838b" compoundref="assert_8h" startline="64">assert</references> <references refid="armv6_2spinlock_8c_1a71f03d2ba55111c715b6068254847a53" compoundref="armv6_2spinlock_8c" startline="55" endline="61">spinLock</references> <references refid="vmm__memory_8c_1a89e87741958ee81f1811075b25af058a" compoundref="vmm__memory_8c" startline="47">vmmMemoryMap</references> <referencedby refid="unmappage_8c_1a58fb96856e9c4c2e85b31a779afb097d" compoundref="unmappage_8c" startline="47" endline="81">vmm_unmapPage</referencedby> </memberdef> <memberdef kind="function" id="vmm_8h_1acba8d9cc298370338bc5bea5187183b2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>int</type> <definition>int vmm_allocPageTable</definition> <argsstring>(uint32_t, pidType)</argsstring> <name>vmm_allocPageTable</name> <param> <type><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref></type> </param> <param> <type><ref refid="include_2sys_2types_8h_1ae438ba74394b14d7b24b6df3b3b8c252" kindref="member">pidType</ref></type> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="125" column="7" bodyfile="C:/Dev/git/UbixOS/sys/vmm/vmm_allocpagetable.c" bodystart="7" bodyend="46" declfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" declline="125" declcolumn="7"/> <references refid="gpt_8h_1a310ac455ac45de9713bd7dcb0b5500ad" compoundref="gpt_8h" startline="37">bzero</references> <references refid="paging_8h_1a8b838cda4f0bc79ab8d07eb19dd35420" compoundref="paging_8h" startline="69">KERNEL_PAGE_DEFAULT</references> <references refid="armv6_2kpanic_8c_1adb9a182aa071791a306163d50d653deb" compoundref="armv6_2kpanic_8c" startline="41" endline="61">kpanic</references> <references refid="paging_8h_1af0fff7a38cd2c7a32d580787423b94ea" compoundref="paging_8h" startline="68">PAGE_DEFAULT</references> <references refid="paging_8h_1a122dfc414a40e260fd35dbe9743db26f" compoundref="paging_8h" startline="55">PAGE_PRESENT</references> <references refid="paging_8h_1a7d467c1d283fdfa1f2081ba1e0d01b6e" compoundref="paging_8h" startline="37">PAGE_SIZE</references> <references refid="paging_8h_1a1b0f37794d3da1a86f1df77e503ed98f" compoundref="paging_8h" startline="45">PD_BASE_ADDR</references> <references refid="paging_8h_1a91bd4c1c49996222f571b2f53ca00dc4" compoundref="paging_8h" startline="48">PD_ENTRIES</references> <references refid="paging_8h_1ac96f9536624cb5d2e7634f37fa919c4c" compoundref="paging_8h" startline="40">PD_INDEX</references> <references refid="paging_8h_1a8d42a9a09d9dea53cab3044f51482acc" compoundref="paging_8h" startline="46">PT_BASE_ADDR</references> <references refid="vmm_8h_1ab8e4e189a7b1df2a03072ce5b75c89fe" compoundref="vmm__memory_8c" startline="221" endline="252">vmm_findFreePage</references> <references refid="vmm_8h_1a71bd5e4901787995ae8f9cc3e1a888f9" compoundref="vmm_8h" startline="59">VMM_USER_END</references> <references refid="vmm_8h_1ad43d15bd90c1980dae3db013c1a5abb0" compoundref="vmm_8h" startline="58">VMM_USER_START</references> <referencedby refid="paging_8c_1a3615feeeee9f4038cd1070372ccba22e" compoundref="paging_8c" startline="291" endline="346">vmm_getFreeKernelPage</referencedby> </memberdef> <memberdef kind="function" id="vmm_8h_1ab8e4e189a7b1df2a03072ce5b75c89fe" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref></type> <definition>uint32_t vmm_findFreePage</definition> <argsstring>(pidType pid)</argsstring> <name>vmm_findFreePage</name> <param> <type><ref refid="include_2sys_2types_8h_1ae438ba74394b14d7b24b6df3b3b8c252" kindref="member">pidType</ref></type> <declname>pid</declname> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="120" column="12" bodyfile="C:/Dev/git/UbixOS/sys/vmm/vmm_memory.c" bodystart="221" bodyend="252" declfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" declline="120" declcolumn="12"/> <references refid="armv6_2kpanic_8c_1adb9a182aa071791a306163d50d653deb" compoundref="armv6_2kpanic_8c" startline="41" endline="61">kpanic</references> <references refid="armv6_2spinlock_8c_1a71f03d2ba55111c715b6068254847a53" compoundref="armv6_2spinlock_8c" startline="55" endline="61">spinLock</references> <references refid="kmalloc_8h_1a81d09bc848b49133401b3efeeb65f1af" compoundref="kmalloc_8h" startline="38">sysID</references> <referencedby refid="kernel_2elf_8c_1aaf5f82fbbff76c71fcefe513c40730b4" compoundref="kernel_2elf_8c" startline="37" endline="137">elf_load_file</referencedby> <referencedby refid="exec_8c_1af80d4412d42ed1b5bf9a1b9774230f33" compoundref="exec_8c" startline="153" endline="330">execFile</referencedby> <referencedby refid="vmm__mmap_8c_1ac6b3ef6da47d002e7ff528f9a8e75012" compoundref="vmm__mmap_8c" startline="75" endline="153">freebsd6_mmap</referencedby> <referencedby refid="kmod_8c_1a92b68dbf95bf5d651555a4c02ee1a74b" compoundref="kmod_8c" startline="70" endline="207">kmod_load</referencedby> <referencedby refid="ld_8c_1add6ca1fb619f0bc0f4addffbfc5577a7" compoundref="ld_8c" startline="40" endline="194">ldEnable</referencedby> <referencedby refid="vmm__mmap_8c_1a34f95e2ffa8a4bb4ca88918a3a3af580" compoundref="vmm__mmap_8c" startline="162" endline="220">sys_mmap</referencedby> <referencedby refid="exec_8c_1a219681612352232186a0f568457d851d" compoundref="exec_8c" startline="340" endline="545">sysExec</referencedby> <referencedby refid="vmm__allocpagetable_8c_1ab5107978c7d2053460e2d890e4fd6242" compoundref="vmm__allocpagetable_8c" startline="7" endline="46">vmm_allocPageTable</referencedby> <referencedby refid="paging_8c_1a3615feeeee9f4038cd1070372ccba22e" compoundref="paging_8c" startline="291" endline="346">vmm_getFreeKernelPage</referencedby> <referencedby refid="paging_8c_1af47a45e3f0802f5aac053808127aaaf1" compoundref="paging_8c" startline="58" endline="187">vmm_pagingInit</referencedby> </memberdef> <memberdef kind="function" id="vmm_8h_1a6a46a3d519d9f38f00d8b00d2ce60e04" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>void</type> <definition>void vmm_freeProcessPages</definition> <argsstring>(pidType pid)</argsstring> <name>vmm_freeProcessPages</name> <param> <type><ref refid="include_2sys_2types_8h_1ae438ba74394b14d7b24b6df3b3b8c252" kindref="member">pidType</ref></type> <declname>pid</declname> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="123" column="8" bodyfile="C:/Dev/git/UbixOS/sys/vmm/vmm_memory.c" bodystart="342" bodyend="393" declfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" declline="123" declcolumn="8"/> <references refid="paging_8h_1a1b0f37794d3da1a86f1df77e503ed98f" compoundref="paging_8h" startline="45">PD_BASE_ADDR</references> <references refid="armv6_2spinlock_8c_1a71f03d2ba55111c715b6068254847a53" compoundref="armv6_2spinlock_8c" startline="55" endline="61">spinLock</references> <referencedby refid="i386_2systemtask_8c_1ac7cc6a806237f8657fcdce169319fd7f" compoundref="i386_2systemtask_8c" startline="46" endline="131">systemTask</referencedby> </memberdef> <memberdef kind="function" id="vmm_8h_1aac183f585641487a954ca46c0d7bde31" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>int</type> <definition>int vmm_init</definition> <argsstring>()</argsstring> <name>vmm_init</name> <briefdescription> </briefdescription> <detaileddescription> <para>Function: int <ref refid="vmm__init_8c_1aac183f585641487a954ca46c0d7bde31" kindref="member">vmm_init()</ref></para> <para>Description: Initializes the vmm subsystem</para> <para>Notes: </para> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="117" column="7" bodyfile="C:/Dev/git/UbixOS/sys/vmm/vmm_init.c" bodystart="43" bodyend="51" declfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" declline="117" declcolumn="7"/> <references refid="kpanic_8h_1aa5193288597f00c4f8e3b2939aa6c0ce" compoundref="kpanic_8h" startline="32">K_PANIC</references> <references refid="vmm_8h_1a4fc8ad0b76f4382b01c4a0e53529750c" compoundref="vmm__memory_8c" startline="57" endline="99">vmm_memMapInit</references> <references refid="paging_8h_1af47a45e3f0802f5aac053808127aaaf1" compoundref="paging_8c" startline="58" endline="187">vmm_pagingInit</references> </memberdef> <memberdef kind="function" id="vmm_8h_1a4fc8ad0b76f4382b01c4a0e53529750c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>int</type> <definition>int vmm_memMapInit</definition> <argsstring>()</argsstring> <name>vmm_memMapInit</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="118" column="7" bodyfile="C:/Dev/git/UbixOS/sys/vmm/vmm_memory.c" bodystart="57" bodyend="99" declfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" declline="118" declcolumn="7"/> <references refid="vmm__memory_8c_1a1a89fbc2f80ca828332c5ef31801faa3" compoundref="vmm__memory_8c" startline="109" endline="210">countMemory</references> <references refid="structmMap_1a2fb919d9c0a2653979ed667d59a395cb" compoundref="vmm_8h" startline="107">mMap::cowCounter</references> <references refid="vmm_8h_1a41dc1abc6436bd66a4269de8ab471181" compoundref="vmm_8h" startline="42">memNotavail</references> <references refid="vmm__memory_8c_1a2b0091bdc36e32af3daf9cfcaa7c04e1" compoundref="vmm__memory_8c" startline="45">numPages</references> <references refid="paging_8h_1a7d467c1d283fdfa1f2081ba1e0d01b6e" compoundref="paging_8h" startline="37">PAGE_SIZE</references> <references refid="structmMap_1a4d15e398d755e47c972d2b87e71c40ce" compoundref="vmm_8h" startline="103">mMap::pageAddr</references> <references refid="structmMap_1ad72d5f52b2195f98e60aa61ed52ae9b1" compoundref="vmm_8h" startline="106">mMap::pid</references> <references refid="structmMap_1a94139af73246d6ef3bae0f34d4182acd" compoundref="vmm_8h" startline="104">mMap::status</references> <references refid="vmm_8h_1a1e10465731ac6cbfc253ce7d89ae34c8" compoundref="vmm_8h" startline="51">VMM_MMAP_ADDR_RMODE</references> <references refid="vmm_8h_1ae6c443b60824c02f199f51cf4a14e9f4" compoundref="vmm_8h" startline="43">vmmID</references> <references refid="vmm__memory_8c_1a89e87741958ee81f1811075b25af058a" compoundref="vmm__memory_8c" startline="47">vmmMemoryMap</references> <referencedby refid="vmm__init_8c_1aac183f585641487a954ca46c0d7bde31" compoundref="vmm__init_8c" startline="43" endline="51">vmm_init</referencedby> </memberdef> <memberdef kind="function" id="vmm_8h_1a457446966aafafd939af6603f68516b1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>void</type> <definition>void vmm_unmapPage</definition> <argsstring>(uint32_t, unmapFlags_t)</argsstring> <name>vmm_unmapPage</name> <param> <type><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref></type> </param> <param> <type><ref refid="vmm_8h_1aabceab91796188f211167ff9ca38fad7" kindref="member">unmapFlags_t</ref></type> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="126" column="8" bodyfile="C:/Dev/git/UbixOS/sys/vmm/unmappage.c" bodystart="47" bodyend="81" declfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" declline="126" declcolumn="8"/> <references refid="vmm_8h_1a38c3fe6ce5f3bf8af4a0631d4c41b0ba" compoundref="vmm__memory_8c" startline="262" endline="290">freePage</references> <references refid="paging_8h_1a122dfc414a40e260fd35dbe9743db26f" compoundref="paging_8h" startline="55">PAGE_PRESENT</references> <references refid="paging_8h_1a1b0f37794d3da1a86f1df77e503ed98f" compoundref="paging_8h" startline="45">PD_BASE_ADDR</references> <references refid="paging_8h_1a8d42a9a09d9dea53cab3044f51482acc" compoundref="paging_8h" startline="46">PT_BASE_ADDR</references> <referencedby refid="vmm__mmap_8c_1a34f95e2ffa8a4bb4ca88918a3a3af580" compoundref="vmm__mmap_8c" startline="162" endline="220">sys_mmap</referencedby> <referencedby refid="createvirtualspace_8c_1ab7ce06bf4237638127c7f052e8872f8a" compoundref="createvirtualspace_8c" startline="53" endline="191">vmm_createVirtualSpace</referencedby> </memberdef> <memberdef kind="function" id="vmm_8h_1ae220b790a4c54aab2705161d861d0ce5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>void</type> <definition>void vmm_unmapPages</definition> <argsstring>(void *, uint32_t, unmapFlags_t)</argsstring> <name>vmm_unmapPages</name> <param> <type>void *</type> </param> <param> <type><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref></type> </param> <param> <type><ref refid="vmm_8h_1aabceab91796188f211167ff9ca38fad7" kindref="member">unmapFlags_t</ref></type> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" line="127" column="8" bodyfile="C:/Dev/git/UbixOS/sys/vmm/unmappage.c" bodystart="99" bodyend="112" declfile="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h" declline="127" declcolumn="8"/> <references refid="paging_8h_1a8d42a9a09d9dea53cab3044f51482acc" compoundref="paging_8h" startline="46">PT_BASE_ADDR</references> <referencedby refid="main_8cc_1aa6c38d07b193857fbaebc1656b89136e" compoundref="main_8cc" startline="51" endline="143">sdeThread</referencedby> </memberdef> </sectiondef> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <programlisting> <codeline lineno="1"><highlight class="comment">/*-</highlight></codeline> <codeline lineno="2"><highlight class="comment"><sp/>*<sp/>Copyright<sp/>(c)<sp/>2002-2018<sp/>The<sp/>UbixOS<sp/>Project.</highlight></codeline> <codeline lineno="3"><highlight class="comment"><sp/>*<sp/>All<sp/>rights<sp/>reserved.</highlight></codeline> <codeline lineno="4"><highlight class="comment"><sp/>*</highlight></codeline> <codeline lineno="5"><highlight class="comment"><sp/>*<sp/>This<sp/>was<sp/>developed<sp/>by<sp/>Christopher<sp/>W.<sp/>Olsen<sp/>for<sp/>the<sp/>UbixOS<sp/>Project.</highlight></codeline> <codeline lineno="6"><highlight class="comment"><sp/>*</highlight></codeline> <codeline lineno="7"><highlight class="comment"><sp/>*<sp/>Redistribution<sp/>and<sp/>use<sp/>in<sp/>source<sp/>and<sp/>binary<sp/>forms,<sp/>with<sp/>or<sp/>without<sp/>modification,<sp/>are<sp/>permitted</highlight></codeline> <codeline lineno="8"><highlight class="comment"><sp/>*<sp/>provided<sp/>that<sp/>the<sp/>following<sp/>conditions<sp/>are<sp/>met:</highlight></codeline> <codeline lineno="9"><highlight class="comment"><sp/>*</highlight></codeline> <codeline lineno="10"><highlight class="comment"><sp/>*<sp/>1)<sp/>Redistributions<sp/>of<sp/>source<sp/>code<sp/>must<sp/>retain<sp/>the<sp/>above<sp/>copyright<sp/>notice,<sp/>this<sp/>list<sp/>of</highlight></codeline> <codeline lineno="11"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>conditions,<sp/>the<sp/>following<sp/>disclaimer<sp/>and<sp/>the<sp/>list<sp/>of<sp/>authors.</highlight></codeline> <codeline lineno="12"><highlight class="comment"><sp/>*<sp/>2)<sp/>Redistributions<sp/>in<sp/>binary<sp/>form<sp/>must<sp/>reproduce<sp/>the<sp/>above<sp/>copyright<sp/>notice,<sp/>this<sp/>list<sp/>of</highlight></codeline> <codeline lineno="13"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>conditions,<sp/>the<sp/>following<sp/>disclaimer<sp/>and<sp/>the<sp/>list<sp/>of<sp/>authors<sp/>in<sp/>the<sp/>documentation<sp/>and/or</highlight></codeline> <codeline lineno="14"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>other<sp/>materials<sp/>provided<sp/>with<sp/>the<sp/>distribution.</highlight></codeline> <codeline lineno="15"><highlight class="comment"><sp/>*<sp/>3)<sp/>Neither<sp/>the<sp/>name<sp/>of<sp/>the<sp/>UbixOS<sp/>Project<sp/>nor<sp/>the<sp/>names<sp/>of<sp/>its<sp/>contributors<sp/>may<sp/>be<sp/>used<sp/>to</highlight></codeline> <codeline lineno="16"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>endorse<sp/>or<sp/>promote<sp/>products<sp/>derived<sp/>from<sp/>this<sp/>software<sp/>without<sp/>specific<sp/>prior<sp/>written</highlight></codeline> <codeline lineno="17"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>permission.</highlight></codeline> <codeline lineno="18"><highlight class="comment"><sp/>*</highlight></codeline> <codeline lineno="19"><highlight class="comment"><sp/>*<sp/>THIS<sp/>SOFTWARE<sp/>IS<sp/>PROVIDED<sp/>BY<sp/>THE<sp/>AUTHOR<sp/>AND<sp/>CONTRIBUTORS<sp/>"AS<sp/>IS"<sp/>AND<sp/>ANY<sp/>EXPRESS<sp/>OR<sp/>IMPLIED</highlight></codeline> <codeline lineno="20"><highlight class="comment"><sp/>*<sp/>WARRANTIES,<sp/>INCLUDING,<sp/>BUT<sp/>NOT<sp/>LIMITED<sp/>TO,<sp/>THE<sp/>IMPLIED<sp/>WARRANTIES<sp/>OF<sp/>MERCHANTABILITY<sp/>AND<sp/>FITNESS</highlight></codeline> <codeline lineno="21"><highlight class="comment"><sp/>*<sp/>FOR<sp/>A<sp/>PARTICULAR<sp/>PURPOSE<sp/>ARE<sp/>DISCLAIMED.<sp/>IN<sp/>NO<sp/>EVENT<sp/>SHALL<sp/>THE<sp/>COPYRIGHT<sp/>OWNER<sp/>OR<sp/>CONTRIBUTORS</highlight></codeline> <codeline lineno="22"><highlight class="comment"><sp/>*<sp/>BE<sp/>LIABLE<sp/>FOR<sp/>ANY<sp/>DIRECT,<sp/>INDIRECT,<sp/>INCIDENTAL,<sp/>SPECIAL,<sp/>EXEMPLARY,<sp/>OR<sp/>CONSEQUENTIAL<sp/>DAMAGES</highlight></codeline> <codeline lineno="23"><highlight class="comment"><sp/>*<sp/>(INCLUDING,<sp/>BUT<sp/>NOT<sp/>LIMITED<sp/>TO,<sp/>PROCUREMENT<sp/>OF<sp/>SUBSTITUTE<sp/>GOODS<sp/>OR<sp/>SERVICES;<sp/>LOSS<sp/>OF<sp/>USE,<sp/>DATA,</highlight></codeline> <codeline lineno="24"><highlight class="comment"><sp/>*<sp/>OR<sp/>PROFITS;<sp/>OR<sp/>BUSINESS<sp/>INTERRUPTION)<sp/>HOWEVER<sp/>CAUSED<sp/>AND<sp/>ON<sp/>ANY<sp/>THEORY<sp/>OF<sp/>LIABILITY,<sp/>WHETHER<sp/>IN</highlight></codeline> <codeline lineno="25"><highlight class="comment"><sp/>*<sp/>CONTRACT,<sp/>STRICT<sp/>LIABILITY,<sp/>OR<sp/>TORT<sp/>(INCLUDING<sp/>NEGLIGENCE<sp/>OR<sp/>OTHERWISE)<sp/>ARISING<sp/>IN<sp/>ANY<sp/>WAY<sp/>OUT</highlight></codeline> <codeline lineno="26"><highlight class="comment"><sp/>*<sp/>OF<sp/>THE<sp/>USE<sp/>OF<sp/>THIS<sp/>SOFTWARE,<sp/>EVEN<sp/>IF<sp/>ADVISED<sp/>OF<sp/>THE<sp/>POSSIBILITY<sp/>OF<sp/>SUCH<sp/>DAMAGE.</highlight></codeline> <codeline lineno="27"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="28"><highlight class="normal"></highlight></codeline> <codeline lineno="29"><highlight class="normal"></highlight><highlight class="preprocessor">#ifndef<sp/>_VMM_VMM_H</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="30"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>_VMM_VMM_H</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="31"><highlight class="normal"></highlight></codeline> <codeline lineno="32"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><<ref refid="include_2sys_2types_8h" kindref="compound">sys/types.h</ref>></highlight><highlight class="normal"></highlight></codeline> <codeline lineno="33"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><<ref refid="paging_8h" kindref="compound">vmm/paging.h</ref>></highlight><highlight class="normal"></highlight></codeline> <codeline lineno="34"><highlight class="normal"></highlight></codeline> <codeline lineno="35"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>__cplusplus</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="36"><highlight class="normal"></highlight><highlight class="keyword">extern</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">"C"</highlight><highlight class="normal"><sp/>{</highlight></codeline> <codeline lineno="37"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="38"><highlight class="normal"></highlight></codeline> <codeline lineno="39" refid="vmm_8h_1ad93dccba62fb5241c0b7cebcd097794a" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>STACK_ADDR<sp/>0xBFFFFFFF//0xC800000<sp/>//<sp/>Default<sp/>App<sp/>Stack<sp/>Address</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="40"><highlight class="normal"></highlight></codeline> <codeline lineno="41" refid="vmm_8h_1ab75ffaa83e1dc903d97c411c84dfec0f" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>memAvail<sp/><sp/><sp/><sp/><sp/>1</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="42" refid="vmm_8h_1a41dc1abc6436bd66a4269de8ab471181" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>memNotavail<sp/><sp/>2</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="43" refid="vmm_8h_1ae6c443b60824c02f199f51cf4a14e9f4" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>vmmID<sp/><sp/><sp/><sp/><sp/><sp/><sp/>-3</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="44"><highlight class="normal"></highlight></codeline> <codeline lineno="45"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">/*</highlight></codeline> <codeline lineno="46"><highlight class="comment"><sp/><sp/><sp/>#define<sp/>vmmMemoryMapAddr<sp/>0xE6667000</highlight></codeline> <codeline lineno="47"><highlight class="comment"><sp/><sp/><sp/>#define<sp/>VMM_MMAP_ADDR_PMODE2<sp/>0xE6667000</highlight></codeline> <codeline lineno="48"><highlight class="comment"><sp/><sp/><sp/>*/</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="49"><highlight class="normal"></highlight></codeline> <codeline lineno="50" refid="vmm_8h_1aa015f84b2a9b7588c472ff5dc99646f6" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VMM_MMAP_ADDR_PMODE<sp/><sp/>VMM_KERN_START<sp/></highlight><highlight class="comment">/*<sp/>(PD_BASE_ADDR<sp/>+<sp/>PAGE_SIZE)<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline> <codeline lineno="51" refid="vmm_8h_1a1e10465731ac6cbfc253ce7d89ae34c8" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VMM_MMAP_ADDR_RMODE<sp/><sp/>0x101000</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="52"><highlight class="normal"></highlight></codeline> <codeline lineno="53" refid="vmm_8h_1a2f7c0ede39e3dba13fabe3f445593bf8" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VMM_KERN_CODE_START<sp/>0x00000000</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="54" refid="vmm_8h_1aa878ae386056b8fe8b87c813de27e4ba" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VMM_KERN_CODE_END<sp/><sp/><sp/>0x007FEFFF</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="55"><highlight class="normal"></highlight></codeline> <codeline lineno="56" refid="vmm_8h_1ab73be2fd1f1c93794618941747db46c6" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VMM_USER_LDT<sp/><sp/><sp/>0x007FF000</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="57"><highlight class="normal"></highlight></codeline> <codeline lineno="58" refid="vmm_8h_1ad43d15bd90c1980dae3db013c1a5abb0" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VMM_USER_START<sp/>0x00800000</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="59" refid="vmm_8h_1a71bd5e4901787995ae8f9cc3e1a888f9" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VMM_USER_END<sp/><sp/><sp/>0xBFFFFFFF</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="60"><highlight class="normal"></highlight></codeline> <codeline lineno="61" refid="vmm_8h_1aa61649f59ee9ac1d67dee62afb0e36d7" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VMM_PAGE_DIRS<sp/><sp/>0xC0000000</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="62" refid="vmm_8h_1aed2c86b43a86c237706bc62cc2bb4000" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VMM_PAGE_DIR<sp/><sp/><sp/>0xC0400000</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="63"><highlight class="normal"></highlight></codeline> <codeline lineno="64" refid="vmm_8h_1ad6394b4f60e68fe4e1431fc4e1998957" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VMM_KERN_START<sp/>0xC0800000<sp/>//TMP<sp/>ADDED<sp/>1000</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="65" refid="vmm_8h_1a8204faafc0c27e418f993e07c2f59f14" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VMM_KERN_END<sp/><sp/><sp/>0xFDFFFFFF</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="66"><highlight class="normal"></highlight></codeline> <codeline lineno="67" refid="vmm_8h_1afa8fb16552b49cc7929a140f5095b2c0" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VMM_KERN_STACK_START<sp/>0xFE000000</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="68" refid="vmm_8h_1a3e6d5c059fd2ae1f2eb12d55ddab666e" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VMM_KERN_STACK_END<sp/><sp/><sp/>0xFFFFFFFF</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="69"><highlight class="normal"></highlight></codeline> <codeline lineno="70"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">extern</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structspinLock" kindref="compound">spinLock</ref><sp/><ref refid="vmm_8h_1afcaabe90527f6aec9cfeaaba78500e4c" kindref="member">pdSpinLock</ref>;</highlight></codeline> <codeline lineno="71"><highlight class="normal"></highlight></codeline> <codeline lineno="72"><highlight class="normal"></highlight></codeline> <codeline lineno="73" refid="structfreebsd6__mmap__args" refkind="compound"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structfreebsd6__mmap__args" kindref="compound">freebsd6_mmap_args</ref><sp/>{</highlight></codeline> <codeline lineno="74" refid="structfreebsd6__mmap__args_1a2e5363b741b5c3ad4c1864ea4c7a499a" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/><ref refid="structfreebsd6__mmap__args_1a2e5363b741b5c3ad4c1864ea4c7a499a" kindref="member">addr_l_</ref>[<ref refid="sysproto_8h_1a121b15598871bbd1dc2067855e25c1d4" kindref="member">PADL_</ref>(<ref refid="include_2sys_2types_8h_1a06b0051d3f39d5cd5ad781e5871e49ee" kindref="member">caddr_t</ref>)];</highlight></codeline> <codeline lineno="75" refid="structfreebsd6__mmap__args_1a841d856e3b8557c71f49cbb1f2912915" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a06b0051d3f39d5cd5ad781e5871e49ee" kindref="member">caddr_t</ref><sp/><ref refid="structfreebsd6__mmap__args_1a841d856e3b8557c71f49cbb1f2912915" kindref="member">addr</ref>;</highlight></codeline> <codeline lineno="76" refid="structfreebsd6__mmap__args_1abff572a3f34d5f8af6c9e1932fd90e11" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/><ref refid="structfreebsd6__mmap__args_1abff572a3f34d5f8af6c9e1932fd90e11" kindref="member">addr_r_</ref>[<ref refid="sysproto_8h_1aa46e33ea9096ba0cbafd88a6899b98b6" kindref="member">PADR_</ref>(<ref refid="include_2sys_2types_8h_1a06b0051d3f39d5cd5ad781e5871e49ee" kindref="member">caddr_t</ref>)];</highlight></codeline> <codeline lineno="77"><highlight class="normal"></highlight></codeline> <codeline lineno="78" refid="structfreebsd6__mmap__args_1ab2aa0f7be5486a57974d179f26ff826f" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/><ref refid="structfreebsd6__mmap__args_1ab2aa0f7be5486a57974d179f26ff826f" kindref="member">len_l_</ref>[<ref refid="sysproto_8h_1a121b15598871bbd1dc2067855e25c1d4" kindref="member">PADL_</ref>(</highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal">)];</highlight></codeline> <codeline lineno="79" refid="structfreebsd6__mmap__args_1aa6f8c3f17fdac371851c44f0f05a503e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/><ref refid="structfreebsd6__mmap__args_1aa6f8c3f17fdac371851c44f0f05a503e" kindref="member">len</ref>;</highlight></codeline> <codeline lineno="80" refid="structfreebsd6__mmap__args_1aaecf42ce57412dfff472b2f7a6682529" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/><ref refid="structfreebsd6__mmap__args_1aaecf42ce57412dfff472b2f7a6682529" kindref="member">len_r_</ref>[<ref refid="sysproto_8h_1aa46e33ea9096ba0cbafd88a6899b98b6" kindref="member">PADR_</ref>(</highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal">)];</highlight></codeline> <codeline lineno="81"><highlight class="normal"></highlight></codeline> <codeline lineno="82" refid="structfreebsd6__mmap__args_1ac467b6a711f988fa06dcaa37a8549da2" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/><ref refid="structfreebsd6__mmap__args_1ac467b6a711f988fa06dcaa37a8549da2" kindref="member">prot_l_</ref>[<ref refid="sysproto_8h_1a121b15598871bbd1dc2067855e25c1d4" kindref="member">PADL_</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">)];</highlight></codeline> <codeline lineno="83" refid="structfreebsd6__mmap__args_1ae114b2b851ebbd32b7a58224a59bd716" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="structfreebsd6__mmap__args_1ae114b2b851ebbd32b7a58224a59bd716" kindref="member">prot</ref>;</highlight></codeline> <codeline lineno="84" refid="structfreebsd6__mmap__args_1a4fe5c5253f17139e7aa41896df7756ce" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/><ref refid="structfreebsd6__mmap__args_1a4fe5c5253f17139e7aa41896df7756ce" kindref="member">prot_r_</ref>[<ref refid="sysproto_8h_1aa46e33ea9096ba0cbafd88a6899b98b6" kindref="member">PADR_</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">)];</highlight></codeline> <codeline lineno="85" refid="structfreebsd6__mmap__args_1a67b39e4cd604050e00d1b76119aa31c4" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/><ref refid="structfreebsd6__mmap__args_1a67b39e4cd604050e00d1b76119aa31c4" kindref="member">flags_l_</ref>[<ref refid="sysproto_8h_1a121b15598871bbd1dc2067855e25c1d4" kindref="member">PADL_</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">)];</highlight></codeline> <codeline lineno="86"><highlight class="normal"></highlight></codeline> <codeline lineno="87" refid="structfreebsd6__mmap__args_1a9233fccfb817eef25ee6aae5de43bef0" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="structfreebsd6__mmap__args_1a9233fccfb817eef25ee6aae5de43bef0" kindref="member">flags</ref>;</highlight></codeline> <codeline lineno="88" refid="structfreebsd6__mmap__args_1a21af01078b32a5574498aa4e462ef2ae" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/><ref refid="structfreebsd6__mmap__args_1a21af01078b32a5574498aa4e462ef2ae" kindref="member">flags_r_</ref>[<ref refid="sysproto_8h_1aa46e33ea9096ba0cbafd88a6899b98b6" kindref="member">PADR_</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">)];</highlight></codeline> <codeline lineno="89" refid="structfreebsd6__mmap__args_1a537ce932fda3476cd2300c9c9e197689" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/><ref refid="structfreebsd6__mmap__args_1a537ce932fda3476cd2300c9c9e197689" kindref="member">fd_l_</ref>[<ref refid="sysproto_8h_1a121b15598871bbd1dc2067855e25c1d4" kindref="member">PADL_</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">)];</highlight></codeline> <codeline lineno="90" refid="structfreebsd6__mmap__args_1a13eef518e4a15d1bcb4edd0fb8baf209" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="structfreebsd6__mmap__args_1a13eef518e4a15d1bcb4edd0fb8baf209" kindref="member">fd</ref>;</highlight></codeline> <codeline lineno="91" refid="structfreebsd6__mmap__args_1a963a912a081dcfd70416bf8a8346f009" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/><ref refid="structfreebsd6__mmap__args_1a963a912a081dcfd70416bf8a8346f009" kindref="member">fd_r_</ref>[<ref refid="sysproto_8h_1aa46e33ea9096ba0cbafd88a6899b98b6" kindref="member">PADR_</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">)];</highlight></codeline> <codeline lineno="92"><highlight class="normal"></highlight></codeline> <codeline lineno="93" refid="structfreebsd6__mmap__args_1aaa99bf308f23fca37fb31ccb6477c9bf" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/><ref refid="structfreebsd6__mmap__args_1aaa99bf308f23fca37fb31ccb6477c9bf" kindref="member">pad_l_</ref>[<ref refid="sysproto_8h_1a121b15598871bbd1dc2067855e25c1d4" kindref="member">PADL_</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">)];</highlight></codeline> <codeline lineno="94" refid="structfreebsd6__mmap__args_1ac879a1ee14fb849a4d830bec94d5ae13" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="structfreebsd6__mmap__args_1ac879a1ee14fb849a4d830bec94d5ae13" kindref="member">pad</ref>;</highlight></codeline> <codeline lineno="95" refid="structfreebsd6__mmap__args_1a6ae49554a30a09a56caee8d6e45227a6" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/><ref refid="structfreebsd6__mmap__args_1a6ae49554a30a09a56caee8d6e45227a6" kindref="member">pad_r_</ref>[<ref refid="sysproto_8h_1aa46e33ea9096ba0cbafd88a6899b98b6" kindref="member">PADR_</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">)];</highlight></codeline> <codeline lineno="96"><highlight class="normal"></highlight></codeline> <codeline lineno="97" refid="structfreebsd6__mmap__args_1a71c4d84ab305322c3120587cc04c8753" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/><ref refid="structfreebsd6__mmap__args_1a71c4d84ab305322c3120587cc04c8753" kindref="member">pos_l_</ref>[<ref refid="sysproto_8h_1a121b15598871bbd1dc2067855e25c1d4" kindref="member">PADL_</ref>(<ref refid="include_2sys_2types_8h_1afa178be408981cc5edd64227b6332fc6" kindref="member">off_t</ref>)];</highlight></codeline> <codeline lineno="98" refid="structfreebsd6__mmap__args_1a5ba1d1bc00b43b73a9edc1b299f2a56e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1afa178be408981cc5edd64227b6332fc6" kindref="member">off_t</ref><sp/><ref refid="structfreebsd6__mmap__args_1a5ba1d1bc00b43b73a9edc1b299f2a56e" kindref="member">pos</ref>;</highlight></codeline> <codeline lineno="99" refid="structfreebsd6__mmap__args_1acc34261237aa7fa6ed5ac5c3b2e17af6" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/><ref refid="structfreebsd6__mmap__args_1acc34261237aa7fa6ed5ac5c3b2e17af6" kindref="member">pos_r_</ref>[<ref refid="sysproto_8h_1aa46e33ea9096ba0cbafd88a6899b98b6" kindref="member">PADR_</ref>(<ref refid="include_2sys_2types_8h_1afa178be408981cc5edd64227b6332fc6" kindref="member">off_t</ref>)];</highlight></codeline> <codeline lineno="100"><highlight class="normal"><sp/><sp/>};</highlight></codeline> <codeline lineno="101"><highlight class="normal"></highlight></codeline> <codeline lineno="102" refid="structmMap" refkind="compound"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">{</highlight></codeline> <codeline lineno="103" refid="structmMap_1a4d15e398d755e47c972d2b87e71c40ce" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/><ref refid="structmMap_1a4d15e398d755e47c972d2b87e71c40ce" kindref="member">pageAddr</ref>;</highlight></codeline> <codeline lineno="104" refid="structmMap_1a94139af73246d6ef3bae0f34d4182acd" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1af7b042408b9b104606f8a9b5035329f3" kindref="member">u_int16_t</ref><sp/><ref refid="structmMap_1a94139af73246d6ef3bae0f34d4182acd" kindref="member">status</ref>;</highlight></codeline> <codeline lineno="105" refid="structmMap_1adfd1ad46c11691a6b54aae5904946346" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1af7b042408b9b104606f8a9b5035329f3" kindref="member">u_int16_t</ref><sp/><ref refid="structmMap_1adfd1ad46c11691a6b54aae5904946346" kindref="member">reserved</ref>;</highlight></codeline> <codeline lineno="106" refid="structmMap_1ad72d5f52b2195f98e60aa61ed52ae9b1" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="include_2sys_2types_8h_1a288e13e815d43b06e75819f8939524df" kindref="member">pid_t</ref><sp/><ref refid="structmMap_1ad72d5f52b2195f98e60aa61ed52ae9b1" kindref="member">pid</ref>;</highlight></codeline> <codeline lineno="107" refid="structmMap_1a2fb919d9c0a2653979ed667d59a395cb" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="structmMap_1a2fb919d9c0a2653979ed667d59a395cb" kindref="member">cowCounter</ref>;</highlight></codeline> <codeline lineno="108"><highlight class="normal"><sp/><sp/>}<sp/><ref refid="structmMap" kindref="compound">mMap</ref>;</highlight></codeline> <codeline lineno="109"><highlight class="normal"></highlight></codeline> <codeline lineno="110" refid="vmm_8h_1aabceab91796188f211167ff9ca38fad7" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">enum</highlight><highlight class="normal"><sp/>{</highlight></codeline> <codeline lineno="111" refid="vmm_8h_1aabceab91796188f211167ff9ca38fad7aaa698f3781aab937e9e3a9b2d15db15d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="vmm_8h_1aabceab91796188f211167ff9ca38fad7a3b6a650ea04d6ae6d7a349d6b91afe58" kindref="member">VMM_FREE</ref><sp/>=<sp/>0,<sp/><ref refid="vmm_8h_1aabceab91796188f211167ff9ca38fad7aaa698f3781aab937e9e3a9b2d15db15d" kindref="member">VMM_KEEP</ref><sp/>=<sp/>1</highlight></codeline> <codeline lineno="112"><highlight class="normal"><sp/><sp/>}<sp/><ref refid="vmm_8h_1aabceab91796188f211167ff9ca38fad7" kindref="member">unmapFlags_t</ref>;</highlight></codeline> <codeline lineno="113"><highlight class="normal"></highlight></codeline> <codeline lineno="114"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">extern</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="vmm_8h_1a2b0091bdc36e32af3daf9cfcaa7c04e1" kindref="member">numPages</ref>;</highlight></codeline> <codeline lineno="115"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">extern</highlight><highlight class="normal"><sp/><ref refid="structmMap" kindref="compound">mMap</ref><sp/>*<ref refid="vmm_8h_1a89e87741958ee81f1811075b25af058a" kindref="member">vmmMemoryMap</ref>;</highlight></codeline> <codeline lineno="116"><highlight class="normal"></highlight></codeline> <codeline lineno="117"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="vmm_8h_1aac183f585641487a954ca46c0d7bde31" kindref="member">vmm_init</ref>();</highlight></codeline> <codeline lineno="118"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="vmm_8h_1a4fc8ad0b76f4382b01c4a0e53529750c" kindref="member">vmm_memMapInit</ref>();</highlight></codeline> <codeline lineno="119"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="vmm_8h_1a1a89fbc2f80ca828332c5ef31801faa3" kindref="member">countMemory</ref>();</highlight></codeline> <codeline lineno="120"><highlight class="normal"><sp/><sp/><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/><ref refid="vmm_8h_1ab8e4e189a7b1df2a03072ce5b75c89fe" kindref="member">vmm_findFreePage</ref>(<ref refid="include_2sys_2types_8h_1ae438ba74394b14d7b24b6df3b3b8c252" kindref="member">pidType</ref><sp/>pid);</highlight></codeline> <codeline lineno="121"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="vmm_8h_1a38c3fe6ce5f3bf8af4a0631d4c41b0ba" kindref="member">freePage</ref>(<ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/>pageAddr);</highlight></codeline> <codeline lineno="122"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="vmm_8h_1aafef303dc8f2c6ed7bcf171819579166" kindref="member">adjustCowCounter</ref>(<ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref><sp/>baseAddr,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>adjustment);</highlight></codeline> <codeline lineno="123"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vmm_8h_1a6a46a3d519d9f38f00d8b00d2ce60e04" kindref="member">vmm_freeProcessPages</ref>(<ref refid="include_2sys_2types_8h_1ae438ba74394b14d7b24b6df3b3b8c252" kindref="member">pidType</ref><sp/>pid);</highlight></codeline> <codeline lineno="124"><highlight class="normal"></highlight></codeline> <codeline lineno="125"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="vmm_8h_1acba8d9cc298370338bc5bea5187183b2" kindref="member">vmm_allocPageTable</ref>(<ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref>,<sp/><ref refid="include_2sys_2types_8h_1ae438ba74394b14d7b24b6df3b3b8c252" kindref="member">pidType</ref>);</highlight></codeline> <codeline lineno="126"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vmm_8h_1a457446966aafafd939af6603f68516b1" kindref="member">vmm_unmapPage</ref>(<ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref>,<sp/><ref refid="vmm_8h_1aabceab91796188f211167ff9ca38fad7" kindref="member">unmapFlags_t</ref>);</highlight></codeline> <codeline lineno="127"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="vmm_8h_1ae220b790a4c54aab2705161d861d0ce5" kindref="member">vmm_unmapPages</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*,<sp/><ref refid="include_2sys_2types_8h_1a0238af00180b6d9278fa1c6aa790fdf4" kindref="member">uint32_t</ref>,<sp/><ref refid="vmm_8h_1aabceab91796188f211167ff9ca38fad7" kindref="member">unmapFlags_t</ref>);</highlight></codeline> <codeline lineno="128"><highlight class="normal"></highlight></codeline> <codeline lineno="129"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>__cplusplus</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="130"><highlight class="normal">}</highlight></codeline> <codeline lineno="131"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="132"><highlight class="normal"></highlight></codeline> <codeline lineno="133"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//<sp/>_VMM_VMM_H</highlight></codeline> </programlisting> <location file="C:/Dev/git/UbixOS/sys/include/vmm/vmm.h"/> </compounddef> </doxygen>