rCore-Tutorial-v3/ch6/riscv/paging/index.html
2022-05-03 12:09:53 +00:00

23 lines
16 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `paging` mod in crate `riscv`."><meta name="keywords" content="rust, rustlang, rust-lang, paging"><title>riscv::paging - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../../dark.css" disabled><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><script defer src="../../main.js"></script>
<noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../riscv/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"></h2>
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../riscv/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"><a href="#">Module paging</a></h2><div class="sidebar-elems"><section><div class="block"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#constants">Constants</a></li><li><a href="#traits">Traits</a></li><li><a href="#types">Type Definitions</a></li></ul></div></section><div id="sidebar-vars" data-name="paging" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../riscv/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Module <a href="../index.html">riscv</a>::<wbr><a class="mod" href="#">paging</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/riscv/paging/mod.rs.html#1-13">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.MapperFlush.html" title="riscv::paging::MapperFlush struct">MapperFlush</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.MapperFlushGPA.html" title="riscv::paging::MapperFlushGPA struct">MapperFlushGPA</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.MapperFlushGPT.html" title="riscv::paging::MapperFlushGPT struct">MapperFlushGPT</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.PageTableEntryX32.html" title="riscv::paging::PageTableEntryX32 struct">PageTableEntryX32</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.PageTableEntryX64.html" title="riscv::paging::PageTableEntryX64 struct">PageTableEntryX64</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.PageTableEntryX64Printer.html" title="riscv::paging::PageTableEntryX64Printer struct">PageTableEntryX64Printer</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.PageTableFlags.html" title="riscv::paging::PageTableFlags struct">PageTableFlags</a></div><div class="item-right docblock-short"><p>Possible flags for a page table entry.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.PageTableWith.html" title="riscv::paging::PageTableWith struct">PageTableWith</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Rv32PageTableWith.html" title="riscv::paging::Rv32PageTableWith struct">Rv32PageTableWith</a></div><div class="item-right docblock-short"><p>This struct is a two level page table with <code>Mapper</code> trait implemented.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Rv39PageTableWith.html" title="riscv::paging::Rv39PageTableWith struct">Rv39PageTableWith</a></div><div class="item-right docblock-short"><p>This struct is a three level page table with <code>Mapper</code> trait implemented.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Rv48PageTableWith.html" title="riscv::paging::Rv48PageTableWith struct">Rv48PageTableWith</a></div><div class="item-right docblock-short"><p>This struct is a four level page table with <code>Mapper</code> trait implemented.</p>
</div></div></div><h2 id="enums" class="small-section-header"><a href="#enums">Enums</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.FlagUpdateError.html" title="riscv::paging::FlagUpdateError enum">FlagUpdateError</a></div><div class="item-right docblock-short"><p>An error indicating that an <code>update_flags</code> call failed.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.MapToError.html" title="riscv::paging::MapToError enum">MapToError</a></div><div class="item-right docblock-short"><p>This error is returned from <code>map_to</code> and similar methods.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.UnmapError.html" title="riscv::paging::UnmapError enum">UnmapError</a></div><div class="item-right docblock-short"><p>An error indicating that an <code>unmap</code> call failed.</p>
</div></div></div><h2 id="constants" class="small-section-header"><a href="#constants">Constants</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.ENTRY_COUNT.html" title="riscv::paging::ENTRY_COUNT constant">ENTRY_COUNT</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.RV32_ENTRY_COUNT.html" title="riscv::paging::RV32_ENTRY_COUNT constant">RV32_ENTRY_COUNT</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.RV32_X4_ENTRY_COUNT.html" title="riscv::paging::RV32_X4_ENTRY_COUNT constant">RV32_X4_ENTRY_COUNT</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.RV64_ENTRY_COUNT.html" title="riscv::paging::RV64_ENTRY_COUNT constant">RV64_ENTRY_COUNT</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.RV64_X4_ENTRY_COUNT.html" title="riscv::paging::RV64_X4_ENTRY_COUNT constant">RV64_X4_ENTRY_COUNT</a></div><div class="item-right docblock-short"></div></div></div><h2 id="traits" class="small-section-header"><a href="#traits">Traits</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.FrameAllocator.html" title="riscv::paging::FrameAllocator trait">FrameAllocator</a></div><div class="item-right docblock-short"><p>Polyfill for default use cases.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.FrameAllocatorFor.html" title="riscv::paging::FrameAllocatorFor trait">FrameAllocatorFor</a></div><div class="item-right docblock-short"><p>A trait for types that can allocate a frame of memory.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.FrameDeallocator.html" title="riscv::paging::FrameDeallocator trait">FrameDeallocator</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.FrameDeallocatorFor.html" title="riscv::paging::FrameDeallocatorFor trait">FrameDeallocatorFor</a></div><div class="item-right docblock-short"><p>A trait for types that can deallocate a frame of memory.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.Mapper.html" title="riscv::paging::Mapper trait">Mapper</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.MapperExt.html" title="riscv::paging::MapperExt trait">MapperExt</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.MapperFlushable.html" title="riscv::paging::MapperFlushable trait">MapperFlushable</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.PTE.html" title="riscv::paging::PTE trait">PTE</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.PTEIterableSlice.html" title="riscv::paging::PTEIterableSlice trait">PTEIterableSlice</a></div><div class="item-right docblock-short"></div></div></div><h2 id="types" class="small-section-header"><a href="#types">Type Definitions</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="type" href="type.Entries.html" title="riscv::paging::Entries type">Entries</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.Entries32.html" title="riscv::paging::Entries32 type">Entries32</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.Entries32X4.html" title="riscv::paging::Entries32X4 type">Entries32X4</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.Entries64.html" title="riscv::paging::Entries64 type">Entries64</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.Entries64X4.html" title="riscv::paging::Entries64X4 type">Entries64X4</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.PageTable.html" title="riscv::paging::PageTable type">PageTable</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.PageTable32X4.html" title="riscv::paging::PageTable32X4 type">PageTable32X4</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.PageTable64X4.html" title="riscv::paging::PageTable64X4 type">PageTable64X4</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.PageTableEntry.html" title="riscv::paging::PageTableEntry type">PageTableEntry</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.PageTableX32.html" title="riscv::paging::PageTableX32 type">PageTableX32</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.PageTableX64.html" title="riscv::paging::PageTableX64 type">PageTableX64</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.Rv32PageTable.html" title="riscv::paging::Rv32PageTable type">Rv32PageTable</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.Rv32PageTableGuest.html" title="riscv::paging::Rv32PageTableGuest type">Rv32PageTableGuest</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.Rv32PageTableX4.html" title="riscv::paging::Rv32PageTableX4 type">Rv32PageTableX4</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.Rv39PageTable.html" title="riscv::paging::Rv39PageTable type">Rv39PageTable</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.Rv39PageTableGuest.html" title="riscv::paging::Rv39PageTableGuest type">Rv39PageTableGuest</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.Rv39PageTableX4.html" title="riscv::paging::Rv39PageTableX4 type">Rv39PageTableX4</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.Rv48PageTable.html" title="riscv::paging::Rv48PageTable type">Rv48PageTable</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.Rv48PageTableGuest.html" title="riscv::paging::Rv48PageTableGuest type">Rv48PageTableGuest</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="type" href="type.Rv48PageTableX4.html" title="riscv::paging::Rv48PageTableX4 type">Rv48PageTableX4</a></div><div class="item-right docblock-short"></div></div></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="riscv" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>