#[repr(C)]pub struct TdxTrampolineContext {Show 25 fields
start_gate: u32,
data_selector: u16,
static_gdt_limit: u16,
static_gdt_base: u32,
task_selector: u16,
idtr_limit: u16,
idtr_base: u64,
initial_rip: u64,
code_selector: u16,
padding_2: [u16; 2],
gdtr_limit: u16,
gdtr_base: u64,
rsp: u64,
rbp: u64,
rsi: u64,
r8: u64,
r9: u64,
r10: u64,
r11: u64,
cr0: u64,
cr3: u64,
cr4: u64,
transition_cr3: u32,
padding_3: u32,
static_gdt: [u8; 16],
}
Expand description
Fields in the trampoline context must be loaded from memory by the trampoline code.
Note that this trampoline context must also be used for bringing up APs, as the code placed in the reset vector will use this format to figure out what register state to load.
Fields§
§start_gate: u32
§data_selector: u16
§static_gdt_limit: u16
§static_gdt_base: u32
§task_selector: u16
§idtr_limit: u16
§idtr_base: u64
§initial_rip: u64
§code_selector: u16
§padding_2: [u16; 2]
§gdtr_limit: u16
§gdtr_base: u64
§rsp: u64
§rbp: u64
§rsi: u64
§r8: u64
§r9: u64
§r10: u64
§r11: u64
§cr0: u64
§cr3: u64
§cr4: u64
§transition_cr3: u32
§padding_3: u32
§static_gdt: [u8; 16]
Trait Implementations§
Source§impl Clone for TdxTrampolineContext
impl Clone for TdxTrampolineContext
Source§fn clone(&self) -> TdxTrampolineContext
fn clone(&self) -> TdxTrampolineContext
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for TdxTrampolineContext
impl Debug for TdxTrampolineContext
Source§impl Default for TdxTrampolineContext
impl Default for TdxTrampolineContext
Source§fn default() -> TdxTrampolineContext
fn default() -> TdxTrampolineContext
Returns the “default value” for a type. Read more
Source§impl IntoBytes for TdxTrampolineContext
impl IntoBytes for TdxTrampolineContext
Source§impl KnownLayout for TdxTrampolineContext
impl KnownLayout for TdxTrampolineContext
impl Copy for TdxTrampolineContext
impl Immutable for TdxTrampolineContext
Auto Trait Implementations§
impl Freeze for TdxTrampolineContext
impl RefUnwindSafe for TdxTrampolineContext
impl Send for TdxTrampolineContext
impl Sync for TdxTrampolineContext
impl Unpin for TdxTrampolineContext
impl UnwindSafe for TdxTrampolineContext
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more