PAGE_SIZE is already defined in memory/mod.rs

This commit is contained in:
Philipp Oppermann
2015-12-07 10:55:20 +01:00
parent a279609c26
commit 6ed376112d
3 changed files with 6 additions and 6 deletions

View File

@@ -13,7 +13,8 @@ TODO
Let's create a basic `memory/paging/mod.rs` module:
```rust
pub const PAGE_SIZE: usize = 4096;
use memory::PAGE_SIZE;
const ENTRY_COUNT: usize = 512;
pub type PhysicalAddress = usize;
@@ -23,7 +24,7 @@ pub struct Page {
number: usize,
}
```
We define constants for the page size and the number of entries per table. To make future function signatures more expressive, we can use the type aliases `PhysicalAddress` and `VirtualAddress`. The `Page` struct is similar to the `Frame` struct in the [previous post], but represents a virtual page instead of a physical frame.
We import the `PAGE_SIZE` and define a constant for the number of entries per table. To make future function signatures more expressive, we can use the type aliases `PhysicalAddress` and `VirtualAddress`. The `Page` struct is similar to the `Frame` struct in the [previous post], but represents a virtual page instead of a physical frame.
[previous post]: {{ page.previous.url }}

View File

@@ -1,5 +1,5 @@
use core::ptr::Unique;
use memory::{Frame, FrameAllocator};
use memory::{PAGE_SIZE, Frame, FrameAllocator};
use self::table::{Table, Level4};
use self::entry::*;
@@ -30,7 +30,6 @@ pub fn test<A>(frame_allocator: &mut A)
mapping::map(&Page::containing_address(0x0), PRESENT, frame_allocator);
}
pub const PAGE_SIZE: usize = 4096;
const ENTRY_COUNT: usize = 512;
pub type PhysicalAddress = usize;

View File

@@ -1,7 +1,7 @@
use super::{VirtualAddress, PhysicalAddress, Page, PAGE_SIZE, ENTRY_COUNT};
use super::{VirtualAddress, PhysicalAddress, Page, ENTRY_COUNT};
use super::table::P4;
use super::entry::HUGE_PAGE;
use memory::Frame;
use memory::{PAGE_SIZE, Frame};
pub fn translate(virtual_address: VirtualAddress) -> Option<PhysicalAddress> {
let offset = virtual_address % PAGE_SIZE;