243 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			243 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html>
 | |
| <html lang="en">
 | |
| <head>
 | |
| <title>Asuro: vmemorymanager</title>
 | |
| <meta name="viewport" content="width=device-width, initial-scale=1">
 | |
| <meta name="generator" content="PasDoc 0.15.0">
 | |
| <meta http-equiv="content-type" content="text/html; charset=utf-8">
 | |
| <link rel="stylesheet" type="text/css" href="tipuesearch/tipuesearch.css">
 | |
| 
 | |
| <link rel="StyleSheet" type="text/css" href="pasdoc.css">
 | |
| </head>
 | |
| <body>
 | |
| <table class="container"><tr><td class="navigation">
 | |
| <h2>Asuro</h2><p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p><p><a href="GVUses.png" class="navigation">Unit dependency graph</a></p><form class="search-form" action="_tipue_results.html"><div class="search-input"><input type="text" name="q" id="tipue_search_input"></div><div class="search-button"><input type="button" id="tipue_search_button" onclick="this.form.submit();"></div></form>
 | |
| <div style="clear: both"></div>
 | |
| 
 | |
| <script type="text/javascript">
 | |
| $(document).ready(function() {
 | |
|     $('#tipue_search_input').tipuesearch({
 | |
|         /* 10 items to display seems standard */
 | |
|         'show': 10,
 | |
|         /* For PasDoc docs, showing urls is not very useful,
 | |
|            since the page title already shows the unit and identifier. */
 | |
|         'showURL': false
 | |
|     });
 | |
| });
 | |
| </script>
 | |
| </td><td class="content">
 | |
| <h1 class="unit">Unit vmemorymanager</h1>
 | |
| <div class="sections">
 | |
| <div class="one_section"><a class="section" href="#PasDoc-Description">Description</a></div><div class="one_section"><a class="section" href="#PasDoc-Uses">Uses</a></div><div class="one_section">Classes, Interfaces, Objects and Records</div><div class="one_section"><a class="section" href="#PasDoc-FuncsProcs">Functions and Procedures</a></div><div class="one_section"><a class="section" href="#PasDoc-Types">Types</a></div><div class="one_section">Constants</div><div class="one_section"><a class="section" href="#PasDoc-Variables">Variables</a></div></div>
 | |
| <span id="PasDoc-Description"></span><h2 class="description">Description</h2>
 | |
| <p>
 | |
| <code>VMemoryManager</code> - Virtual Memory Management.
 | |
| 
 | |
| <p></p>
 | |
| <span id="PasDoc-Uses"></span><h2 class="uses">Uses</h2>
 | |
| <ul class="useslist"><li><a  href="util.html">util</a></li><li><a  href="pmemorymanager.html">pmemorymanager</a></li><li><a  href="console.html">console</a></li><li><a  href="tracer.html">tracer</a></li></ul><h2 class="overview">Overview</h2>
 | |
| <span id="PasDoc-FuncsProcs"></span><h3 class="summary">Functions and Procedures</h3>
 | |
| <table class="summary wide_list">
 | |
| <tr class="list">
 | |
| <td class="itemcode"><code>procedure <b><a  href="vmemorymanager.html#init">init</a></b>;</code></td>
 | |
| </tr>
 | |
| <tr class="list2">
 | |
| <td class="itemcode"><code>function <b><a  href="vmemorymanager.html#new_page">new_page</a></b>(page_number : <a  href="system.html#uInt16">uint16</a>) : boolean;</code></td>
 | |
| </tr>
 | |
| <tr class="list">
 | |
| <td class="itemcode"><code>function <b><a  href="vmemorymanager.html#map_page">map_page</a></b>(page_number : <a  href="system.html#uInt16">uint16</a>; block : <a  href="system.html#uInt16">uint16</a>) : boolean;</code></td>
 | |
| </tr>
 | |
| <tr class="list2">
 | |
| <td class="itemcode"><code>function <b><a  href="vmemorymanager.html#map_page_ex">map_page_ex</a></b>(page_number : <a  href="system.html#uInt16">uint16</a>; block : <a  href="system.html#uInt16">uint16</a>; PD : <a  href="vmemorymanager.html#PPageDirectory">PPageDirectory</a>) : boolean;</code></td>
 | |
