pub struct Cpuid<'a> {
pub leaf: u32,
pub sub_leaf: u32,
pub result: &'a mut CpuidResult,
}
Expand description
Cpuid Enarx call, which writes the result of the cpuid
instruction
for a given leaf
(EAX
) and sub_leaf
(ECX
) in result
field.
Fields
leaf: u32
sub_leaf: u32
result: &'a mut CpuidResult
Trait Implementations
sourceimpl<'a> Alloc<'a> for Cpuid<'a>
impl<'a> Alloc<'a> for Cpuid<'a>
type Staged = Output<'a, CpuidResult, &'a mut CpuidResult>
type Staged = Output<'a, CpuidResult, &'a mut CpuidResult>
Opaque staged value, which returns Self::Committed
when committed via Commit::commit
. Read more
type Committed = <Cpuid<'a> as Alloc<'a>>::Staged
type Committed = <Cpuid<'a> as Alloc<'a>>::Staged
Opaque committed value
returned by guest::alloc::Commit::commit
called upon Self::Staged
, which returns Self::Collected
when
collected via guest::alloc::Collect::collect
. Read more
type Collected = Result<(), i32>
type Collected = Result<(), i32>
Value Enarx call collects as, which corresponds to its return value. Read more
sourcefn stage(self, alloc: &mut impl Allocator) -> Result<(Self::Argv, Self::Staged)>
fn stage(self, alloc: &mut impl Allocator) -> Result<(Self::Argv, Self::Staged)>
Allocate dynamic data, if necessary and return resulting argument vector registers and opaque staged value on success. Read more
sourcefn collect(
result: Self::Committed,
ret: Result<Self::Ret>,
col: &impl Collector
) -> Self::Collected
fn collect(
result: Self::Committed,
ret: Result<Self::Ret>,
col: &impl Collector
) -> Self::Collected
Collect the return registers, opaque committed value
and return a Self::Collected
. Read more
Auto Trait Implementations
impl<'a> RefUnwindSafe for Cpuid<'a>
impl<'a> Send for Cpuid<'a>
impl<'a> Sync for Cpuid<'a>
impl<'a> Unpin for Cpuid<'a>
impl<'a> !UnwindSafe for Cpuid<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<'a, K, T> Call<'a, Alloc<K>> for T where
K: Kind,
T: Alloc<'a, K>,
impl<'a, K, T> Call<'a, Alloc<K>> for T where
K: Kind,
T: Alloc<'a, K>,
type Staged = StagedCall<'a, K, T>
type Staged = StagedCall<'a, K, T>
Opaque staged value, which returns Self::Committed
when committed via Commit::commit
. Read more
type Committed = CommittedCall<'a, K, T>
type Committed = CommittedCall<'a, K, T>
Opaque committed value returned by Commit::commit
called upon Self::Staged
,
which is, in turn, passed to Collect::collect
to yield a Self::Collected
. Read more