<?xml version='1.0' encoding='iso-8859-1' standalone='no'?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.4.7"> <compounddef id="paging_8h" kind="file"> <compoundname>paging.h</compoundname> <includes refid="types_8h" local="no">ubixos/types.h</includes> <includes refid="sysproto_8h" local="no">sys/sysproto.h</includes> <includes refid="thread_8h" local="no">sys/thread.h</includes> <includedby refid="vmm_8h" local="no">src/sys/include/vmm/vmm.h</includedby> <includedby refid="file_8c" local="no">src/sys/vfs/file.c</includedby> <incdepgraph> <node id="4963"> <label>sys/thread.h</label> <link refid="thread_8h"/> <childnode refid="4959" relation="include"> </childnode> </node> <node id="4959"> <label>ubixos/types.h</label> <link refid="types_8h"/> <childnode refid="4960" relation="include"> </childnode> </node> <node id="4960"> <label>sys/_types.h</label> <link refid="__types_8h"/> </node> <node id="4958"> <label>src/sys/include/vmm/paging.h</label> <link refid="paging.h"/> <childnode refid="4959" relation="include"> </childnode> <childnode refid="4961" relation="include"> </childnode> <childnode refid="4963" relation="include"> </childnode> </node> <node id="4961"> <label>sys/sysproto.h</label> <link refid="sysproto_8h"/> <childnode refid="4962" relation="include"> </childnode> <childnode refid="4963" relation="include"> </childnode> </node> <node id="4962"> <label>sys/signal.h</label> <link refid="signal_8h"/> <childnode refid="4959" relation="include"> </childnode> </node> </incdepgraph> <invincdepgraph> <node id="4969"> <label>src/sys/kernel/elf.c</label> <link refid="elf_8c"/> </node> <node id="4977"> <label>src/sys/kmods/kmod.c</label> <link refid="kmod_8c"/> </node> <node id="4978"> <label>src/sys/lib/kmalloc.c</label> <link refid="kmalloc_8c"/> </node> <node id="4986"> <label>src/sys/vmm/paging.c</label> <link refid="paging_8c"/> </node> <node id="4976"> <label>src/sys/kernel/systemtask.c</label> <link refid="systemtask_8c"/> </node> <node id="4964"> <label>src/sys/include/vmm/paging.h</label> <link refid="paging.h"/> <childnode refid="4965" relation="include"> </childnode> <childnode refid="4991" relation="include"> </childnode> </node> <node id="4973"> <label>src/sys/kernel/ld.c</label> <link refid="ld_8c"/> </node> <node id="4972"> <label>src/sys/kernel/fork.c</label> <link refid="fork_8c"/> </node> <node id="4981"> <label>src/sys/vmm/createvirtualspace.c</label> <link refid="createvirtualspace_8c"/> </node> <node id="4989"> <label>src/sys/vmm/vmm_init.c</label> <link refid="vmm__init_8c"/> </node> <node id="4974"> <label>src/sys/kernel/sched.c</label> <link refid="sched_8c"/> </node> <node id="4965"> <label>src/sys/include/vmm/vmm.h</label> <link refid="vmm_8h"/> <childnode refid="4966" relation="include"> </childnode> <childnode refid="4968" relation="include"> </childnode> <childnode refid="4969" relation="include"> </childnode> <childnode refid="4970" relation="include"> </childnode> <childnode refid="4971" relation="include"> </childnode> <childnode refid="4972" relation="include"> </childnode> <childnode refid="4973" relation="include"> </childnode> <childnode refid="4974" relation="include"> </childnode> <childnode refid="4975" relation="include"> </childnode> <childnode refid="4976" relation="include"> </childnode> <childnode refid="4977" relation="include"> </childnode> <childnode refid="4978" relation="include"> </childnode> <childnode refid="4979" relation="include"> </childnode> <childnode refid="4980" relation="include"> </childnode> <childnode refid="4981" relation="include"> </childnode> <childnode refid="4982" relation="include"> </childnode> <childnode refid="4983" relation="include"> </childnode> <childnode refid="4984" relation="include"> </childnode> <childnode refid="4985" relation="include"> </childnode> <childnode refid="4986" relation="include"> </childnode> <childnode refid="4987" relation="include"> </childnode> <childnode refid="4988" relation="include"> </childnode> <childnode refid="4989" relation="include"> </childnode> <childnode refid="4990" relation="include"> </childnode> </node> <node id="4987"> <label>src/sys/vmm/setpageattributes.c</label> <link refid="setpageattributes_8c"/> </node> <node id="4984"> <label>src/sys/vmm/getphysicaladdr.c</label> <link refid="getphysicaladdr_8c"/> </node> <node id="4967"> <label>src/sys/init/main.c</label> <link refid="main_8c"/> </node> <node id="4968"> <label>src/sys/kernel/bioscall.c</label> <link refid="bioscall_8c"/> </node> <node id="4975"> <label>src/sys/kernel/syscall.c</label> <link refid="syscall_8c"/> </node> <node id="4985"> <label>src/sys/vmm/pagefault.c</label> <link refid="pagefault_8c"/> </node> <node id="4966"> <label>src/sys/include/ubixos/init.h</label> <link refid="init_8h"/> <childnode refid="4967" relation="include"> </childnode> </node> <node id="4988"> <label>src/sys/vmm/unmappage.c</label> <link refid="unmappage_8c"/> </node> <node id="4990"> <label>src/sys/vmm/vmm_memory.c</label> <link refid="vmm__memory_8c"/> </node> <node id="4970"> <label>src/sys/kernel/endtask.c</label> <link refid="endtask_8c"/> </node> <node id="4991"> <label>src/sys/vfs/file.c</label> <link refid="file_8c"/> </node> <node id="4982"> <label>src/sys/vmm/getfreepage.c</label> <link refid="getfreepage_8c"/> </node> <node id="4979"> <label>src/sys/sys/idt.c</label> <link refid="idt_8c"/> </node> <node id="4971"> <label>src/sys/kernel/exec.c</label> <link refid="exec_8c"/> </node> <node id="4983"> <label>src/sys/vmm/getfreevirtualpage.c</label> <link refid="getfreevirtualpage_8c"/> </node> <node id="4980"> <label>src/sys/vmm/copyvirtualspace.c</label> <link refid="copyvirtualspace_8c"/> </node> </invincdepgraph> <sectiondef kind="define"> <memberdef kind="define" id="paging_8h_10851ee42f36c8a00e9eafe739c8ffaaa" prot="public" static="no"> <name>btoc</name> <param><defname>x</defname></param> <initializer>(((<ref refid="types_8h_1d6f327965d9e330cd225ca2153ac0453" kindref="member">vm_offset_t</ref>)(x)+PAGE_MASK)>>PAGE_SHIFT)</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="62" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" bodystart="62" bodyend="-1"/> <referencedby refid="paging_8c_16cdf3466734f2da5e258c9844d536295" compoundref="paging_8c" startline="478" endline="514">obreak</referencedby> <referencedby refid="getfreevirtualpage_8c_1fbc8bd5fa45d60baf5e8b5c47bf3f3b6" compoundref="getfreevirtualpage_8c" startline="47" endline="159">vmmGetFreeVirtualPage</referencedby> </memberdef> <memberdef kind="define" id="paging_8h_1071caea8a82a06e754daca63317d3c07" prot="public" static="no"> <name>ctob</name> <param><defname>x</defname></param> <initializer>((x)<<PAGE_SHIFT)</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="61" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" bodystart="61" bodyend="-1"/> <referencedby refid="paging_8c_16cdf3466734f2da5e258c9844d536295" compoundref="paging_8c" startline="478" endline="514">obreak</referencedby> <referencedby refid="getfreevirtualpage_8c_1fbc8bd5fa45d60baf5e8b5c47bf3f3b6" compoundref="getfreevirtualpage_8c" startline="47" endline="159">vmmGetFreeVirtualPage</referencedby> </memberdef> <memberdef kind="define" id="paging_8h_18b838cda4f0bc79ab8d07eb19dd35420" prot="public" static="no"> <name>KERNEL_PAGE_DEFAULT</name> <initializer>(PAGE_PRESENT|PAGE_WRITE)</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="53" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" bodystart="53" bodyend="-1"/> <referencedby refid="exec_8c_1f80d4412d42ed1b5bf9a1b9774230f33" compoundref="exec_8c" startline="143" endline="323">execFile</referencedby> <referencedby refid="paging_8c_1541f0b43826a40b9e978f5479080bb0e" compoundref="paging_8c" startline="401" endline="451">vmm_getFreeMallocPage</referencedby> <referencedby refid="paging_8c_1f47a45e3f0802f5aac053808127aaaf1" compoundref="paging_8c" startline="59" endline="147">vmm_pagingInit</referencedby> <referencedby refid="paging_8c_1f055cfbfef9c5d8dd82aa83829a06117" compoundref="paging_8c" startline="160" endline="241">vmm_remapPage</referencedby> <referencedby refid="paging_8c_130a38035243b9dfb285b3793788126be" compoundref="paging_8c" startline="253" endline="301">vmmGetFreeKernelPage</referencedby> <referencedby refid="getfreepage_8c_197b73a5761e664ab5c0c24382971a2e6" compoundref="getfreepage_8c" startline="48" endline="77">vmmGetFreePage</referencedby> <referencedby refid="paging_8c_15eb37b88b24489f7256232eec46de565" compoundref="paging_8c" startline="332" endline="399">vmmMapFromTask</referencedby> </memberdef> <memberdef kind="define" id="paging_8h_157d743cb60fe478f6720c42315e7e813" prot="public" static="no"> <name>PAGE_COW</name> <initializer>0x00000200</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="46" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" bodystart="46" bodyend="-1"/> <referencedby refid="paging_8c_10444c8635648fabdbd6e702137aa1723" compoundref="paging_8c" startline="522" endline="559">vmm_cleanVirtualSpace</referencedby> <referencedby refid="pagefault_8c_138aaad80f8ef516de9fe963e677fe273" compoundref="pagefault_8c" startline="53" endline="131">vmm_pageFault</referencedby> <referencedby refid="paging_8c_1f055cfbfef9c5d8dd82aa83829a06117" compoundref="paging_8c" startline="160" endline="241">vmm_remapPage</referencedby> <referencedby refid="copyvirtualspace_8c_12d305244a54b4bb8c56698eca1b4c82c" compoundref="copyvirtualspace_8c" startline="53" endline="206">vmmCopyVirtualSpace</referencedby> <referencedby refid="vmm__memory_8c_1a24b696e386ef97dfe88b9b434c671c6" compoundref="vmm__memory_8c" startline="296" endline="332">vmmFreeProcessPages</referencedby> <referencedby refid="getfreevirtualpage_8c_1fbc8bd5fa45d60baf5e8b5c47bf3f3b6" compoundref="getfreevirtualpage_8c" startline="47" endline="159">vmmGetFreeVirtualPage</referencedby> </memberdef> <memberdef kind="define" id="paging_8h_1f0fff7a38cd2c7a32d580787423b94ea" prot="public" static="no"> <name>PAGE_DEFAULT</name> <initializer>(PAGE_PRESENT|PAGE_WRITE|PAGE_USER)</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="52" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" bodystart="52" bodyend="-1"/> <referencedby refid="elf_8c_1f11ec9e50bcff723428b0c911a177fd0" compoundref="elf_8c" startline="111" endline="185">elf_loadfile</referencedby> <referencedby refid="exec_8c_1f80d4412d42ed1b5bf9a1b9774230f33" compoundref="exec_8c" startline="143" endline="323">execFile</referencedby> <referencedby refid="kmod_8c_192b68dbf95bf5d651555a4c02ee1a74b" compoundref="kmod_8c" startline="75" endline="211">kmod_load</referencedby> <referencedby refid="ld_8c_1b0622e93915d1824df770950e425875f" compoundref="ld_8c" startline="42" endline="176">ldEnable</referencedby> <referencedby refid="paging_8c_16cdf3466734f2da5e258c9844d536295" compoundref="paging_8c" startline="478" endline="514">obreak</referencedby> <referencedby refid="exec_8c_1094c23346b6d226a03866a54b755ed64" compoundref="exec_8c" startline="552" endline="716">sys_exec</referencedby> <referencedby refid="exec_8c_1219681612352232186a0f568457d851d" compoundref="exec_8c" startline="334" endline="546">sysExec</referencedby> <referencedby refid="pagefault_8c_138aaad80f8ef516de9fe963e677fe273" compoundref="pagefault_8c" startline="53" endline="131">vmm_pageFault</referencedby> <referencedby refid="paging_8c_1f055cfbfef9c5d8dd82aa83829a06117" compoundref="paging_8c" startline="160" endline="241">vmm_remapPage</referencedby> <referencedby refid="copyvirtualspace_8c_12d305244a54b4bb8c56698eca1b4c82c" compoundref="copyvirtualspace_8c" startline="53" endline="206">vmmCopyVirtualSpace</referencedby> <referencedby refid="createvirtualspace_8c_1c8f92aa05b669f43457fed9002d6cb40" compoundref="createvirtualspace_8c" startline="81" endline="143">vmmCreateVirtualSpace</referencedby> <referencedby refid="getfreevirtualpage_8c_1fbc8bd5fa45d60baf5e8b5c47bf3f3b6" compoundref="getfreevirtualpage_8c" startline="47" endline="159">vmmGetFreeVirtualPage</referencedby> </memberdef> <memberdef kind="define" id="paging_8h_1e4aa620ce57c7c3171b916de2c5f09f2" prot="public" static="no"> <name>PAGE_MASK</name> <initializer>(PAGE_SIZE-1)</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="57" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" bodystart="57" bodyend="-1"/> </memberdef> <memberdef kind="define" id="paging_8h_1122dfc414a40e260fd35dbe9743db26f" prot="public" static="no"> <name>PAGE_PRESENT</name> <initializer>0x00000001</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="49" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" bodystart="49" bodyend="-1"/> <referencedby refid="elf_8c_1f11ec9e50bcff723428b0c911a177fd0" compoundref="elf_8c" startline="111" endline="185">elf_loadfile</referencedby> <referencedby refid="exec_8c_1f80d4412d42ed1b5bf9a1b9774230f33" compoundref="exec_8c" startline="143" endline="323">execFile</referencedby> <referencedby refid="exec_8c_1094c23346b6d226a03866a54b755ed64" compoundref="exec_8c" startline="552" endline="716">sys_exec</referencedby> <referencedby refid="exec_8c_1219681612352232186a0f568457d851d" compoundref="exec_8c" startline="334" endline="546">sysExec</referencedby> <referencedby refid="paging_8c_10444c8635648fabdbd6e702137aa1723" compoundref="paging_8c" startline="522" endline="559">vmm_cleanVirtualSpace</referencedby> <referencedby refid="paging_8c_1f055cfbfef9c5d8dd82aa83829a06117" compoundref="paging_8c" startline="160" endline="241">vmm_remapPage</referencedby> <referencedby refid="getfreevirtualpage_8c_1fbc8bd5fa45d60baf5e8b5c47bf3f3b6" compoundref="getfreevirtualpage_8c" startline="47" endline="159">vmmGetFreeVirtualPage</referencedby> </memberdef> <memberdef kind="define" id="paging_8h_1850d80ca2291d26b40dc6b25c419f81a" prot="public" static="no"> <name>PAGE_SHIFT</name> <initializer>12</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="55" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" bodystart="55" bodyend="-1"/> <referencedby refid="exec_8c_1094c23346b6d226a03866a54b755ed64" compoundref="exec_8c" startline="552" endline="716">sys_exec</referencedby> <referencedby refid="exec_8c_1219681612352232186a0f568457d851d" compoundref="exec_8c" startline="334" endline="546">sysExec</referencedby> </memberdef> <memberdef kind="define" id="paging_8h_17d467c1d283fdfa1f2081ba1e0d01b6e" prot="public" static="no"> <name>PAGE_SIZE</name> <initializer>(1<<PAGE_SHIFT)</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="56" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" bodystart="56" bodyend="-1"/> <referencedby refid="exec_8c_1219681612352232186a0f568457d851d" compoundref="exec_8c" startline="334" endline="546">sysExec</referencedby> </memberdef> <memberdef kind="define" id="paging_8h_11532db17068ba8d409b8ffe066414af2" prot="public" static="no"> <name>PAGE_STACK</name> <initializer>0x00000400</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="47" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" bodystart="47" bodyend="-1"/> <referencedby refid="exec_8c_1f80d4412d42ed1b5bf9a1b9774230f33" compoundref="exec_8c" startline="143" endline="323">execFile</referencedby> <referencedby refid="paging_8c_10444c8635648fabdbd6e702137aa1723" compoundref="paging_8c" startline="522" endline="559">vmm_cleanVirtualSpace</referencedby> <referencedby refid="paging_8c_1f055cfbfef9c5d8dd82aa83829a06117" compoundref="paging_8c" startline="160" endline="241">vmm_remapPage</referencedby> <referencedby refid="copyvirtualspace_8c_12d305244a54b4bb8c56698eca1b4c82c" compoundref="copyvirtualspace_8c" startline="53" endline="206">vmmCopyVirtualSpace</referencedby> </memberdef> <memberdef kind="define" id="paging_8h_12d0253527ea5080d6befe0ee3bde473f" prot="public" static="no"> <name>PAGE_USER</name> <initializer>0x00000004</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="51" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" bodystart="51" bodyend="-1"/> <referencedby refid="elf_8c_1f11ec9e50bcff723428b0c911a177fd0" compoundref="elf_8c" startline="111" endline="185">elf_loadfile</referencedby> <referencedby refid="exec_8c_1f80d4412d42ed1b5bf9a1b9774230f33" compoundref="exec_8c" startline="143" endline="323">execFile</referencedby> <referencedby refid="exec_8c_1094c23346b6d226a03866a54b755ed64" compoundref="exec_8c" startline="552" endline="716">sys_exec</referencedby> <referencedby refid="exec_8c_1219681612352232186a0f568457d851d" compoundref="exec_8c" startline="334" endline="546">sysExec</referencedby> </memberdef> <memberdef kind="define" id="paging_8h_141b733e23eb5b22e1df907b87d6b3996" prot="public" static="no"> <name>PAGE_WIRED</name> <initializer>0x00000600</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="48" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" bodystart="48" bodyend="-1"/> </memberdef> <memberdef kind="define" id="paging_8h_1559697780e34fd09ba6a2e909f0fe1df" prot="public" static="no"> <name>PAGE_WRITE</name> <initializer>0x00000002</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="50" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" bodystart="50" bodyend="-1"/> </memberdef> <memberdef kind="define" id="paging_8h_1b80d68a13753e40b0df8e0dc0c4af870" prot="public" static="no"> <name>pageEntries</name> <initializer>(pageSize/4)</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="42" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" bodystart="42" bodyend="-1"/> <referencedby refid="pagefault_8c_138aaad80f8ef516de9fe963e677fe273" compoundref="pagefault_8c" startline="53" endline="131">vmm_pageFault</referencedby> <referencedby refid="paging_8c_1f47a45e3f0802f5aac053808127aaaf1" compoundref="paging_8c" startline="59" endline="147">vmm_pagingInit</referencedby> <referencedby refid="paging_8c_1f055cfbfef9c5d8dd82aa83829a06117" compoundref="paging_8c" startline="160" endline="241">vmm_remapPage</referencedby> <referencedby refid="paging_8c_1230a160ddb717c5a133e55aa42e9d324" compoundref="paging_8c" startline="314" endline="329">vmmClearVirtualPage</referencedby> <referencedby refid="copyvirtualspace_8c_12d305244a54b4bb8c56698eca1b4c82c" compoundref="copyvirtualspace_8c" startline="53" endline="206">vmmCopyVirtualSpace</referencedby> <referencedby refid="createvirtualspace_8c_1c8f92aa05b669f43457fed9002d6cb40" compoundref="createvirtualspace_8c" startline="81" endline="143">vmmCreateVirtualSpace</referencedby> <referencedby refid="vmm__memory_8c_1a24b696e386ef97dfe88b9b434c671c6" compoundref="vmm__memory_8c" startline="296" endline="332">vmmFreeProcessPages</referencedby> <referencedby refid="getfreevirtualpage_8c_1fbc8bd5fa45d60baf5e8b5c47bf3f3b6" compoundref="getfreevirtualpage_8c" startline="47" endline="159">vmmGetFreeVirtualPage</referencedby> </memberdef> <memberdef kind="define" id="paging_8h_1d8f95327f815dfa0f9196dbc48b94ddb" prot="public" static="no"> <name>pageLength</name> <initializer>0x00000400</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="40" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" bodystart="40" bodyend="-1"/> </memberdef> <memberdef kind="define" id="paging_8h_13d9cc2be3113b17e62612d00f7082b10" prot="public" static="no"> <name>pageSize</name> <initializer>4096</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="41" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" bodystart="41" bodyend="-1"/> </memberdef> <memberdef kind="define" id="paging_8h_1aab3609eb02bd28ded8d1ea0512da979" prot="public" static="no"> <name>parentPageDirAddr</name> <initializer>0x100000</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="44" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" bodystart="44" bodyend="-1"/> <referencedby refid="paging_8c_10444c8635648fabdbd6e702137aa1723" compoundref="paging_8c" startline="522" endline="559">vmm_cleanVirtualSpace</referencedby> <referencedby refid="pagefault_8c_138aaad80f8ef516de9fe963e677fe273" compoundref="pagefault_8c" startline="53" endline="131">vmm_pageFault</referencedby> <referencedby refid="paging_8c_1f055cfbfef9c5d8dd82aa83829a06117" compoundref="paging_8c" startline="160" endline="241">vmm_remapPage</referencedby> <referencedby refid="copyvirtualspace_8c_12d305244a54b4bb8c56698eca1b4c82c" compoundref="copyvirtualspace_8c" startline="53" endline="206">vmmCopyVirtualSpace</referencedby> <referencedby refid="createvirtualspace_8c_1c8f92aa05b669f43457fed9002d6cb40" compoundref="createvirtualspace_8c" startline="81" endline="143">vmmCreateVirtualSpace</referencedby> <referencedby refid="vmm__memory_8c_1a24b696e386ef97dfe88b9b434c671c6" compoundref="vmm__memory_8c" startline="296" endline="332">vmmFreeProcessPages</referencedby> <referencedby refid="getfreevirtualpage_8c_1fbc8bd5fa45d60baf5e8b5c47bf3f3b6" compoundref="getfreevirtualpage_8c" startline="47" endline="159">vmmGetFreeVirtualPage</referencedby> </memberdef> <memberdef kind="define" id="paging_8h_12702263fcf2b3b026cb26c6d895cb0ee" prot="public" static="no"> <name>round_page</name> <param><defname>x</defname></param> <initializer>(((x) + PAGE_MASK) & ~PAGE_MASK)</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="60" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" bodystart="60" bodyend="-1"/> <referencedby refid="paging_8c_16cdf3466734f2da5e258c9844d536295" compoundref="paging_8c" startline="478" endline="514">obreak</referencedby> <referencedby refid="exec_8c_1094c23346b6d226a03866a54b755ed64" compoundref="exec_8c" startline="552" endline="716">sys_exec</referencedby> <referencedby refid="exec_8c_1219681612352232186a0f568457d851d" compoundref="exec_8c" startline="334" endline="546">sysExec</referencedby> </memberdef> <memberdef kind="define" id="paging_8h_1a432d41840ad8a583a7e6af86feece4f" prot="public" static="no"> <name>tablesBaseAddress</name> <initializer>0xBFC00000</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="43" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" bodystart="43" bodyend="-1"/> <referencedby refid="paging_8c_10444c8635648fabdbd6e702137aa1723" compoundref="paging_8c" startline="522" endline="559">vmm_cleanVirtualSpace</referencedby> <referencedby refid="paging_8c_1541f0b43826a40b9e978f5479080bb0e" compoundref="paging_8c" startline="401" endline="451">vmm_getFreeMallocPage</referencedby> <referencedby refid="getphysicaladdr_8c_195ad0d803875fb80bd19bd5ef963bfc2" compoundref="getphysicaladdr_8c" startline="40" endline="54">vmm_getPhysicalAddr</referencedby> <referencedby refid="pagefault_8c_138aaad80f8ef516de9fe963e677fe273" compoundref="pagefault_8c" startline="53" endline="131">vmm_pageFault</referencedby> <referencedby refid="paging_8c_1f055cfbfef9c5d8dd82aa83829a06117" compoundref="paging_8c" startline="160" endline="241">vmm_remapPage</referencedby> <referencedby refid="setpageattributes_8c_110f37eb25e81ebf7e61fad46949af8e3" compoundref="setpageattributes_8c" startline="41" endline="68">vmm_setPageAttributes</referencedby> <referencedby refid="copyvirtualspace_8c_12d305244a54b4bb8c56698eca1b4c82c" compoundref="copyvirtualspace_8c" startline="53" endline="206">vmmCopyVirtualSpace</referencedby> <referencedby refid="createvirtualspace_8c_1c8f92aa05b669f43457fed9002d6cb40" compoundref="createvirtualspace_8c" startline="81" endline="143">vmmCreateVirtualSpace</referencedby> <referencedby refid="vmm__memory_8c_1a24b696e386ef97dfe88b9b434c671c6" compoundref="vmm__memory_8c" startline="296" endline="332">vmmFreeProcessPages</referencedby> <referencedby refid="paging_8c_130a38035243b9dfb285b3793788126be" compoundref="paging_8c" startline="253" endline="301">vmmGetFreeKernelPage</referencedby> <referencedby refid="getfreepage_8c_197b73a5761e664ab5c0c24382971a2e6" compoundref="getfreepage_8c" startline="48" endline="77">vmmGetFreePage</referencedby> <referencedby refid="getfreevirtualpage_8c_1fbc8bd5fa45d60baf5e8b5c47bf3f3b6" compoundref="getfreevirtualpage_8c" startline="47" endline="159">vmmGetFreeVirtualPage</referencedby> <referencedby refid="paging_8c_15eb37b88b24489f7256232eec46de565" compoundref="paging_8c" startline="332" endline="399">vmmMapFromTask</referencedby> <referencedby refid="unmappage_8c_1b0b3edc8b788e6418cc076ced9a19e74" compoundref="unmappage_8c" startline="50" endline="80">vmmUnmapPage</referencedby> <referencedby refid="unmappage_8c_10a924a2db888f186cdcc7dc58add08f5" compoundref="unmappage_8c" startline="101" endline="114">vmmUnmapPages</referencedby> </memberdef> <memberdef kind="define" id="paging_8h_1bd636a9b61ad98f4fc23b1f4a9210d78" prot="public" static="no"> <name>trunc_page</name> <param><defname>x</defname></param> <initializer>((x) & ~PAGE_MASK)</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="59" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" bodystart="59" bodyend="-1"/> <referencedby refid="exec_8c_1094c23346b6d226a03866a54b755ed64" compoundref="exec_8c" startline="552" endline="716">sys_exec</referencedby> <referencedby refid="exec_8c_1219681612352232186a0f568457d851d" compoundref="exec_8c" startline="334" endline="546">sysExec</referencedby> </memberdef> <memberdef kind="define" id="paging_8h_159a518704bf2f0b56603476bcb1eebbf" prot="public" static="no"> <name>VM_TASK</name> <initializer>1</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="38" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" bodystart="38" bodyend="-1"/> <referencedby refid="paging_8c_1b3070a217a42db69cd94b6217f0b361a" compoundref="paging_8c" startline="453" endline="476">mmap</referencedby> <referencedby refid="exec_8c_1219681612352232186a0f568457d851d" compoundref="exec_8c" startline="334" endline="546">sysExec</referencedby> <referencedby refid="syscall_8c_11db3bfbad534c2fa75c02646fcf80a90" compoundref="syscall_8c" startline="196" endline="204">sysGetFreePage</referencedby> <referencedby refid="getfreevirtualpage_8c_1fbc8bd5fa45d60baf5e8b5c47bf3f3b6" compoundref="getfreevirtualpage_8c" startline="47" endline="159">vmmGetFreeVirtualPage</referencedby> </memberdef> <memberdef kind="define" id="paging_8h_14ede4e8b3e149ef94678acdae7de0e18" prot="public" static="no"> <name>VM_THRD</name> <initializer>0</initializer> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="37" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" bodystart="37" bodyend="-1"/> <referencedby refid="syscall_8c_11db3bfbad534c2fa75c02646fcf80a90" compoundref="syscall_8c" startline="196" endline="204">sysGetFreePage</referencedby> <referencedby refid="getfreevirtualpage_8c_1fbc8bd5fa45d60baf5e8b5c47bf3f3b6" compoundref="getfreevirtualpage_8c" startline="47" endline="159">vmmGetFreeVirtualPage</referencedby> </memberdef> </sectiondef> <sectiondef kind="func"> <memberdef kind="function" id="paging_8h_115b43ccb21abdb9e0a41acb82b260a99" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>void</type> <definition>void _vmm_pageFault</definition> <argsstring>()</argsstring> <name>_vmm_pageFault</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="82"/> </memberdef> <memberdef kind="function" id="paging_8h_1f47d5f6b1a4a8738e65c9f539a9979fc" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>int</type> <definition>int mmap</definition> <argsstring>(struct thread *, struct mmap_args *)</argsstring> <name>mmap</name> <param> <type>struct <ref refid="structthread" kindref="compound">thread</ref> *</type> </param> <param> <type>struct <ref refid="structmmap__args" kindref="compound">mmap_args</ref> *</type> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="83" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/vmm/paging.c" bodystart="453" bodyend="476"/> <references refid="sched_8h_154397bfe18d5da4d50ff03b15f540858" compoundref="sched_8c" startline="51">_current</references> <references refid="structmmap__args_113ec5b173a8fe6428cf3bf0a5f2d4fc2" compoundref="sysproto_8h" startline="113">mmap_args::addr</references> <references refid="structmmap__args_1abfe32d5934305c27dd528bba990ae12" compoundref="sysproto_8h" startline="117">mmap_args::fd</references> <references refid="structmmap__args_104b82aa69d28fc03e57632b7d524758d" compoundref="sysproto_8h" startline="116">mmap_args::flags</references> <references refid="structtaskStruct_130966587a60db6b40c8be6c387e11d81" compoundref="sched_8h" startline="55">taskStruct::id</references> <references refid="kprint_8h_1b2761bdf0cca73ad0fb5880895210cd8" compoundref="kprintf_8c" startline="38" endline="49">kprintf</references> <references refid="structmmap__args_10b1dab766559d59a733fede0d3767c14" compoundref="sysproto_8h" startline="114">mmap_args::len</references> <references refid="structmmap__args_15ad4ee0f25f92b5a4da5a86ba40ee1e2" compoundref="sysproto_8h" startline="118">mmap_args::pad</references> <references refid="structmmap__args_17cc0a114bae15892a406fa7196229e37" compoundref="sysproto_8h" startline="119">mmap_args::pos</references> <references refid="structmmap__args_1d6c74b2bf9e921cb4da0cbd508b2e21d" compoundref="sysproto_8h" startline="115">mmap_args::prot</references> <references refid="structthread_1f3ec0788a84e5cb640a1646d1347998a" compoundref="thread_8h" startline="38">thread::td_retval</references> <references refid="paging_8h_159a518704bf2f0b56603476bcb1eebbf" compoundref="paging_8h" startline="38">VM_TASK</references> <references refid="paging_8h_14b324672c4b25064eb8db1e3419337b1" compoundref="getfreevirtualpage_8c" startline="47" endline="159">vmmGetFreeVirtualPage</references> <references refid="ap-boot_8S_1f78b91f02427adef14bb8b28aa93baa5" compoundref="ap-boot_8S" startline="52">x1000</references> </memberdef> <memberdef kind="function" id="paging_8h_1c4296f2360f8217973674af8bc6f82dd" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>int</type> <definition>int munmap</definition> <argsstring>(struct thread *, struct munmap_args *)</argsstring> <name>munmap</name> <param> <type>struct <ref refid="structthread" kindref="compound">thread</ref> *</type> </param> <param> <type>struct <ref refid="structmunmap__args" kindref="compound">munmap_args</ref> *</type> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="85" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/vmm/paging.c" bodystart="516" bodyend="520"/> <references refid="kprint_8h_1b2761bdf0cca73ad0fb5880895210cd8" compoundref="kprintf_8c" startline="38" endline="49">kprintf</references> </memberdef> <memberdef kind="function" id="paging_8h_18d8ba1d847eb4dbeb26a3c1077ab1981" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>int</type> <definition>int obreak</definition> <argsstring>(struct thread *, struct obreak_args *)</argsstring> <name>obreak</name> <param> <type>struct <ref refid="structthread" kindref="compound">thread</ref> *</type> </param> <param> <type>struct <ref refid="structobreak__args" kindref="compound">obreak_args</ref> *</type> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="84" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/vmm/paging.c" bodystart="478" bodyend="514"/> <references refid="sched_8h_154397bfe18d5da4d50ff03b15f540858" compoundref="sched_8c" startline="51">_current</references> <references refid="paging_8h_10851ee42f36c8a00e9eafe739c8ffaaa" compoundref="paging_8h" startline="62">btoc</references> <references refid="paging_8h_1071caea8a82a06e754daca63317d3c07" compoundref="paging_8h" startline="61">ctob</references> <references refid="structtaskStruct_130966587a60db6b40c8be6c387e11d81" compoundref="sched_8h" startline="55">taskStruct::id</references> <references refid="kpanic_8h_1a5193288597f00c4f8e3b2939aa6c0ce" compoundref="kpanic_8h" startline="33">K_PANIC</references> <references refid="kprint_8h_1b2761bdf0cca73ad0fb5880895210cd8" compoundref="kprintf_8c" startline="38" endline="49">kprintf</references> <references refid="structobreak__args_1b30a3d3c9186553a40d1b6e7c5714fb4" compoundref="sysproto_8h" startline="123">obreak_args::nsize</references> <references refid="paging_8h_1f0fff7a38cd2c7a32d580787423b94ea" compoundref="paging_8h" startline="52">PAGE_DEFAULT</references> <references refid="paging_8h_12702263fcf2b3b026cb26c6d895cb0ee" compoundref="paging_8h" startline="60">round_page</references> <references refid="structthread_1c770300b493b2ea844e634b7c98c4f6a" compoundref="thread_8h" startline="40">thread::vm_daddr</references> <references refid="structthread_14ce0e0e5856efc85e111d2cb8748a0ee" compoundref="thread_8h" startline="41">thread::vm_dsize</references> <references refid="paging_8h_1a05f8d8947fb5bcec87fc6661f83243e" compoundref="paging_8c" startline="160" endline="241">vmm_remapPage</references> <references refid="vmm_8h_1976cf3919bf7c77c868021ec9374593b" compoundref="vmm__memory_8c" startline="186" endline="216">vmmFindFreePage</references> </memberdef> <memberdef kind="function" id="paging_8h_1541f0b43826a40b9e978f5479080bb0e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>void *</type> <definition>void* vmm_getFreeMallocPage</definition> <argsstring>(uInt16 count)</argsstring> <name>vmm_getFreeMallocPage</name> <param> <type><ref refid="types_8h_13b65128d2644e9b80cec9a69bfa7e094" kindref="member">uInt16</ref></type> <declname>count</declname> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="80" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/vmm/paging.c" bodystart="401" bodyend="451"/> <references refid="paging_8c_1fe74a297627a1834d20925533b77c3d8" compoundref="paging_8c" startline="43">fkpSpinLock</references> <references refid="kpanic_8h_1a5193288597f00c4f8e3b2939aa6c0ce" compoundref="kpanic_8h" startline="33">K_PANIC</references> <references refid="paging_8h_18b838cda4f0bc79ab8d07eb19dd35420" compoundref="paging_8h" startline="53">KERNEL_PAGE_DEFAULT</references> <references refid="spinlock_8h_12cd9a4502680fb8e7f0fe6b029e558b1" compoundref="spinlock_8c" startline="56" endline="62">spinLock</references> <references refid="spinlock_8h_1dd996cbbb3b9826dd9c8cf02b66a4c65" compoundref="spinlock_8c" startline="37" endline="46">spinUnlock</references> <references refid="kmalloc_8h_181d09bc848b49133401b3efeeb65f1af" compoundref="kmalloc_8h" startline="39">sysID</references> <references refid="paging_8h_1a432d41840ad8a583a7e6af86feece4f" compoundref="paging_8h" startline="43">tablesBaseAddress</references> <references refid="paging_8h_1a05f8d8947fb5bcec87fc6661f83243e" compoundref="paging_8c" startline="160" endline="241">vmm_remapPage</references> <references refid="paging_8h_1230a160ddb717c5a133e55aa42e9d324" compoundref="paging_8c" startline="314" endline="329">vmmClearVirtualPage</references> <references refid="vmm_8h_1976cf3919bf7c77c868021ec9374593b" compoundref="vmm__memory_8c" startline="186" endline="216">vmmFindFreePage</references> <references refid="ap-boot_8S_1f78b91f02427adef14bb8b28aa93baa5" compoundref="ap-boot_8S" startline="52">x1000</references> <referencedby refid="kmalloc_8c_1f6c4ea5cb961c72548d92ff65d7e33a4" compoundref="kmalloc_8c" startline="67" endline="110">getEmptyDesc</referencedby> </memberdef> <memberdef kind="function" id="paging_8h_1e88bcfc69132a46a1982237913101a5b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type><ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref></type> <definition>uInt32 vmm_getPhysicalAddr</definition> <argsstring>(uInt32)</argsstring> <name>vmm_getPhysicalAddr</name> <param> <type><ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref></type> <defname>pageAddr</defname> </param> <briefdescription> </briefdescription> <detaileddescription> <para>Function: void *vmmGetPhysicalAddr(); Description: Returns The Physical Address Of The Virtual Page Notes: </para> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="76" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/vmm/getphysicaladdr.c" bodystart="40" bodyend="54"/> <references refid="paging_8h_1a432d41840ad8a583a7e6af86feece4f" compoundref="paging_8h" startline="43">tablesBaseAddress</references> <references refid="ap-boot_8S_1f78b91f02427adef14bb8b28aa93baa5" compoundref="ap-boot_8S" startline="52">x1000</references> <referencedby refid="pagefault_8c_138aaad80f8ef516de9fe963e677fe273" compoundref="pagefault_8c" startline="53" endline="131">vmm_pageFault</referencedby> <referencedby refid="copyvirtualspace_8c_12d305244a54b4bb8c56698eca1b4c82c" compoundref="copyvirtualspace_8c" startline="53" endline="206">vmmCopyVirtualSpace</referencedby> <referencedby refid="createvirtualspace_8c_1c8f92aa05b669f43457fed9002d6cb40" compoundref="createvirtualspace_8c" startline="81" endline="143">vmmCreateVirtualSpace</referencedby> </memberdef> <memberdef kind="function" id="paging_8h_1442adfc886cbfedfc3edadf45c5f89a6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>void</type> <definition>void vmm_pageFault</definition> <argsstring>(uInt32, uInt32, uInt32)</argsstring> <name>vmm_pageFault</name> <param> <type><ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref></type> </param> <param> <type><ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref></type> </param> <param> <type><ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref></type> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="81" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/vmm/pagefault.c" bodystart="53" bodyend="131"/> <references refid="sched_8h_154397bfe18d5da4d50ff03b15f540858" compoundref="sched_8c" startline="51">_current</references> <references refid="vmm_8h_1362d462b3a1e19b5e0ef95e1839dbf11" compoundref="vmm__memory_8c" startline="266" endline="283">adjustCowCounter</references> <references refid="endtask_8h_1152c1859ada097cc21071f471bfa2e67" compoundref="endtask_8c" startline="46" endline="67">endTask</references> <references refid="structtaskStruct_130966587a60db6b40c8be6c387e11d81" compoundref="sched_8h" startline="55">taskStruct::id</references> <references refid="kpanic_8h_1db9a182aa071791a306163d50d653deb" compoundref="kpanic_8c" startline="42" endline="60">kpanic</references> <references refid="kprint_8h_1b2761bdf0cca73ad0fb5880895210cd8" compoundref="kprintf_8c" startline="38" endline="49">kprintf</references> <references refid="paging_8h_157d743cb60fe478f6720c42315e7e813" compoundref="paging_8h" startline="46">PAGE_COW</references> <references refid="paging_8h_1f0fff7a38cd2c7a32d580787423b94ea" compoundref="paging_8h" startline="52">PAGE_DEFAULT</references> <references refid="paging_8h_1b80d68a13753e40b0df8e0dc0c4af870" compoundref="paging_8h" startline="42">pageEntries</references> <references refid="pagefault_8c_197eea32960b19607e9418f78aadc41db" compoundref="pagefault_8c" startline="36">pageFaultSpinLock</references> <references refid="paging_8h_1aab3609eb02bd28ded8d1ea0512da979" compoundref="paging_8h" startline="44">parentPageDirAddr</references> <references refid="spinlock_8h_12cd9a4502680fb8e7f0fe6b029e558b1" compoundref="spinlock_8c" startline="56" endline="62">spinLock</references> <references refid="spinlock_8h_1dd996cbbb3b9826dd9c8cf02b66a4c65" compoundref="spinlock_8c" startline="37" endline="46">spinUnlock</references> <references refid="paging_8h_1a432d41840ad8a583a7e6af86feece4f" compoundref="paging_8h" startline="43">tablesBaseAddress</references> <references refid="structtaskStruct_1481c2e7084fec272e616d3fb984036e2" compoundref="sched_8h" startline="67">taskStruct::td</references> <references refid="structthread_1c770300b493b2ea844e634b7c98c4f6a" compoundref="thread_8h" startline="40">thread::vm_daddr</references> <references refid="structthread_14ce0e0e5856efc85e111d2cb8748a0ee" compoundref="thread_8h" startline="41">thread::vm_dsize</references> <references refid="paging_8h_1e88bcfc69132a46a1982237913101a5b" compoundref="getphysicaladdr_8c" startline="40" endline="54">vmm_getPhysicalAddr</references> <references refid="vmm_8h_1976cf3919bf7c77c868021ec9374593b" compoundref="vmm__memory_8c" startline="186" endline="216">vmmFindFreePage</references> <references refid="paging_8h_14b324672c4b25064eb8db1e3419337b1" compoundref="getfreevirtualpage_8c" startline="47" endline="159">vmmGetFreeVirtualPage</references> <references refid="paging_8h_1fd94da50e455602f86ad7dae2fc9d1db" compoundref="unmappage_8c" startline="50" endline="80">vmmUnmapPage</references> <references refid="ap-boot_8S_11a3ac2137e21f6f0d400f1996914dd19" compoundref="ap-boot_8S" startline="6">x1</references> <references refid="ap-boot_8S_1f78b91f02427adef14bb8b28aa93baa5" compoundref="ap-boot_8S" startline="52">x1000</references> </memberdef> <memberdef kind="function" id="paging_8h_1f47a45e3f0802f5aac053808127aaaf1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>int</type> <definition>int vmm_pagingInit</definition> <argsstring>()</argsstring> <name>vmm_pagingInit</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="79" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/vmm/paging.c" bodystart="59" bodyend="147"/> <references refid="page__fault_8S_16091cb277c1dd3e3e4d1d4699f3b06e5" compoundref="page__fault_8S" startline="38">_vmm_pageFault</references> <references refid="kpanic_8h_1a5193288597f00c4f8e3b2939aa6c0ce" compoundref="kpanic_8h" startline="33">K_PANIC</references> <references refid="paging_8h_18b838cda4f0bc79ab8d07eb19dd35420" compoundref="paging_8h" startline="53">KERNEL_PAGE_DEFAULT</references> <references refid="paging_8h_14e81de2626825c90dc6bb3cd7c8b344c" compoundref="paging_8c" startline="40">kernelPageDirectory</references> <references refid="kprint_8h_1b2761bdf0cca73ad0fb5880895210cd8" compoundref="kprintf_8c" startline="38" endline="49">kprintf</references> <references refid="lib_2string_8h_1ce4b911463887af5e748326323e99a23" compoundref="memset_8c" startline="37" endline="80">memset</references> <references refid="vmm_8h_12b0091bdc36e32af3daf9cfcaa7c04e1" compoundref="vmm__memory_8c" startline="44">numPages</references> <references refid="paging_8h_1b80d68a13753e40b0df8e0dc0c4af870" compoundref="paging_8h" startline="42">pageEntries</references> <references refid="kmalloc_8h_181d09bc848b49133401b3efeeb65f1af" compoundref="kmalloc_8h" startline="39">sysID</references> <references refid="paging_8h_1a05f8d8947fb5bcec87fc6661f83243e" compoundref="paging_8c" startline="160" endline="241">vmm_remapPage</references> <references refid="vmm_8h_1976cf3919bf7c77c868021ec9374593b" compoundref="vmm__memory_8c" startline="186" endline="216">vmmFindFreePage</references> <references refid="vmm_8h_189e87741958ee81f1811075b25af058a" compoundref="vmm__memory_8c" startline="45">vmmMemoryMap</references> <references refid="vmm_8h_1e6d4c286bb58576d1802a2c7d92e698e" compoundref="vmm_8h" startline="39">vmmMemoryMapAddr</references> <references refid="ap-boot_8S_11a3ac2137e21f6f0d400f1996914dd19" compoundref="ap-boot_8S" startline="6">x1</references> <references refid="ap-boot_8S_1f78b91f02427adef14bb8b28aa93baa5" compoundref="ap-boot_8S" startline="52">x1000</references> <referencedby refid="vmm__init_8c_1ac183f585641487a954ca46c0d7bde31" compoundref="vmm__init_8c" startline="41" endline="49">vmm_init</referencedby> </memberdef> <memberdef kind="function" id="paging_8h_1a05f8d8947fb5bcec87fc6661f83243e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>int</type> <definition>int vmm_remapPage</definition> <argsstring>(uInt32, uInt32, uInt16)</argsstring> <name>vmm_remapPage</name> <param> <type><ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref></type> </param> <param> <type><ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref></type> </param> <param> <type><ref refid="types_8h_13b65128d2644e9b80cec9a69bfa7e094" kindref="member">uInt16</ref></type> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="78" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/vmm/paging.c" bodystart="160" bodyend="241"/> <references refid="sched_8h_154397bfe18d5da4d50ff03b15f540858" compoundref="sched_8c" startline="51">_current</references> <references refid="vmm_8h_1e90be267d851fed04d4d9b1c6c10454a" compoundref="vmm__memory_8c" startline="228" endline="252">freePage</references> <references refid="structtaskStruct_130966587a60db6b40c8be6c387e11d81" compoundref="sched_8h" startline="55">taskStruct::id</references> <references refid="kpanic_8h_1a5193288597f00c4f8e3b2939aa6c0ce" compoundref="kpanic_8h" startline="33">K_PANIC</references> <references refid="paging_8h_18b838cda4f0bc79ab8d07eb19dd35420" compoundref="paging_8h" startline="53">KERNEL_PAGE_DEFAULT</references> <references refid="kprint_8h_1b2761bdf0cca73ad0fb5880895210cd8" compoundref="kprintf_8c" startline="38" endline="49">kprintf</references> <references refid="paging_8h_157d743cb60fe478f6720c42315e7e813" compoundref="paging_8h" startline="46">PAGE_COW</references> <references refid="paging_8h_1f0fff7a38cd2c7a32d580787423b94ea" compoundref="paging_8h" startline="52">PAGE_DEFAULT</references> <references refid="paging_8h_1122dfc414a40e260fd35dbe9743db26f" compoundref="paging_8h" startline="49">PAGE_PRESENT</references> <references refid="paging_8h_11532db17068ba8d409b8ffe066414af2" compoundref="paging_8h" startline="47">PAGE_STACK</references> <references refid="paging_8h_1b80d68a13753e40b0df8e0dc0c4af870" compoundref="paging_8h" startline="42">pageEntries</references> <references refid="paging_8h_1aab3609eb02bd28ded8d1ea0512da979" compoundref="paging_8h" startline="44">parentPageDirAddr</references> <references refid="paging_8c_179ee934bb85cf9e184c2ad54b707f9db" compoundref="paging_8c" startline="44">rmpSpinLock</references> <references refid="spinlock_8h_12cd9a4502680fb8e7f0fe6b029e558b1" compoundref="spinlock_8c" startline="56" endline="62">spinLock</references> <references refid="spinlock_8h_1dd996cbbb3b9826dd9c8cf02b66a4c65" compoundref="spinlock_8c" startline="37" endline="46">spinUnlock</references> <references refid="paging_8h_1a432d41840ad8a583a7e6af86feece4f" compoundref="paging_8h" startline="43">tablesBaseAddress</references> <references refid="vmm_8h_1976cf3919bf7c77c868021ec9374593b" compoundref="vmm__memory_8c" startline="186" endline="216">vmmFindFreePage</references> <references refid="ap-boot_8S_1f78b91f02427adef14bb8b28aa93baa5" compoundref="ap-boot_8S" startline="52">x1000</references> <referencedby refid="elf_8c_1f11ec9e50bcff723428b0c911a177fd0" compoundref="elf_8c" startline="111" endline="185">elf_loadfile</referencedby> <referencedby refid="exec_8c_1f80d4412d42ed1b5bf9a1b9774230f33" compoundref="exec_8c" startline="143" endline="323">execFile</referencedby> <referencedby refid="kmod_8c_192b68dbf95bf5d651555a4c02ee1a74b" compoundref="kmod_8c" startline="75" endline="211">kmod_load</referencedby> <referencedby refid="ld_8c_1b0622e93915d1824df770950e425875f" compoundref="ld_8c" startline="42" endline="176">ldEnable</referencedby> <referencedby refid="paging_8c_16cdf3466734f2da5e258c9844d536295" compoundref="paging_8c" startline="478" endline="514">obreak</referencedby> <referencedby refid="exec_8c_1094c23346b6d226a03866a54b755ed64" compoundref="exec_8c" startline="552" endline="716">sys_exec</referencedby> <referencedby refid="exec_8c_1219681612352232186a0f568457d851d" compoundref="exec_8c" startline="334" endline="546">sysExec</referencedby> <referencedby refid="paging_8c_1541f0b43826a40b9e978f5479080bb0e" compoundref="paging_8c" startline="401" endline="451">vmm_getFreeMallocPage</referencedby> <referencedby refid="paging_8c_1f47a45e3f0802f5aac053808127aaaf1" compoundref="paging_8c" startline="59" endline="147">vmm_pagingInit</referencedby> <referencedby refid="paging_8c_130a38035243b9dfb285b3793788126be" compoundref="paging_8c" startline="253" endline="301">vmmGetFreeKernelPage</referencedby> <referencedby refid="getfreepage_8c_197b73a5761e664ab5c0c24382971a2e6" compoundref="getfreepage_8c" startline="48" endline="77">vmmGetFreePage</referencedby> <referencedby refid="getfreevirtualpage_8c_1fbc8bd5fa45d60baf5e8b5c47bf3f3b6" compoundref="getfreevirtualpage_8c" startline="47" endline="159">vmmGetFreeVirtualPage</referencedby> <referencedby refid="paging_8c_15eb37b88b24489f7256232eec46de565" compoundref="paging_8c" startline="332" endline="399">vmmMapFromTask</referencedby> </memberdef> <memberdef kind="function" id="paging_8h_11913e8607a69ecf446b18fa1cd36c9cc" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>int</type> <definition>int vmm_setPageAttributes</definition> <argsstring>(uInt32, uInt16)</argsstring> <name>vmm_setPageAttributes</name> <param> <type><ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref></type> </param> <param> <type><ref refid="types_8h_13b65128d2644e9b80cec9a69bfa7e094" kindref="member">uInt16</ref></type> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="77" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/vmm/setpageattributes.c" bodystart="41" bodyend="68"/> <references refid="kpanic_8h_1db9a182aa071791a306163d50d653deb" compoundref="kpanic_8c" startline="42" endline="60">kpanic</references> <references refid="paging_8h_1a432d41840ad8a583a7e6af86feece4f" compoundref="paging_8h" startline="43">tablesBaseAddress</references> <references refid="ap-boot_8S_1f78b91f02427adef14bb8b28aa93baa5" compoundref="ap-boot_8S" startline="52">x1000</references> <referencedby refid="elf_8c_1f11ec9e50bcff723428b0c911a177fd0" compoundref="elf_8c" startline="111" endline="185">elf_loadfile</referencedby> <referencedby refid="exec_8c_1f80d4412d42ed1b5bf9a1b9774230f33" compoundref="exec_8c" startline="143" endline="323">execFile</referencedby> <referencedby refid="exec_8c_1094c23346b6d226a03866a54b755ed64" compoundref="exec_8c" startline="552" endline="716">sys_exec</referencedby> <referencedby refid="exec_8c_1219681612352232186a0f568457d851d" compoundref="exec_8c" startline="334" endline="546">sysExec</referencedby> </memberdef> <memberdef kind="function" id="paging_8h_1230a160ddb717c5a133e55aa42e9d324" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>int</type> <definition>int vmmClearVirtualPage</definition> <argsstring>(uInt32 pageAddr)</argsstring> <name>vmmClearVirtualPage</name> <param> <type><ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref></type> <declname>pageAddr</declname> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="65" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/vmm/paging.c" bodystart="314" bodyend="329"/> <references refid="paging_8h_1b80d68a13753e40b0df8e0dc0c4af870" compoundref="paging_8h" startline="42">pageEntries</references> <referencedby refid="paging_8c_1541f0b43826a40b9e978f5479080bb0e" compoundref="paging_8c" startline="401" endline="451">vmm_getFreeMallocPage</referencedby> <referencedby refid="paging_8c_130a38035243b9dfb285b3793788126be" compoundref="paging_8c" startline="253" endline="301">vmmGetFreeKernelPage</referencedby> <referencedby refid="getfreepage_8c_197b73a5761e664ab5c0c24382971a2e6" compoundref="getfreepage_8c" startline="48" endline="77">vmmGetFreePage</referencedby> <referencedby refid="getfreevirtualpage_8c_1fbc8bd5fa45d60baf5e8b5c47bf3f3b6" compoundref="getfreevirtualpage_8c" startline="47" endline="159">vmmGetFreeVirtualPage</referencedby> </memberdef> <memberdef kind="function" id="paging_8h_141985de19bd46cbe3b702cee74168dec" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>void *</type> <definition>void* vmmCopyVirtualSpace</definition> <argsstring>(pidType)</argsstring> <name>vmmCopyVirtualSpace</name> <param> <type><ref refid="types_8h_1e438ba74394b14d7b24b6df3b3b8c252" kindref="member">pidType</ref></type> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="70" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/vmm/copyvirtualspace.c" bodystart="53" bodyend="206"/> <references refid="vmm_8h_1362d462b3a1e19b5e0ef95e1839dbf11" compoundref="vmm__memory_8c" startline="266" endline="283">adjustCowCounter</references> <references refid="copyvirtualspace_8c_1d0e5c4817eb928f6db5f6b89bb96d997" compoundref="copyvirtualspace_8c" startline="36">cvsSpinLock</references> <references refid="kpanic_8h_1db9a182aa071791a306163d50d653deb" compoundref="kpanic_8c" startline="42" endline="60">kpanic</references> <references refid="lib_2string_8h_1ce4b911463887af5e748326323e99a23" compoundref="memset_8c" startline="37" endline="80">memset</references> <references refid="paging_8h_157d743cb60fe478f6720c42315e7e813" compoundref="paging_8h" startline="46">PAGE_COW</references> <references refid="paging_8h_1f0fff7a38cd2c7a32d580787423b94ea" compoundref="paging_8h" startline="52">PAGE_DEFAULT</references> <references refid="paging_8h_11532db17068ba8d409b8ffe066414af2" compoundref="paging_8h" startline="47">PAGE_STACK</references> <references refid="paging_8h_1b80d68a13753e40b0df8e0dc0c4af870" compoundref="paging_8h" startline="42">pageEntries</references> <references refid="paging_8h_1aab3609eb02bd28ded8d1ea0512da979" compoundref="paging_8h" startline="44">parentPageDirAddr</references> <references refid="spinlock_8h_12cd9a4502680fb8e7f0fe6b029e558b1" compoundref="spinlock_8c" startline="56" endline="62">spinLock</references> <references refid="spinlock_8h_1dd996cbbb3b9826dd9c8cf02b66a4c65" compoundref="spinlock_8c" startline="37" endline="46">spinUnlock</references> <references refid="paging_8h_1a432d41840ad8a583a7e6af86feece4f" compoundref="paging_8h" startline="43">tablesBaseAddress</references> <references refid="paging_8h_1e88bcfc69132a46a1982237913101a5b" compoundref="getphysicaladdr_8c" startline="40" endline="54">vmm_getPhysicalAddr</references> <references refid="paging_8h_130a38035243b9dfb285b3793788126be" compoundref="paging_8c" startline="253" endline="301">vmmGetFreeKernelPage</references> <references refid="paging_8h_1fd94da50e455602f86ad7dae2fc9d1db" compoundref="unmappage_8c" startline="50" endline="80">vmmUnmapPage</references> <references refid="ap-boot_8S_11a3ac2137e21f6f0d400f1996914dd19" compoundref="ap-boot_8S" startline="6">x1</references> <references refid="ap-boot_8S_1f78b91f02427adef14bb8b28aa93baa5" compoundref="ap-boot_8S" startline="52">x1000</references> <referencedby refid="fork_8c_1193d99c9f4dbfbfaad8a1ef486582f2d" compoundref="fork_8c" startline="50" endline="98">fork_copyProcess</referencedby> </memberdef> <memberdef kind="function" id="paging_8h_139ac9b6ea58fc8b6f129775642077c99" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>void *</type> <definition>void* vmmCreateVirtualSpace</definition> <argsstring>(pidType)</argsstring> <name>vmmCreateVirtualSpace</name> <param> <type><ref refid="types_8h_1e438ba74394b14d7b24b6df3b3b8c252" kindref="member">pidType</ref></type> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="73" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/vmm/createvirtualspace.c" bodystart="81" bodyend="143"/> <references refid="paging_8h_1f0fff7a38cd2c7a32d580787423b94ea" compoundref="paging_8h" startline="52">PAGE_DEFAULT</references> <references refid="paging_8h_1b80d68a13753e40b0df8e0dc0c4af870" compoundref="paging_8h" startline="42">pageEntries</references> <references refid="paging_8h_1aab3609eb02bd28ded8d1ea0512da979" compoundref="paging_8h" startline="44">parentPageDirAddr</references> <references refid="paging_8h_1a432d41840ad8a583a7e6af86feece4f" compoundref="paging_8h" startline="43">tablesBaseAddress</references> <references refid="paging_8h_1e88bcfc69132a46a1982237913101a5b" compoundref="getphysicaladdr_8c" startline="40" endline="54">vmm_getPhysicalAddr</references> <references refid="paging_8h_1d006a10f436671f8ee9cb402e372ff02" compoundref="getfreepage_8c" startline="48" endline="77">vmmGetFreePage</references> <references refid="paging_8h_1fd94da50e455602f86ad7dae2fc9d1db" compoundref="unmappage_8c" startline="50" endline="80">vmmUnmapPage</references> <referencedby refid="exec_8c_1f80d4412d42ed1b5bf9a1b9774230f33" compoundref="exec_8c" startline="143" endline="323">execFile</referencedby> </memberdef> <memberdef kind="function" id="paging_8h_130a38035243b9dfb285b3793788126be" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>void *</type> <definition>void* vmmGetFreeKernelPage</definition> <argsstring>(pidType pid, uInt16 count)</argsstring> <name>vmmGetFreeKernelPage</name> <param> <type><ref refid="types_8h_1e438ba74394b14d7b24b6df3b3b8c252" kindref="member">pidType</ref></type> <declname>pid</declname> </param> <param> <type><ref refid="types_8h_13b65128d2644e9b80cec9a69bfa7e094" kindref="member">uInt16</ref></type> <declname>count</declname> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="72" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/vmm/paging.c" bodystart="253" bodyend="301"/> <references refid="paging_8c_1fe74a297627a1834d20925533b77c3d8" compoundref="paging_8c" startline="43">fkpSpinLock</references> <references refid="kpanic_8h_1a5193288597f00c4f8e3b2939aa6c0ce" compoundref="kpanic_8h" startline="33">K_PANIC</references> <references refid="paging_8h_18b838cda4f0bc79ab8d07eb19dd35420" compoundref="paging_8h" startline="53">KERNEL_PAGE_DEFAULT</references> <references refid="spinlock_8h_12cd9a4502680fb8e7f0fe6b029e558b1" compoundref="spinlock_8c" startline="56" endline="62">spinLock</references> <references refid="spinlock_8h_1dd996cbbb3b9826dd9c8cf02b66a4c65" compoundref="spinlock_8c" startline="37" endline="46">spinUnlock</references> <references refid="paging_8h_1a432d41840ad8a583a7e6af86feece4f" compoundref="paging_8h" startline="43">tablesBaseAddress</references> <references refid="paging_8h_1a05f8d8947fb5bcec87fc6661f83243e" compoundref="paging_8c" startline="160" endline="241">vmm_remapPage</references> <references refid="paging_8h_1230a160ddb717c5a133e55aa42e9d324" compoundref="paging_8c" startline="314" endline="329">vmmClearVirtualPage</references> <references refid="vmm_8h_1976cf3919bf7c77c868021ec9374593b" compoundref="vmm__memory_8c" startline="186" endline="216">vmmFindFreePage</references> <referencedby refid="copyvirtualspace_8c_12d305244a54b4bb8c56698eca1b4c82c" compoundref="copyvirtualspace_8c" startline="53" endline="206">vmmCopyVirtualSpace</referencedby> </memberdef> <memberdef kind="function" id="paging_8h_1d006a10f436671f8ee9cb402e372ff02" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>void *</type> <definition>void* vmmGetFreePage</definition> <argsstring>(pidType)</argsstring> <name>vmmGetFreePage</name> <param> <type><ref refid="types_8h_1e438ba74394b14d7b24b6df3b3b8c252" kindref="member">pidType</ref></type> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="71" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/vmm/getfreepage.c" bodystart="48" bodyend="77"/> <references refid="paging_8h_18b838cda4f0bc79ab8d07eb19dd35420" compoundref="paging_8h" startline="53">KERNEL_PAGE_DEFAULT</references> <references refid="kpanic_8h_1db9a182aa071791a306163d50d653deb" compoundref="kpanic_8c" startline="42" endline="60">kpanic</references> <references refid="spinlock_8h_12cd9a4502680fb8e7f0fe6b029e558b1" compoundref="spinlock_8c" startline="56" endline="62">spinLock</references> <references refid="spinlock_8h_1dd996cbbb3b9826dd9c8cf02b66a4c65" compoundref="spinlock_8c" startline="37" endline="46">spinUnlock</references> <references refid="paging_8h_1a432d41840ad8a583a7e6af86feece4f" compoundref="paging_8h" startline="43">tablesBaseAddress</references> <references refid="paging_8h_1a05f8d8947fb5bcec87fc6661f83243e" compoundref="paging_8c" startline="160" endline="241">vmm_remapPage</references> <references refid="paging_8h_1230a160ddb717c5a133e55aa42e9d324" compoundref="paging_8c" startline="314" endline="329">vmmClearVirtualPage</references> <references refid="vmm_8h_1976cf3919bf7c77c868021ec9374593b" compoundref="vmm__memory_8c" startline="186" endline="216">vmmFindFreePage</references> <references refid="getfreepage_8c_1ebc7aa9c5f3b171c3e2660c4f102b248" compoundref="getfreepage_8c" startline="34">vmmGFPlock</references> <references refid="ap-boot_8S_1f78b91f02427adef14bb8b28aa93baa5" compoundref="ap-boot_8S" startline="52">x1000</references> <referencedby refid="createvirtualspace_8c_1c8f92aa05b669f43457fed9002d6cb40" compoundref="createvirtualspace_8c" startline="81" endline="143">vmmCreateVirtualSpace</referencedby> </memberdef> <memberdef kind="function" id="paging_8h_14b324672c4b25064eb8db1e3419337b1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>void *</type> <definition>void* vmmGetFreeVirtualPage</definition> <argsstring>(pidType, int, int)</argsstring> <name>vmmGetFreeVirtualPage</name> <param> <type><ref refid="types_8h_1e438ba74394b14d7b24b6df3b3b8c252" kindref="member">pidType</ref></type> </param> <param> <type>int</type> </param> <param> <type>int</type> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="74" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/vmm/getfreevirtualpage.c" bodystart="47" bodyend="159"/> <references refid="sched_8h_154397bfe18d5da4d50ff03b15f540858" compoundref="sched_8c" startline="51">_current</references> <references refid="paging_8h_10851ee42f36c8a00e9eafe739c8ffaaa" compoundref="paging_8h" startline="62">btoc</references> <references refid="paging_8h_1071caea8a82a06e754daca63317d3c07" compoundref="paging_8h" startline="61">ctob</references> <references refid="getfreevirtualpage_8c_1153dbb51837629ad18f14637d0357248" compoundref="getfreevirtualpage_8c" startline="36">fvpSpinLock</references> <references refid="structtaskStruct_130966587a60db6b40c8be6c387e11d81" compoundref="sched_8h" startline="55">taskStruct::id</references> <references refid="kpanic_8h_1a5193288597f00c4f8e3b2939aa6c0ce" compoundref="kpanic_8h" startline="33">K_PANIC</references> <references refid="kpanic_8h_1db9a182aa071791a306163d50d653deb" compoundref="kpanic_8c" startline="42" endline="60">kpanic</references> <references refid="kprint_8h_1b2761bdf0cca73ad0fb5880895210cd8" compoundref="kprintf_8c" startline="38" endline="49">kprintf</references> <references refid="structtaskStruct_10933c70230d4ac8bc9953640c979f8d7" compoundref="sched_8h" startline="60">taskStruct::oInfo</references> <references refid="paging_8h_157d743cb60fe478f6720c42315e7e813" compoundref="paging_8h" startline="46">PAGE_COW</references> <references refid="paging_8h_1f0fff7a38cd2c7a32d580787423b94ea" compoundref="paging_8h" startline="52">PAGE_DEFAULT</references> <references refid="paging_8h_1122dfc414a40e260fd35dbe9743db26f" compoundref="paging_8h" startline="49">PAGE_PRESENT</references> <references refid="paging_8h_1b80d68a13753e40b0df8e0dc0c4af870" compoundref="paging_8h" startline="42">pageEntries</references> <references refid="paging_8h_1aab3609eb02bd28ded8d1ea0512da979" compoundref="paging_8h" startline="44">parentPageDirAddr</references> <references refid="spinlock_8h_12cd9a4502680fb8e7f0fe6b029e558b1" compoundref="spinlock_8c" startline="56" endline="62">spinLock</references> <references refid="spinlock_8h_1dd996cbbb3b9826dd9c8cf02b66a4c65" compoundref="spinlock_8c" startline="37" endline="46">spinUnlock</references> <references refid="paging_8h_1a432d41840ad8a583a7e6af86feece4f" compoundref="paging_8h" startline="43">tablesBaseAddress</references> <references refid="structtaskStruct_1481c2e7084fec272e616d3fb984036e2" compoundref="sched_8h" startline="67">taskStruct::td</references> <references refid="structthread_1c770300b493b2ea844e634b7c98c4f6a" compoundref="thread_8h" startline="40">thread::vm_daddr</references> <references refid="structthread_14ce0e0e5856efc85e111d2cb8748a0ee" compoundref="thread_8h" startline="41">thread::vm_dsize</references> <references refid="paging_8h_159a518704bf2f0b56603476bcb1eebbf" compoundref="paging_8h" startline="38">VM_TASK</references> <references refid="paging_8h_14ede4e8b3e149ef94678acdae7de0e18" compoundref="paging_8h" startline="37">VM_THRD</references> <references refid="paging_8h_1a05f8d8947fb5bcec87fc6661f83243e" compoundref="paging_8c" startline="160" endline="241">vmm_remapPage</references> <references refid="paging_8h_1230a160ddb717c5a133e55aa42e9d324" compoundref="paging_8c" startline="314" endline="329">vmmClearVirtualPage</references> <references refid="vmm_8h_1976cf3919bf7c77c868021ec9374593b" compoundref="vmm__memory_8c" startline="186" endline="216">vmmFindFreePage</references> <references refid="structosInfo_12833c1fa4a221941b5d1141dfa5beefd" compoundref="sched_8h" startline="47">osInfo::vmStart</references> <references refid="ap-boot_8S_11a3ac2137e21f6f0d400f1996914dd19" compoundref="ap-boot_8S" startline="6">x1</references> <references refid="ap-boot_8S_1f78b91f02427adef14bb8b28aa93baa5" compoundref="ap-boot_8S" startline="52">x1000</references> <referencedby refid="paging_8c_1b3070a217a42db69cd94b6217f0b361a" compoundref="paging_8c" startline="453" endline="476">mmap</referencedby> <referencedby refid="exec_8c_1219681612352232186a0f568457d851d" compoundref="exec_8c" startline="334" endline="546">sysExec</referencedby> <referencedby refid="syscall_8c_11db3bfbad534c2fa75c02646fcf80a90" compoundref="syscall_8c" startline="196" endline="204">sysGetFreePage</referencedby> <referencedby refid="pagefault_8c_138aaad80f8ef516de9fe963e677fe273" compoundref="pagefault_8c" startline="53" endline="131">vmm_pageFault</referencedby> </memberdef> <memberdef kind="function" id="paging_8h_18f335022705939f0a6553d289b9c1e4e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>void *</type> <definition>void* vmmMapFromTask</definition> <argsstring>(pidType, void *, uInt32)</argsstring> <name>vmmMapFromTask</name> <param> <type><ref refid="types_8h_1e438ba74394b14d7b24b6df3b3b8c252" kindref="member">pidType</ref></type> </param> <param> <type>void *</type> </param> <param> <type><ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref></type> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="69" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/vmm/paging.c" bodystart="332" bodyend="399"/> <references refid="sched_8h_154397bfe18d5da4d50ff03b15f540858" compoundref="sched_8c" startline="51">_current</references> <references refid="structtssStruct_18d312ed3dd0ea7a0f801c08a8cc4afd0" compoundref="tss_8h" startline="47">tssStruct::cr3</references> <references refid="kpanic_8h_1a5193288597f00c4f8e3b2939aa6c0ce" compoundref="kpanic_8h" startline="33">K_PANIC</references> <references refid="paging_8h_18b838cda4f0bc79ab8d07eb19dd35420" compoundref="paging_8h" startline="53">KERNEL_PAGE_DEFAULT</references> <references refid="structtaskStruct_10933c70230d4ac8bc9953640c979f8d7" compoundref="sched_8h" startline="60">taskStruct::oInfo</references> <references refid="sched_8h_19cf37ade4c1f6184b33014ac2015e8ed" compoundref="sched_8c" startline="216" endline="226">schedFindTask</references> <references refid="paging_8h_1a432d41840ad8a583a7e6af86feece4f" compoundref="paging_8h" startline="43">tablesBaseAddress</references> <references refid="structtaskStruct_14c8accd7c0d5bb5ce426dc982bfc8519" compoundref="sched_8h" startline="58">taskStruct::tss</references> <references refid="paging_8h_1a05f8d8947fb5bcec87fc6661f83243e" compoundref="paging_8c" startline="160" endline="241">vmm_remapPage</references> <references refid="paging_8h_1fd94da50e455602f86ad7dae2fc9d1db" compoundref="unmappage_8c" startline="50" endline="80">vmmUnmapPage</references> <references refid="structosInfo_12833c1fa4a221941b5d1141dfa5beefd" compoundref="sched_8h" startline="47">osInfo::vmStart</references> <references refid="ap-boot_8S_1f78b91f02427adef14bb8b28aa93baa5" compoundref="ap-boot_8S" startline="52">x1000</references> </memberdef> <memberdef kind="function" id="paging_8h_1fd94da50e455602f86ad7dae2fc9d1db" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>void</type> <definition>void vmmUnmapPage</definition> <argsstring>(uInt32, int)</argsstring> <name>vmmUnmapPage</name> <param> <type><ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref></type> </param> <param> <type>int</type> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="67" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/vmm/unmappage.c" bodystart="50" bodyend="80"/> <references refid="paging_8h_1a432d41840ad8a583a7e6af86feece4f" compoundref="paging_8h" startline="43">tablesBaseAddress</references> <references refid="ap-boot_8S_1f78b91f02427adef14bb8b28aa93baa5" compoundref="ap-boot_8S" startline="52">x1000</references> <referencedby refid="pagefault_8c_138aaad80f8ef516de9fe963e677fe273" compoundref="pagefault_8c" startline="53" endline="131">vmm_pageFault</referencedby> <referencedby refid="copyvirtualspace_8c_12d305244a54b4bb8c56698eca1b4c82c" compoundref="copyvirtualspace_8c" startline="53" endline="206">vmmCopyVirtualSpace</referencedby> <referencedby refid="createvirtualspace_8c_1c8f92aa05b669f43457fed9002d6cb40" compoundref="createvirtualspace_8c" startline="81" endline="143">vmmCreateVirtualSpace</referencedby> <referencedby refid="paging_8c_15eb37b88b24489f7256232eec46de565" compoundref="paging_8c" startline="332" endline="399">vmmMapFromTask</referencedby> </memberdef> <memberdef kind="function" id="paging_8h_10655b3d717666bf025c37fa55b588d37" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> <type>void</type> <definition>void vmmUnmapPages</definition> <argsstring>(void *, uInt32)</argsstring> <name>vmmUnmapPages</name> <param> <type>void *</type> </param> <param> <type><ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref></type> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="68" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/vmm/unmappage.c" bodystart="101" bodyend="114"/> <references refid="paging_8h_1a432d41840ad8a583a7e6af86feece4f" compoundref="paging_8h" startline="43">tablesBaseAddress</references> </memberdef> </sectiondef> <sectiondef kind="var"> <memberdef kind="variable" id="paging_8h_14e81de2626825c90dc6bb3cd7c8b344c" prot="public" static="no" mutable="no"> <type><ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref> *</type> <definition>uInt32* kernelPageDirectory</definition> <argsstring></argsstring> <name>kernelPageDirectory</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h" line="88" bodyfile="/usr/home/reddawg/source/ubix2/src/sys/vmm/paging.c" bodystart="40" bodyend="-1"/> <referencedby refid="idt_8c_12444cd2a62fc14b2d7f404b0fad5bf1b" compoundref="idt_8c" startline="239" endline="255">_int8</referencedby> <referencedby refid="exec_8c_1f80d4412d42ed1b5bf9a1b9774230f33" compoundref="exec_8c" startline="143" endline="323">execFile</referencedby> <referencedby refid="exec_8c_14b86d28d8fd56197042aef174de2fd58" compoundref="exec_8c" startline="55" endline="125">execThread</referencedby> <referencedby refid="idt_8c_1d2968ba244dc6df20e94c32861314906" compoundref="idt_8c" startline="63" endline="152">idt_init</referencedby> <referencedby refid="paging_8c_1f47a45e3f0802f5aac053808127aaaf1" compoundref="paging_8c" startline="59" endline="147">vmm_pagingInit</referencedby> </memberdef> </sectiondef> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <programlisting> <codeline lineno="1"><highlight class="comment">/*****************************************************************************************</highlight></codeline> <codeline lineno="2"><highlight class="comment"><sp/>Copyright<sp/>(c)<sp/>2002-2004<sp/>The<sp/>UbixOS<sp/>Project</highlight></codeline> <codeline lineno="3"><highlight class="comment"><sp/>All<sp/>rights<sp/>reserved.</highlight></codeline> <codeline lineno="4"><highlight class="comment"></highlight></codeline> <codeline lineno="5"><highlight class="comment"><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</highlight></codeline> <codeline lineno="6"><highlight class="comment"><sp/>permitted<sp/>provided<sp/>that<sp/>the<sp/>following<sp/>conditions<sp/>are<sp/>met:</highlight></codeline> <codeline lineno="7"><highlight class="comment"></highlight></codeline> <codeline lineno="8"><highlight class="comment"><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="9"><highlight class="comment"><sp/>conditions,<sp/>the<sp/>following<sp/>disclaimer<sp/>and<sp/>the<sp/>list<sp/>of<sp/>authors.<sp/><sp/>Redistributions<sp/>in<sp/>binary</highlight></codeline> <codeline lineno="10"><highlight class="comment"><sp/>form<sp/>must<sp/>reproduce<sp/>the<sp/>above<sp/>copyright<sp/>notice,<sp/>this<sp/>list<sp/>of<sp/>conditions,<sp/>the<sp/>following</highlight></codeline> <codeline lineno="11"><highlight class="comment"><sp/>disclaimer<sp/>and<sp/>the<sp/>list<sp/>of<sp/>authors<sp/>in<sp/>the<sp/>documentation<sp/>and/or<sp/>other<sp/>materials<sp/>provided</highlight></codeline> <codeline lineno="12"><highlight class="comment"><sp/>with<sp/>the<sp/>distribution.<sp/>Neither<sp/>the<sp/>name<sp/>of<sp/>the<sp/>UbixOS<sp/>Project<sp/>nor<sp/>the<sp/>names<sp/>of<sp/>its</highlight></codeline> <codeline lineno="13"><highlight class="comment"><sp/>contributors<sp/>may<sp/>be<sp/>used<sp/>to<sp/>endorse<sp/>or<sp/>promote<sp/>products<sp/>derived<sp/>from<sp/>this<sp/>software</highlight></codeline> <codeline lineno="14"><highlight class="comment"><sp/>without<sp/>specific<sp/>prior<sp/>written<sp/>permission.</highlight></codeline> <codeline lineno="15"><highlight class="comment"></highlight></codeline> <codeline lineno="16"><highlight class="comment"><sp/>THIS<sp/>SOFTWARE<sp/>IS<sp/>PROVIDED<sp/>BY<sp/>THE<sp/>COPYRIGHT<sp/>HOLDERS<sp/>AND<sp/>CONTRIBUTORS<sp/>"AS<sp/>IS"<sp/>AND<sp/>ANY</highlight></codeline> <codeline lineno="17"><highlight class="comment"><sp/>EXPRESS<sp/>OR<sp/>IMPLIED<sp/>WARRANTIES,<sp/>INCLUDING,<sp/>BUT<sp/>NOT<sp/>LIMITED<sp/>TO,<sp/>THE<sp/>IMPLIED<sp/>WARRANTIES<sp/>OF</highlight></codeline> <codeline lineno="18"><highlight class="comment"><sp/>MERCHANTABILITY<sp/>AND<sp/>FITNESS<sp/>FOR<sp/>A<sp/>PARTICULAR<sp/>PURPOSE<sp/>ARE<sp/>DISCLAIMED.<sp/>IN<sp/>NO<sp/>EVENT<sp/>SHALL</highlight></codeline> <codeline lineno="19"><highlight class="comment"><sp/>THE<sp/>COPYRIGHT<sp/>OWNER<sp/>OR<sp/>CONTRIBUTORS<sp/>BE<sp/>LIABLE<sp/>FOR<sp/>ANY<sp/>DIRECT,<sp/>INDIRECT,<sp/>INCIDENTAL,</highlight></codeline> <codeline lineno="20"><highlight class="comment"><sp/>SPECIAL,<sp/>EXEMPLARY,<sp/>OR<sp/>CONSEQUENTIAL<sp/>DAMAGES<sp/>(INCLUDING,<sp/>BUT<sp/>NOT<sp/>LIMITED<sp/>TO,<sp/>PROCUREMENT</highlight></codeline> <codeline lineno="21"><highlight class="comment"><sp/>OF<sp/>SUBSTITUTE<sp/>GOODS<sp/>OR<sp/>SERVICES;<sp/>LOSS<sp/>OF<sp/>USE,<sp/>DATA,<sp/>OR<sp/>PROFITS;<sp/>OR<sp/>BUSINESS<sp/>INTERRUPTION)</highlight></codeline> <codeline lineno="22"><highlight class="comment"><sp/>HOWEVER<sp/>CAUSED<sp/>AND<sp/>ON<sp/>ANY<sp/>THEORY<sp/>OF<sp/>LIABILITY,<sp/>WHETHER<sp/>IN<sp/>CONTRACT,<sp/>STRICT<sp/>LIABILITY,<sp/>OR</highlight></codeline> <codeline lineno="23"><highlight class="comment"><sp/>TORT<sp/>(INCLUDING<sp/>NEGLIGENCE<sp/>OR<sp/>OTHERWISE)<sp/>ARISING<sp/>IN<sp/>ANY<sp/>WAY<sp/>OUT<sp/>OF<sp/>THE<sp/>USE<sp/>OF<sp/>THIS</highlight></codeline> <codeline lineno="24"><highlight class="comment"><sp/>SOFTWARE,<sp/>EVEN<sp/>IF<sp/>ADVISED<sp/>OF<sp/>THE<sp/>POSSIBILITY<sp/>OF<sp/>SUCH<sp/>DAMAGE.</highlight></codeline> <codeline lineno="25"><highlight class="comment"></highlight></codeline> <codeline lineno="26"><highlight class="comment"><sp/>$Id: paging_8h.xml 88 2016-01-12 00:11:29Z reddawg $</highlight></codeline> <codeline lineno="27"><highlight class="comment"></highlight></codeline> <codeline lineno="28"><highlight class="comment">*****************************************************************************************/</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="29"><highlight class="normal"></highlight></codeline> <codeline lineno="30"><highlight class="normal"></highlight><highlight class="preprocessor">#ifndef<sp/>_PAGING_H</highlight></codeline> <codeline lineno="31"><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define<sp/>_PAGING_H</highlight></codeline> <codeline lineno="32"><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline> <codeline lineno="33"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><<ref refid="types_8h" kindref="compound">ubixos/types.h</ref>></highlight><highlight class="normal"></highlight></codeline> <codeline lineno="34"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><<ref refid="sysproto_8h" kindref="compound">sys/sysproto.h</ref>></highlight><highlight class="normal"></highlight></codeline> <codeline lineno="35"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><<ref refid="thread_8h" kindref="compound">sys/thread.h</ref>></highlight><highlight class="normal"></highlight></codeline> <codeline lineno="36"><highlight class="normal"></highlight></codeline> <codeline lineno="37" refid="paging_8h_14ede4e8b3e149ef94678acdae7de0e18" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VM_THRD<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0</highlight></codeline> <codeline lineno="38" refid="paging_8h_159a518704bf2f0b56603476bcb1eebbf" refkind="member"><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define<sp/>VM_TASK<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>1</highlight></codeline> <codeline lineno="39"><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline> <codeline lineno="40" refid="paging_8h_1d8f95327f815dfa0f9196dbc48b94ddb" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>pageLength<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x00000400</highlight></codeline> <codeline lineno="41" refid="paging_8h_13d9cc2be3113b17e62612d00f7082b10" refkind="member"><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define<sp/>pageSize<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>4096</highlight></codeline> <codeline lineno="42" refid="paging_8h_1b80d68a13753e40b0df8e0dc0c4af870" refkind="member"><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define<sp/>pageEntries<sp/><sp/><sp/><sp/><sp/><sp/><sp/>(pageSize/4)</highlight></codeline> <codeline lineno="43" refid="paging_8h_1a432d41840ad8a583a7e6af86feece4f" refkind="member"><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define<sp/>tablesBaseAddress<sp/><sp/><sp/>0xBFC00000</highlight></codeline> <codeline lineno="44" refid="paging_8h_1aab3609eb02bd28ded8d1ea0512da979" refkind="member"><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define<sp/>parentPageDirAddr<sp/><sp/><sp/>0x100000</highlight></codeline> <codeline lineno="45"><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline> <codeline lineno="46" refid="paging_8h_157d743cb60fe478f6720c42315e7e813" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>PAGE_COW<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x00000200</highlight></codeline> <codeline lineno="47" refid="paging_8h_11532db17068ba8d409b8ffe066414af2" refkind="member"><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define<sp/>PAGE_STACK<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x00000400</highlight></codeline> <codeline lineno="48" refid="paging_8h_141b733e23eb5b22e1df907b87d6b3996" refkind="member"><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define<sp/>PAGE_WIRED<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x00000600</highlight></codeline> <codeline lineno="49" refid="paging_8h_1122dfc414a40e260fd35dbe9743db26f" refkind="member"><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define<sp/>PAGE_PRESENT<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x00000001</highlight></codeline> <codeline lineno="50" refid="paging_8h_1559697780e34fd09ba6a2e909f0fe1df" refkind="member"><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define<sp/>PAGE_WRITE<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x00000002</highlight></codeline> <codeline lineno="51" refid="paging_8h_12d0253527ea5080d6befe0ee3bde473f" refkind="member"><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define<sp/>PAGE_USER<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x00000004</highlight></codeline> <codeline lineno="52" refid="paging_8h_1f0fff7a38cd2c7a32d580787423b94ea" refkind="member"><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define<sp/>PAGE_DEFAULT<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(PAGE_PRESENT|PAGE_WRITE|PAGE_USER)</highlight></codeline> <codeline lineno="53" refid="paging_8h_18b838cda4f0bc79ab8d07eb19dd35420" refkind="member"><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define<sp/>KERNEL_PAGE_DEFAULT<sp/>(PAGE_PRESENT|PAGE_WRITE)</highlight></codeline> <codeline lineno="54"><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline> <codeline lineno="55" refid="paging_8h_1850d80ca2291d26b40dc6b25c419f81a" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>PAGE_SHIFT<sp/><sp/><sp/><sp/><sp/><sp/>12<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>LOG2(PAGE_SIZE)<sp/>*/</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="56" refid="paging_8h_17d467c1d283fdfa1f2081ba1e0d01b6e" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>PAGE_SIZE<sp/><sp/><sp/><sp/><sp/><sp/><sp/>(1<<PAGE_SHIFT)<sp/></highlight><highlight class="comment">/*<sp/>bytes/page<sp/>*/</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="57" refid="paging_8h_1e4aa620ce57c7c3171b916de2c5f09f2" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>PAGE_MASK<sp/><sp/><sp/><sp/><sp/><sp/><sp/>(PAGE_SIZE-1)</highlight></codeline> <codeline lineno="58"><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline> <codeline lineno="59" refid="paging_8h_1bd636a9b61ad98f4fc23b1f4a9210d78" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>trunc_page(x)<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>((x)<sp/>&<sp/>~PAGE_MASK)</highlight></codeline> <codeline lineno="60" refid="paging_8h_12702263fcf2b3b026cb26c6d895cb0ee" refkind="member"><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define<sp/>round_page(x)<sp/><sp/><sp/>(((x)<sp/>+<sp/>PAGE_MASK)<sp/>&<sp/>~PAGE_MASK)</highlight></codeline> <codeline lineno="61" refid="paging_8h_1071caea8a82a06e754daca63317d3c07" refkind="member"><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define<sp/>ctob(x)<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>((x)<<PAGE_SHIFT)</highlight></codeline> <codeline lineno="62" refid="paging_8h_10851ee42f36c8a00e9eafe739c8ffaaa" refkind="member"><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define<sp/>btoc(x)<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(((vm_offset_t)(x)+PAGE_MASK)>>PAGE_SHIFT)</highlight></codeline> <codeline lineno="63"><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline> <codeline lineno="64"><highlight class="normal"></highlight></codeline> <codeline lineno="65"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="paging_8h_1230a160ddb717c5a133e55aa42e9d324" kindref="member">vmmClearVirtualPage</ref>(<ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref><sp/>pageAddr);</highlight></codeline> <codeline lineno="66"><highlight class="normal"></highlight></codeline> <codeline lineno="67"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="paging_8h_1fd94da50e455602f86ad7dae2fc9d1db" kindref="member">vmmUnmapPage</ref>(<ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref>,</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">);</highlight></codeline> <codeline lineno="68"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="paging_8h_10655b3d717666bf025c37fa55b588d37" kindref="member">vmmUnmapPages</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*,<ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref>);</highlight></codeline> <codeline lineno="69"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*<ref refid="paging_8h_18f335022705939f0a6553d289b9c1e4e" kindref="member">vmmMapFromTask</ref>(<ref refid="types_8h_1e438ba74394b14d7b24b6df3b3b8c252" kindref="member">pidType</ref>,</highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*,<ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref>);</highlight></codeline> <codeline lineno="70"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*<ref refid="paging_8h_141985de19bd46cbe3b702cee74168dec" kindref="member">vmmCopyVirtualSpace</ref>(<ref refid="types_8h_1e438ba74394b14d7b24b6df3b3b8c252" kindref="member">pidType</ref>);</highlight></codeline> <codeline lineno="71"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*<ref refid="paging_8h_1d006a10f436671f8ee9cb402e372ff02" kindref="member">vmmGetFreePage</ref>(<ref refid="types_8h_1e438ba74394b14d7b24b6df3b3b8c252" kindref="member">pidType</ref>);</highlight></codeline> <codeline lineno="72"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*<ref refid="paging_8h_130a38035243b9dfb285b3793788126be" kindref="member">vmmGetFreeKernelPage</ref>(<ref refid="types_8h_1e438ba74394b14d7b24b6df3b3b8c252" kindref="member">pidType</ref><sp/>pid,<ref refid="types_8h_13b65128d2644e9b80cec9a69bfa7e094" kindref="member">uInt16</ref><sp/>count);</highlight></codeline> <codeline lineno="73"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*<ref refid="paging_8h_139ac9b6ea58fc8b6f129775642077c99" kindref="member">vmmCreateVirtualSpace</ref>(<ref refid="types_8h_1e438ba74394b14d7b24b6df3b3b8c252" kindref="member">pidType</ref>);</highlight></codeline> <codeline lineno="74"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*<ref refid="paging_8h_14b324672c4b25064eb8db1e3419337b1" kindref="member">vmmGetFreeVirtualPage</ref>(<ref refid="types_8h_1e438ba74394b14d7b24b6df3b3b8c252" kindref="member">pidType</ref>,</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">,</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">);</highlight></codeline> <codeline lineno="75"><highlight class="normal"></highlight></codeline> <codeline lineno="76"><highlight class="normal"><ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref><sp/><ref refid="paging_8h_1e88bcfc69132a46a1982237913101a5b" kindref="member">vmm_getPhysicalAddr</ref>(<ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref>);</highlight></codeline> <codeline lineno="77"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="paging_8h_11913e8607a69ecf446b18fa1cd36c9cc" kindref="member">vmm_setPageAttributes</ref>(<ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref>,<ref refid="types_8h_13b65128d2644e9b80cec9a69bfa7e094" kindref="member">uInt16</ref>);</highlight></codeline> <codeline lineno="78"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="paging_8h_1a05f8d8947fb5bcec87fc6661f83243e" kindref="member">vmm_remapPage</ref>(<ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref>,<ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref>,<ref refid="types_8h_13b65128d2644e9b80cec9a69bfa7e094" kindref="member">uInt16</ref>);</highlight></codeline> <codeline lineno="79"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="paging_8h_1f47a45e3f0802f5aac053808127aaaf1" kindref="member">vmm_pagingInit</ref>();</highlight></codeline> <codeline lineno="80"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/>*<ref refid="paging_8h_1541f0b43826a40b9e978f5479080bb0e" kindref="member">vmm_getFreeMallocPage</ref>(<ref refid="types_8h_13b65128d2644e9b80cec9a69bfa7e094" kindref="member">uInt16</ref><sp/>count);</highlight></codeline> <codeline lineno="81"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/><sp/><ref refid="paging_8h_1442adfc886cbfedfc3edadf45c5f89a6" kindref="member">vmm_pageFault</ref>(<ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref>,<ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref>,<ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref>);</highlight></codeline> <codeline lineno="82"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/><ref refid="page__fault_8S_16091cb277c1dd3e3e4d1d4699f3b06e5" kindref="member">_vmm_pageFault</ref>();</highlight></codeline> <codeline lineno="83"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="syscalls__new_8h_19721caa05ef16cbf780658769bfd537a" kindref="member">mmap</ref>(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structthread" kindref="compound">thread</ref><sp/>*,</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structmmap__args" kindref="compound">mmap_args</ref><sp/>*);</highlight></codeline> <codeline lineno="84"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="syscalls__new_8h_17f9e3f42e3fe0ba5e2dd3a4140ef14de" kindref="member">obreak</ref>(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structthread" kindref="compound">thread</ref><sp/>*,</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structobreak__args" kindref="compound">obreak_args</ref><sp/>*);</highlight></codeline> <codeline lineno="85"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="syscalls__new_8h_194676b8bce29788e36abad710783e545" kindref="member">munmap</ref>(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structthread" kindref="compound">thread</ref><sp/>*,</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structmunmap__args" kindref="compound">munmap_args</ref><sp/>*);</highlight></codeline> <codeline lineno="86"><highlight class="normal"></highlight></codeline> <codeline lineno="87"><highlight class="normal"></highlight></codeline> <codeline lineno="88"><highlight class="normal"></highlight><highlight class="keyword">extern</highlight><highlight class="normal"><sp/><ref refid="types_8h_15847ea0262a5aa61eee48cbe95544a78" kindref="member">uInt32</ref><sp/>*<ref refid="paging_8h_14e81de2626825c90dc6bb3cd7c8b344c" kindref="member">kernelPageDirectory</ref>;</highlight></codeline> <codeline lineno="89"><highlight class="normal"></highlight></codeline> <codeline lineno="90"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight></codeline> <codeline lineno="91"><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline> <codeline lineno="92"><highlight class="normal"></highlight><highlight class="comment">/***</highlight></codeline> <codeline lineno="93"><highlight class="comment"><sp/>END</highlight></codeline> <codeline lineno="94"><highlight class="comment"><sp/>***/</highlight><highlight class="normal"></highlight></codeline> <codeline lineno="95"><highlight class="normal"></highlight></codeline> </programlisting> <location file="/usr/home/reddawg/source/ubix2/src/sys/include/vmm/paging.h"/> </compounddef> </doxygen>