| </tr>
 | |
| <tr class="list">
 | |
| <td class="itemcode"><code>function <b><a  href="vmemorymanager.html#new_page_at_address">new_page_at_address</a></b>(address : <a  href="system.html#uInt32">uint32</a>) : boolean;</code></td>
 | |
| </tr>
 | |
| <tr class="list2">
 | |
| <td class="itemcode"><code>procedure <b><a  href="vmemorymanager.html#free_page">free_page</a></b>(page_number : <a  href="system.html#uInt16">uint16</a>);</code></td>
 | |
| </tr>
 | |
| <tr class="list">
 | |
| <td class="itemcode"><code>procedure <b><a  href="vmemorymanager.html#free_page_at_address">free_page_at_address</a></b>(address : <a  href="system.html#uInt32">uint32</a>);</code></td>
 | |
| </tr>
 | |
| <tr class="list2">
 | |
| <td class="itemcode"><code>function <b><a  href="vmemorymanager.html#new_page_directory">new_page_directory</a></b> : <a  href="system.html#uInt32">uint32</a>;</code></td>
 | |
| </tr>
 | |
| <tr class="list">
 | |
| <td class="itemcode"><code>function <b><a  href="vmemorymanager.html#new_kernel_mapped_page_directory">new_kernel_mapped_page_directory</a></b> : <a  href="system.html#uInt32">uint32</a>;</code></td>
 | |
| </tr>
 | |
| <tr class="list2">
 | |
| <td class="itemcode"><code>function <b><a  href="vmemorymanager.html#vtop">vtop</a></b>(address : <a  href="system.html#uInt32">uint32</a>) : <a  href="system.html#uInt32">uint32</a>;</code></td>
 | |
| </tr>
 | |
| </table>
 | |
| <span id="PasDoc-Types"></span><h3 class="summary">Types</h3>
 | |
| <table class="summary wide_list">
 | |
| <tr class="list">
 | |
| <td class="itemcode"><code><b><a  href="vmemorymanager.html#PPageDirEntry">PPageDirEntry</a></b> = ˆ<a  href="vmemorymanager.html#TPageDirEntry">TPageDirEntry</a>;</code></td>
 | |
| </tr>
 | |
| <tr class="list2">
 | |
| <td class="itemcode"><code><b><a  href="vmemorymanager.html#TPageDirEntry">TPageDirEntry</a></b> = bitpacked record
 | |
|         Present, 
 | |
|         Writable, 
 | |
|         UserMode, 
 | |
|         WriteThrough,
 | |
|         NotCacheable, 
 | |
|         Accessed, 
 | |
|         Reserved, 
 | |
|         PageSize,
 | |
|         GlobalPage: Boolean;
 | |
|         Available: <a  href="system.html#UBit3">UBit3</a>;
 | |
|         Address: <a  href="system.html#UBit20">UBit20</a>;
 | |
|     end;</code></td>
 | |
| </tr>
 | |
| <tr class="list">
 | |
| <td class="itemcode"><code><b><a  href="vmemorymanager.html#TPageDirectory">TPageDirectory</a></b> = Array[0..1023] of <a  href="vmemorymanager.html#TPageDirEntry">TPageDirEntry</a>;</code></td>
 | |
| </tr>
 | |
| <tr class="list2">
 | |
| <td class="itemcode"><code><b><a  href="vmemorymanager.html#PPageDirectory">PPageDirectory</a></b> = ˆ<a  href="vmemorymanager.html#TPageDirectory">TPageDirectory</a>;</code></td>
 | |
| </tr>
 | |
| </table>
 | |
| <span id="PasDoc-Variables"></span><h3 class="summary">Variables</h3>
 | |
| <table class="summary wide_list">
 | |
| <tr class="list">
 | |
| <td class="itemcode"><code><b><a  href="vmemorymanager.html#KERNEL_PAGE_DIRECTORY">KERNEL_PAGE_DIRECTORY</a></b>: <a  href="vmemorymanager.html#PPageDirectory">PPageDirectory</a>;</code></td>
 | |
