diff --git a/doc/cpu/all.html b/doc/cpu/all.html index ebfb023430..4c95e8bad0 100644 --- a/doc/cpu/all.html +++ b/doc/cpu/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Structs

Functions

\ No newline at end of file +List of all items in this crate

List of all items

Structs

Functions

\ No newline at end of file diff --git a/doc/cpu/arch/fn.cpus.html b/doc/cpu/arch/fn.cpus.html new file mode 100644 index 0000000000..c92dc17c89 --- /dev/null +++ b/doc/cpu/arch/fn.cpus.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../cpu/fn.cpus.html...

+ + + \ No newline at end of file diff --git a/doc/cpu/fn.bootstrap_cpu.html b/doc/cpu/fn.bootstrap_cpu.html index aedb46360f..d7aa6f34e7 100644 --- a/doc/cpu/fn.bootstrap_cpu.html +++ b/doc/cpu/fn.bootstrap_cpu.html @@ -1,3 +1,3 @@ -bootstrap_cpu in cpu - Rust

Function cpu::bootstrap_cpu

source ·
pub fn bootstrap_cpu() -> Option<CpuId>
Expand description

Returns the ID of the bootstrap CPU (if known), which +bootstrap_cpu in cpu - Rust

Function cpu::bootstrap_cpu

source ·
pub fn bootstrap_cpu() -> Option<CpuId>
Expand description

Returns the ID of the bootstrap CPU (if known), which is the first CPU to run after system power-on.

\ No newline at end of file diff --git a/doc/cpu/fn.cpu_count.html b/doc/cpu/fn.cpu_count.html index 56f82f391d..0ac2bd6c59 100644 --- a/doc/cpu/fn.cpu_count.html +++ b/doc/cpu/fn.cpu_count.html @@ -1,3 +1,3 @@ -cpu_count in cpu - Rust

Function cpu::cpu_count

source ·
pub fn cpu_count() -> u32
Expand description

Returns the number of CPUs (SMP cores) that exist and +cpu_count in cpu - Rust

Function cpu::cpu_count

source ·
pub fn cpu_count() -> u32
Expand description

Returns the number of CPUs (SMP cores) that exist and are currently initialized on this system.

\ No newline at end of file diff --git a/doc/cpu/fn.cpus.html b/doc/cpu/fn.cpus.html new file mode 100644 index 0000000000..5aed817fd4 --- /dev/null +++ b/doc/cpu/fn.cpus.html @@ -0,0 +1 @@ +cpus in cpu - Rust

Function cpu::cpus

source ·
pub fn cpus() -> impl Iterator<Item = CpuId>
\ No newline at end of file diff --git a/doc/cpu/fn.current_cpu.html b/doc/cpu/fn.current_cpu.html index 61552b36ac..ad1bbbbb0b 100644 --- a/doc/cpu/fn.current_cpu.html +++ b/doc/cpu/fn.current_cpu.html @@ -1,2 +1,2 @@ -current_cpu in cpu - Rust

Function cpu::current_cpu

source ·
pub fn current_cpu() -> CpuId
Expand description

Returns the ID of the currently executing CPU.

+current_cpu in cpu - Rust

Function cpu::current_cpu

source ·
pub fn current_cpu() -> CpuId
Expand description

Returns the ID of the currently executing CPU.

\ No newline at end of file diff --git a/doc/cpu/fn.is_bootstrap_cpu.html b/doc/cpu/fn.is_bootstrap_cpu.html index 7f537987bb..60f0cf2194 100644 --- a/doc/cpu/fn.is_bootstrap_cpu.html +++ b/doc/cpu/fn.is_bootstrap_cpu.html @@ -1,3 +1,3 @@ -is_bootstrap_cpu in cpu - Rust

Function cpu::is_bootstrap_cpu

source ·
pub fn is_bootstrap_cpu() -> bool
Expand description

Returns true if the currently executing CPU is the bootstrap +is_bootstrap_cpu in cpu - Rust

Function cpu::is_bootstrap_cpu

source ·
pub fn is_bootstrap_cpu() -> bool
Expand description

Returns true if the currently executing CPU is the bootstrap CPU, i.e., the first CPU to run after system power-on.

\ No newline at end of file diff --git a/doc/cpu/index.html b/doc/cpu/index.html index d3e06c239e..5c34625d94 100644 --- a/doc/cpu/index.html +++ b/doc/cpu/index.html @@ -11,5 +11,5 @@ which guarantees that it compiles down to lock-free native atomic instructions when using it inside of an atomic type like [AtomicCell].

Functions

  • Returns the ID of the bootstrap CPU (if known), which is the first CPU to run after system power-on.
  • Returns the number of CPUs (SMP cores) that exist and -are currently initialized on this system.
  • Returns the ID of the currently executing CPU.
  • Returns true if the currently executing CPU is the bootstrap +are currently initialized on this system.
  • Returns the ID of the currently executing CPU.
  • Returns true if the currently executing CPU is the bootstrap CPU, i.e., the first CPU to run after system power-on.
\ No newline at end of file diff --git a/doc/cpu/sidebar-items.js b/doc/cpu/sidebar-items.js index f8c3e43e2f..983cdf116d 100644 --- a/doc/cpu/sidebar-items.js +++ b/doc/cpu/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"fn":["bootstrap_cpu","cpu_count","current_cpu","is_bootstrap_cpu"],"struct":["CpuId","OptionalCpuId"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":["bootstrap_cpu","cpu_count","cpus","current_cpu","is_bootstrap_cpu"],"struct":["CpuId","OptionalCpuId"]}; \ No newline at end of file diff --git a/doc/cpu/struct.OptionalCpuId.html b/doc/cpu/struct.OptionalCpuId.html index 00c141c41f..0d85a61678 100644 --- a/doc/cpu/struct.OptionalCpuId.html +++ b/doc/cpu/struct.OptionalCpuId.html @@ -1,7 +1,7 @@ -OptionalCpuId in cpu - Rust

Struct cpu::OptionalCpuId

source ·
#[repr(align(8))]
pub struct OptionalCpuId(_);
Expand description

A wrapper around Option<CpuId> with a forced type alignment of 8 bytes, +OptionalCpuId in cpu - Rust

Struct cpu::OptionalCpuId

source ·
#[repr(align(8))]
pub struct OptionalCpuId(_);
Expand description

A wrapper around Option<CpuId> with a forced type alignment of 8 bytes, which guarantees that it compiles down to lock-free native atomic instructions when using it inside of an atomic type like [AtomicCell].

-

Trait Implementations§

source§

impl Clone for OptionalCpuId

source§

fn clone(&self) -> OptionalCpuId

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for OptionalCpuId

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<Option<CpuId>> for OptionalCpuId

source§

fn from(opt: Option<CpuId>) -> Self

Converts to this type from the input type.
source§

impl From<OptionalCpuId> for Option<CpuId>

source§

fn from(val: OptionalCpuId) -> Self

Converts to this type from the input type.
source§

impl Copy for OptionalCpuId

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +

Trait Implementations§

source§

impl Clone for OptionalCpuId

source§

fn clone(&self) -> OptionalCpuId

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for OptionalCpuId

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<Option<CpuId>> for OptionalCpuId

source§

fn from(opt: Option<CpuId>) -> Self

Converts to this type from the input type.
source§

impl From<OptionalCpuId> for Option<CpuId>

source§

fn from(val: OptionalCpuId) -> Self

Converts to this type from the input type.
source§

impl Copy for OptionalCpuId

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/frame_allocator/enum.FramesIteratorRequest.html b/doc/frame_allocator/enum.FramesIteratorRequest.html index d408501f2f..a6b543b334 100644 --- a/doc/frame_allocator/enum.FramesIteratorRequest.html +++ b/doc/frame_allocator/enum.FramesIteratorRequest.html @@ -2,14 +2,14 @@ Next, Stop, AllocateAt { - requested_frame: Frame, + requested_frame: Frame, num_frames: usize, }, }
Expand description

An enum that must be returned by the function passed into [iter_free_frames()] in order to define the post-iteration behavior.

Variants§

§

Next

Keep iterating to the next chunk of frames.

§

Stop

Stop iterating, and do not allocate anything.

-
§

AllocateAt

Fields

§requested_frame: Frame
§num_frames: usize

Stop iterating, and then attempt to allocate the specified frames.

+
§

AllocateAt

Fields

§requested_frame: Frame
§num_frames: usize

Stop iterating, and then attempt to allocate the specified frames.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere diff --git a/doc/frame_allocator/fn.allocate_frames_at.html b/doc/frame_allocator/fn.allocate_frames_at.html index 7b384bdd29..b2e1b02154 100644 --- a/doc/frame_allocator/fn.allocate_frames_at.html +++ b/doc/frame_allocator/fn.allocate_frames_at.html @@ -1,5 +1,5 @@ allocate_frames_at in frame_allocator - Rust
pub fn allocate_frames_at(
-    paddr: PhysicalAddress,
+    paddr: PhysicalAddress,
     num_frames: usize
 ) -> Result<AllocatedFrames, &'static str>
Expand description

Allocates the given number of frames starting at (inclusive of) the frame containing the given PhysicalAddress.

See allocate_frames_deferred() for more details.

diff --git a/doc/frame_allocator/fn.allocate_frames_by_bytes_at.html b/doc/frame_allocator/fn.allocate_frames_by_bytes_at.html index 727af2c307..b8ead82133 100644 --- a/doc/frame_allocator/fn.allocate_frames_by_bytes_at.html +++ b/doc/frame_allocator/fn.allocate_frames_by_bytes_at.html @@ -1,5 +1,5 @@ allocate_frames_by_bytes_at in frame_allocator - Rust
pub fn allocate_frames_by_bytes_at(
-    paddr: PhysicalAddress,
+    paddr: PhysicalAddress,
     num_bytes: usize
 ) -> Result<AllocatedFrames, &'static str>
Expand description

Allocates frames starting at the given PhysicalAddress with a size given in number of bytes.

This function still allocates whole frames by rounding up the number of bytes. diff --git a/doc/frame_allocator/fn.allocate_frames_by_bytes_deferred.html b/doc/frame_allocator/fn.allocate_frames_by_bytes_deferred.html index b5e816fbdc..919273c2af 100644 --- a/doc/frame_allocator/fn.allocate_frames_by_bytes_deferred.html +++ b/doc/frame_allocator/fn.allocate_frames_by_bytes_deferred.html @@ -1,5 +1,5 @@ allocate_frames_by_bytes_deferred in frame_allocator - Rust

