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 @@ -
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 @@ -pub fn bootstrap_cpu() -> Option<CpuId>
Returns the ID of the bootstrap CPU (if known), which +
pub fn bootstrap_cpu() -> Option<CpuId>
Returns the ID of the bootstrap CPU (if known), which is the first CPU to run after system power-on.
pub fn cpu_count() -> u32
Returns the number of CPUs (SMP cores) that exist and +
pub fn current_cpu() -> CpuId
Returns the ID of the currently executing CPU.
+pub fn current_cpu() -> CpuId
Returns the ID of the currently executing CPU.
pub fn is_bootstrap_cpu() -> bool
Returns true if the currently executing CPU is the bootstrap +
pub fn is_bootstrap_cpu() -> bool
Returns true if the currently executing CPU is the bootstrap CPU, i.e., the first CPU to run after system power-on.
AtomicCell
].#[repr(align(8))]pub struct OptionalCpuId(_);
A wrapper around Option<CpuId>
with a forced type alignment of 8 bytes,
+
#[repr(align(8))]pub struct OptionalCpuId(_);
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
].
source
. Read moresource
. Read moreReturns 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, }, }An enum that must be returned by the function passed into [iter_free_frames()
]
in order to define the post-iteration behavior.
Keep iterating to the next chunk of frames.
Stop iterating, and do not allocate anything.
-Stop iterating, and then attempt to allocate the specified frames.
+Stop iterating, and then attempt to allocate the specified frames.
pub fn allocate_frames_at(
- paddr: PhysicalAddress,
+ paddr: PhysicalAddress,
num_frames: usize
) -> Result<AllocatedFrames, &'static str>
Allocates the given number of frames starting at (inclusive of) the frame containing the given PhysicalAddress
.
See allocate_frames_deferred()
for more details.
pub fn allocate_frames_by_bytes_at(
- paddr: PhysicalAddress,
+ paddr: PhysicalAddress,
num_bytes: usize
) -> Result<AllocatedFrames, &'static str>
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 @@
pub fn allocate_frames_by_bytes_deferred(
- requested_paddr: Option<PhysicalAddress>,
+ requested_paddr: Option<PhysicalAddress>,
num_bytes: usize
) -> Result<(AllocatedFrames, DeferredAllocAction<'static>), &'static str>
Similar to allocated_frames_deferred()
,
but accepts a size value for the allocated frames in number of bytes instead of number of frames.
pub fn allocate_frames_deferred(
- requested_paddr: Option<PhysicalAddress>,
+ requested_paddr: Option<PhysicalAddress>,
num_frames: usize
) -> Result<(AllocatedFrames, DeferredAllocAction<'static>), &'static str>
The core frame allocation routine that allocates the given number of physical frames,
optionally at the requested starting PhysicalAddress
.
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,
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 @@pub struct AllocatedFrame<'f> { /* private fields */ }
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
.
Returns a new Frame
that is aligned up from this Frame
to the nearest multiple of alignment_4k_pages
.
Returns the PhysicalAddress
at the start of this Frame
.
Returns the size of this Frame
.
Returns a new Frame
that is aligned up from this Frame
to the nearest multiple of alignment_4k_pages
.
Returns the PhysicalAddress
at the start of this Frame
.
Returns the size of this Frame
.
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 @@pub struct AllocatedFramesIter<'f> { /* private fields */ }
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 Frame
s.
Currently, the [RangeInclusiveIterator
] type creates a clone of the original
RangeInclusive
instances rather than borrowing a reference to it.
pub struct Frames<const S: MemoryState> { /* private fields */ }
A range of contiguous frames in physical memory.
+pub struct Frames<const S: MemoryState> { /* private fields */ }
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:
Panics if this AllocatedFrame
contains multiple frames or zero frames.
Consumes this Frames
in the Unmapped
state and converts them into the Allocated
state.
Returns a new Frames
with an empty range of frames.
Can be used as a placeholder, but will not permit any real usage.
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 @@Err(other)
is returned.
Splits up the given Frames
into multiple smaller Frames
.
Returns a SplitFrames
instance containing three Frames
:
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
.
Splits this Frames
into two separate Frames
objects:
Splits this Frames
into two separate Frames
objects:
[beginning : at_frame - 1]
[at_frame : end]
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.
Returns the [PhysicalAddress
] of the starting [Frame
] in this FrameRange
.
Returns the number of [Frame
]s covered by this iterator.
Returns the PhysicalAddress
of the starting Frame
in this FrameRange
.
Returns the number of Frame
s 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.
Returns the size of this range in bytes.
-Returns true
if this FrameRange
contains the given [PhysicalAddress
].
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
.
Returns the size of this range in bytes.
+Returns true
if this FrameRange
contains the given PhysicalAddress
.
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
.
If the range covers addresses 0x2000
to 0x4000
, then offset_of_address(0x3500)
would return Some(0x1500)
.
Returns the [PhysicalAddress
] at the given offset
into this FrameRange
within this FrameRange
, i.e., self.start_address() + offset
.
If the given offset
is not within this range of [Frame
]s, this returns None
.
Returns the PhysicalAddress
at the given offset
into this FrameRange
within this FrameRange
, i.e., self.start_address() + offset
.
If the given offset
is not within this range of Frame
s, this returns None
.
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
.
Returns a new separate FrameRange
that is extended to include the given [Frame
].
Returns true
if the other
FrameRange
is fully contained within this FrameRange
.
Returns an inclusive FrameRange
representing the [Frame
]s that overlap across this FrameRange
and the given other FrameRange
.
Returns a new separate FrameRange
that is extended to include the given Frame
.
Returns true
if the other
FrameRange
is fully contained within this FrameRange
.
Returns an inclusive FrameRange
representing the Frame
s that overlap across this FrameRange
and the given other FrameRange
.
If there is no overlap between the two ranges, None
is returned.
Returns an iterator with the same start
and end
values as the range.
Returns true
if item
is contained in the range.
self
and other
values to be equal, and is used
+ Self: Sized + PartialOrd<Self>,self
and other
) and is used by the <=
operator. Read moreReturns 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 @@pub struct PhysicalMemoryRegion {
- pub frames: FrameRange,
+ pub frames: FrameRange,
pub typ: MemoryRegionType,
}
PhysicalMemoryRegion
represents a range of contiguous frames in physical memory for bookkeeping purposes.
It does not give access to the underlying frames.
Frame
of the PhysicalMemoryRegion
.
Thus, comparing two PhysicalMemoryRegion
s with the ==
or !=
operators may not work as expected.
since it ignores their actual range of frames.
-frames: FrameRange
The Frames covered by this region, an inclusive range.
+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.
-Returns the [PhysicalAddress
] of the starting [Frame
] in this FrameRange
.
Returns the number of [Frame
]s covered by this iterator.
Returns the PhysicalAddress
of the starting Frame
in this FrameRange
.
Returns the number of Frame
s 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.
Returns the size of this range in bytes.
-Returns true
if this FrameRange
contains the given [PhysicalAddress
].
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
.
Returns the size of this range in bytes.
+Returns true
if this FrameRange
contains the given PhysicalAddress
.
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
.
If the range covers addresses 0x2000
to 0x4000
, then offset_of_address(0x3500)
would return Some(0x1500)
.
Returns the [PhysicalAddress
] at the given offset
into this FrameRange
within this FrameRange
, i.e., self.start_address() + offset
.
If the given offset
is not within this range of [Frame
]s, this returns None
.
Returns the PhysicalAddress
at the given offset
into this FrameRange
within this FrameRange
, i.e., self.start_address() + offset
.
If the given offset
is not within this range of Frame
s, this returns None
.
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
.
Returns a new separate FrameRange
that is extended to include the given [Frame
].
Returns true
if the other
FrameRange
is fully contained within this FrameRange
.
Returns an inclusive FrameRange
representing the [Frame
]s that overlap across this FrameRange
and the given other FrameRange
.
Returns a new separate FrameRange
that is extended to include the given Frame
.
Returns true
if the other
FrameRange
is fully contained within this FrameRange
.
Returns an inclusive FrameRange
representing the Frame
s that overlap across this FrameRange
and the given other FrameRange
.
If there is no overlap between the two ranges, None
is returned.
Returns an iterator with the same start
and end
values as the range.
Returns true
if item
is contained in the range.
source
. Read moresource
. Read moreself
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 @@
-pub struct SplitFrames<const S: MemoryState> { /* private fields */ }
The result of splitting a Frames
object into multiple smaller Frames
objects.
pub struct SplitFrames<const S: MemoryState> { /* private fields */ }
The result of splitting a Frames
object into multiple smaller Frames
objects.
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.","CallsU::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 CowArc
s 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())
}