| </tr>
 | |
| <tr class="list2">
 | |
| <td class="itemcode"><code><b><a  href="vmemorymanager.html#PageDirectory">PageDirectory</a></b>: <a  href="vmemorymanager.html#PPageDirectory">PPageDirectory</a>;</code></td>
 | |
| </tr>
 | |
| </table>
 | |
| <h2 class="description">Description</h2>
 | |
| <h3 class="detail">Functions and Procedures</h3>
 | |
| <table class="detail wide_list">
 | |
| <tr class="list">
 | |
| <td class="itemcode"><span id="init"></span><code>procedure <b>init</b>;</code></td>
 | |
| </tr>
 | |
| <tr><td colspan="1">
 | |
|  </td></tr>
 | |
| </table>
 | |
| <table class="detail wide_list">
 | |
| <tr class="list">
 | |
| <td class="itemcode"><span id="new_page"></span><code>function <b>new_page</b>(page_number : <a  href="system.html#uInt16">uint16</a>) : boolean;</code></td>
 | |
| </tr>
 | |
| <tr><td colspan="1">
 | |
|  </td></tr>
 | |
| </table>
 | |
| <table class="detail wide_list">
 | |
| <tr class="list">
 | |
| <td class="itemcode"><span id="map_page"></span><code>function <b>map_page</b>(page_number : <a  href="system.html#uInt16">uint16</a>; block : <a  href="system.html#uInt16">uint16</a>) : boolean;</code></td>
 | |
| </tr>
 | |
| <tr><td colspan="1">
 | |
|  </td></tr>
 | |
| </table>
 | |
| <table class="detail wide_list">
 | |
| <tr class="list">
 | |
| <td class="itemcode"><span id="map_page_ex"></span><code>function <b>map_page_ex</b>(page_number : <a  href="system.html#uInt16">uint16</a>; block : <a  href="system.html#uInt16">uint16</a>; PD : <a  href="vmemorymanager.html#PPageDirectory">PPageDirectory</a>) : boolean;</code></td>
 | |
| </tr>
 | |
| <tr><td colspan="1">
 | |
|  </td></tr>
 | |
| </table>
 | |
| <table class="detail wide_list">
 | |
| <tr class="list">
 | |
| <td class="itemcode"><span id="new_page_at_address"></span><code>function <b>new_page_at_address</b>(address : <a  href="system.html#uInt32">uint32</a>) : boolean;</code></td>
 | |
| </tr>
 | |
| <tr><td colspan="1">
 | |
|  </td></tr>
 | |
| </table>
 | |
| <table class="detail wide_list">
 | |
| <tr class="list">
 | |
| <td class="itemcode"><span id="free_page"></span><code>procedure <b>free_page</b>(page_number : <a  href="system.html#uInt16">uint16</a>);</code></td>
 | |
| </tr>
 | |
| <tr><td colspan="1">
 | |
|  </td></tr>
 | |
| </table>
 | |
| <table class="detail wide_list">
 | |
| <tr class="list">
 | |
| <td class="itemcode"><span id="free_page_at_address"></span><code>procedure <b>free_page_at_address</b>(address : <a  href="system.html#uInt32">uint32</a>);</code></td>
 | |
| </tr>
 | |
| <tr><td colspan="1">
 | |
|  </td></tr>
 | |
| </table>
 | |
| <table class="detail wide_list">
 | |
| <tr class="list">
 | |
| <td class="itemcode"><span id="new_page_directory"></span><code>function <b>new_page_directory</b> : <a  href="system.html#uInt32">uint32</a>;</code></td>
 | |
| </tr>
 | |
| <tr><td colspan="1">
 | |
|  </td></tr>
 | |
| </table>
 | |
| <table class="detail wide_list">
 | |
| <tr class="list">
 | |
| <td class="itemcode"><span id="new_kernel_mapped_page_directory"></span><code>function <b>new_kernel_mapped_page_directory</b> : <a  href="system.html#uInt32">uint32</a>;</code></td>
 | |
| </tr>
 | |