pub fn allocate_frames_by_bytes_deferred(
-    requested_paddr: Option<PhysicalAddress>,
+    requested_paddr: Option<PhysicalAddress>,
     num_bytes: usize
 ) -> Result<(AllocatedFrames, DeferredAllocAction<'static>), &'static str>
Expand description

Similar to allocated_frames_deferred(), but accepts a size value for the allocated frames in number of bytes instead of number of frames.

diff --git a/doc/frame_allocator/fn.allocate_frames_deferred.html b/doc/frame_allocator/fn.allocate_frames_deferred.html index 08bbca10e2..a396809b29 100644 --- a/doc/frame_allocator/fn.allocate_frames_deferred.html +++ b/doc/frame_allocator/fn.allocate_frames_deferred.html @@ -1,5 +1,5 @@ allocate_frames_deferred in frame_allocator - Rust
pub fn allocate_frames_deferred(
-    requested_paddr: Option<PhysicalAddress>,
+    requested_paddr: Option<PhysicalAddress>,
     num_frames: usize
 ) -> Result<(AllocatedFrames, DeferredAllocAction<'static>), &'static str>
Expand description

The core frame allocation routine that allocates the given number of physical frames, optionally at the requested starting PhysicalAddress.

diff --git a/doc/frame_allocator/fn.init.html b/doc/frame_allocator/fn.init.html index d2e0bc28b1..c6767d5e0d 100644 --- a/doc/frame_allocator/fn.init.html +++ b/doc/frame_allocator/fn.init.html @@ -1,7 +1,7 @@ init in frame_allocator - Rust

Function frame_allocator::init

source ·
pub fn init<F, R, P>(
     free_physical_memory_areas: F,
     reserved_physical_memory_areas: R
-) -> Result<fn(_: FrameRange) -> UnmappedFrames, &'static str>where
+) -> Result<fn(_: FrameRange) -> UnmappedFrames, &'static str>where
     P: Borrow<PhysicalMemoryRegion>,
     F: IntoIterator<Item = P>,
     R: IntoIterator<Item = P> + Clone,
Expand description

Initialize the frame allocator with the given list of available and reserved physical memory regions.

diff --git a/doc/frame_allocator/struct.AllocatedFrame.html b/doc/frame_allocator/struct.AllocatedFrame.html index cd87648fad..faca1f1296 100644 --- a/doc/frame_allocator/struct.AllocatedFrame.html +++ b/doc/frame_allocator/struct.AllocatedFrame.html @@ -1,10 +1,10 @@ AllocatedFrame in frame_allocator - Rust
pub struct AllocatedFrame<'f> { /* private fields */ }
Expand description

A reference to a single frame within a range of AllocatedFrames.

The lifetime of this type is tied to the lifetime of its owning AllocatedFrames.

-

Methods from Deref<Target = Frame>§

pub fn align_up(&self, alignment_4k_pages: usize) -> Frame<Page4K>

Returns a new Frame that is aligned up from this Frame to the nearest multiple of alignment_4k_pages.

-

pub fn number(&self) -> usize

Returns the 4K-sized number of this Frame.

-

pub fn start_address(&self) -> PhysicalAddress

Returns the PhysicalAddress at the start of this Frame.

-

pub fn page_size(&self) -> MemChunkSize

Returns the size of this Frame.

-

Trait Implementations§

source§

impl<'f> Debug for AllocatedFrame<'f>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'f> Deref for AllocatedFrame<'f>

§

type Target = Frame<Page4K>

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.

Auto Trait Implementations§

§

impl<'f> RefUnwindSafe for AllocatedFrame<'f>

§

impl<'f> Send for AllocatedFrame<'f>

§

impl<'f> Sync for AllocatedFrame<'f>

§

impl<'f> Unpin for AllocatedFrame<'f>

§

impl<'f> UnwindSafe for AllocatedFrame<'f>

Blanket Implementations§

source§

impl<T> Any for Twhere +

Methods from Deref<Target = Frame>§

source

pub fn align_up(&self, alignment_4k_pages: usize) -> Frame<Page4K>

Returns a new Frame that is aligned up from this Frame to the nearest multiple of alignment_4k_pages.

+
source

pub fn number(&self) -> usize

Returns the 4K-sized number of this Frame.

+
source

pub fn start_address(&self) -> PhysicalAddress

Returns the PhysicalAddress at the start of this Frame.

+
source

pub fn page_size(&self) -> MemChunkSize

Returns the size of this Frame.

+

Trait Implementations§

source§

impl<'f> Debug for AllocatedFrame<'f>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'f> Deref for AllocatedFrame<'f>

§

type Target = Frame<Page4K>

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.

Auto Trait Implementations§

§

impl<'f> RefUnwindSafe for AllocatedFrame<'f>

§

impl<'f> Send for AllocatedFrame<'f>

§

impl<'f> Sync for AllocatedFrame<'f>

§

impl<'f> Unpin for AllocatedFrame<'f>

§

impl<'f> UnwindSafe for AllocatedFrame<'f>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/frame_allocator/struct.AllocatedFramesIter.html b/doc/frame_allocator/struct.AllocatedFramesIter.html index 397967df6d..1f2297ab37 100644 --- a/doc/frame_allocator/struct.AllocatedFramesIter.html +++ b/doc/frame_allocator/struct.AllocatedFramesIter.html @@ -1,8 +1,8 @@ AllocatedFramesIter in frame_allocator - Rust
pub struct AllocatedFramesIter<'f> { /* private fields */ }
Expand description

An iterator over each AllocatedFrame in a range of AllocatedFrames.

We must implement our own iterator type here in order to tie the lifetime 'f of a returned AllocatedFrame<'f> type to the lifetime of its containing AllocatedFrames. -This is because the underlying type of AllocatedFrames is a [FrameRange], -which itself is a RangeInclusive of [Frame]s. +This is because the underlying type of AllocatedFrames is a FrameRange, +which itself is a RangeInclusive of Frames. Currently, the [RangeInclusiveIterator] type creates a clone of the original RangeInclusive instances rather than borrowing a reference to it.

Trait Implementations§

source§

impl<'f> Iterator for AllocatedFramesIter<'f>

§

type Item = AllocatedFrame<'f>

The type of the elements being iterated over.
source§

fn next(&mut self) -> Option<Self::Item>

Advances the iterator and returns the next value. Read more
source§

fn next_chunk<const N: usize>( diff --git a/doc/frame_allocator/struct.Frames.html b/doc/frame_allocator/struct.Frames.html index c01a8dc865..b03864fb07 100644 --- a/doc/frame_allocator/struct.Frames.html +++ b/doc/frame_allocator/struct.Frames.html @@ -1,4 +1,4 @@ -Frames in frame_allocator - Rust

Struct frame_allocator::Frames

source ·
pub struct Frames<const S: MemoryState> { /* private fields */ }
Expand description

A range of contiguous frames in physical memory.

+Frames in frame_allocator - Rust

Struct frame_allocator::Frames

source ·
pub struct Frames<const S: MemoryState> { /* private fields */ }
Expand description

A range of contiguous frames in physical memory.

Each Frames object is globally unique, meaning that the owner of a Frames object has globally-exclusive access to the range of frames it contains.

A Frames object can be in one of four states:

@@ -39,7 +39,7 @@

Ordering and Equ
Panic

Panics if this AllocatedFrame contains multiple frames or zero frames.

source§

impl Frames<{MemoryState::Unmapped}>

source

pub fn into_allocated_frames(self) -> AllocatedFrames

Consumes this Frames in the Unmapped state and converts them into the Allocated state.

-
source§

impl<const S: MemoryState> Frames<S>

source

pub const fn empty() -> Frames<S>

Returns a new Frames with an empty range of frames. +

source§

impl<const S: MemoryState> Frames<S>

source

pub const fn empty() -> Frames<S>

Returns a new Frames with an empty range of frames. Can be used as a placeholder, but will not permit any real usage.

source

pub fn merge(&mut self, other: Self) -> Result<(), Self>

Merges the given other Frames object into this Frames object (self).

This function performs no allocation or re-mapping, it exists for convenience and usability purposes.

@@ -49,7 +49,7 @@
Panic
otherwise Err(other) is returned.

source

pub fn split_range( self, - frames_to_extract: FrameRange + frames_to_extract: FrameRange ) -> Result<SplitFrames<S>, Self>

Splits up the given Frames into multiple smaller Frames.

Returns a SplitFrames instance containing three Frames:

    @@ -58,7 +58,7 @@
    Panic
  1. The range of frames in self that are after the end of frames_to_extract.

If frames_to_extract is not contained within self, then self is returned unchanged within an Err.

-
source

pub fn split_at(self, at_frame: Frame) -> Result<(Self, Self), Self>

Splits this Frames into two separate Frames objects:

+
source

pub fn split_at(self, at_frame: Frame) -> Result<(Self, Self), Self>

Splits this Frames into two separate Frames objects:

  • [beginning : at_frame - 1]
  • [at_frame : end]
  • @@ -70,38 +70,38 @@
    Panic
  • If at_frame == self.end + 1, the second returned Frames object will be empty.

Returns an Err containing this Frames if at_frame is otherwise out of bounds, or if self was empty.

-

Methods from Deref<Target = FrameRange>§

pub fn start_address(&self) -> PhysicalAddress

Returns the [PhysicalAddress] of the starting [Frame] in this FrameRange.

-

pub fn size_in_frames(&self) -> usize

Returns the number of [Frame]s covered by this iterator.

+

Methods from Deref<Target = FrameRange>§

source

pub fn start_address(&self) -> PhysicalAddress

Returns the PhysicalAddress of the starting Frame in this FrameRange.

+
source

pub fn size_in_frames(&self) -> usize

Returns the number of Frames covered by this iterator.

Use this instead of Iterator::count() method. This is instant, because it doesn’t need to iterate over each entry, unlike normal iterators.

-

pub fn size_in_bytes(&self) -> usize

Returns the size of this range in bytes.

-

pub fn contains_address(&self, addr: PhysicalAddress) -> bool

Returns true if this FrameRange contains the given [PhysicalAddress].

-

pub fn offset_of_address(&self, addr: PhysicalAddress) -> Option<usize>

Returns the offset of the given [PhysicalAddress] within this FrameRange, i.e., addr - self.start_address().

-

If the given addr is not covered by this range of [Frame]s, this returns None.

+
source

pub fn size_in_bytes(&self) -> usize

Returns the size of this range in bytes.

+
source

pub fn contains_address(&self, addr: PhysicalAddress) -> bool

Returns true if this FrameRange contains the given PhysicalAddress.

+
source

pub fn offset_of_address(&self, addr: PhysicalAddress) -> Option<usize>

Returns the offset of the given PhysicalAddress within this FrameRange, i.e., addr - self.start_address().

+

If the given addr is not covered by this range of Frames, this returns None.

Examples

If the range covers addresses 0x2000 to 0x4000, then offset_of_address(0x3500) would return Some(0x1500).

-

pub fn address_at_offset(&self, offset: usize) -> Option<PhysicalAddress>

Returns the [PhysicalAddress] at the given offset into this FrameRangewithin this FrameRange, i.e., self.start_address() + offset.

-

If the given offset is not within this range of [Frame]s, this returns None.

+
source

pub fn address_at_offset(&self, offset: usize) -> Option<PhysicalAddress>

Returns the PhysicalAddress at the given offset into this FrameRangewithin this FrameRange, i.e., self.start_address() + offset.

+

If the given offset is not within this range of Frames, this returns None.

Examples

If the range covers addresses 0x2000 through 0x3FFF, then address_at_offset(0x1500) would return Some(0x3500), and address_at_offset(0x2000) would return None.

-

pub fn to_extended(&self, to_include: Frame<P>) -> FrameRange<P>

Returns a new separate FrameRange that is extended to include the given [Frame].

-

pub fn contains_range(&self, other: &FrameRange<P>) -> bool

Returns true if the other FrameRange is fully contained within this FrameRange.

-

pub fn overlap(&self, other: &FrameRange<P>) -> Option<FrameRange<P>>

Returns an inclusive FrameRange representing the [Frame]s that overlap across this FrameRange and the given other FrameRange.

+
source

pub fn to_extended(&self, to_include: Frame<P>) -> FrameRange<P>

Returns a new separate FrameRange that is extended to include the given Frame.

+
source

pub fn contains_range(&self, other: &FrameRange<P>) -> bool

Returns true if the other FrameRange is fully contained within this FrameRange.

+
source

pub fn overlap(&self, other: &FrameRange<P>) -> Option<FrameRange<P>>

Returns an inclusive FrameRange representing the Frames that overlap across this FrameRange and the given other FrameRange.

If there is no overlap between the two ranges, None is returned.

-

Methods from Deref<Target = RangeInclusive<Frame<P>>>§

source

pub fn start(&self) -> &Idx

Returns the lower bound of the range (inclusive).

+

Methods from Deref<Target = RangeInclusive<Frame<P>>>§

source

pub fn start(&self) -> &Idx

Returns the lower bound of the range (inclusive).

source

pub fn end(&self) -> &Idx

Returns the upper bound of the range (inclusive).

source

pub fn is_empty(&self) -> bool

Returns true if the range contains no items.

source

pub fn iter(&self) -> RangeInclusiveIterator<Idx>

Returns an iterator with the same start and end values as the range.

source

pub fn contains<U>(&self, item: &U) -> boolwhere Idx: PartialOrd<U>, U: PartialOrd<Idx> + ?Sized,

Returns true if item is contained in the range.

-

Trait Implementations§

source§

impl<const S: MemoryState> Borrow<Frame<Page4K>> for &Frames<S>

source§

fn borrow(&self) -> &Frame

Immutably borrows from an owned value. Read more
source§

impl<const S: MemoryState> Debug for Frames<S>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<const S: MemoryState> Deref for Frames<S>

§

type Target = FrameRange<Page4K>

The resulting type after dereferencing.
source§

fn deref(&self) -> &FrameRange

Dereferences the value.
source§

impl<const S: MemoryState> Drop for Frames<S>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<const S: MemoryState> Ord for Frames<S>

source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere +

Trait Implementations§

source§

impl<const S: MemoryState> Borrow<Frame<Page4K>> for &Frames<S>

source§

fn borrow(&self) -> &Frame

Immutably borrows from an owned value. Read more
source§

impl<const S: MemoryState> Debug for Frames<S>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<const S: MemoryState> Deref for Frames<S>

§

type Target = FrameRange<Page4K>

The resulting type after dereferencing.
source§

fn deref(&self) -> &FrameRange

Dereferences the value.
source§

impl<const S: MemoryState> Drop for Frames<S>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<const S: MemoryState> Ord for Frames<S>

source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere - Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl<const S: MemoryState> PartialEq<Frames<S>> for Frames<S>

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used + Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl<const S: MemoryState> PartialEq<Frames<S>> for Frames<S>

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<const S: MemoryState> PartialOrd<Frames<S>> for Frames<S>

source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +sufficient, and should not be overridden without very good reason.
source§

impl<const S: MemoryState> PartialOrd<Frames<S>> for Frames<S>

source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl<const S: MemoryState> Eq for Frames<S>

source§

impl<const S: MemoryState> StructuralEq for Frames<S>

Auto Trait Implementations§

§

impl<const S: MemoryState> RefUnwindSafe for Frames<S>

§

impl<const S: MemoryState> Send for Frames<S>

§

impl<const S: MemoryState> Sync for Frames<S>

§

impl<const S: MemoryState> Unpin for Frames<S>

§

impl<const S: MemoryState> UnwindSafe for Frames<S>

Blanket Implementations§

source§

impl<T> Any for Twhere +operator. Read more

source§

impl<const S: MemoryState> Eq for Frames<S>

source§

impl<const S: MemoryState> StructuralEq for Frames<S>

Auto Trait Implementations§

§

impl<const S: MemoryState> RefUnwindSafe for Frames<S>

§

impl<const S: MemoryState> Send for Frames<S>

§

impl<const S: MemoryState> Sync for Frames<S>

§

impl<const S: MemoryState> Unpin for Frames<S>

§

impl<const S: MemoryState> UnwindSafe for Frames<S>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/frame_allocator/struct.PhysicalMemoryRegion.html b/doc/frame_allocator/struct.PhysicalMemoryRegion.html index d8b23a0ad2..00560745ee 100644 --- a/doc/frame_allocator/struct.PhysicalMemoryRegion.html +++ b/doc/frame_allocator/struct.PhysicalMemoryRegion.html @@ -1,5 +1,5 @@ PhysicalMemoryRegion in frame_allocator - Rust
pub struct PhysicalMemoryRegion {
-    pub frames: FrameRange,
+    pub frames: FrameRange,
     pub typ: MemoryRegionType,
 }
Expand description

PhysicalMemoryRegion represents a range of contiguous frames in physical memory for bookkeeping purposes. It does not give access to the underlying frames.

@@ -10,33 +10,33 @@

Ordering and Equ both of which are also based ONLY on the starting Frame of the PhysicalMemoryRegion. Thus, comparing two PhysicalMemoryRegions with the == or != operators may not work as expected. since it ignores their actual range of frames.

-

Fields§

§frames: FrameRange

The Frames covered by this region, an inclusive range.

+

Fields§

§frames: FrameRange

The Frames covered by this region, an inclusive range.

§typ: MemoryRegionType

The type of this memory region, e.g., whether it’s in a free or reserved region.

-

Implementations§

Methods from Deref<Target = FrameRange>§

pub fn start_address(&self) -> PhysicalAddress

Returns the [PhysicalAddress] of the starting [Frame] in this FrameRange.

-

pub fn size_in_frames(&self) -> usize

Returns the number of [Frame]s covered by this iterator.

+

Implementations§

Methods from Deref<Target = FrameRange>§

source

pub fn start_address(&self) -> PhysicalAddress

Returns the PhysicalAddress of the starting Frame in this FrameRange.

+
source

pub fn size_in_frames(&self) -> usize

Returns the number of Frames covered by this iterator.

Use this instead of Iterator::count() method. This is instant, because it doesn’t need to iterate over each entry, unlike normal iterators.

-

pub fn size_in_bytes(&self) -> usize

Returns the size of this range in bytes.

-

pub fn contains_address(&self, addr: PhysicalAddress) -> bool

Returns true if this FrameRange contains the given [PhysicalAddress].

-

pub fn offset_of_address(&self, addr: PhysicalAddress) -> Option<usize>

Returns the offset of the given [PhysicalAddress] within this FrameRange, i.e., addr - self.start_address().

-

If the given addr is not covered by this range of [Frame]s, this returns None.

+
source

pub fn size_in_bytes(&self) -> usize

Returns the size of this range in bytes.

+
source

pub fn contains_address(&self, addr: PhysicalAddress) -> bool

Returns true if this FrameRange contains the given PhysicalAddress.

+
source

pub fn offset_of_address(&self, addr: PhysicalAddress) -> Option<usize>

Returns the offset of the given PhysicalAddress within this FrameRange, i.e., addr - self.start_address().

+

If the given addr is not covered by this range of Frames, this returns None.

Examples

If the range covers addresses 0x2000 to 0x4000, then offset_of_address(0x3500) would return Some(0x1500).

-

pub fn address_at_offset(&self, offset: usize) -> Option<PhysicalAddress>

Returns the [PhysicalAddress] at the given offset into this FrameRangewithin this FrameRange, i.e., self.start_address() + offset.

-

If the given offset is not within this range of [Frame]s, this returns None.

+
source

pub fn address_at_offset(&self, offset: usize) -> Option<PhysicalAddress>

Returns the PhysicalAddress at the given offset into this FrameRangewithin this FrameRange, i.e., self.start_address() + offset.

+

If the given offset is not within this range of Frames, this returns None.

Examples

If the range covers addresses 0x2000 through 0x3FFF, then address_at_offset(0x1500) would return Some(0x3500), and address_at_offset(0x2000) would return None.

-

pub fn to_extended(&self, to_include: Frame<P>) -> FrameRange<P>

Returns a new separate FrameRange that is extended to include the given [Frame].

-

pub fn contains_range(&self, other: &FrameRange<P>) -> bool

Returns true if the other FrameRange is fully contained within this FrameRange.

-

pub fn overlap(&self, other: &FrameRange<P>) -> Option<FrameRange<P>>

Returns an inclusive FrameRange representing the [Frame]s that overlap across this FrameRange and the given other FrameRange.

+
source

pub fn to_extended(&self, to_include: Frame<P>) -> FrameRange<P>

Returns a new separate FrameRange that is extended to include the given Frame.

+
source

pub fn contains_range(&self, other: &FrameRange<P>) -> bool

Returns true if the other FrameRange is fully contained within this FrameRange.

+
source

pub fn overlap(&self, other: &FrameRange<P>) -> Option<FrameRange<P>>

Returns an inclusive FrameRange representing the Frames that overlap across this FrameRange and the given other FrameRange.

If there is no overlap between the two ranges, None is returned.

-

Methods from Deref<Target = RangeInclusive<Frame<P>>>§

source

pub fn start(&self) -> &Idx

Returns the lower bound of the range (inclusive).

+

Methods from Deref<Target = RangeInclusive<Frame<P>>>§

source

pub fn start(&self) -> &Idx

Returns the lower bound of the range (inclusive).

source

pub fn end(&self) -> &Idx

Returns the upper bound of the range (inclusive).

source

pub fn is_empty(&self) -> bool

Returns true if the range contains no items.

source

pub fn iter(&self) -> RangeInclusiveIterator<Idx>

Returns an iterator with the same start and end values as the range.

source

pub fn contains<U>(&self, item: &U) -> boolwhere Idx: PartialOrd<U>, U: PartialOrd<Idx> + ?Sized,

Returns true if item is contained in the range.

-

Trait Implementations§

source§

impl Borrow<Frame<Page4K>> for &PhysicalMemoryRegion

source§

fn borrow(&self) -> &Frame

Immutably borrows from an owned value. Read more
source§

impl Clone for PhysicalMemoryRegion

source§

fn clone(&self) -> PhysicalMemoryRegion

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PhysicalMemoryRegion

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Deref for PhysicalMemoryRegion

§

type Target = FrameRange<Page4K>

The resulting type after dereferencing.
source§

fn deref(&self) -> &FrameRange

Dereferences the value.
source§

impl Ord for PhysicalMemoryRegion

source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere +

Trait Implementations§

source§

impl Borrow<Frame<Page4K>> for &PhysicalMemoryRegion

source§

fn borrow(&self) -> &Frame

Immutably borrows from an owned value. Read more
source§

impl Clone for PhysicalMemoryRegion

source§

fn clone(&self) -> PhysicalMemoryRegion

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PhysicalMemoryRegion

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Deref for PhysicalMemoryRegion

§

type Target = FrameRange<Page4K>

The resulting type after dereferencing.
source§

fn deref(&self) -> &FrameRange

Dereferences the value.
source§

impl Ord for PhysicalMemoryRegion

source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<PhysicalMemoryRegion> for PhysicalMemoryRegion

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used diff --git a/doc/frame_allocator/struct.SplitFrames.html b/doc/frame_allocator/struct.SplitFrames.html index d53ddccd25..1ba4b031cf 100644 --- a/doc/frame_allocator/struct.SplitFrames.html +++ b/doc/frame_allocator/struct.SplitFrames.html @@ -1,5 +1,5 @@ -SplitFrames in frame_allocator - Rust
pub struct SplitFrames<const S: MemoryState> { /* private fields */ }
Expand description

The result of splitting a Frames object into multiple smaller Frames objects.

-

Auto Trait Implementations§

§

impl<const S: MemoryState> RefUnwindSafe for SplitFrames<S>

§

impl<const S: MemoryState> Send for SplitFrames<S>

§

impl<const S: MemoryState> Sync for SplitFrames<S>

§

impl<const S: MemoryState> Unpin for SplitFrames<S>

§

impl<const S: MemoryState> UnwindSafe for SplitFrames<S>

Blanket Implementations§

source§

impl<T> Any for Twhere +SplitFrames in frame_allocator - Rust
pub struct SplitFrames<const S: MemoryState> { /* private fields */ }
Expand description

The result of splitting a Frames object into multiple smaller Frames objects.

+

Auto Trait Implementations§

§

impl<const S: MemoryState> RefUnwindSafe for SplitFrames<S>

§

impl<const S: MemoryState> Send for SplitFrames<S>

§

impl<const S: MemoryState> Sync for SplitFrames<S>

§

impl<const S: MemoryState> Unpin for SplitFrames<S>

§

impl<const S: MemoryState> UnwindSafe for SplitFrames<S>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/doc/implementors/core/borrow/trait.Borrow.js b/doc/implementors/core/borrow/trait.Borrow.js index eb69a9cc57..4ab44bc106 100644 --- a/doc/implementors/core/borrow/trait.Borrow.js +++ b/doc/implementors/core/borrow/trait.Borrow.js @@ -1,5 +1,5 @@ (function() {var implementors = { -"frame_allocator":[["impl<const S: MemoryState> Borrow<Frame<Page4K>> for &Frames<S>"],["impl Borrow<Frame<Page4K>> for &PhysicalMemoryRegion"]], +"frame_allocator":[["impl<const S: MemoryState> Borrow<Frame<Page4K>> for &Frames<S>"],["impl Borrow<Frame<Page4K>> for &PhysicalMemoryRegion"]], "memory":[["impl<T: FromBytes, M: Mutability, B: Borrow<MappedPages>> Borrow<[T]> for BorrowedSliceMappedPages<T, M, B>"],["impl<T: FromBytes, M: Mutability, B: Borrow<MappedPages>> Borrow<T> for BorrowedMappedPages<T, M, B>"]], "str_ref":[["impl Borrow<str> for StrRef"],["impl Borrow<[u8]> for StrRef"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/doc/implementors/core/cmp/trait.Eq.js b/doc/implementors/core/cmp/trait.Eq.js index e8e14b35f8..144fbb378e 100644 --- a/doc/implementors/core/cmp/trait.Eq.js +++ b/doc/implementors/core/cmp/trait.Eq.js @@ -6,7 +6,7 @@ "cpu":[["impl Eq for CpuId"]], "crate_metadata":[["impl Eq for RelocationEntry"]], "crate_swap":[["impl Eq for SwapRequest"]], -"frame_allocator":[["impl Eq for MemoryRegionType"],["impl<const S: MemoryState> Eq for Frames<S>"],["impl Eq for PhysicalMemoryRegion"]], +"frame_allocator":[["impl Eq for MemoryRegionType"],["impl<const S: MemoryState> Eq for Frames<S>"],["impl Eq for PhysicalMemoryRegion"]], "interrupts":[["impl Eq for EoiBehaviour"]], "keycodes_ascii":[["impl Eq for KeyboardModifiers"]], "memory":[["impl<T: FromBytes + Eq, M: Mutability, B: Borrow<MappedPages>> Eq for BorrowedSliceMappedPages<T, M, B>"],["impl<T: FromBytes + Eq, M: Mutability, B: Borrow<MappedPages>> Eq for BorrowedMappedPages<T, M, B>"]], diff --git a/doc/implementors/core/cmp/trait.Ord.js b/doc/implementors/core/cmp/trait.Ord.js index 154baf1e7b..8798fcc1f5 100644 --- a/doc/implementors/core/cmp/trait.Ord.js +++ b/doc/implementors/core/cmp/trait.Ord.js @@ -3,7 +3,7 @@ "ata":[["impl Ord for AtaError"],["impl Ord for AtaStatus"]], "boot_info":[["impl Ord for ElfSectionFlags"]], "cpu":[["impl Ord for CpuId"]], -"frame_allocator":[["impl<const S: MemoryState> Ord for Frames<S>"],["impl Ord for PhysicalMemoryRegion"]], +"frame_allocator":[["impl<const S: MemoryState> Ord for Frames<S>"],["impl Ord for PhysicalMemoryRegion"]], "keycodes_ascii":[["impl Ord for KeyboardModifiers"]], "memory":[["impl<T: FromBytes + Ord, M: Mutability, B: Borrow<MappedPages>> Ord for BorrowedSliceMappedPages<T, M, B>"],["impl<T: FromBytes + Ord, M: Mutability, B: Borrow<MappedPages>> Ord for BorrowedMappedPages<T, M, B>"]], "memory_structs":[["impl Ord for Page2M"],["impl Ord for VirtualAddress"],["impl<P: Ord + PageSize> Ord for Frame<P>"],["impl Ord for Page4K"],["impl Ord for PhysicalAddress"],["impl<P: Ord + PageSize> Ord for Page<P>"],["impl Ord for Page1G"]], diff --git a/doc/implementors/core/cmp/trait.PartialEq.js b/doc/implementors/core/cmp/trait.PartialEq.js index 7b23ef6d58..91befd0af6 100644 --- a/doc/implementors/core/cmp/trait.PartialEq.js +++ b/doc/implementors/core/cmp/trait.PartialEq.js @@ -9,7 +9,7 @@ "crate_metadata_serde":[["impl PartialEq<SectionType> for SectionType"]], "crate_swap":[["impl PartialEq<SwapRequest> for SwapRequest"]], "fault_log":[["impl PartialEq<RecoveryAction> for RecoveryAction"]], -"frame_allocator":[["impl PartialEq<MemoryRegionType> for MemoryRegionType"],["impl<const S: MemoryState> PartialEq<Frames<S>> for Frames<S>"],["impl PartialEq<PhysicalMemoryRegion> for PhysicalMemoryRegion"]], +"frame_allocator":[["impl PartialEq<MemoryRegionType> for MemoryRegionType"],["impl<const S: MemoryState> PartialEq<Frames<S>> for Frames<S>"],["impl PartialEq<PhysicalMemoryRegion> for PhysicalMemoryRegion"]], "interrupts":[["impl PartialEq<EoiBehaviour> for EoiBehaviour"]], "ixgbe":[["impl PartialEq<LinkSpeedMbps> for LinkSpeedMbps"]], "keycodes_ascii":[["impl PartialEq<KeyAction> for KeyAction"],["impl PartialEq<Keycode> for Keycode"],["impl PartialEq<KeyboardModifiers> for KeyboardModifiers"]], diff --git a/doc/implementors/core/cmp/trait.PartialOrd.js b/doc/implementors/core/cmp/trait.PartialOrd.js index 6fc194b4ac..494fe3d300 100644 --- a/doc/implementors/core/cmp/trait.PartialOrd.js +++ b/doc/implementors/core/cmp/trait.PartialOrd.js @@ -3,7 +3,7 @@ "ata":[["impl PartialOrd<AtaStatus> for AtaStatus"],["impl PartialOrd<AtaError> for AtaError"]], "boot_info":[["impl PartialOrd<ElfSectionFlags> for ElfSectionFlags"]], "cpu":[["impl PartialOrd<CpuId> for CpuId"]], -"frame_allocator":[["impl<const S: MemoryState> PartialOrd<Frames<S>> for Frames<S>"],["impl PartialOrd<PhysicalMemoryRegion> for PhysicalMemoryRegion"]], +"frame_allocator":[["impl<const S: MemoryState> PartialOrd<Frames<S>> for Frames<S>"],["impl PartialOrd<PhysicalMemoryRegion> for PhysicalMemoryRegion"]], "keycodes_ascii":[["impl PartialOrd<KeyboardModifiers> for KeyboardModifiers"]], "memory":[["impl<T: FromBytes + PartialOrd, M: Mutability, B: Borrow<MappedPages>> PartialOrd<BorrowedMappedPages<T, M, B>> for BorrowedMappedPages<T, M, B>"],["impl<T: FromBytes + PartialOrd, M: Mutability, B: Borrow<MappedPages>> PartialOrd<BorrowedSliceMappedPages<T, M, B>> for BorrowedSliceMappedPages<T, M, B>"]], "memory_structs":[["impl PartialOrd<Page1G> for Page1G"],["impl PartialOrd<VirtualAddress> for VirtualAddress"],["impl PartialOrd<Page2M> for Page2M"],["impl PartialOrd<PhysicalAddress> for PhysicalAddress"],["impl PartialOrd<Page4K> for Page4K"],["impl<P: PartialOrd + PageSize> PartialOrd<Frame<P>> for Frame<P>"],["impl<P: PartialOrd + PageSize> PartialOrd<Page<P>> for Page<P>"]], diff --git a/doc/implementors/core/fmt/trait.Debug.js b/doc/implementors/core/fmt/trait.Debug.js index 219101f8f3..9994ed005d 100644 --- a/doc/implementors/core/fmt/trait.Debug.js +++ b/doc/implementors/core/fmt/trait.Debug.js @@ -21,7 +21,7 @@ "external_unwind_info":[["impl Debug for ExternalUnwindInfo"]], "fadt":[["impl Debug for Fadt"]], "fault_log":[["impl Debug for RecoveryAction"],["impl Debug for FaultEntry"],["impl Debug for FaultType"]], -"frame_allocator":[["impl<const S: MemoryState> Debug for Frames<S>"],["impl<'f> Debug for AllocatedFrame<'f>"],["impl Debug for PhysicalMemoryRegion"],["impl Debug for MemoryRegionType"]], +"frame_allocator":[["impl<const S: MemoryState> Debug for Frames<S>"],["impl<'f> Debug for AllocatedFrame<'f>"],["impl Debug for PhysicalMemoryRegion"],["impl Debug for MemoryRegionType"]], "framebuffer":[["impl Debug for AlphaPixel"],["impl Debug for RGBPixel"]], "fs_node":[["impl Debug for FileOrDir"]], "gdt":[["impl Debug for AvailableSegmentSelector"]], diff --git a/doc/implementors/core/marker/trait.Freeze.js b/doc/implementors/core/marker/trait.Freeze.js index 89c1f3be50..8871bf9971 100644 --- a/doc/implementors/core/marker/trait.Freeze.js +++ b/doc/implementors/core/marker/trait.Freeze.js @@ -35,7 +35,7 @@ "fadt":[["impl Freeze for Fadt",1,["fadt::Fadt"]]], "fault_crate_swap":[["impl Freeze for SwapRanges",1,["fault_crate_swap::SwapRanges"]]], "fault_log":[["impl Freeze for FaultType",1,["fault_log::FaultType"]],["impl Freeze for RecoveryAction",1,["fault_log::RecoveryAction"]],["impl Freeze for FaultEntry",1,["fault_log::FaultEntry"]]], -"frame_allocator":[["impl Freeze for PhysicalMemoryRegion",1,["frame_allocator::PhysicalMemoryRegion"]],["impl Freeze for MemoryRegionType",1,["frame_allocator::MemoryRegionType"]],["impl<const S: MemoryState> Freeze for Frames<S>",1,["frame_allocator::Frames"]],["impl<'f> Freeze for AllocatedFramesIter<'f>",1,["frame_allocator::AllocatedFramesIter"]],["impl<'f> Freeze for AllocatedFrame<'f>",1,["frame_allocator::AllocatedFrame"]],["impl<const S: MemoryState> Freeze for SplitFrames<S>",1,["frame_allocator::SplitFrames"]],["impl<'list> Freeze for DeferredAllocAction<'list>",1,["frame_allocator::DeferredAllocAction"]],["impl Freeze for FramesIteratorRequest",1,["frame_allocator::FramesIteratorRequest"]]], +"frame_allocator":[["impl Freeze for PhysicalMemoryRegion",1,["frame_allocator::PhysicalMemoryRegion"]],["impl Freeze for MemoryRegionType",1,["frame_allocator::MemoryRegionType"]],["impl<const S: MemoryState> Freeze for Frames<S>",1,["frame_allocator::Frames"]],["impl<'f> Freeze for AllocatedFramesIter<'f>",1,["frame_allocator::AllocatedFramesIter"]],["impl<'f> Freeze for AllocatedFrame<'f>",1,["frame_allocator::AllocatedFrame"]],["impl<const S: MemoryState> Freeze for SplitFrames<S>",1,["frame_allocator::SplitFrames"]],["impl<'list> Freeze for DeferredAllocAction<'list>",1,["frame_allocator::DeferredAllocAction"]],["impl Freeze for FramesIteratorRequest",1,["frame_allocator::FramesIteratorRequest"]]], "framebuffer":[["impl Freeze for RGBPixel",1,["framebuffer::pixel::RGBPixel"]],["impl Freeze for AlphaPixel",1,["framebuffer::pixel::AlphaPixel"]],["impl<P> Freeze for Framebuffer<P>",1,["framebuffer::Framebuffer"]]], "framebuffer_compositor":[["impl Freeze for CacheBlock",1,["framebuffer_compositor::CacheBlock"]],["impl Freeze for FrameCompositor",1,["framebuffer_compositor::FrameCompositor"]]], "fs_node":[["impl Freeze for FileOrDir",1,["fs_node::FileOrDir"]]], diff --git a/doc/implementors/core/marker/trait.Send.js b/doc/implementors/core/marker/trait.Send.js index 86477a767e..efce94252a 100644 --- a/doc/implementors/core/marker/trait.Send.js +++ b/doc/implementors/core/marker/trait.Send.js @@ -35,7 +35,7 @@ "fadt":[["impl Send for Fadt",1,["fadt::Fadt"]]], "fault_crate_swap":[["impl Send for SwapRanges",1,["fault_crate_swap::SwapRanges"]]], "fault_log":[["impl Send for FaultType",1,["fault_log::FaultType"]],["impl Send for RecoveryAction",1,["fault_log::RecoveryAction"]],["impl Send for FaultEntry",1,["fault_log::FaultEntry"]]], -"frame_allocator":[["impl Send for PhysicalMemoryRegion",1,["frame_allocator::PhysicalMemoryRegion"]],["impl Send for MemoryRegionType",1,["frame_allocator::MemoryRegionType"]],["impl<const S: MemoryState> Send for Frames<S>",1,["frame_allocator::Frames"]],["impl<'f> Send for AllocatedFramesIter<'f>",1,["frame_allocator::AllocatedFramesIter"]],["impl<'f> Send for AllocatedFrame<'f>",1,["frame_allocator::AllocatedFrame"]],["impl<const S: MemoryState> Send for SplitFrames<S>",1,["frame_allocator::SplitFrames"]],["impl<'list> Send for DeferredAllocAction<'list>",1,["frame_allocator::DeferredAllocAction"]],["impl Send for FramesIteratorRequest",1,["frame_allocator::FramesIteratorRequest"]]], +"frame_allocator":[["impl Send for PhysicalMemoryRegion",1,["frame_allocator::PhysicalMemoryRegion"]],["impl Send for MemoryRegionType",1,["frame_allocator::MemoryRegionType"]],["impl<const S: MemoryState> Send for Frames<S>",1,["frame_allocator::Frames"]],["impl<'f> Send for AllocatedFramesIter<'f>",1,["frame_allocator::AllocatedFramesIter"]],["impl<'f> Send for AllocatedFrame<'f>",1,["frame_allocator::AllocatedFrame"]],["impl<const S: MemoryState> Send for SplitFrames<S>",1,["frame_allocator::SplitFrames"]],["impl<'list> Send for DeferredAllocAction<'list>",1,["frame_allocator::DeferredAllocAction"]],["impl Send for FramesIteratorRequest",1,["frame_allocator::FramesIteratorRequest"]]], "framebuffer":[["impl Send for RGBPixel",1,["framebuffer::pixel::RGBPixel"]],["impl Send for AlphaPixel",1,["framebuffer::pixel::AlphaPixel"]],["impl<P> Send for Framebuffer<P>where\n P: Send,",1,["framebuffer::Framebuffer"]]], "framebuffer_compositor":[["impl Send for CacheBlock",1,["framebuffer_compositor::CacheBlock"]],["impl Send for FrameCompositor",1,["framebuffer_compositor::FrameCompositor"]]], "fs_node":[["impl Send for FileOrDir",1,["fs_node::FileOrDir"]]], diff --git a/doc/implementors/core/marker/trait.StructuralEq.js b/doc/implementors/core/marker/trait.StructuralEq.js index 92bc84bbb0..9d18818ed7 100644 --- a/doc/implementors/core/marker/trait.StructuralEq.js +++ b/doc/implementors/core/marker/trait.StructuralEq.js @@ -5,7 +5,7 @@ "cpu":[["impl StructuralEq for CpuId"]], "crate_metadata":[["impl StructuralEq for RelocationEntry"]], "crate_swap":[["impl StructuralEq for SwapRequest"]], -"frame_allocator":[["impl<const S: MemoryState> StructuralEq for Frames<S>"],["impl StructuralEq for MemoryRegionType"],["impl StructuralEq for PhysicalMemoryRegion"]], +"frame_allocator":[["impl<const S: MemoryState> StructuralEq for Frames<S>"],["impl StructuralEq for MemoryRegionType"],["impl StructuralEq for PhysicalMemoryRegion"]], "interrupts":[["impl StructuralEq for EoiBehaviour"]], "keycodes_ascii":[["impl StructuralEq for KeyboardModifiers"]], "memory_structs":[["impl StructuralEq for Page2M"],["impl<P: PageSize> StructuralEq for PageRange<P>"],["impl StructuralEq for Page4K"],["impl StructuralEq for MemoryState"],["impl StructuralEq for VirtualAddress"],["impl StructuralEq for Page1G"],["impl<P: PageSize> StructuralEq for Page<P>"],["impl<P: PageSize> StructuralEq for FrameRange<P>"],["impl<P: PageSize> StructuralEq for Frame<P>"],["impl StructuralEq for PhysicalAddress"]], diff --git a/doc/implementors/core/marker/trait.Sync.js b/doc/implementors/core/marker/trait.Sync.js index a8008af915..ac628e8301 100644 --- a/doc/implementors/core/marker/trait.Sync.js +++ b/doc/implementors/core/marker/trait.Sync.js @@ -35,7 +35,7 @@ "fadt":[["impl Sync for Fadt",1,["fadt::Fadt"]]], "fault_crate_swap":[["impl Sync for SwapRanges",1,["fault_crate_swap::SwapRanges"]]], "fault_log":[["impl Sync for FaultType",1,["fault_log::FaultType"]],["impl Sync for RecoveryAction",1,["fault_log::RecoveryAction"]],["impl Sync for FaultEntry",1,["fault_log::FaultEntry"]]], -"frame_allocator":[["impl Sync for PhysicalMemoryRegion",1,["frame_allocator::PhysicalMemoryRegion"]],["impl Sync for MemoryRegionType",1,["frame_allocator::MemoryRegionType"]],["impl<const S: MemoryState> Sync for Frames<S>",1,["frame_allocator::Frames"]],["impl<'f> Sync for AllocatedFramesIter<'f>",1,["frame_allocator::AllocatedFramesIter"]],["impl<'f> Sync for AllocatedFrame<'f>",1,["frame_allocator::AllocatedFrame"]],["impl<const S: MemoryState> Sync for SplitFrames<S>",1,["frame_allocator::SplitFrames"]],["impl<'list> Sync for DeferredAllocAction<'list>",1,["frame_allocator::DeferredAllocAction"]],["impl Sync for FramesIteratorRequest",1,["frame_allocator::FramesIteratorRequest"]]], +"frame_allocator":[["impl Sync for PhysicalMemoryRegion",1,["frame_allocator::PhysicalMemoryRegion"]],["impl Sync for MemoryRegionType",1,["frame_allocator::MemoryRegionType"]],["impl<const S: MemoryState> Sync for Frames<S>",1,["frame_allocator::Frames"]],["impl<'f> Sync for AllocatedFramesIter<'f>",1,["frame_allocator::AllocatedFramesIter"]],["impl<'f> Sync for AllocatedFrame<'f>",1,["frame_allocator::AllocatedFrame"]],["impl<const S: MemoryState> Sync for SplitFrames<S>",1,["frame_allocator::SplitFrames"]],["impl<'list> Sync for DeferredAllocAction<'list>",1,["frame_allocator::DeferredAllocAction"]],["impl Sync for FramesIteratorRequest",1,["frame_allocator::FramesIteratorRequest"]]], "framebuffer":[["impl Sync for RGBPixel",1,["framebuffer::pixel::RGBPixel"]],["impl Sync for AlphaPixel",1,["framebuffer::pixel::AlphaPixel"]],["impl<P> Sync for Framebuffer<P>where\n P: Sync,",1,["framebuffer::Framebuffer"]]], "framebuffer_compositor":[["impl Sync for CacheBlock",1,["framebuffer_compositor::CacheBlock"]],["impl Sync for FrameCompositor",1,["framebuffer_compositor::FrameCompositor"]]], "fs_node":[["impl Sync for FileOrDir",1,["fs_node::FileOrDir"]]], diff --git a/doc/implementors/core/marker/trait.Unpin.js b/doc/implementors/core/marker/trait.Unpin.js index adfed02a12..3c200301b4 100644 --- a/doc/implementors/core/marker/trait.Unpin.js +++ b/doc/implementors/core/marker/trait.Unpin.js @@ -35,7 +35,7 @@ "fadt":[["impl Unpin for Fadt",1,["fadt::Fadt"]]], "fault_crate_swap":[["impl Unpin for SwapRanges",1,["fault_crate_swap::SwapRanges"]]], "fault_log":[["impl Unpin for FaultType",1,["fault_log::FaultType"]],["impl Unpin for RecoveryAction",1,["fault_log::RecoveryAction"]],["impl Unpin for FaultEntry",1,["fault_log::FaultEntry"]]], -"frame_allocator":[["impl Unpin for PhysicalMemoryRegion",1,["frame_allocator::PhysicalMemoryRegion"]],["impl Unpin for MemoryRegionType",1,["frame_allocator::MemoryRegionType"]],["impl<const S: MemoryState> Unpin for Frames<S>",1,["frame_allocator::Frames"]],["impl<'f> Unpin for AllocatedFramesIter<'f>",1,["frame_allocator::AllocatedFramesIter"]],["impl<'f> Unpin for AllocatedFrame<'f>",1,["frame_allocator::AllocatedFrame"]],["impl<const S: MemoryState> Unpin for SplitFrames<S>",1,["frame_allocator::SplitFrames"]],["impl<'list> Unpin for DeferredAllocAction<'list>",1,["frame_allocator::DeferredAllocAction"]],["impl Unpin for FramesIteratorRequest",1,["frame_allocator::FramesIteratorRequest"]]], +"frame_allocator":[["impl Unpin for PhysicalMemoryRegion",1,["frame_allocator::PhysicalMemoryRegion"]],["impl Unpin for MemoryRegionType",1,["frame_allocator::MemoryRegionType"]],["impl<const S: MemoryState> Unpin for Frames<S>",1,["frame_allocator::Frames"]],["impl<'f> Unpin for AllocatedFramesIter<'f>",1,["frame_allocator::AllocatedFramesIter"]],["impl<'f> Unpin for AllocatedFrame<'f>",1,["frame_allocator::AllocatedFrame"]],["impl<const S: MemoryState> Unpin for SplitFrames<S>",1,["frame_allocator::SplitFrames"]],["impl<'list> Unpin for DeferredAllocAction<'list>",1,["frame_allocator::DeferredAllocAction"]],["impl Unpin for FramesIteratorRequest",1,["frame_allocator::FramesIteratorRequest"]]], "framebuffer":[["impl Unpin for RGBPixel",1,["framebuffer::pixel::RGBPixel"]],["impl Unpin for AlphaPixel",1,["framebuffer::pixel::AlphaPixel"]],["impl<P> Unpin for Framebuffer<P>where\n P: Unpin,",1,["framebuffer::Framebuffer"]]], "framebuffer_compositor":[["impl Unpin for CacheBlock",1,["framebuffer_compositor::CacheBlock"]],["impl Unpin for FrameCompositor",1,["framebuffer_compositor::FrameCompositor"]]], "fs_node":[["impl Unpin for FileOrDir",1,["fs_node::FileOrDir"]]], diff --git a/doc/implementors/core/ops/deref/trait.Deref.js b/doc/implementors/core/ops/deref/trait.Deref.js index 010889a771..bd617a7bb3 100644 --- a/doc/implementors/core/ops/deref/trait.Deref.js +++ b/doc/implementors/core/ops/deref/trait.Deref.js @@ -1,7 +1,7 @@ (function() {var implementors = { "dereffer":[["impl<Inner, Ref: ?Sized> Deref for DerefsToMut<Inner, Ref>"],["impl<Inner, Ref: ?Sized> Deref for DerefsTo<Inner, Ref>"]], "dfqueue":[["impl<T> Deref for PeekedData<T>"],["impl<T> Deref for QueuedData<T>"]], -"frame_allocator":[["impl Deref for PhysicalMemoryRegion"],["impl<const S: MemoryState> Deref for Frames<S>"],["impl<'f> Deref for AllocatedFrame<'f>"]], +"frame_allocator":[["impl Deref for PhysicalMemoryRegion"],["impl<const S: MemoryState> Deref for Frames<S>"],["impl<'f> Deref for AllocatedFrame<'f>"]], "io":[["impl<'io, IO, L, B> Deref for LockableIo<'io, IO, L, B>where\n IO: 'io + ?Sized,\n L: for<'a> Lockable<'a, IO> + ?Sized,\n B: Borrow<L>,"],["impl<IO> Deref for ReaderWriter<IO>"]], "irq_safety":[["impl<'a, T: ?Sized> Deref for MutexIrqSafeGuard<'a, T>"],["impl<'rwlock, T: ?Sized> Deref for RwLockIrqSafeReadGuard<'rwlock, T>"],["impl<'rwlock, T: ?Sized> Deref for RwLockIrqSafeWriteGuard<'rwlock, T>"]], "memory":[["impl Deref for MappedPages"],["impl<T: FromBytes, M: Mutability, B: Borrow<MappedPages>> Deref for BorrowedSliceMappedPages<T, M, B>"],["impl Deref for PageTable"],["impl<T: FromBytes, M: Mutability, B: Borrow<MappedPages>> Deref for BorrowedMappedPages<T, M, B>"]], diff --git a/doc/implementors/core/ops/drop/trait.Drop.js b/doc/implementors/core/ops/drop/trait.Drop.js index 0426159a1a..46451fe38e 100644 --- a/doc/implementors/core/ops/drop/trait.Drop.js +++ b/doc/implementors/core/ops/drop/trait.Drop.js @@ -4,7 +4,7 @@ "atomic_linked_list":[["impl<K, V> Drop for AtomicMap<K, V>where\n K: PartialEq,"]], "crate_metadata":[["impl Drop for LoadedCrate"]], "dfqueue":[["impl<T> Drop for MpscQueue<T>"]], -"frame_allocator":[["impl<const S: MemoryState> Drop for Frames<S>"],["impl<'list> Drop for DeferredAllocAction<'list>"]], +"frame_allocator":[["impl<const S: MemoryState> Drop for Frames<S>"],["impl<'list> Drop for DeferredAllocAction<'list>"]], "irq_safety":[["impl Drop for HeldInterrupts"]], "memory":[["impl Drop for MappedPages"]], "mod_mgmt":[["impl Drop for AppCrateRef"]], diff --git a/doc/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/doc/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js index 4f0dbc2934..ef4d20eb58 100644 --- a/doc/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/doc/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -35,7 +35,7 @@ "fadt":[["impl RefUnwindSafe for Fadt",1,["fadt::Fadt"]]], "fault_crate_swap":[["impl RefUnwindSafe for SwapRanges",1,["fault_crate_swap::SwapRanges"]]], "fault_log":[["impl RefUnwindSafe for FaultType",1,["fault_log::FaultType"]],["impl RefUnwindSafe for RecoveryAction",1,["fault_log::RecoveryAction"]],["impl RefUnwindSafe for FaultEntry",1,["fault_log::FaultEntry"]]], -"frame_allocator":[["impl RefUnwindSafe for PhysicalMemoryRegion",1,["frame_allocator::PhysicalMemoryRegion"]],["impl RefUnwindSafe for MemoryRegionType",1,["frame_allocator::MemoryRegionType"]],["impl<const S: MemoryState> RefUnwindSafe for Frames<S>",1,["frame_allocator::Frames"]],["impl<'f> RefUnwindSafe for AllocatedFramesIter<'f>",1,["frame_allocator::AllocatedFramesIter"]],["impl<'f> RefUnwindSafe for AllocatedFrame<'f>",1,["frame_allocator::AllocatedFrame"]],["impl<const S: MemoryState> RefUnwindSafe for SplitFrames<S>",1,["frame_allocator::SplitFrames"]],["impl<'list> !RefUnwindSafe for DeferredAllocAction<'list>",1,["frame_allocator::DeferredAllocAction"]],["impl RefUnwindSafe for FramesIteratorRequest",1,["frame_allocator::FramesIteratorRequest"]]], +"frame_allocator":[["impl RefUnwindSafe for PhysicalMemoryRegion",1,["frame_allocator::PhysicalMemoryRegion"]],["impl RefUnwindSafe for MemoryRegionType",1,["frame_allocator::MemoryRegionType"]],["impl<const S: MemoryState> RefUnwindSafe for Frames<S>",1,["frame_allocator::Frames"]],["impl<'f> RefUnwindSafe for AllocatedFramesIter<'f>",1,["frame_allocator::AllocatedFramesIter"]],["impl<'f> RefUnwindSafe for AllocatedFrame<'f>",1,["frame_allocator::AllocatedFrame"]],["impl<const S: MemoryState> RefUnwindSafe for SplitFrames<S>",1,["frame_allocator::SplitFrames"]],["impl<'list> !RefUnwindSafe for DeferredAllocAction<'list>",1,["frame_allocator::DeferredAllocAction"]],["impl RefUnwindSafe for FramesIteratorRequest",1,["frame_allocator::FramesIteratorRequest"]]], "framebuffer":[["impl RefUnwindSafe for RGBPixel",1,["framebuffer::pixel::RGBPixel"]],["impl RefUnwindSafe for AlphaPixel",1,["framebuffer::pixel::AlphaPixel"]],["impl<P> RefUnwindSafe for Framebuffer<P>where\n P: RefUnwindSafe,",1,["framebuffer::Framebuffer"]]], "framebuffer_compositor":[["impl RefUnwindSafe for CacheBlock",1,["framebuffer_compositor::CacheBlock"]],["impl RefUnwindSafe for FrameCompositor",1,["framebuffer_compositor::FrameCompositor"]]], "fs_node":[["impl !RefUnwindSafe for FileOrDir",1,["fs_node::FileOrDir"]]], diff --git a/doc/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/doc/implementors/core/panic/unwind_safe/trait.UnwindSafe.js index 3f29e45ae3..3171ba119f 100644 --- a/doc/implementors/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/doc/implementors/core/panic/unwind_safe/trait.UnwindSafe.js @@ -35,7 +35,7 @@ "fadt":[["impl UnwindSafe for Fadt",1,["fadt::Fadt"]]], "fault_crate_swap":[["impl UnwindSafe for SwapRanges",1,["fault_crate_swap::SwapRanges"]]], "fault_log":[["impl UnwindSafe for FaultType",1,["fault_log::FaultType"]],["impl UnwindSafe for RecoveryAction",1,["fault_log::RecoveryAction"]],["impl UnwindSafe for FaultEntry",1,["fault_log::FaultEntry"]]], -"frame_allocator":[["impl UnwindSafe for PhysicalMemoryRegion",1,["frame_allocator::PhysicalMemoryRegion"]],["impl UnwindSafe for MemoryRegionType",1,["frame_allocator::MemoryRegionType"]],["impl<const S: MemoryState> UnwindSafe for Frames<S>",1,["frame_allocator::Frames"]],["impl<'f> UnwindSafe for AllocatedFramesIter<'f>",1,["frame_allocator::AllocatedFramesIter"]],["impl<'f> UnwindSafe for AllocatedFrame<'f>",1,["frame_allocator::AllocatedFrame"]],["impl<const S: MemoryState> UnwindSafe for SplitFrames<S>",1,["frame_allocator::SplitFrames"]],["impl<'list> !UnwindSafe for DeferredAllocAction<'list>",1,["frame_allocator::DeferredAllocAction"]],["impl UnwindSafe for FramesIteratorRequest",1,["frame_allocator::FramesIteratorRequest"]]], +"frame_allocator":[["impl UnwindSafe for PhysicalMemoryRegion",1,["frame_allocator::PhysicalMemoryRegion"]],["impl UnwindSafe for MemoryRegionType",1,["frame_allocator::MemoryRegionType"]],["impl<const S: MemoryState> UnwindSafe for Frames<S>",1,["frame_allocator::Frames"]],["impl<'f> UnwindSafe for AllocatedFramesIter<'f>",1,["frame_allocator::AllocatedFramesIter"]],["impl<'f> UnwindSafe for AllocatedFrame<'f>",1,["frame_allocator::AllocatedFrame"]],["impl<const S: MemoryState> UnwindSafe for SplitFrames<S>",1,["frame_allocator::SplitFrames"]],["impl<'list> !UnwindSafe for DeferredAllocAction<'list>",1,["frame_allocator::DeferredAllocAction"]],["impl UnwindSafe for FramesIteratorRequest",1,["frame_allocator::FramesIteratorRequest"]]], "framebuffer":[["impl UnwindSafe for RGBPixel",1,["framebuffer::pixel::RGBPixel"]],["impl UnwindSafe for AlphaPixel",1,["framebuffer::pixel::AlphaPixel"]],["impl<P> UnwindSafe for Framebuffer<P>where\n P: UnwindSafe,",1,["framebuffer::Framebuffer"]]], "framebuffer_compositor":[["impl UnwindSafe for CacheBlock",1,["framebuffer_compositor::CacheBlock"]],["impl UnwindSafe for FrameCompositor",1,["framebuffer_compositor::FrameCompositor"]]], "fs_node":[["impl !UnwindSafe for FileOrDir",1,["fs_node::FileOrDir"]]], diff --git a/doc/search-index.js b/doc/search-index.js index 9bd2d4229e..265dedc6a6 100644 --- a/doc/search-index.js +++ b/doc/search-index.js @@ -27,7 +27,7 @@ var searchIndex = JSON.parse('{\ "context_switch_regular":{"doc":"","t":"DLLFLLLFOOOOLOOLLL","n":["ContextRegular","borrow","borrow_mut","context_switch_regular","from","into","new","read_first_register","restore_registers_regular","restore_registers_regular","save_registers_regular","save_registers_regular","set_first_register","switch_stacks","switch_stacks","try_from","try_into","type_id"],"q":[[0,"context_switch_regular"]],"d":["The registers saved before a context switch and restored …","","","Switches context from a regular Task to another regular …","Returns the argument unchanged.","Calls U::from(self).","Creates a new ContextRegular struct that will cause the …","Reads the value of the first register from the actual CPU …","An assembly block for restoring regular x86_64 registers …","An assembly block for restoring regular x86_64 registers …","An assembly block for saving regular x86_64 registers by …","An assembly block for saving regular x86_64 registers by …","Sets the value of the first register to the given value.","An assembly block for switching stacks, which is the …","An assembly block for switching stacks, which is the …","","",""],"i":[0,2,2,0,2,2,2,0,0,0,0,0,2,0,0,2,2,2],"f":[0,[[]],[[]],[[1,1]],[[]],[[]],[1,2],[[],1],0,0,0,0,[[2,1]],0,0,[[],3],[[],3],[[],4]],"c":[],"p":[[15,"usize"],[3,"ContextRegular"],[4,"Result"],[3,"TypeId"]]},\ "context_switch_sse":{"doc":"This crate contains structures and routines for context …","t":"DLLFLLLFOOLLLL","n":["ContextSSE","borrow","borrow_mut","context_switch_sse","from","into","new","read_first_register","restore_registers_sse","save_registers_sse","set_first_register","try_from","try_into","type_id"],"q":[[0,"context_switch_sse"]],"d":["The registers saved before a context switch and restored …","","","Switches context from an SSE Task to another SSE Task.","Returns the argument unchanged.","Calls U::from(self).","Creates a new ContextSSE struct that will cause the …","Reads the value of the first register from the actual CPU …","An assembly block for restoring SSE registers by popping …","An assembly block for saving SSE registers by pushing them …","Sets the value of the first regular (non-SSE) register to …","","",""],"i":[0,2,2,0,2,2,2,0,0,0,2,2,2,2],"f":[0,[[]],[[]],[[1,1]],[[]],[[]],[1,2],[[],1],0,0,[[2,1]],[[],3],[[],3],[[],4]],"c":[],"p":[[15,"usize"],[3,"ContextSSE"],[4,"Result"],[3,"TypeId"]]},\ "cow_arc":{"doc":"","t":"DDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL","n":["CowArc","CowWeak","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_shallow","downgrade","fmt","fmt","from","from","into","into","is_shared","lock_as_mut","lock_as_ref","new","ptr_eq","to_owned","to_owned","try_from","try_from","try_into","try_into","try_lock_as_ref","type_id","type_id","upgrade"],"q":[[0,"cow_arc"]],"d":["A special form of an Arc reference that uses two nested Arc…","A weak reference to a CowArc, just like a Weak is to an Arc…","","","","","Creates a shared reference to this CowArc and returns …","","","","Creates a shallow clone of this CowArc that does not …","Downgrades this CowArc into a CowWeak weak reference.","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Returns true if this CowArc is in the Shared state, and …","This acquires the lock on the inner Mutex wrapping the …","This acquires the lock on the inner Mutex wrapping the …","Crates a new CowArc that wraps the given data. The new …","Returns true if the two CowArcs point to the same value …","","","","","","","This attempts to acquire the lock on the inner Mutex …","","","Just like Weak::upgrade(), attempts to upgrade this CowWeak"],"i":[0,0,1,2,1,2,1,2,1,2,1,1,1,2,1,2,1,2,1,1,1,1,1,1,2,1,2,1,2,1,1,2,2],"f":[0,0,[[]],[[]],[[]],[[]],[1,1],[2,2],[[]],[[]],[1,1],[1,2],[[[1,[3]],4],5],[[[2,[3]],4],5],[[]],[[]],[[]],[[]],[1,6],[1,[[9,[[8,[7]]]]]],[1,[[10,[7]]]],[[],1],[[1,1],6],[[]],[[]],[[],11],[[],11],[[],11],[[],11],[1,[[9,[[10,[7]]]]]],[[],12],[[],12],[2,[[9,[1]]]]],"c":[],"p":[[3,"CowArc"],[3,"CowWeak"],[8,"Debug"],[3,"Formatter"],[6,"Result"],[15,"bool"],[3,"MutexGuard"],[3,"DerefsToMut"],[4,"Option"],[3,"DerefsTo"],[4,"Result"],[3,"TypeId"]]},\ -"cpu":{"doc":"An abstraction for querying about CPUs (cores) in an SMP …","t":"DDFLLLLLLLLLFFLLLLLLLLLLLLLLLLFLLLLLLLLLLLL","n":["CpuId","OptionalCpuId","bootstrap_cpu","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","cpu_count","current_cpu","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","hash","into","into","into_u8","is_bootstrap_cpu","partial_cmp","to_owned","to_owned","to_string","try_from","try_from","try_from","try_into","try_into","type_id","type_id","value"],"q":[[0,"cpu"]],"d":["A unique identifier for a CPU core.","A wrapper around Option<CpuId> with a forced type …","Returns the ID of the bootstrap CPU (if known), which is …","","","","","","","","","","Returns the number of CPUs (SMP cores) that exist and are …","Returns the ID of the currently executing CPU.","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","A temporary function (will be removed later) that converts …","Returns true if the currently executing CPU is the …","","","","","","","","","","","","Returns the inner raw value of this CpuId."],"i":[0,0,0,3,1,3,1,3,1,3,1,1,0,0,1,3,1,1,1,1,1,1,3,3,1,1,1,3,1,1,0,1,3,1,1,3,1,1,3,1,3,1,1],"f":[0,0,[[],[[2,[1]]]],[[]],[[]],[[]],[[]],[3,3],[1,1],[[]],[[]],[[1,1],4],[[],5],[[],1],[[1,1],6],[[3,7],8],[[1,7],8],[[1,7],8],[[1,7],8],[[1,7],8],[[1,7],8],[[1,7],8],[[]],[[[2,[1]]],3],[[]],[9,1],[[1,10]],[[]],[[]],[1,11],[[],6],[[1,1],[[2,[4]]]],[[]],[[]],[[],12],[[],13],[5,[[13,[1]]]],[[],13],[[],13],[[],13],[[],14],[[],14],[1,5]],"c":[],"p":[[3,"CpuId"],[4,"Option"],[3,"OptionalCpuId"],[4,"Ordering"],[15,"u32"],[15,"bool"],[3,"Formatter"],[6,"Result"],[3,"ApicId"],[8,"Hasher"],[15,"u8"],[3,"String"],[4,"Result"],[3,"TypeId"]]},\ +"cpu":{"doc":"An abstraction for querying about CPUs (cores) in an SMP …","t":"DDFLLLLLLLLLFFFLLLLLLLLLLLLLLLLFLLLLLLLLLLLL","n":["CpuId","OptionalCpuId","bootstrap_cpu","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","cpu_count","cpus","current_cpu","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","hash","into","into","into_u8","is_bootstrap_cpu","partial_cmp","to_owned","to_owned","to_string","try_from","try_from","try_from","try_into","try_into","type_id","type_id","value"],"q":[[0,"cpu"]],"d":["A unique identifier for a CPU core.","A wrapper around Option<CpuId> with a forced type …","Returns the ID of the bootstrap CPU (if known), which is …","","","","","","","","","","Returns the number of CPUs (SMP cores) that exist and are …","","Returns the ID of the currently executing CPU.","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","A temporary function (will be removed later) that converts …","Returns true if the currently executing CPU is the …","","","","","","","","","","","","Returns the inner raw value of this CpuId."],"i":[0,0,0,3,1,3,1,3,1,3,1,1,0,0,0,1,3,1,1,1,1,1,1,3,3,1,1,1,3,1,1,0,1,3,1,1,3,1,1,3,1,3,1,1],"f":[0,0,[[],[[2,[1]]]],[[]],[[]],[[]],[[]],[3,3],[1,1],[[]],[[]],[[1,1],4],[[],5],[[],6],[[],1],[[1,1],7],[[3,8],9],[[1,8],9],[[1,8],9],[[1,8],9],[[1,8],9],[[1,8],9],[[1,8],9],[[[2,[1]]],3],[[]],[[]],[10,1],[[1,11]],[[]],[[]],[1,12],[[],7],[[1,1],[[2,[4]]]],[[]],[[]],[[],13],[[],14],[[],14],[5,[[14,[1]]]],[[],14],[[],14],[[],15],[[],15],[1,5]],"c":[],"p":[[3,"CpuId"],[4,"Option"],[3,"OptionalCpuId"],[4,"Ordering"],[15,"u32"],[8,"Iterator"],[15,"bool"],[3,"Formatter"],[6,"Result"],[3,"ApicId"],[8,"Hasher"],[15,"u8"],[3,"String"],[4,"Result"],[3,"TypeId"]]},\ "crate_metadata":{"doc":"Defines types that contain metadata about crates loaded in …","t":"NRNRNERRNRNNRNNDDDRRRDNREGDGDGRRRRNNNNGDGMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLMLLLLMMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLMLLLLLLLLLLLLMMLMLLMMMLMMMMMMFLMMMLMMMLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLMLF","n":["Application","BSS_SECTION_NAME","Bss","CRATE_HASH_DELIMITER","Cls","CrateType","DATA_BSS_SECTION_FLAGS","DATA_SECTION_NAME","Data","EH_FRAME_SECTION_NAME","EhFrame","Executable","GCC_EXCEPT_TABLE_SECTION_NAME","GccExceptTable","Kernel","LoadedCrate","LoadedSection","LoadedSectionInner","MODULE_PREFIX_DELIMITER","RODATA_SECTION_FLAGS","RODATA_SECTION_NAME","RelocationEntry","Rodata","SECTION_HASH_DELIMITER","SectionType","Shndx","StrRef","StrongCrateRef","StrongDependency","StrongSectionRef","TEXT_SECTION_FLAGS","TEXT_SECTION_NAME","TLS_BSS_SECTION_NAME","TLS_DATA_SECTION_NAME","Text","TlsBss","TlsData","Userspace","WeakCrateRef","WeakDependent","WeakSectionRef","addend","as_func","as_ref","as_str","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cls_sections","cmp","copy_section_data_to","crate_name","crate_name_as_prefix","crate_name_without_hash","crates_dependent_on_me","crates_i_depend_on","data_pages","data_sections","data_sections_iter","debug_symbols_file","default","default_namespace_name","deref","deserialize","drop","eq","eq","eq","eq","find_section","find_weak_dependent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from_elf_relocation","from_module_name","get_function_section","get_hash","global","global_sections","global_sections_iter","hash","inner","into","into","into","into","into","into","into","into","into","is_absolute","is_data_or_bss","is_tls","mapped_pages","mapped_pages_offset","name","name","name_without_hash","new","object_file","offset","parent_crate","partial_cmp","reexported_symbols","relocation","relocation","rodata_pages","section","section","section_name_str_ref","section_name_without_hash","sections","sections_dependent_on_me","sections_i_depend_on","serialize","size","text_pages","tls_sections","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","typ","typ","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","virt_addr","with_dependencies","write_relocation"],"q":[[0,"crate_metadata"]],"d":["","","A bss section is just like a data section, but is …","A crate’s name and its hash are separated by “-”, …","A .cls section is a read-only section that holds the …","The type of a crate, based on its object file naming …",".data and .bss sections are read-write and non-executable.","","A data section contains data that is both readable and …","","The .eh_frame section contains information about stack …","","","A .gcc_except_table section contains landing pads for …","","Represents a single crate whose object file has been …","Represents a section that has been loaded and is part of a …","The parts of a LoadedSection that may be mutable, i.e., …","The Theseus Makefile appends prefixes onto bootloader …",".rodata sections are read-only and non-executable.","","The information necessary to calculate and write a …","An rodata section contains read-only data, i.e., constants.","A section’s demangled name and its hash are separated by …","The possible types of sections that can be loaded from a …","A Section Header iNDeX (SHNDX), as specified by the ELF …","A wrapper around an Arc<str>: an immutable shared …","A Strong reference to a LoadedCrate.","A representation that the owner A of (a LoadedSection …","A Strong reference (Arc) to a LoadedSection.",".text sections are read-only and executable.","","","","A text section contains executable code, i.e., functions. ","A .tbss section is a read-only section that holds all-zero …","A .tdata section is a read-only section that holds the …","","A Weak reference to a LoadedCrate.","A representation that the section A in this struct depends …","A Weak reference (Weak) to a LoadedSection.","The value that is added to the source section’s address …","Reinterprets this section’s underlying MappedPages …","","Obtain a reference to the inner str.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The set of CPU-local storage (CLS) symbols in this crate.","","Copies the actual data contents of this LoadedSection to …","The name of this crate.","Returns this crate name as a symbol prefix, including a …","Returns the substring of this crate’s name that excludes …","Currently may contain duplicates!","Returns the set of crates that this crate depends on. …","A tuple of:","The set of .data and .bss sections in this crate. The Shndx…","A convenience function to iterate over only the data …","The file that contains debug symbols for this crate. …","","Returns the string suffix for use as the name of the …","","","","","","","","Returns the first LoadedSection that matches the given …","Returns the index of the first WeakDependent object in …","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns a tuple of (CrateType, &str, &str) based on the …","Returns the LoadedSection of type SectionType::Text that …","","Whether or not this section’s symbol was exported …","The set of global symbols in this crate, including regular …","A convenience function to iterate over only the global …","","The inner contents of a section that could possibly change …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if the relocation type results in a …","Returns true if Data or Bss, otherwise false.","Returns true if TlsData or TlsBss, otherwise false.","The MappedPages that cover this section.","The offset into the mapped_pages where this section starts","Returns the const &str name of this SectionType.","The full string name of this section, a fully-qualified …","Returns the substring of this section’s name that …","Create a new LoadedSection, with an empty dependencies …","The object file that this crate was loaded from.","The offset from the starting virtual address of the target …","The LoadedCrate object that contains/owns this section","","The set of symbols that this crate’s global symbols are …","The details of the relocation action that was performed.","The details of the relocation action that was performed.","A tuple of:","A strong reference to the LoadedSection B that the owner …","A weak reference to the LoadedSection A that depends on …","Returns the default name for the given SectionType as a …","Returns the substring of the given section’s name that …","A map containing all the sections in this crate. In …","The list of sections in foreign crates that depend on this …","The list of sections in foreign crates that this section …","","The size in bytes of this section.","A tuple of:","The set of thread-local storage (TLS) symbols in this …","","","","","","","","","","","","","","","","","","","","","","","","","","The type of this section, e.g., .text, .rodata, .data, .bss…","The type of relocation calculation that is performed to …","","","","","","","","","","The starting VirtualAddress of this section (except for …","Same as [new()](#method.new), but uses the given …","Actually write the value of a relocation entry."],"i":[18,0,7,0,7,0,0,0,7,0,7,18,0,7,18,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,7,7,18,0,0,0,10,1,4,4,4,4,4,12,1,18,17,7,8,9,10,4,12,1,18,17,7,8,9,10,4,7,8,9,10,4,7,8,9,10,12,4,1,12,12,12,12,12,12,12,12,12,17,18,4,7,12,4,18,7,10,12,1,4,4,12,1,1,18,7,8,9,10,4,4,12,1,18,17,7,8,9,10,10,18,12,4,1,12,12,4,1,4,12,1,18,17,7,8,9,10,10,7,7,1,1,7,1,1,1,12,10,1,4,12,8,9,12,8,9,0,1,12,17,17,7,1,12,12,4,7,8,9,10,4,1,4,12,1,18,17,7,8,9,10,4,12,1,18,17,7,8,9,10,1,10,4,12,1,18,17,7,8,9,10,1,1,0],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1,[[3,[2]]]],[4,2],[4,2],[[]],[4,2],[4,[[6,[5]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[4,4],[7,7],[8,8],[9,9],[10,10],[[]],[[]],[[]],[[]],[[]],0,[[4,4],11],[[1,1],[[3,[2]]]],0,[12,13],[12,2],[12,[[15,[14]]]],[12,[[15,[14]]]],0,0,[12,16],0,[[],17],[18,2],[4],[19,[[3,[7]]]],[12],[[4,4],20],[[18,18],20],[[7,7],20],[[10,10],20],[[12,21],[[23,[22]]]],[[1,22],[[23,[24]]]],[[4,25],[[3,[26]]]],[[4,25],[[3,[26]]]],[[12,25],27],[[1,25],27],[[1,25],27],[[18,25],27],[[7,25],[[3,[26]]]],[[8,25],27],[[9,25],27],[[10,25],27],[[]],[2,4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[29,[28]]],10],[2,[[3,[2]]]],[[12,2],[[23,[22]]]],[[[0,[30,31]],32],28],0,0,[12,16],[[4,33]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[10,20],[7,20],[7,20],0,0,[7,2],0,[1,2],[[7,4,[36,[[35,[34]]]],24,37,24,20,14],1],0,0,0,[[4,4],[[23,[11]]]],0,0,0,0,0,0,[7,4],[2,2],0,0,0,[[7,38],3],0,0,0,[[]],[[]],[[]],[[]],[[]],[[],13],[[],13],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],0,0,[[],39],[[],39],[[],39],[[],39],[[],39],[[],39],[[],39],[[],39],[[],39],0,[[7,4,[36,[[35,[34]]]],24,37,24,20,14,[15,[8]],[15,[9]]],1],[[10,[6,[5]],24,37,20],[[3,[2]]]]],"c":[],"p":[[3,"LoadedSection"],[15,"str"],[4,"Result"],[3,"StrRef"],[15,"u8"],[15,"slice"],[4,"SectionType"],[3,"StrongDependency"],[3,"WeakDependent"],[3,"RelocationEntry"],[4,"Ordering"],[3,"LoadedCrate"],[3,"String"],[6,"WeakCrateRef"],[3,"Vec"],[8,"Iterator"],[3,"LoadedSectionInner"],[4,"CrateType"],[8,"Deserializer"],[15,"bool"],[8,"Fn"],[6,"StrongSectionRef"],[4,"Option"],[15,"usize"],[3,"Formatter"],[3,"Error"],[6,"Result"],[15,"u64"],[3,"Rela"],[8,"Hash"],[8,"Sized"],[8,"BuildHasher"],[8,"Hasher"],[3,"MappedPages"],[6,"Mutex"],[3,"Arc"],[3,"VirtualAddress"],[8,"Serializer"],[3,"TypeId"]]},\ "crate_metadata_serde":{"doc":"Standalone crate containing (de)serializable types for …","t":"RNRRRNRNRNRNRNEDDGRRRNNNLLLLLLLLMMMLLLLLLLLLLMMMLLLLLLMMMLLLMMLLLLLLLMLLLM","n":["BSS_SECTION_NAME","Bss","CLS_SECTION_FLAG","CLS_SECTION_NAME","CLS_SYMBOL_TYPE","Cls","DATA_SECTION_NAME","Data","EH_FRAME_SECTION_NAME","EhFrame","GCC_EXCEPT_TABLE_SECTION_NAME","GccExceptTable","RODATA_SECTION_NAME","Rodata","SectionType","SerializedCrate","SerializedSection","Shndx","TEXT_SECTION_NAME","TLS_BSS_SECTION_NAME","TLS_DATA_SECTION_NAME","Text","TlsBss","TlsData","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","cls_sections","crate_name","data_sections","deserialize","deserialize","deserialize","eq","fmt","fmt","fmt","from","from","from","global","global_sections","init_symbols","into","into","into","is_data_or_bss","is_tls","name","name","offset","sections","serialize","serialize","serialize","size","tls_sections","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","ty","type_id","type_id","type_id","virtual_address"],"q":[[0,"crate_metadata_serde"]],"d":["","A bss section is just like a data section, but is …","The flag identifying CLS sections.","","The type identifying CLS symbols.","A .cls section is a read-only section that holds the …","","A data section contains data that is both readable and …","","The .eh_frame section contains information about stack …","","A .gcc_except_table section contains landing pads for …","","An rodata section contains read-only data, i.e., constants.","The possible types of sections that can be loaded from a …","A (de)serializable representation of a loaded crate that …","A (de)serializable representation of a loaded section that …","A Section Header iNDeX (SHNDX), as specified by the ELF …","","","","A text section contains executable code, i.e., functions. ","A .tbss section is a read-only section that holds all-zero …","A .tdata section is a read-only section that holds the …","","","","","","","","","The CLS section of the crate.","The name of the crate.","A set containing the .data and .bss sections of the crate.","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Whether or not the section is global.","A set containing the global sections of the crate.","A map of symbol names to their constant values, which …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if Data or Bss, otherwise false.","Returns true if TlsData or TlsBss, otherwise false.","Returns the const &str name of this SectionType.","The full name of the section.","The offset into this section’s containing MappedPages …","A map containing all the sections of the crate.","","","","The size of the section.","A set containing the thread-local storage (TLS) sections …","","","","","","","","The type of the section.","","","","The starting virtual address of the range covered by this …"],"i":[0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,1,1,1,3,5,1,3,5,1,1,1,3,3,3,3,5,1,1,3,5,1,3,5,1,5,3,3,3,5,1,1,1,1,5,5,3,3,5,1,5,3,1,3,5,1,3,5,1,5,3,5,1,5],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[1,1],[[]],0,0,0,[2,[[4,[3]]]],[2,[[4,[5]]]],[2,[[4,[1]]]],[[1,1],6],[[3,7],8],[[5,7],8],[[1,7],8],[[]],[[]],[[]],0,0,0,[[]],[[]],[[]],[1,6],[1,6],[1,9],0,0,0,[[3,10],4],[[5,10],4],[[1,10],4],0,0,[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],0,[[],11],[[],11],[[],11],0],"c":[],"p":[[4,"SectionType"],[8,"Deserializer"],[3,"SerializedCrate"],[4,"Result"],[3,"SerializedSection"],[15,"bool"],[3,"Formatter"],[6,"Result"],[15,"str"],[8,"Serializer"],[3,"TypeId"]]},\ "crate_name_utils":{"doc":"Utility functions for parsing and processing crate names …","t":"FFFFF","n":["crate_name_from_path","get_containing_crate_name","get_containing_crate_name_ranges","is_valid_crate_name_char","replace_containing_crate_name"],"q":[[0,"crate_name_utils"]],"d":["Returns the crate name that is derived from a crate object …","Parses the given symbol string to try to find the name of …","Same as get_containing_crate_name(), but returns the …","Crate names must be only alphanumeric characters, an …","Replaces the old_crate_name substring in the given …"],"i":[0,0,0,0,0],"f":[[1,2],[2,[[3,[2]]]],[2,[[3,[[5,[4]]]]]],[6,7],[[2,2,2],[[9,[8]]]]],"c":[],"p":[[3,"Path"],[15,"str"],[3,"Vec"],[15,"usize"],[3,"Range"],[15,"char"],[15,"bool"],[3,"String"],[4,"Option"]]},\ diff --git a/doc/src/cpu/x86_64.rs.html b/doc/src/cpu/x86_64.rs.html index af76af08a7..218f8282ab 100644 --- a/doc/src/cpu/x86_64.rs.html +++ b/doc/src/cpu/x86_64.rs.html @@ -73,6 +73,10 @@ 73 74 75 +76 +77 +78 +79
//! Implements functions for accessing CPU-specific information on x86_64,
 //! which is primarily a simple wrapper around [`apic`]-provided features.
 
@@ -101,6 +105,10 @@
     }
 }
 
+// Returns an iterator over the available CPUs.
+pub fn cpus() -> impl Iterator<Item = CpuId> {
+    apic::get_lapics().iter().map(|(apic_id, _)| (*apic_id).into())
+}
 
 /// Returns the number of CPUs (SMP cores) that exist and
 /// are currently initialized on this system.
diff --git a/doc/src/task_struct/lib.rs.html b/doc/src/task_struct/lib.rs.html
index 9d9a4cac70..2a741e72b8 100644
--- a/doc/src/task_struct/lib.rs.html
+++ b/doc/src/task_struct/lib.rs.html
@@ -1137,8 +1137,8 @@
         if self.runstate.compare_exchange(Runnable, Blocked).is_ok() {
             Ok(Runnable)
         } else if self.runstate.compare_exchange(Blocked, Blocked).is_ok() {
-            warn!("Blocked an already blocked task: {:?}", self);
-            Ok(Blocked)
+            // warn!("Blocked an already blocked task: {:?}", self);
+            Ok(Blocked)
         } else {
             Err(self.runstate.load())
         }
@@ -1169,8 +1169,8 @@
         if self.runstate.compare_exchange(Blocked, Runnable).is_ok() {
             Ok(Blocked)
         } else if self.runstate.compare_exchange(Runnable, Runnable).is_ok() {
-            warn!("Unblocked an already runnable task: {:?}", self);
-            Ok(Runnable)
+            // warn!("Unblocked an already runnable task: {:?}", self);
+            Ok(Runnable)
         } else {
             Err(self.runstate.load())
         }