Expand description
The SEV shim
This crate contains the system/kernel that handles the syscalls (and cpuid instructions) from the enclave code and might proxy them to the host.
Modules§
- addr
- Some basic address operations
- allocator
- The global Allocator
- debug
- Debug functions
- exec
- Functions dealing with the exec
- gdt
- Global Descriptor Table init
- hostcall
- Host <-> Shim Communication
- interrupts
- Interrupt handling
- pagetables
- Page Tables
- paging
- Paging
- Functions and macros to output text on the host
- random
- Random functions
- shim_
stack - Helper functions for the shim stack
- snp
- SNP specific modules and functions
- spin
- wrapper around spinning types to permit trait implementations.
- sse
- SSE related functions
- syscall
- syscall interface layer between assembler and rust
- usermode
- switch to Ring 3 aka usermode
Macros§
- dbg
- Prints and returns the value of a given expression for quick and dirty debugging.
- eprint
- Prints to the standard error.
- eprintln
- Prints to the standard error of the host, with a newline.
- Prints to the standard output of the host.
- println
- Prints to the standard output of the host, with a newline.
Statics§
- _ENARX_
CPUID ⚠ - Extern
- _ENARX_
EXEC_ ⚠END - Extern
- _ENARX_
EXEC_ ⚠START - Extern
- _ENARX_
MEM_ ⚠START - Extern
- _ENARX_
SHIM_ ⚠START - Extern