| <tr><td colspan="1">
 | |
|  </td></tr>
 | |
| </table>
 | |
| <table class="detail wide_list">
 | |
| <tr class="list">
 | |
| <td class="itemcode"><span id="vtop"></span><code>function <b>vtop</b>(address : <a  href="system.html#uInt32">uint32</a>) : <a  href="system.html#uInt32">uint32</a>;</code></td>
 | |
| </tr>
 | |
| <tr><td colspan="1">
 | |
|  </td></tr>
 | |
| </table>
 | |
| <h3 class="detail">Types</h3>
 | |
| <table class="detail wide_list">
 | |
| <tr class="list">
 | |
| <td class="itemcode"><span id="PPageDirEntry"></span><code><b>PPageDirEntry</b> = ˆ<a  href="vmemorymanager.html#TPageDirEntry">TPageDirEntry</a>;</code></td>
 | |
| </tr>
 | |
| <tr><td colspan="1">
 | |
|  </td></tr>
 | |
| </table>
 | |
| <table class="detail wide_list">
 | |
| <tr class="list">
 | |
| <td class="itemcode"><span id="TPageDirEntry"></span><code><b>TPageDirEntry</b> = bitpacked record
 | |
|         Present, 
 | |
|         Writable, 
 | |
|         UserMode, 
 | |
|         WriteThrough,
 | |
|         NotCacheable, 
 | |
|         Accessed, 
 | |
|         Reserved, 
 | |
|         PageSize,
 | |
|         GlobalPage: Boolean;
 | |
|         Available: <a  href="system.html#UBit3">UBit3</a>;
 | |
|         Address: <a  href="system.html#UBit20">UBit20</a>;
 | |
|     end;</code></td>
 | |
| </tr>
 | |
| <tr><td colspan="1">
 | |
|  </td></tr>
 | |
| </table>
 | |
| <table class="detail wide_list">
 | |
| <tr class="list">
 | |
| <td class="itemcode"><span id="TPageDirectory"></span><code><b>TPageDirectory</b> = Array[0..1023] of <a  href="vmemorymanager.html#TPageDirEntry">TPageDirEntry</a>;</code></td>
 | |
| </tr>
 | |
| <tr><td colspan="1">
 | |
|  </td></tr>
 | |
| </table>
 | |
| <table class="detail wide_list">
 | |
| <tr class="list">
 | |
| <td class="itemcode"><span id="PPageDirectory"></span><code><b>PPageDirectory</b> = ˆ<a  href="vmemorymanager.html#TPageDirectory">TPageDirectory</a>;</code></td>
 | |
| </tr>
 | |
| <tr><td colspan="1">
 | |
|  </td></tr>
 | |
| </table>
 | |
| <h3 class="detail">Variables</h3>
 | |
| <table class="detail wide_list">
 | |
| <tr class="list">
 | |
| <td class="itemcode"><span id="KERNEL_PAGE_DIRECTORY"></span><code><b>KERNEL_PAGE_DIRECTORY</b>: <a  href="vmemorymanager.html#PPageDirectory">PPageDirectory</a>;</code></td>
 | |
| </tr>
 | |
| <tr><td colspan="1">
 | |
|  </td></tr>
 | |
| </table>
 | |
| <table class="detail wide_list">
 | |
| <tr class="list">
 | |
| <td class="itemcode"><span id="PageDirectory"></span><code><b>PageDirectory</b>: <a  href="vmemorymanager.html#PPageDirectory">PPageDirectory</a>;</code></td>
 | |
| </tr>
 | |
| <tr><td colspan="1">
 | |
|  </td></tr>
 | |
| </table>
 | |
| <h2 class="authors">Author</h2>
 | |
| <ul class="authors">
 | |
| <li>Kieron Morris <<a  href="mailto:kjm@kieronmorris.me">kjm@kieronmorris.me</a>></li>
 | |
| </ul>
 | |
| <hr><span class="appinfo"><em>Generated by <a  href="https://github.com/pasdoc/pasdoc/wiki">PasDoc 0.15.0</a>. </em>
 | |
| </span>
 | |
| </td></tr></table></body></html>
 |