From 332f4743ddfb5206085837d3a25f751b5b83c45e Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 31 May 2024 14:52:06 +0000 Subject: [PATCH] Update gh-pages from d43dc4d6f0cc4b153e9d9bf9f93e33d202e5189c --- .../struct.UntrustedApp.html | 6 +++--- .../struct.UntrustedApp.html | 4 ++-- .../config/struct.AttestationProviderConfig.html | 8 ++++++-- .../oak_session/config/struct.HandshakerConfig.html | 8 ++++++-- doc/doc/search-index.js | 2 +- doc/doc/src/oak_session/config.rs.html | 12 ++++++------ 6 files changed, 24 insertions(+), 16 deletions(-) diff --git a/doc/doc/oak_containers_hello_world_untrusted_app/struct.UntrustedApp.html b/doc/doc/oak_containers_hello_world_untrusted_app/struct.UntrustedApp.html index c1632f011bd..27d199195b0 100644 --- a/doc/doc/oak_containers_hello_world_untrusted_app/struct.UntrustedApp.html +++ b/doc/doc/oak_containers_hello_world_untrusted_app/struct.UntrustedApp.html @@ -1,8 +1,8 @@ UntrustedApp in oak_containers_hello_world_untrusted_app - Rust -
pub struct UntrustedApp { /* private fields */ }

Implementations§

source§

impl UntrustedApp

source

pub async fn create(launcher_args: Args) -> Result<Self, Box<dyn Error>>

source

pub async fn get_endorsed_evidence(&mut self) -> Result<EndorsedEvidence>

source

pub async fn get_group_keys( +
pub struct UntrustedApp { /* private fields */ }

Implementations§

source§

impl UntrustedApp

source

pub async fn create(launcher_args: Args) -> Result<Self, Box<dyn Error>>

source

pub async fn get_endorsed_evidence(&mut self) -> Result<EndorsedEvidence>

source

pub async fn get_group_keys( &mut self, - request: GetGroupKeysRequest -) -> Result<GetGroupKeysResponse>

source

pub async fn hello( + request: GetGroupKeysRequest +) -> Result<GetGroupKeysResponse>

source

pub async fn hello( &mut self, encrypted_request: EncryptedRequest ) -> Result<EncryptedResponse>

source

pub async fn kill(&mut self)

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/doc/doc/oak_functions_containers_launcher/struct.UntrustedApp.html b/doc/doc/oak_functions_containers_launcher/struct.UntrustedApp.html index b592d930570..b32d2220be6 100644 --- a/doc/doc/oak_functions_containers_launcher/struct.UntrustedApp.html +++ b/doc/doc/oak_functions_containers_launcher/struct.UntrustedApp.html @@ -1,8 +1,8 @@ UntrustedApp in oak_functions_containers_launcher - Rust
pub struct UntrustedApp {
     pub oak_functions_client: OakFunctionsClient<Channel>,
-    pub launcher: Launcher,
-}

Fields§

§oak_functions_client: OakFunctionsClient<Channel>§launcher: Launcher

Implementations§

source§

impl UntrustedApp

source

pub async fn create(launcher_args: Args) -> Result<Self>

source

pub async fn initialize_enclave( + pub launcher: Launcher, +}

Fields§

§oak_functions_client: OakFunctionsClient<Channel>§launcher: Launcher

Implementations§

source§

impl UntrustedApp

source

pub async fn create(launcher_args: Args) -> Result<Self>

source

pub async fn initialize_enclave( &mut self, initialize_request: InitializeRequest ) -> Result<InitializeResponse, Box<dyn Error>>

source

pub async fn kill(&mut self)

source

pub async fn setup_lookup_data( diff --git a/doc/doc/oak_session/config/struct.AttestationProviderConfig.html b/doc/doc/oak_session/config/struct.AttestationProviderConfig.html index 018cc691ef7..7ba1269116c 100644 --- a/doc/doc/oak_session/config/struct.AttestationProviderConfig.html +++ b/doc/doc/oak_session/config/struct.AttestationProviderConfig.html @@ -1,5 +1,9 @@ -AttestationProviderConfig in oak_session::config - Rust -
pub struct AttestationProviderConfig<'a> { /* private fields */ }

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +AttestationProviderConfig in oak_session::config - Rust +
pub struct AttestationProviderConfig<'a> {
+    pub attestation_type: AttestationType,
+    pub self_attesters: Vec<&'a dyn Attester>,
+    pub peer_verifiers: Vec<&'a dyn AttestationVerifier>,
+}

Fields§

§attestation_type: AttestationType§self_attesters: Vec<&'a dyn Attester>§peer_verifiers: Vec<&'a dyn AttestationVerifier>

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where 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/doc/oak_session/config/struct.HandshakerConfig.html b/doc/doc/oak_session/config/struct.HandshakerConfig.html index 0c2ea63e72c..b004bcd3ea9 100644 --- a/doc/doc/oak_session/config/struct.HandshakerConfig.html +++ b/doc/doc/oak_session/config/struct.HandshakerConfig.html @@ -1,5 +1,9 @@ -HandshakerConfig in oak_session::config - Rust -
pub struct HandshakerConfig<'a> { /* private fields */ }

Auto Trait Implementations§

§

impl<'a> !RefUnwindSafe for HandshakerConfig<'a>

§

impl<'a> !Send for HandshakerConfig<'a>

§

impl<'a> !Sync for HandshakerConfig<'a>

§

impl<'a> Unpin for HandshakerConfig<'a>

§

impl<'a> !UnwindSafe for HandshakerConfig<'a>

Blanket Implementations§

source§

impl<T> Any for T
where +HandshakerConfig in oak_session::config - Rust +
pub struct HandshakerConfig<'a> {
+    pub handshake_type: HandshakeType,
+    pub self_static_private_key: Option<&'a dyn EncryptionKeyHandle>,
+    pub peer_static_public_key: Option<Vec<u8>>,
+}

Fields§

§handshake_type: HandshakeType§self_static_private_key: Option<&'a dyn EncryptionKeyHandle>§peer_static_public_key: Option<Vec<u8>>

Auto Trait Implementations§

§

impl<'a> !RefUnwindSafe for HandshakerConfig<'a>

§

impl<'a> !Send for HandshakerConfig<'a>

§

impl<'a> !Sync for HandshakerConfig<'a>

§

impl<'a> Unpin for HandshakerConfig<'a>

§

impl<'a> !UnwindSafe for HandshakerConfig<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where 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/doc/search-index.js b/doc/doc/search-index.js index 2d5f7db4f37..fdd75de134f 100644 --- a/doc/doc/search-index.js +++ b/doc/doc/search-index.js @@ -51,7 +51,7 @@ var searchIndex = new Map(JSON.parse('[\ ["oak_restricted_kernel_launcher",{"doc":"","t":"H","n":["create"],"q":[[0,"oak_restricted_kernel_launcher"],[1,"oak_launcher_utils::launcher"],[2,"oak_launcher_utils::launcher"],[3,"oak_launcher_utils::channel"],[4,"core::error"],[5,"core::result"]],"d":[""],"i":[0],"f":"{b{{n{{j{{f{d}}h}}{f{l}}}}}}","c":[],"p":[[5,"Params",1],[10,"GuestInstance",1],[5,"Box",2],[5,"ConnectorHandle",3],[1,"tuple"],[10,"Error",4],[6,"Result",5]],"b":[]}],\ ["oak_restricted_kernel_orchestrator",{"doc":"","t":"FNNOOONNNNNN","n":["AttestedApp","borrow","borrow_mut","derived_key","dice_data","elf_binary","from","into","load_and_attest","try_from","try_into","type_id"],"q":[[0,"oak_restricted_kernel_orchestrator"],[12,"oak_dice::evidence"],[13,"oak_channel"],[14,"core::result"],[15,"core::any"]],"d":["","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","",""],"i":[0,2,2,2,2,2,2,2,2,2,2,2],"f":"`{ce{}{}}0```{cc{}}1{{cb}df}{c{{h{e}}}{}{}}0{cj{}}","c":[],"p":[[5,"Stage0DiceData",12],[5,"AttestedApp",0],[10,"Channel",13],[6,"Result",14],[5,"TypeId",15]],"b":[]}],\ ["oak_restricted_kernel_sdk",{"doc":"","t":"KCCCXMCCKFNNNNMNNNNNFKKNNNMNNNNMNHNNNMNFFKNNNNNNNNNNNNNNNMNNNNNNNNNFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFHNNNNNNNNNCNNENHCCCNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNKFNNNNNNNMNMNNNNFNNNNNNNNNNNFNNNNNNNNHNNNN","n":["EncryptionKeyHandle","attestation","channel","crypto","entrypoint","generate_recipient_context","testing","utils","EvidenceProvider","InstanceEvidenceProvider","borrow","borrow_mut","create","from","get_evidence","get_evidence","into","try_from","try_into","type_id","FileDescriptorChannel","Read","Write","borrow","borrow_mut","default","flush","flush","from","into","new","read_exact","read_exact","start_blocking_server","try_from","try_into","type_id","write_all","write_all","InstanceEncryptionKeyHandle","InstanceSigner","Signer","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","create","create","from","from","generate_recipient_context","into","into","sign","sign","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","MockEncryptionKeyHandle","MockEvidenceProvider","MockSigner","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","create","create","create","from","from","from","generate_recipient_context","get_evidence","into","into","into","sign","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","Stderr","StderrLogger","alloc_error_handler","borrow","borrow","borrow_mut","borrow_mut","enabled","flush","flush","from","from","heap","into","into","log","log","panic_handler","samplestore","sync","timer","try_from","try_from","try_into","try_into","type_id","type_id","write_str","GrowableHeap","LockedGrowableHeap","alloc","allocate","borrow","borrow","borrow_mut","borrow_mut","dealloc","deallocate","deref","empty","empty","from","from","into","into","try_from","try_from","try_into","try_into","type_id","type_id","SampleStore","StaticSampleStore","borrow","borrow_mut","eq","fmt","from","into","new","percentile","percentile","record","record","try_from","try_into","type_id","OnceCell","borrow","borrow_mut","default","from","get","into","new","set","try_from","try_into","type_id","Timer","borrow","borrow_mut","elapsed","fmt","from","into","new","new_rdtsc","rdtsc","timed","try_from","try_into","type_id"],"q":[[0,"oak_restricted_kernel_sdk"],[8,"oak_restricted_kernel_sdk::attestation"],[20,"oak_restricted_kernel_sdk::channel"],[39,"oak_restricted_kernel_sdk::crypto"],[67,"oak_restricted_kernel_sdk::testing"],[103,"oak_restricted_kernel_sdk::utils"],[131,"oak_restricted_kernel_sdk::utils::heap"],[154,"oak_restricted_kernel_sdk::utils::samplestore"],[170,"oak_restricted_kernel_sdk::utils::sync"],[182,"oak_restricted_kernel_sdk::utils::timer"],[196,"oak_crypto::hpke"],[197,"anyhow"],[198,"core::result"],[199,"anyhow"],[200,"core::any"],[201,"oak_channel"],[202,"alloc::boxed"],[203,"micro_rpc"],[204,"oak_proto_rust::oak::crypto::v1"],[205,"core::alloc::layout"],[206,"log"],[207,"log"],[208,"core::fmt"],[209,"core::ptr::non_null"],[210,"spinning_top::spinlock"],[211,"lock_api::mutex"],[212,"core::fmt"],[213,"core::ops::function"]],"d":["Exposes the ability to derive a session key from the …","Structs for providing attestation related logic such as …","Provides functionality to communicate with host …","Structs for signing and encryption using keys attested in …","Marks a function as the entrypoint to an enclave app and …","","Mock attestation evidence and crypto logic. Useful for …","Various utilities like loggers, allocators, timers, etc.","Exposes the ability to read the Attestation Evidence. …","EvidenceProvider implementation that exposes the instance…","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","Channel that communicates over a file descriptor.","Simple no_std compatible equivalent of std::io::Read.","Simple no_std compatible equivalent of std::io::Write.","","","Constructs a new FileDescriptorChannel that assumes we’…","","","Returns the argument unchanged.","Calls U::from(self).","","","","Starts a blocking server that listens for requests on the …","","","","","","EncryptionKeyHandle implementation that using the instance…","Signer implementation that using the instance’s evidence …","Exposes the ability to sign bytestrings using a private …","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Attempt to sign the provided message bytestring using a …","","","","","","","","","","EncryptionKeyHandle implementation that using mock …","EvidenceProvider implementation that exposes mock evidence.","Signer implementation that using mock evidence and …","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","log::Log implementation that outputs logs on standard …","Provides a default implementation for alloc_error_handler …","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","no_std compatible allocators.","Calls U::from(self).","Calls U::from(self).","","","Provides a default implementation for panic_handler …","Probabilistic sample store to compute percentiles over …","Synchronization utils.","Utils to read the CPUs timestamp counter.","","","","","","","","Heap implementation that asks Restricted Kernel for more …","Thread-safe version of GrowableHeap, above, usable as a …","","","","","","","","Safety","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","Basic Probabilistic sample store to compute percentiles …","","","","","Returns the argument unchanged.","Calls U::from(self).","","Gets the n-th percentile. n needs to be between 0 and 100, …","","Records a new data point value.","","","","","A synchronised implementation of a cell that can be …","","","","Returns the argument unchanged.","Gets a reference to the inner value if the cell has been …","Calls U::from(self).","","Sets the inner value of the cell if it has not been …","","","","Measures the number of clock cycles between new() and …","","","Returns the approximate number of clock cycles elapsed …","","Returns the argument unchanged.","Calls U::from(self).","","Constructs a new timer, recording the current tick counter …","Read the timestamp counter register from the CPU.","Returns the approximate number of clock cycles it took to …","","",""],"i":[0,0,0,0,0,1,0,0,0,0,7,7,7,7,9,7,7,7,7,7,0,0,0,12,12,12,13,12,12,12,12,16,12,0,12,12,12,13,12,0,0,0,23,24,23,24,23,24,23,24,23,24,23,24,23,23,24,25,24,23,24,23,24,23,24,23,24,0,0,0,29,27,28,29,27,28,27,28,27,28,29,27,28,29,27,28,28,29,29,27,28,27,27,28,29,27,28,29,27,28,29,27,28,0,0,0,36,31,36,31,31,36,31,36,31,0,36,31,0,31,0,0,0,0,36,31,36,31,36,31,36,0,0,39,40,40,39,40,39,39,40,39,40,39,40,39,40,39,40,39,40,39,40,39,0,0,45,45,45,45,45,45,45,19,45,19,45,45,45,45,0,50,50,50,50,50,50,50,50,50,50,50,0,51,51,51,51,51,51,51,51,0,51,51,51,51],"f":"`````{{b{f{d}}}{{l{hj}}}}````{ce{}{}}0{{}{{A`{n}}}}{cc{}}{AbAd}{nAd}4{c{{l{e}}}{}{}}0{cAf{}}```66{{}Ah}{Aj{{l{Alj}}}}{Ah{{A`{Al}}}}79{AnAh}{{B`{f{d}}}{{l{Alj}}}}{{Ah{f{d}}}{{A`{Al}}}}{{{Bd{Bb}}cBf}{{A`{Bh}}}{{Bl{}{{Bj{Bh}}}}}}887{{Aj{f{d}}}{{l{Alj}}}}2```>>>>{BnBn}{C`C`}{{ce}Al{}{}}0{{}{{A`{Bn}}}}{{}{{A`{C`}}}}{cc{}}0{{Bn{f{d}}}{{A`{h}}}}{ce{}{}}0{{Cb{f{d}}}{{A`{Cd}}}}{{C`{f{d}}}{{A`{Cd}}}}22{c{{l{e}}}{}{}}000{cAf{}}0```444444{CfCf}{ChCh};;{{}{{A`{Cj}}}}{{}{{A`{Cf}}}}{{}{{A`{Ch}}}};;;{{Ch{f{d}}}{{A`{h}}}}{CjAd};;;{{Cf{f{d}}}{{A`{Cd}}}}<<999999888``{ClBh}===={{CnD`}Db}{{}Al}{CnAl}{cc{}}0`{ce{}{}}0`{{CnDd}Al}{DfBh}```{c{{l{e}}}{}{}}000{cAf{}}0{{DhDj}{{l{AlDl}}}}``{{DnCl}d}{{E`Cl}{{l{{Eb{d}}Al}}}}7777{{DndCl}Al}{{E`{Eb{d}}Ed}Al}{Dn{{Eh{EfE`}}}}{{}E`}{{}Dn}==<<999988``<<{{EjEj}Db}{{EjEl}{{l{AlDl}}}}?>{{}{{En{Ej}}}}{{BfF`}{{En{Fb}}}}{{EjF`}{{En{Fb}}}}{{BfFb}Al}{{EjFb}Al}{c{{l{e}}}{}{}}0{cAf{}}`{ce{}{}}0{{}{{Fd{c}}}{}}{cc{}}{{{Fd{c}}}{{En{c}}}{}}32{{{Fd{c}}c}{{l{Alc}}}{}}665`44{FfFb}{{FfEl}{{l{AlDl}}}}46{FbFf}{{}Ff}{{}Fb}{cFbFh}<<;","c":[],"p":[[10,"EncryptionKeyHandle",0],[1,"u8"],[1,"slice"],[5,"RecipientContext",196],[5,"Error",197],[6,"Result",198],[5,"InstanceEvidenceProvider",8],[8,"Result",197],[10,"EvidenceProvider",8],[5,"Evidence",199],[5,"TypeId",200],[5,"FileDescriptorChannel",20],[10,"Write",20],[1,"unit"],[1,"i32"],[10,"Read",20],[10,"Channel",201],[5,"Box",202],[10,"SampleStore",154],[1,"never"],[17,"Error"],[10,"Transport",203],[5,"InstanceEncryptionKeyHandle",39],[5,"InstanceSigner",39],[10,"Signer",39],[5,"Signature",204],[5,"MockSigner",67],[5,"MockEncryptionKeyHandle",67],[5,"MockEvidenceProvider",67],[5,"Layout",205],[5,"StderrLogger",103],[5,"Metadata",206],[1,"bool"],[5,"Record",206],[5,"PanicInfo",207],[5,"Stderr",103],[1,"str"],[5,"Error",208],[5,"LockedGrowableHeap",131],[5,"GrowableHeap",131],[5,"NonNull",209],[1,"usize"],[5,"RawSpinlock",210],[5,"Mutex",211],[5,"StaticSampleStore",154],[5,"Formatter",208],[6,"Option",212],[1,"f64"],[1,"u64"],[5,"OnceCell",170],[5,"Timer",182],[10,"FnOnce",213]],"b":[]}],\ -["oak_session",{"doc":"","t":"FKFKCNNNNCNNMNNCNNMNNNNMNNMNNNNNNNNMNNKGKKPFPPFNNNNNNNNNMNNMNNNNNNNNNNNNNNNNNNMFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFKGKPPPFNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNN","n":["ClientSession","ProtocolEngine","ServerSession","Session","attestation","borrow","borrow","borrow_mut","borrow_mut","config","from","from","get_outgoing_message","get_outgoing_message","get_outgoing_message","handshake","into","into","is_open","is_open","is_open","new","new","put_incoming_message","put_incoming_message","put_incoming_message","read","read","read","try_from","try_from","try_into","try_into","type_id","type_id","write","write","write","AttestationProvider","AttestationType","AttestationVerifier","Attester","Bidirectional","ClientAttestationProvider","PeerUnidirectional","SelfUnidirectional","ServerAttestationProvider","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","get_attestation_results","get_attestation_results","get_attestation_results","get_endorsed_evidence","get_outgoing_message","get_outgoing_message","into","into","into","new","new","put_incoming_message","put_incoming_message","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verify","AttestationProviderConfig","HandshakerConfig","SessionConfig","SessionConfigBuilder","add_peer_verifier","add_self_attester","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","builder","from","from","from","from","into","into","into","into","set_peer_static_public_key","set_self_private_key","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","ClientHandshaker","EncryptionKeyHandle","HandshakeType","Handshaker","NoiseKK","NoiseKN","NoiseNK","ServerHandshaker","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","derive_session_keys","derive_session_keys","derive_session_keys","derive_session_keys","from","from","from","get_outgoing_message","get_outgoing_message","into","into","into","new","new","put_incoming_message","put_incoming_message","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id"],"q":[[0,"oak_session"],[38,"oak_session::attestation"],[79,"oak_session::config"],[117,"oak_session::handshake"],[156,"core::option"],[157,"anyhow"],[158,"oak_proto_rust::oak::session::v1"],[159,"oak_proto_rust::oak::session::v1"],[160,"core::result"],[161,"core::any"],[162,"oak_proto_rust::oak::attestation::v1"],[163,"oak_proto_rust::oak::session::v1"],[164,"oak_proto_rust::oak::session::v1"]],"d":["","Trait that represents a state-machine for protocol message …","","Trait that represents an end-to-end encrypted …","This module provides an implementation of the Attestation …","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Creates a next message that needs to be sent to the peer.","","","This module provides an implementation of the Handshaker, …","Calls U::from(self).","Calls U::from(self).","Checks whether session is ready to send and receive …","","","","","Puts a message received from the peer into the …","","","Reads an encrypted message from the peer and decrypt it.","","","","","","","","","Encrypts plaintext and send it to the peer.","","","","Configuration of the attestation behavior that the …","","","Both parties attest each other.","Client-side Attestation Provider that initiates remote …","“Peer” attests itself to the “Self”.","“Self” attests itself to the “Peer”.","Server-side Attestation Provider that responds to the …","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","Client-side Handshaker that initiates the crypto handshake …","","","","","","","Server-side Handshaker that responds to the crypto …","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","",""],"i":[0,0,0,0,0,4,9,4,9,0,4,9,1,4,4,0,4,9,7,4,9,4,9,1,4,4,7,4,9,4,9,4,9,4,9,7,4,9,0,0,0,0,30,0,30,30,0,30,19,20,30,19,20,30,19,20,17,19,20,21,19,20,30,19,20,19,20,19,20,30,19,20,30,19,20,30,19,20,26,0,0,0,0,29,29,10,29,25,38,10,29,25,38,29,10,10,29,25,38,10,29,25,38,29,29,10,29,25,38,10,29,25,38,10,29,25,38,0,0,0,0,39,39,39,0,39,34,35,39,34,35,31,33,34,35,39,34,35,34,35,39,34,35,34,35,34,35,39,34,35,39,34,35,39,34,35],"f":"`````{ce{}{}}000`{cc{}}0{b{{f{{d{c}}}}}{}}{h{{f{{d{j}}}}}}{h{{f{{d{l}}}}}}`44{nA`}{hA`}{AbA`}{Adh}{AdAb}{{bc}{{f{{d{Af}}}}}{}}{{hj}{{f{{d{Af}}}}}}{{hl}{{f{{d{Af}}}}}}{n{{f{{d{{Aj{Ah}}}}}}}}{h{{f{{d{{Aj{Ah}}}}}}}}{Ab{{f{{d{{Aj{Ah}}}}}}}}{c{{Al{e}}}{}{}}000{cAn{}}0{{n{B`{Ah}}}{{f{Af}}}}{{h{B`{Ah}}}{{f{Af}}}}{{Ab{B`{Ah}}}{{f{Af}}}}`````````{ce{}{}}00000{cc{}}00{Bb{{d{Bd}}}}{Bf{{d{Bd}}}}{Bh{{d{Bd}}}}{Bj{{f{Bl}}}}{Bf{{f{{d{Bn}}}}}}{Bh{{f{{d{C`}}}}}}777{CbBf}{CbBh}{{BfC`}{{f{{d{Af}}}}}}{{BhBn}{{f{{d{Af}}}}}}{c{{Al{e}}}{}{}}00000{cAn{}}00{{CdCfCh}{{f{Bd}}}}````{{CjCd}Cj}{{CjBj}Cj}{ce{}{}}0000000{CjAd}{ClCj}{cc{}}0003333{{Cj{B`{Ah}}}Cj}{{CjCn}Cj}::::::::9999````````555555{{Cn{B`{Ah}}{B`{Ah}}}{{f{D`}}}}{Db{{d{D`}}}}{Dd{{d{D`}}}}{Df{{d{D`}}}}666{Dd{{f{{d{Dh}}}}}}{Df{{f{{d{Dj}}}}}};;;{DlDd}{DlDf}{{DdDj}{{f{{d{Af}}}}}}{{DfDh}{{f{{d{Af}}}}}}{c{{Al{e}}}{}{}}00000{cAn{}}00","c":[],"p":[[10,"ProtocolEngine",0],[6,"Option",156],[8,"Result",157],[5,"ClientSession",0],[5,"SessionRequest",158],[5,"SessionResponse",158],[10,"Session",0],[1,"bool"],[5,"ServerSession",0],[5,"SessionConfig",79],[1,"unit"],[1,"u8"],[5,"Vec",159],[6,"Result",160],[5,"TypeId",161],[1,"slice"],[10,"AttestationProvider",38],[5,"AttestationResults",162],[5,"ClientAttestationProvider",38],[5,"ServerAttestationProvider",38],[10,"Attester",38],[5,"EndorsedEvidence",158],[5,"AttestRequest",158],[5,"AttestResponse",158],[5,"AttestationProviderConfig",79],[10,"AttestationVerifier",38],[5,"Evidence",162],[5,"Endorsements",162],[5,"SessionConfigBuilder",79],[6,"AttestationType",38],[10,"EncryptionKeyHandle",117],[5,"SessionKeys",163],[10,"Handshaker",117],[5,"ClientHandshaker",117],[5,"ServerHandshaker",117],[5,"HandshakeRequest",158],[5,"HandshakeResponse",158],[5,"HandshakerConfig",79],[6,"HandshakeType",117]],"b":[[13,"impl-ProtocolEngine%3CSessionResponse,+SessionRequest%3E-for-ClientSession%3C\'a%3E"],[14,"impl-ProtocolEngine%3CSessionRequest,+SessionResponse%3E-for-ClientSession%3C\'a%3E"],[24,"impl-ProtocolEngine%3CSessionRequest,+SessionResponse%3E-for-ClientSession%3C\'a%3E"],[25,"impl-ProtocolEngine%3CSessionResponse,+SessionRequest%3E-for-ClientSession%3C\'a%3E"]]}],\ +["oak_session",{"doc":"","t":"FKFKCNNNNCNNMNNCNNMNNNNMNNMNNNNNNNNMNNKGKKPFPPFNNNNNNNNNMNNMNNNNNNNNNNNNNNNNNNMFFFFNNONNNNNNNNNNNNNNONNNNOOOONNNNNNNNNNNNNNFKGKPPPFNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNN","n":["ClientSession","ProtocolEngine","ServerSession","Session","attestation","borrow","borrow","borrow_mut","borrow_mut","config","from","from","get_outgoing_message","get_outgoing_message","get_outgoing_message","handshake","into","into","is_open","is_open","is_open","new","new","put_incoming_message","put_incoming_message","put_incoming_message","read","read","read","try_from","try_from","try_into","try_into","type_id","type_id","write","write","write","AttestationProvider","AttestationType","AttestationVerifier","Attester","Bidirectional","ClientAttestationProvider","PeerUnidirectional","SelfUnidirectional","ServerAttestationProvider","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","get_attestation_results","get_attestation_results","get_attestation_results","get_endorsed_evidence","get_outgoing_message","get_outgoing_message","into","into","into","new","new","put_incoming_message","put_incoming_message","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verify","AttestationProviderConfig","HandshakerConfig","SessionConfig","SessionConfigBuilder","add_peer_verifier","add_self_attester","attestation_type","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","builder","from","from","from","from","handshake_type","into","into","into","into","peer_static_public_key","peer_verifiers","self_attesters","self_static_private_key","set_peer_static_public_key","set_self_private_key","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","ClientHandshaker","EncryptionKeyHandle","HandshakeType","Handshaker","NoiseKK","NoiseKN","NoiseNK","ServerHandshaker","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","derive_session_keys","derive_session_keys","derive_session_keys","derive_session_keys","from","from","from","get_outgoing_message","get_outgoing_message","into","into","into","new","new","put_incoming_message","put_incoming_message","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id"],"q":[[0,"oak_session"],[38,"oak_session::attestation"],[79,"oak_session::config"],[123,"oak_session::handshake"],[162,"core::option"],[163,"anyhow"],[164,"oak_proto_rust::oak::session::v1"],[165,"oak_proto_rust::oak::session::v1"],[166,"core::result"],[167,"core::any"],[168,"oak_proto_rust::oak::attestation::v1"],[169,"oak_proto_rust::oak::session::v1"],[170,"oak_proto_rust::oak::session::v1"]],"d":["","Trait that represents a state-machine for protocol message …","","Trait that represents an end-to-end encrypted …","This module provides an implementation of the Attestation …","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Creates a next message that needs to be sent to the peer.","","","This module provides an implementation of the Handshaker, …","Calls U::from(self).","Calls U::from(self).","Checks whether session is ready to send and receive …","","","","","Puts a message received from the peer into the …","","","Reads an encrypted message from the peer and decrypt it.","","","","","","","","","Encrypts plaintext and send it to the peer.","","","","Configuration of the attestation behavior that the …","","","Both parties attest each other.","Client-side Attestation Provider that initiates remote …","“Peer” attests itself to the “Self”.","“Self” attests itself to the “Peer”.","Server-side Attestation Provider that responds to the …","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","Client-side Handshaker that initiates the crypto handshake …","","","","","","","Server-side Handshaker that responds to the crypto …","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","",""],"i":[0,0,0,0,0,4,9,4,9,0,4,9,1,4,4,0,4,9,7,4,9,4,9,1,4,4,7,4,9,4,9,4,9,4,9,7,4,9,0,0,0,0,30,0,30,30,0,30,19,20,30,19,20,30,19,20,17,19,20,21,19,20,30,19,20,19,20,19,20,30,19,20,30,19,20,30,19,20,26,0,0,0,0,29,29,25,10,29,25,38,10,29,25,38,29,10,10,29,25,38,38,10,29,25,38,38,25,25,38,29,29,10,29,25,38,10,29,25,38,10,29,25,38,0,0,0,0,39,39,39,0,39,34,35,39,34,35,31,33,34,35,39,34,35,34,35,39,34,35,34,35,34,35,39,34,35,39,34,35,39,34,35],"f":"`````{ce{}{}}000`{cc{}}0{b{{f{{d{c}}}}}{}}{h{{f{{d{j}}}}}}{h{{f{{d{l}}}}}}`44{nA`}{hA`}{AbA`}{Adh}{AdAb}{{bc}{{f{{d{Af}}}}}{}}{{hl}{{f{{d{Af}}}}}}{{hj}{{f{{d{Af}}}}}}{n{{f{{d{{Aj{Ah}}}}}}}}{h{{f{{d{{Aj{Ah}}}}}}}}{Ab{{f{{d{{Aj{Ah}}}}}}}}{c{{Al{e}}}{}{}}000{cAn{}}0{{n{B`{Ah}}}{{f{Af}}}}{{h{B`{Ah}}}{{f{Af}}}}{{Ab{B`{Ah}}}{{f{Af}}}}`````````{ce{}{}}00000{cc{}}00{Bb{{d{Bd}}}}{Bf{{d{Bd}}}}{Bh{{d{Bd}}}}{Bj{{f{Bl}}}}{Bf{{f{{d{Bn}}}}}}{Bh{{f{{d{C`}}}}}}777{CbBf}{CbBh}{{BfC`}{{f{{d{Af}}}}}}{{BhBn}{{f{{d{Af}}}}}}{c{{Al{e}}}{}{}}00000{cAn{}}00{{CdCfCh}{{f{Bd}}}}````{{CjCd}Cj}{{CjBj}Cj}`{ce{}{}}0000000{CjAd}{ClCj}{cc{}}000`3333````{{Cj{B`{Ah}}}Cj}{{CjCn}Cj}::::::::9999````````555555{{Cn{B`{Ah}}{B`{Ah}}}{{f{D`}}}}{Db{{d{D`}}}}{Dd{{d{D`}}}}{Df{{d{D`}}}}666{Dd{{f{{d{Dh}}}}}}{Df{{f{{d{Dj}}}}}};;;{DlDd}{DlDf}{{DdDj}{{f{{d{Af}}}}}}{{DfDh}{{f{{d{Af}}}}}}{c{{Al{e}}}{}{}}00000{cAn{}}00","c":[],"p":[[10,"ProtocolEngine",0],[6,"Option",162],[8,"Result",163],[5,"ClientSession",0],[5,"SessionResponse",164],[5,"SessionRequest",164],[10,"Session",0],[1,"bool"],[5,"ServerSession",0],[5,"SessionConfig",79],[1,"unit"],[1,"u8"],[5,"Vec",165],[6,"Result",166],[5,"TypeId",167],[1,"slice"],[10,"AttestationProvider",38],[5,"AttestationResults",168],[5,"ClientAttestationProvider",38],[5,"ServerAttestationProvider",38],[10,"Attester",38],[5,"EndorsedEvidence",164],[5,"AttestRequest",164],[5,"AttestResponse",164],[5,"AttestationProviderConfig",79],[10,"AttestationVerifier",38],[5,"Evidence",168],[5,"Endorsements",168],[5,"SessionConfigBuilder",79],[6,"AttestationType",38],[10,"EncryptionKeyHandle",123],[5,"SessionKeys",169],[10,"Handshaker",123],[5,"ClientHandshaker",123],[5,"ServerHandshaker",123],[5,"HandshakeRequest",164],[5,"HandshakeResponse",164],[5,"HandshakerConfig",79],[6,"HandshakeType",123]],"b":[[13,"impl-ProtocolEngine%3CSessionRequest,+SessionResponse%3E-for-ClientSession%3C\'a%3E"],[14,"impl-ProtocolEngine%3CSessionResponse,+SessionRequest%3E-for-ClientSession%3C\'a%3E"],[24,"impl-ProtocolEngine%3CSessionRequest,+SessionResponse%3E-for-ClientSession%3C\'a%3E"],[25,"impl-ProtocolEngine%3CSessionResponse,+SessionRequest%3E-for-ClientSession%3C\'a%3E"]]}],\ ["oak_sev_guest",{"doc":"Rust wrappers for instructions and structs for use by …","t":"KCCCCCCCCCQCCFFNNNNNNNNNNNNNNSSFFFFNNNNNNNNOOOOOOOONNNNNNNNNNONNNNONNNNNNNNNNNNNOOFNNNNNNNNNNNTTSSFFTTTTTTTTFTTNNNNNNNNNNNNNNNNNNNNNONNNNONNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNONNOOOONNNNNNNNNNNNOOOOPPPPGPFFFSSSPPPGFPPTSTTFFFTPPPPPPPPFPFPGFGSTKGPPPGPGFPPTPPPPPPPPONOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNOONOOOOONNNNNOONNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOTTPPPGPPPGFTFPPGPGTPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOHNHHNNNNONNNNNNNNNNNNNNNNNNNNNNNNNHOFNNONNNQOOOOOOOOOONNNPPFFKGKGKPPFINNNNNNNNNNNNNNNNNNNNNNNMNNNMNNNNNNNNNNNNNMNNNNMNNNNNNNNNTTPFFGFFTPPPPPFPPPFFTPPSTGFFPTTTTGFFTTTTTTTSFFFGPPFFGFTTTTNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHHHHHONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNOOOHNNHNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOPPFGSSSFONNNNNNONNNNNNNNOOOOONNNNNNNNNONNNNOOOOOOOOOOOOOOOFSSFFOONNNNNNOOOHOOOOOOOONNNOOOOOOOOOOOOOONNNOOONNNOOOOOOOOOOOOOOOOOOOOONNNOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNNNONNNOOOOOOOOOOOOOOO","n":["Translator","ap_jump_table","cpuid","crypto","ghcb","guest","instructions","interrupts","io","msr","mutable_interrupt_handler_with_error_code","secrets","vmsa","ApJumpTable","ApResetAddress","borrow","borrow","borrow_mut","borrow_mut","from","from","into","into","try_from","try_from","try_into","try_into","type_id","type_id","CPUID_COUNT_MAX","CPUID_PAGE_SIZE","CpuidFunction","CpuidInput","CpuidOutput","CpuidPage","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","count","cpuid_data","eax","eax","ebx","ecx","ecx","edx","eq","fmt","fmt","fmt","fmt","from","from","from","from","from","input","into","into","into","into","output","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","validate","xcr0","xss","GuestMessageEncryptor","borrow","borrow_mut","decrypt_message","encrypt_message","from","into","new","new_with_sequence_number","try_from","try_into","type_id","CPL","DR7","GHCB_PAGE_SIZE","GHCB_PROTOCOL_VERSION","Ghcb","GhcbProtocol","RAX","RBX","RCX","RDX","SW_EXIT_CODE","SW_EXIT_INFO_1","SW_EXIT_INFO_2","SW_SCRATCH","ValidBitmap","XCR0","XSS","all","as_mut","as_mut","as_ref","as_ref","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bitxor","bitxor_assign","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","complement","contains","cpl","default","default","difference","do_guest_message_request","dr7","empty","extend","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from_bits","from_bits_retain","from_bits_retain","from_bits_truncate","from_iter","from_name","get_ap_jump_table","get_cpuid","get_gpa","ghcb_usage","insert","intersection","intersects","into","into","into","into_iter","io_read_u16","io_read_u32","io_read_u8","io_write_u16","io_write_u32","io_write_u8","is_all","is_empty","iter","iter_names","mmio_read_u32","mmio_write_u32","msr_read","msr_write","new","new","not","page_state_change","protocol_version","rax","rbx","rcx","rdx","register_with_hypervisor","remove","reset","reset","set","set_ap_jump_table","shared_buffer","sub","sub_assign","sw_exit_code","sw_exit_info_1","sw_exit_info_2","sw_scratch","symmetric_difference","toggle","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","union","valid_bitmap","x87_state_gpa","xcr0","xss","AbsorbNomaRequest","AbsorbNomaResponse","AbsorbRequest","AbsorbResponse","AeadAlgorithm","Aes256Gcm","AttestationRequest","AttestationResponse","AuthenticatedHeader","CURRENT_ATTESTATION_VERSION","CURRENT_HEADER_VERSION","CURRENT_MESSAGE_VERSION","CpuidRequest","CpuidResponse","Default","EccCurve","EcdsaPublicKey","ExportRequest","ExportResponse","FAMILY_ID","GUEST_MESSAGE_SIZE","GUEST_POLICY","GUEST_SVN","GuestFieldFlags","GuestMessage","GuestMessageHeader","IMAGE_ID","ImportRequest","ImportResponse","Invalid","Invalid","Invalid","InvalidKeySelection","InvalidParams","InvalidParams","KeyRequest","KeyRequest","KeyResponse","KeyResponse","KeySelect","KeySelectIter","KeyStatus","MAX_PAYLOAD_SIZE","MEASUREMENT","Message","MessageType","P384","ReportRequest","ReportResponse","ReportStatus","Reserved","RootKeySelect","RootKeySelectIter","Success","Success","TCB_VERSION","TccInfoReqsponse","TscInfoRequest","VCEK","VCEK","VLEK","VMRK","VmrkRequest","VmrkResponse","algorithm","all","auth_header","auth_tag","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bitxor","bitxor_assign","borrow","borrow","borrow","borrow","borrow","borrow","borrow","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","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","complement","contains","curve","default","default","default","default","default","derived_key","difference","empty","eq","eq","eq","eq","extend","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_bits","from_bits_retain","from_bits_retain","from_bits_truncate","from_iter","from_name","from_repr","from_repr","from_repr","from_repr","from_repr","from_repr","from_repr","get_algorithm","get_guest_field_select_flags","get_key_select","get_message_type","get_message_type","get_message_type","get_message_type","get_message_type","get_message_type","get_root_key_select","get_status","get_status","guest_field_select","guest_svn","header","header_size","header_version","insert","intersection","intersects","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_iter","into_iter","into_iter","is_all","is_empty","iter","iter","iter","iter_names","len","len","message_size","message_type","message_version","message_vmpck","new","new","new","new","next","next","next_back","next_back","not","nth","nth","payload","r","remove","report","report_data","report_size","s","sequence_number","set","set_key_select","set_root_key_select","size_hint","size_hint","status","status","sub","sub_assign","symmetric_difference","tcb_version","to_owned","to_owned","to_owned","to_owned","toggle","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","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","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","union","validate","validate","validate","validate","vmpl","vmpl","EXECUTE_SUPERVISOR","EXECUTE_USER","FailInput","FailPermission","FailSizeMismatch","InstructionError","No","Page2MiB","Page4KiB","PageSize","PermissionMask","READ","RmpPermission","Unvalidated","Validated","Validation","ValidationStatusNotUpdated","Vmsa","WRITE","Yes","all","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bitxor","bitxor_assign","borrow","borrow","borrow","borrow","borrow","borrow","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","complement","contains","difference","empty","eq","eq","eq","eq","extend","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_bits","from_bits_retain","from_bits_retain","from_bits_truncate","from_iter","from_name","from_repr","from_repr","from_repr","from_repr","insert","intersection","intersects","into","into","into","into","into","into","into_iter","is_all","is_empty","iter","iter_names","not","perm_mask","pvalidate","remove","rmpadjust","rmpquery","set","sub","sub_assign","symmetric_difference","target_vmpl","to_owned","to_owned","to_owned","to_owned","to_owned","toggle","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","union","vmgexit","vmsa","MutableInterruptStackFrame","borrow","borrow_mut","cs","fmt","from","into","mutable_interrupt_handler_with_error_code","rax","rbx","rcx","rdi","rdx","rflags","rip","rsi","rsp","ss","try_from","try_into","type_id","Ghcb","Ghcb","GhcbIoFactory","GhcbIoPort","IoPortFactory","PortFactoryWrapper","PortReader","PortWrapper","PortWriter","Raw","Raw","RawIoPortFactory","StaticGhcbIoPort","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","from","from","from","from","from","into","into","into","into","into","new","new_ghcb","new_raw","new_reader","new_reader","new_reader","new_reader","new_writer","new_writer","new_writer","new_writer","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_read","try_read","try_read","try_read","try_read","try_write","try_write","try_write","try_write","try_write","type_id","type_id","type_id","type_id","type_id","ALTERNATE_INJECTION_ENABLED","AP_CREATION","AddressNotAligned","ApResetHoldRequest","ApResetHoldResponse","CpuidRegister","CpuidRequest","CpuidResponse","DEBUG_SWAP_ENABLED","Eax","Ebx","Ecx","Edx","General","GhcbGpa","GhcbLocationNotAccepted","GhcbProtocolVersion","GhcbResponseLocationNotMatchingRequest","HypervisorFeatureSupportRequest","HypervisorFeatureSupportResponse","INSTRUCTION_BASED_SAMPLING_ENABLED","InvalidResponse","InvalidValue","NO_PREFERRED_GHCB_LOCATION","PREVENT_HOST_IBS_ENABLED","PageAssignment","PreferredGhcbGpaRequest","PreferredGhcbGpaResponse","Private","REFLECT_VC_ENABLED","RESTRICTED_INJECTION","RESTRICTED_INJECTION_ENABLED","RESTRICTED_INJECTION_TIMER","RegisterGhcbGpaError","RegisterGhcbGpaRequest","RegisterGhcbGpaResponse","SECURE_TSC_ENABLED","SEV_ENABLED","SEV_ES_ENABLED","SEV_SNP","SMT_PROTECTION_ENABLED","SNP_ACTIVE","SNP_BTB_ISOLATION_ENABLED","SUPPORTED_PROTOCOL_VERSION","SevInfoRequest","SevInfoResponse","SevStatus","SevStatusError","Shared","SnpFeatureNotSupported","SnpPageStateChangeRequest","SnpPageStateChangeResponse","TerminationReason","TerminationRequest","VMGEXIT_PARAMETER_ENABLED","VMPL_SSS_ENABLED","VMSA_REG_PROT_ENABLED","VTOM_ENABLED","all","all","ap_reset_hold","as_error_source","as_error_source","backtrace","backtrace","bitand","bitand","bitand_assign","bitand_assign","bitor","bitor","bitor_assign","bitor_assign","bits","bits","bits","bits","bitxor","bitxor","bitxor_assign","bitxor_assign","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","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","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cause","cause","change_snp_page_state","change_snp_state_for_frame","clone","clone","clone","clone_into","clone_into","clone_into","complement","complement","contains","contains","default","default","description","description","difference","difference","empty","empty","encryption_bit","eq","eq","eq","extend","extend","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_bits","from_bits","from_bits_retain","from_bits_retain","from_bits_retain","from_bits_retain","from_bits_truncate","from_bits_truncate","from_iter","from_iter","from_name","from_name","from_repr","from_repr","get_cpuid","get_cpuid_for_vc_exception","get_hypervisor_feature_support","get_preferred_ghcb_location","get_sev_info","get_sev_status","ghcb_gpa","insert","insert","intersection","intersection","intersects","intersects","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_iter","into_iter","is_all","is_all","is_empty","is_empty","iter","iter","iter_names","iter_names","leaf","max_protocol_version","min_protocol_version","new","new","new","not","not","reason","register","register","register_ghcb_location","remove","remove","request_termination","set","set","set_ghcb_address_and_exit","source","source","sub","sub","sub_assign","sub_assign","symmetric_difference","symmetric_difference","to_owned","to_owned","to_owned","to_string","to_string","toggle","toggle","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","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","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","union","union","value","response_ghcb_gpa","Disabled","Enabled","GuestReservedArea","Imi","SECRETS_PAGE_MAX_VERSION","SECRETS_PAGE_MIN_VERSION","SECRETS_PAGE_SIZE","SecretsPage","ap_jump_table_pa","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","fms","fmt","fmt","fmt","from","from","from","from_repr","get_imi_en","gosv","guest_area_0","guest_area_1","guest_usage","imi_en","into","into","into","try_from","try_from","try_from","try_into","try_into","try_into","tsc_factor","type_id","type_id","type_id","validate","version","version","vmpck_0","vmpck_1","vmpck_2","vmpck_3","vmpl0_guest_seq_high","vmpl0_guest_seq_low","vmpl1_guest_seq_high","vmpl1_guest_seq_low","vmpl2_guest_seq_high","vmpl2_guest_seq_low","vmpl3_guest_seq_high","vmpl3_guest_seq_low","vmsa_tweak_bitmap","SegmentRegister","VMSA_PAGE_SIZE","VMSA_SIZE","Vmsa","VmsaPage","attributes","base","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","bp_ibs_tgt_rip","br_from","br_to","calculate_rdx_from_fms","cpl","cr0","cr2","cr3","cr4","cs","cstar","dbgctl","default","default","default","dr0","dr0_addr_mask","dr1","dr1_addr_mask","dr2","dr2_addr_mask","dr3","dr3_addr_mask","dr6","dr7","ds","efer","es","event_inj","fmt","fmt","fmt","fpreg_x87","fpreg_xmm","fpreg_ymm","from","from","from","fs","g_pat","gdtr","gs","guest_exit_code","guest_exit_info_1","guest_exit_info_2","guest_exit_int_info","guest_nrip","guest_tsc_offset","guest_tsc_scale","ibs_dc_lin_addr","ibs_fetch_ctl","ibs_fetch_lin_addr","ibs_op_ctl","ibs_op_data","ibs_op_data2","ibs_op_data3","ibs_op_rop","ic_ibs_extd_ctl","idtr","into","into","into","isst_addr","kernel_gs_base","last_excp_from","last_excp_to","lbr_select","lbr_stack_state","ldtr","limit","lstar","mxcsr","new","new_vcpu_boot","pcpu_id","pkru","pl0_ssp","pl1_ssp","pl2_ssp","pl3_ssp","r10","r11","r12","r13","r14","r15","r8","r9","rax","rbp","rbx","rcx","rdi","rdx","reg_prot_nonce","rflags","rip","rsi","rsp","s_cet","selector","sev_features","sfmask","ss","ssp","star","sysenter_cs","sysenter_eip","sysenter_esp","tlb_id","tr","try_from","try_from","try_from","try_into","try_into","try_into","tsc_aux","type_id","type_id","type_id","u_cet","vintr_ctrl","virtual_tom","vmpl","vmsa","x87_cs","x87_dp","x87_ds","x87_fcw","x87_fop","x87_fsw","x87_ftw","x87_rip","xcr0","xss"],"q":[[0,"oak_sev_guest"],[13,"oak_sev_guest::ap_jump_table"],[29,"oak_sev_guest::cpuid"],[82,"oak_sev_guest::crypto"],[94,"oak_sev_guest::ghcb"],[218,"oak_sev_guest::guest"],[555,"oak_sev_guest::instructions"],[693,"oak_sev_guest::interrupts"],[714,"oak_sev_guest::io"],[783,"oak_sev_guest::msr"],[1143,"oak_sev_guest::msr::RegisterGhcbGpaError"],[1144,"oak_sev_guest::secrets"],[1202,"oak_sev_guest::vmsa"],[1351,"core::result"],[1352,"core::any"],[1353,"core::fmt"],[1354,"core::fmt"],[1355,"zerocopy"],[1356,"core::convert"],[1357,"x86_64::addr"],[1358,"core::iter::traits::collect"],[1359,"core::option"],[1360,"bitflags::iter"],[1361,"bitflags::iter"],[1362,"x86_64::structures::paging::page"],[1363,"lock_api::mutex"],[1364,"lock_api::mutex"],[1365,"x86_64::instructions::port"],[1366,"snafu::no_std_error"],[1367,"snafu::backtrace_impl"],[1368,"x86_64::structures::paging::page"]],"d":["Memory address translation functions.","","This module contains structs that can be used to interpret …","This module provides an optional implementation for …","This module contains an implementation of the …","Utilities for creating and processing SNP Guest Request …","Rust instruction wrappers for managing page state and …","Utilities for building interrupt handlers that need to …","","Rust implementations of the AMD SEV-SNP GHCB MSR protocol.","","This module contains structs that can be used to interpret …","This module provides an implementation of the State Save …","AP Jump Table.","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","The maximum number of CPUID functions that can be included …","The size of the CPUID page.","The CPUID function result of an invocation for a specific …","The required input valus for invoking CPUID.","The resulting register values after invoking CPUID.","Representation of the CPUID page.","","","","","","","","","The number of CPUID function results included in the page. …","The CPUID function results.","The input value of the EAX register, which represents the …","The EAX register output from calling CPUID.","The EBX register output from calling CPUID.","The input value of the ECX register, which represents the …","The ECX register output from calling CPUID.","The EDX register output from calling CPUID.","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","The input values when CPUID was invoked.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","The resulting register values when CPUID was invoked.","","","","","","","","","","","","","Checks that the count is less than the maximum allowed …","The input value of the XCR0 extended control register.","The value of the IA32_XSS model-specific register.","Wrapper for encrypting and decrypting guest messages.","","","Extracts a decrypted message from an encrypted GuestMessage…","Creates an encrypted payload from the provided message and …","Returns the argument unchanged.","Calls U::from(self).","Creates a new instance.","Creates a new instance with a specific sequence number.","","","","","","The size of the GHCB page.","The version of the GHCB protocol and page layout that we …","The guest-host communications block.","Implementation of the GHCB protocol using the wrapped GHCB …","","","","","","","","","Flags indicating which fields in a specific GHCB instance …","","","Get a flags value with all known bits set.","","","","","The bitwise and (&) of the bits in two flags values.","The bitwise and (&) of the bits in two flags values.","The bitwise or (|) of the bits in two flags values.","The bitwise or (|) of the bits in two flags values.","","Get the underlying bits value.","The bitwise exclusive-or (^) of the bits in two flags …","The bitwise exclusive-or (^) of the bits in two flags …","","","","","","","The bitwise negation (!) of the bits in a flags value, …","Whether all set bits in a source flags value are also set …","The current privilege level of the executing code.","","","The intersection of a source flags value with the …","Sends a guest request message to the Platform Secure …","The value of the DR7 debug register.","Get a flags value with all bits unset.","The bitwise or (|) of the bits in each flags value.","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Convert from a bits value.","","Convert from a bits value exactly.","Convert from a bits value, unsetting any unknown bits.","The bitwise or (|) of the bits in each flags value.","Get a flags value with the bits of a flag with the given …","","Calls a CPUID function for the given input using the GHCB …","Gets the guest-physical address for the guest-hypervisor …","The usage of the GHCB page. A value of 0 indicates the …","The bitwise or (|) of the bits in two flags values.","The bitwise and (&) of the bits in two flags values.","Whether any set bits in a source flags value are also set …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Read a 16 bit number from an IO port via the IOIO protocol.","Read a 32 bit number from an IO port via the IOIO protocol.","Read an 8 bit number from an IO port via the IOIO protocol.","Writes a 16 bit number to an IO port via the IOIO protocol.","Writes a 32 bit number to an IO port via the IOIO protocol.","Writes an 8 bit number to an IO port via the IOIO protocol.","Whether all known bits in this flags value are set.","Whether all bits in this flags value are unset.","Yield a set of contained flags values.","Yield a set of contained named flags values.","Read a 32-bit value from a MMIO memory address via the …","Write a 32-bit value to a MMIO memory address via the MMIO …","Reads a value from the specified model-specific register.","Writes a value to the specified model-specific register.","","","The bitwise negation (!) of the bits in a flags value, …","Performs a Page State Change operation on the given …","The version of the GHCB protocol and page layout in use.","The value of the RAX register.","The value of the RBX register.","The value of the RCX register.","The value of the RDX register.","Registers the address of the GHCB with the hypervisor.","The intersection of a source flags value with the …","Resets all of the inner GHCB information to its original …","Zeroes the entire GHCB.","Call insert when value is true or remove when value is …","","Area that can be used as a shared buffer for communicating …","The intersection of a source flags value with the …","The intersection of a source flags value with the …","Guest-controlled exit code.","Guest-controlled exit information 1.","Guest-controlled exit information 2.","Guest-controlled additional information.","The bitwise exclusive-or (^) of the bits in two flags …","The bitwise exclusive-or (^) of the bits in two flags …","","","","","","","","","","The bitwise or (|) of the bits in two flags values.","Bitmap indicating which quadwords of the save state area …","The guest-physical address of the page that contains the …","Value of the XCR0 extended control register.","The value of the IA32_XSS model-specific reqister.","","","VM absorb request by a migration agent.","VM absorb response.","The AEAD algorithm used for encryption.","256-bit AES-GCM.","Request for an attestation report.","Response containing the attestation report.","The authenticated subsection of the header used for an …","The currently supported attestation report version number.","The currently supported header version number.","The currently supported message version number.","CPUID request.","CPUID response.","Use VLEK if installed, otherwise use the VCEK.","The elliptic curve used.","An ECDSA public key.","VM export request. Used for VM migration.","VM export response. Used for VM migration.","The family ID provided in the ID block will be mixed into …","The size of a guest message, including the header and …","The guest policy will be mixed into the key.","The guest-provided SVN will be mixed into the key.","Flags indicating allowed policy options.","An encrypted guest message.","The header for an encrypted guest request message.","The image ID provided in the ID block will be mixed into …","VM import request. Used during VM migration, typically by …","VM import response. Used during VM migration.","Invalid encryption algorithm.","Invalid message type.","Invalid.","The key selection field was invalid.","The supplied parameters in the request was invalid.","The supplied parameters in the request was invalid.","Request for a derived key.","Request for a derived key.","Response containing the derived key.","Derived key response.","The selected key to use for key derivation.","An iterator over the variants of KeySelect","The status of the report response.","The maximum payload size.","The launch measurement of the VM will be mixed into the …","","The type of message represented by the payload.","Curve P-384.","Attestation report request.","Attestation report response.","The status of the report response.","Reserved.","The selected root key to use for key derivation.","An iterator over the variants of RootKeySelect","Report was successfully generated.","Report was successfully generated.","The guest-provided TCB version will be mixed into the key.","Timestamp counter information response.","","Use the Versioned Chip Endorsement Key (VCEK).","Use the Versioned Chip Endorsement Key (VCEK).","Use the Loaded Chip Endorsement Key (VLEK).","Use the Virtual Machine Root Key (VMRK) provided by the …","VMRK request. Provides the VM root key to use after …","VMRK response. Status of using the VM root key after …","The algorithm used to encrypt the payload.","Get a flags value with all known bits set.","The the sub-section of the header that is treated as …","The authentication tag for the payload and additional data.","The bitwise and (&) of the bits in two flags values.","The bitwise and (&) of the bits in two flags values.","The bitwise or (|) of the bits in two flags values.","The bitwise or (|) of the bits in two flags values.","Get the underlying bits value.","","The bitwise exclusive-or (^) of the bits in two flags …","The bitwise exclusive-or (^) of the bits in two flags …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The bitwise negation (!) of the bits in a flags value, …","Whether all set bits in a source flags value are also set …","The curve for this public key.","","","","","","The derived key if status is KeyStatus::Success.","The intersection of a source flags value with the …","Get a flags value with all bits unset.","","","","","The bitwise or (|) of the bits in each flags value.","","","","","","","","","","","","","","","","","","","","","","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 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.","Convert from a bits value.","Convert from a bits value exactly.","","Convert from a bits value, unsetting any unknown bits.","The bitwise or (|) of the bits in each flags value.","Get a flags value with the bits of a flag with the given …","Try to create Self from the raw representation","Try to create Self from the raw representation","Try to create Self from the raw representation","Try to create Self from the raw representation","Try to create Self from the raw representation","Try to create Self from the raw representation","Try to create Self from the raw representation","Gets the algorithm field as an AeadAlgorithm enum if …","Gets the guest_field_select field as a GuestFieldFlags …","Gets bits 1 and 2 of the key_select field as a KeySelect …","","Gets the message type field as a MessageType enum if …","","","","","Gets bit 0 of the key_select field as a RootKeySelect enum.","Gets the status field as a KeyStatus enum if possible.","Gets the status field as a ReportStatus enum if possible.","Mask indicating which guest data will be mixed into the …","The guest security version number (SVN) to mix into the …","The message header.","The size of the header in bytes.","The header version. Currently only version 1 is supported.","The bitwise or (|) of the bits in two flags values.","The bitwise and (&) of the bits in two flags values.","Whether any set bits in a source flags value are also set …","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).","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).","","","","Whether all known bits in this flags value are set.","Whether all bits in this flags value are unset.","","","Yield a set of contained flags values.","Yield a set of contained named flags values.","","","The size of the encrypted message payload in bytes.","The type of message that the payload represents.","The version of the message. Currently only version 1 is …","The ID of the VM communication key that was used to …","","","","","","","","","The bitwise negation (!) of the bits in a flags value, …","","","The encrypted payload.","The R component of this public. The value is zero-extended …","The intersection of a source flags value with the …","The attestation report.","The custom data to be included in the attestation report.","The size of the report.","The S component of this public key. The value is …","The message sequence number. This is used as the IV for …","Call insert when value is true or remove when value is …","Sets bits 1 and 2 of the key_select field.","Sets bit 0 of the key_select field.","","","The status of the operation.","The status of the operation.","The intersection of a source flags value with the …","The intersection of a source flags value with the …","The bitwise exclusive-or (^) of the bits in two flags …","The TCB version to mix into the key.","","","","","The bitwise exclusive-or (^) of the bits in two flags …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The bitwise or (|) of the bits in two flags values.","Checks that header is valid.","Checks that the authenticated header subsection is valid.","Checks that all reserved bytes are zero and that the …","Checks that all reserved bytes are zero and that the …","The VM Protection Level (VMPL) to mix into the derived key.","The VM Protection Level (VMPL) to be used in the …","Code in the page can be executed in rings 0..2.","Code in the page can be executed in ring 3.","The input parameters were invalid.","Insufficient permissions.","The page size does not match the page size entry in the …","The potential errors when calling the PVALIDATE or …","The page cannot be used as a VM save area.","The page is a 2MiB page.","The page is a 4KiB page.","The size of a memory page.","Permission mask used by the RMP.","The target VMPL can read the page.","Representation of the RMP permission used by the RMPADJUST …","The page is not validated.","The page is validated.","Whether a page is in the validated state or not.","The page validation status was not updated. This value is …","Whether the page can be used as a VM save area.","The target VMPL can write to the page.","The page can be used as a VM save area.","Get a flags value with all known bits set.","The bitwise and (&) of the bits in two flags values.","The bitwise and (&) of the bits in two flags values.","The bitwise or (|) of the bits in two flags values.","The bitwise or (|) of the bits in two flags values.","Get the underlying bits value.","","The bitwise exclusive-or (^) of the bits in two flags …","The bitwise exclusive-or (^) of the bits in two flags …","","","","","","","","","","","","","","","","","","","","","","","The bitwise negation (!) of the bits in a flags value, …","Whether all set bits in a source flags value are also set …","The intersection of a source flags value with the …","Get a flags value with all bits unset.","","","","","The bitwise or (|) of the bits in each flags value.","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Convert from a bits value.","","Convert from a bits value exactly.","Convert from a bits value, unsetting any unknown bits.","The bitwise or (|) of the bits in each flags value.","Get a flags value with the bits of a flag with the given …","Try to create Self from the raw representation","Try to create Self from the raw representation","Try to create Self from the raw representation","Try to create Self from the raw representation","The bitwise or (|) of the bits in two flags values.","The bitwise and (&) of the bits in two flags values.","Whether any set bits in a source flags value are also set …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Whether all known bits in this flags value are set.","Whether all bits in this flags value are unset.","Yield a set of contained flags values.","Yield a set of contained named flags values.","The bitwise negation (!) of the bits in a flags value, …","The bit mask specifying the permission.","Marks a page as validated or unvalidated in the RMP.","The intersection of a source flags value with the …","Adjusts the permissions of a page in the RMP.","Reads an RMP permission mask for a guest page.","Call insert when value is true or remove when value is …","The intersection of a source flags value with the …","The intersection of a source flags value with the …","The bitwise exclusive-or (^) of the bits in two flags …","The target VMPL to which the permission applies.","","","","","","The bitwise exclusive-or (^) of the bits in two flags …","","","","","","","","","","","","","","","","","","","The bitwise or (|) of the bits in two flags values.","Unconditionally exits from the guest to the hypervisor.","Whether this page can be used as a VM save area.","A reference to the interrupt stack frame will be passed as …","","","The backed-up value of the code segment selector.","","Returns the argument unchanged.","Calls U::from(self).","","The backed-up value of the RAX register.","The backed-up value of the RBX register.","The backed-up value of the RCX register.","The backed-up value of the RDI register.","The backed-up value of the RDX register.","The backed-up value CPU’s flags register.","The backed-up value of the instruction pointer when the …","The backed-up value of the RSI register.","The backed-up value of the stack pointer.","The backed-up value of the stack segment.","","","","","","A factory for creating port readers and writers that use …","GHCB-based wrapper for a single IO port.","Factory for instantiating IO port readers and writers.","Wrapper implementation that can either create IO ports …","Reader that can be used to read values from a port.","","Writer that can be used to write values to a port.","","","Factory for creating port reader and writers that perform …","An IO port reader and writer implementation that uses the …","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","Creates a new IO port reader instance.","","","","Creates a new IO port writer instance.","","","","","","","","","","","","","","Tries to read from the port.","","","","","Tries to write a value to the port.","","","","","","","","","","Alternate injection is enabled for this guest.","The new AMD SEV-SNP feature for starting new Application …","GHCB must be 4KiB-aligned.","","","The register of interest from the result of executing …","A request to execute CPUID for a specific leaf and return …","A response from executing CPUID for a specific leaf. Only …","Debug Register Swapping is enabled for this guest.","","","","","Non-specific termination request.","Contains the guest-physical address of the GHCB page. The …","","The supported range for the GHCB protocol version does not …","","A request for the hypervisor’s supported features.","Flags indicating which features are supported by the …","The gust was run with Instruction-Based Virtualization …","","","Value indicating that the hypervisor does not have a …","The Prevent Host IBS feature is enabled for this guest.","Whether a memory page is private to the guest, or shared …","A request for the hypervisor’s preferred location for …","The response containing the preferred location of the GHCB.","","Reflect-VC is enabled for this guest.","Restricted interrrupt injection is supported.","Restricted Injection is enabled for this guest.","Timer support is available if restricted interrupt …","","Request to register a guest-physical address for the GHCB …","The response containing the result of the GHCB …","Secure Timestamp Counter is enabled for this guest.","SEV is enabled for this guest.","SEV-ES is enabled for this guest.","AMD SEV-SNP is supported.","SMT Protection is enabled for this guest.","SEV-SNP is active for this guest.","SNP Branch Target Buffer Isolation is enabled for this …","The version of the GHCB MSR protocol supported by this …","A request for information about the supported GHCB MSR …","Response from the hypervisor about the encryption bit and …","Flags indicating which SEV features are active.","","","The SEV-SNP features supported by the hypervisor is not …","Request to change a memory page from shared to private or …","The response containing the result of the SNP Page State …","The reason for requesting termination from the hypervisor.","Request for the hypervisor to terminate the guest.","VMGEXIT Parameter is enabled for this guest.aes_gcm","VMPL SSS (Supervisor Shadow Stack) is enabled for this …","VMSA Register Protection is enabled for this guest.","Virtual Top-of-Memory is enabled for this guest.","Get a flags value with all known bits set.","Get a flags value with all known bits set.","","","","","","The bitwise and (&) of the bits in two flags values.","The bitwise and (&) of the bits in two flags values.","The bitwise and (&) of the bits in two flags values.","The bitwise and (&) of the bits in two flags values.","The bitwise or (|) of the bits in two flags values.","The bitwise or (|) of the bits in two flags values.","The bitwise or (|) of the bits in two flags values.","The bitwise or (|) of the bits in two flags values.","","Get the underlying bits value.","","Get the underlying bits value.","The bitwise exclusive-or (^) of the bits in two flags …","The bitwise exclusive-or (^) of the bits in two flags …","The bitwise exclusive-or (^) of the bits in two flags …","The bitwise exclusive-or (^) of the bits in two flags …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Requests a change of state for a page to be either private …","Changes the SNP page state assignments in the RMP for a …","","","","","","","The bitwise negation (!) of the bits in a flags value, …","The bitwise negation (!) of the bits in a flags value, …","Whether all set bits in a source flags value are also set …","Whether all set bits in a source flags value are also set …","","","","","The intersection of a source flags value with the …","The intersection of a source flags value with the …","Get a flags value with all bits unset.","Get a flags value with all bits unset.","The page table bit used for inidicating that a page is …","","","","The bitwise or (|) of the bits in each flags value.","The bitwise or (|) of the bits in each flags value.","","","","","","","","","","","","","","","","","","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 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 the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Convert from a bits value.","Convert from a bits value.","Convert from a bits value exactly.","","Convert from a bits value exactly.","","Convert from a bits value, unsetting any unknown bits.","Convert from a bits value, unsetting any unknown bits.","The bitwise or (|) of the bits in each flags value.","The bitwise or (|) of the bits in each flags value.","Get a flags value with the bits of a flag with the given …","Get a flags value with the bits of a flag with the given …","Try to create Self from the raw representation","Try to create Self from the raw representation","Gets the value of the specified register that was returned …","Gets the CPUID values for EAX, EBX, ECX and EDX and …","Requests a bitmap specifying the features supported by the …","Requests the hypervisor’s preferred location for the …","Gets information about the supported GHCB MSR protocol …","Gets the status of SEV features for the current guest.","The preferred guest-physical address for the GHCB.","The bitwise or (|) of the bits in two flags values.","The bitwise or (|) of the bits in two flags values.","The bitwise and (&) of the bits in two flags values.","The bitwise and (&) of the bits in two flags values.","Whether any set bits in a source flags value are also set …","Whether any set bits in a source flags value are also set …","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).","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).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Whether all known bits in this flags value are set.","Whether all known bits in this flags value are set.","Whether all bits in this flags value are unset.","Whether all bits in this flags value are unset.","Yield a set of contained flags values.","Yield a set of contained flags values.","Yield a set of contained named flags values.","Yield a set of contained named flags values.","The CPUID leaf to request. Sub-leafs are not supported by …","The maximum version of the GHCB MSR protocol supported by …","The minimum version of the GHCB MSR protocol supported by …","","","","The bitwise negation (!) of the bits in a flags value, …","The bitwise negation (!) of the bits in a flags value, …","","The register to return from the result. This protocol only …","The register that the value represents.","Registers the location of the GHCB page for the current …","The intersection of a source flags value with the …","The intersection of a source flags value with the …","Requests termination from the hypervisor.","Call insert when value is true or remove when value is …","Call insert when value is true or remove when value is …","Sets the address of the GHCB page before exiting to the …","","","The intersection of a source flags value with the …","The intersection of a source flags value with the …","The intersection of a source flags value with the …","The intersection of a source flags value with the …","The bitwise exclusive-or (^) of the bits in two flags …","The bitwise exclusive-or (^) of the bits in two flags …","","","","","","The bitwise exclusive-or (^) of the bits in two flags …","The bitwise exclusive-or (^) of the bits in two flags …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The bitwise or (|) of the bits in two flags values.","The bitwise or (|) of the bits in two flags values.","The value of the requested register after executing CPUID.","","The initial migration image is not enabled.","The initial migration image is enabled.","Representation of the Secrets Page Guest Reserved Area.","Whether an initial migration image is enabled.","The mmaximum version of the secrets pages that we expect …","The minimum version of the secrets pages that we expect to …","The size of the secrets page.","Representation of the secrets page.","AP Jump Table Physical Address","","","","","","","The family, model and stepping of the CPU as reported in …","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Try to create Self from the raw representation","Gets the IMI enabled field as and Imi enum if possible.","Guest-OS-visible workarounds provided by the hypervisor …","Area reserved for guest OS use.","Area reserved for guest OS use.","Guest Usage","The least significant bit indicates whether an initial …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","Scaling factor that can be used for calculating the real …","","","","Checks that version is the expected value, …","(Rev 2.01+) Version (1 = 2.01) Otherwise: Reserved, MBZ","The version of the secrets page.","VM-platform communication key 0. AES key used for …","VM-platform communication key 1. AES key used for …","VM-platform communication key 2. AES key used for …","VM-platform communication key 3. AES key used for …","(Rev 2.01+) VMPL0 Current Guest Message Sequence Number …","VMPL0 Current Guest Message Sequence Number [31:0]","(Rev 2.01+) VMPL1 Current Guest Message Sequence Number …","VMPL1 Current Guest Message Sequence Number [31:0]","(Rev 2.01+) VMPL2 Current Guest Message Sequence Number …","VMPL2 Current Guest Message Sequence Number [31:0]","(Rev 2.01+) VMPL3 Current Guest Message Sequence Number …","VMPL3 Current Guest Message Sequence Number [31:0]","Bitmap indicating which quadwords of the VM Save Area have …","Representation of a segment register in 64-bit mode.","","","The State Save Area used for SEV-ES and SEV-SNP.","The page containing the Save State Area used for SEV-ES …","The segment attributes. The meaning of the attribute bits …","The base address of the segment.","","","","","","","The value of the guest’s IbsBrTarget MSR.","The value of the guest’s LastBranchFromIP MSR.","The value of the guest’s LastBranchToIP MSR.","When the CPU is reset, the value of RDX is set to the same …","The current protection level (ring).","Control Register 0.","The CR2 control register.","Control Register 3.","Control Register 4.","The code segment.","The target instruction pointer when making a syscall in …","The value of the guest’s DebugCTL MSR.","","","","Debug register 0.","Debug register 0 address mask.","Debug register 1.","Debug register 1 address mask.","Debug register 2.","Debug register 2 address mask.","Debug register 3.","Debug register 3 address mask.","Debug register 6.","Debug register 7.","The data segment.","The extended feature enable register.","The extra segment.","Field used for injecting events into the guest.","","","","The X87 register state.","The XMM register state.","The YMM register state.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","General purpose segment.","The page attribute table for the guest.","Pointer to the global descriptor table.","General purpose segment.","The exit code for automatic exits.","The info 1 value for automatic exits.","The info 2 value for automatic exits.","The interrupt info value for automatic exits.","The next instruction pointer for automatic exits.","The guests time stamp counter offset.","The guest’s time stamp counter scaling factor.","The value of the guest’s IbsDcLinAd MSR.","The value of the guest’s IbsFetchCtl MSR.","The value of the guest’s IbsFetchCtl MSR.","The value of the guest’s IbsOfCtl MSR.","The value of the guest’s IbsOpData1 MSR.","The value of the guest’s IbsOpData2 MSR.","The value of the guest’s IbsOpData3 MSR.","The value of the guest’s IbsOpRip MSR.","The value of the guest’s IbsFetchExtdCtl MSR.","Pointer to the interrupt descriptor table.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","The address of the interrupt shadow stack.","Register used by the SWAPGS instruction to swap the base …","The value of the guest’s LastIntFromIP MSR.","The value of the guest’s LastIntToIP MSR.","The value of the guest’s LastBranchStackSelect MSR.","The last branch record stack state.","Pointer to the local descriptor table.","The segment limit.","The target instruction pointer when making a syscall in …","The Media eXtensions Control and Status Register.","","Creates a new instance of the VMSA that represents the …","Used to control flushing of the guest TLB. Writing 0 to …","The protect keys rights register.","Shadow stack pointer for ring 0.","Shadow stack pointer for ring 1.","Shadow stack pointer for ring 2.","Shadow stack pointer for ring 3.","The R10 register.","The R11 register.","The R12 register.","The R13 register.","The R14 register.","The R14 register.","The R8 register.","The R9 register.","The RAX register.","The RBP register.","The RBX register.","The RCX register.","The RDI register.","The RDX register.","Nonce used when VMSA register protection is enabled.","The 64-bit flags register.","The instruction pointer.","The RSI register.","The stack pointer.","Shadow stack MSR for supervisor mode settings.","The segment selector.","The guest-controlled SEV features that are selected.","The syscall flag mask.","The stack segment.","The shadow stack pointer.","The target address, code segment and stack segment when …","The code segment when using SYSENTER or SYSEXIT in legacy …","The instruction pointer when using SYSENTER or SYSEXIT in …","The stack pointer when using SYSENTER or SYSEXIT in legacy …","Used by the hardware to track TLB information for the …","Pointer to a valid task state secgement in the global …","","","","","","","Additional information read by the RDTSC instruction.","","","","Shadow stack MSR for user mode settings.","The guest-controlled interrupt injection control settings.","The virtual top-of-memory setting for the guest.","The current VM protection level.","","The X87 floating point code segment.","The X87 floating point data pointer.","The X87 floating point data segment.","The X87 floating point control word.","The X87 floating point opcode.","The X87 floating point status word.","The X87 floating point tag word.","The X87 instruction pointer.","The XCR0 extended control register.","The IA32_XSS machine-specific register."],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,106,105,106,105,106,105,106,105,106,105,106,105,106,0,0,0,0,0,0,5,3,8,9,5,3,8,9,9,9,3,8,8,3,8,8,3,5,3,8,9,5,3,3,8,9,5,5,3,8,9,5,5,3,8,9,5,3,8,9,5,3,8,9,9,3,3,0,13,13,13,13,13,13,13,13,13,13,13,21,21,0,0,0,0,21,21,21,21,21,21,21,21,0,21,21,21,22,23,22,23,21,21,21,21,21,21,21,21,22,23,21,22,23,21,21,21,23,23,21,21,22,23,21,21,23,21,21,21,21,21,22,23,21,21,21,21,21,21,21,22,22,22,23,21,21,21,22,23,21,21,22,22,22,22,22,22,21,21,21,21,22,22,22,22,22,23,21,22,23,23,23,23,23,22,21,22,23,21,22,23,21,21,23,23,23,23,21,21,22,23,21,22,23,21,22,23,21,21,23,23,23,23,53,53,53,53,0,52,0,0,0,0,0,0,53,53,42,0,0,53,53,41,0,41,41,0,0,0,41,53,53,52,53,57,49,49,50,0,53,0,53,0,0,0,0,41,0,0,57,53,53,0,42,0,0,49,50,41,53,53,42,44,42,44,53,53,51,41,46,46,41,41,41,41,41,41,41,41,14,51,46,52,53,47,54,42,43,44,45,49,41,48,55,50,56,57,14,51,46,52,53,47,54,42,43,44,45,49,41,48,55,50,56,57,42,43,44,45,42,43,44,45,41,41,56,14,46,47,41,48,54,41,41,42,44,49,50,41,14,51,46,52,53,47,54,42,43,44,45,49,41,41,41,41,48,55,50,56,57,14,51,46,52,53,47,54,42,43,44,45,49,41,48,55,50,56,57,41,41,41,41,41,41,52,53,42,44,49,50,57,46,47,47,17,46,47,54,48,55,47,54,55,47,47,14,51,51,41,41,41,14,51,46,52,53,47,54,42,43,44,45,49,41,48,55,50,56,57,43,45,41,41,41,42,44,41,41,43,45,51,51,51,51,14,46,47,48,43,45,43,45,41,43,45,14,56,41,55,48,55,56,46,41,47,47,43,45,54,55,41,41,41,47,42,43,44,45,41,14,51,46,52,53,47,54,42,43,44,45,49,41,48,55,50,56,57,14,51,46,52,53,47,54,42,43,44,45,49,41,48,55,50,56,57,14,51,46,52,53,47,54,42,43,44,45,49,41,48,55,50,56,57,41,14,46,54,55,47,48,60,60,65,65,65,0,63,62,62,0,0,60,0,61,61,0,65,0,60,63,60,60,60,60,60,60,60,60,60,61,62,65,60,63,64,61,62,65,60,63,64,61,62,60,63,64,61,62,60,63,64,60,60,60,60,65,60,63,64,60,61,62,65,60,60,60,60,60,63,64,61,62,65,60,63,64,60,60,60,60,60,60,61,62,65,63,60,60,60,61,62,65,60,63,64,60,60,60,60,60,60,64,0,60,0,0,60,60,60,60,64,61,62,60,63,64,60,61,62,65,60,63,64,61,62,65,60,63,64,61,62,65,60,63,64,60,0,64,0,10,10,10,10,10,10,0,10,10,10,10,10,10,10,10,10,10,10,10,10,70,76,0,0,0,0,0,0,0,70,76,0,0,67,73,74,70,76,67,73,74,70,76,67,73,74,70,76,67,73,74,70,76,67,70,70,71,67,74,70,71,67,74,70,67,73,74,70,76,67,73,74,70,76,72,73,73,73,76,77,73,73,73,76,67,73,74,70,76,79,78,40,0,0,0,0,0,79,85,85,85,85,86,0,40,86,40,0,0,79,40,82,0,79,0,0,0,38,79,78,79,78,0,0,0,79,79,79,78,79,79,79,0,0,0,0,0,38,86,0,0,0,0,79,79,79,79,78,79,0,40,82,40,82,78,79,78,79,78,79,78,79,78,78,79,79,78,79,78,79,91,90,107,87,88,108,89,92,96,83,97,109,110,98,93,85,40,38,78,86,79,82,91,90,107,87,88,108,89,92,96,83,97,109,110,98,93,85,40,38,78,86,79,82,40,82,0,0,85,38,79,85,38,79,78,79,78,79,78,79,40,82,78,79,78,79,90,85,38,78,78,79,85,40,40,38,78,78,78,78,78,86,79,79,79,79,79,82,82,91,90,107,87,88,108,89,92,96,83,97,109,110,98,93,85,40,38,78,86,79,82,78,79,78,78,79,79,78,79,78,79,78,79,85,38,0,0,0,0,0,0,89,78,79,78,79,78,79,91,90,107,87,88,108,89,92,96,83,97,109,110,98,93,85,40,38,78,86,79,82,78,79,78,79,78,79,78,79,78,79,87,90,90,91,92,83,78,79,93,87,88,0,78,79,0,78,79,0,40,82,78,79,78,79,78,79,85,38,79,40,82,78,79,91,90,90,107,87,88,88,108,89,89,92,96,96,83,97,97,109,110,98,98,93,85,40,38,78,78,86,79,82,91,90,107,87,88,108,89,92,96,83,97,109,110,98,93,85,40,38,78,86,79,82,91,90,107,87,88,108,89,92,96,83,97,109,110,98,93,85,40,38,78,86,79,82,78,79,88,111,101,101,0,0,0,0,0,0,99,99,100,101,99,100,101,100,99,100,101,99,100,101,101,100,100,100,100,99,100,99,100,101,99,100,101,99,100,101,100,99,100,101,100,99,100,100,100,100,100,99,99,99,99,99,99,99,99,100,0,0,0,0,0,104,104,102,103,104,102,103,104,103,103,103,0,103,103,103,103,103,103,103,103,102,103,104,103,103,103,103,103,103,103,103,103,103,103,103,103,103,102,103,104,103,103,103,102,103,104,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,102,103,104,103,103,103,103,103,103,103,104,103,103,102,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,104,103,103,103,103,103,103,103,103,103,103,102,103,104,102,103,104,103,102,103,104,103,103,103,103,102,103,103,103,103,103,103,103,103,103,103],"f":"```````````````{ce{}{}}000{cc{}}011{c{{b{e}}}{}{}}000{cd{}}0``````33333333````````{{ff}h}{{jl}n}{{fl}n}{{A`l}n}{{Abl}n}77{Adf}88`9999`777777776666{Ab{{b{AfAh}}}}```::{{AjAl}{{b{cAh}}}{AnB`Bb}}{{AjcAl}{{b{AfAh}}}{AnB`Bb}};<{{{Bf{Bd}}}{{b{AjAh}}}}{{{Bf{Bd}}Bh}{{b{AjAh}}}}<<;`````````````````{{}Bj}{{{Bl{c}}}{{Bl{c}}}{{C`{Bn}}{Cb{Bn}}Cd}}{BnBn}10{{BjBj}Bj}{{BjBj}Af}10{BjCf}021{ce{}{}}00000{BjBj}{{BjBj}h}`{{}Bn}96{{{Bl{c}}ChCh}{{b{AfAh}}}{{C`{Bn}}{Cb{Bn}}Cd}}`:{{Bjc}Af{{Cl{}{{Cj{Bj}}}}}}{{Bnl}n}{{Bjl}n}0000{cc{}}00{Cf{{Cn{Bj}}}}{CfBj}00{cBj{{Cl{}{{Cj{Bj}}}}}}{Ah{{Cn{Bj}}}}{{{Bl{c}}}{{b{ChAh}}}{{C`{Bn}}{Cb{Bn}}Cd}}{{{Bl{c}}f}{{b{A`Ah}}}{{C`{Bn}}{Cb{Bn}}Cd}}{{{Bl{c}}}Ch{{C`{Bn}}{Cb{Bn}}Cd}}`{{BjBj}Af}{{BjBj}Bj}?{ce{}{}}00{Bjc{}}{{{Bl{c}}D`}{{b{D`Ah}}}{{C`{Bn}}{Cb{Bn}}Cd}}{{{Bl{c}}D`}{{b{DbAh}}}{{C`{Bn}}{Cb{Bn}}Cd}}{{{Bl{c}}D`}{{b{BdAh}}}{{C`{Bn}}{Cb{Bn}}Cd}}{{{Bl{c}}D`D`}{{b{AfAh}}}{{C`{Bn}}{Cb{Bn}}Cd}}{{{Bl{c}}D`Db}{{b{AfAh}}}{{C`{Bn}}{Cb{Bn}}Cd}}{{{Bl{c}}D`Bd}{{b{AfAh}}}{{C`{Bn}}{Cb{Bn}}Cd}}{Bjh}0{Bj{{Dd{Bj}}}}{Bj{{Df{Bj}}}}{{{Bl{c}}Ch}{{b{DbAh}}}{{C`{Bn}}{Cb{Bn}}Cd}}{{{Bl{c}}ChDb}{{b{AfAh}}}{{C`{Bn}}{Cb{Bn}}Cd}}{{{Bl{c}}Db}{{b{BhAh}}}{{C`{Bn}}{Cb{Bn}}Cd}}{{{Bl{c}}DbBh}{{b{AfAh}}}{{C`{Bn}}{Cb{Bn}}Cd}}{{ce}{{Bl{c}}}{{C`{Bn}}{Cb{Bn}}Cd}Dh}{{}Bn}{BjBj}{{{Bl{c}}{Dj{e}}Dl}{{b{AfAh}}}{{C`{Bn}}{Cb{Bn}}Cd}Dn}`````{{{Bl{c}}}{{b{AfE`}}}{{C`{Bn}}{Cb{Bn}}Cd}}{{BjBj}Af}{{{Bl{c}}}Af{{C`{Bn}}{Cb{Bn}}Cd}}{BnAf}{{BjBjh}Af}{{{Bl{c}}Ch}{{b{AfAh}}}{{C`{Bn}}{Cb{Bn}}Cd}}`{{BjBj}Bj}5````05{c{{b{e}}}{}{}}00000{cd{}}002`````````````````````````````````````````````````````````````````````{{}Eb}``{{EbEb}Eb}{{EbEb}Af}10{EbBh}021{ce{}{}}00000000000000000000000000000000000{EdEd}{EfEf}{EhEh}{EjEj}{{ce}Af{}{}}000{EbEb}{{EbEb}h}`{{}Al}{{}El}{{}En}>{{}F`}`>?{{EdEd}h}{{EhEh}h}{{FbFb}h}{{FdFd}h}{{Ebc}Af{{Cl{}{{Cj{Eb}}}}}}{{All}n}{{Ffl}n}{{Ell}n}{{Fhl}n}{{Fjl}n}{{Enl}n}{{Fll}n}{{Edl}n}{{Efl}n}{{Ehl}n}{{Ejl}n}{{Fbl}n}{{Ebl}n}000{{F`l}n}{{Fnl}n}{{Fdl}n}{{G`l}n}{{Gbl}n}{cc{}}00000000000000000{Bh{{Cn{Eb}}}}{BhEb}00{cEb{{Cl{}{{Cj{Eb}}}}}}{Ah{{Cn{Eb}}}}{Bd{{Cn{Fh}}}}{Bd{{Cn{Fj}}}}{Db{{Cn{Ed}}}}{Db{{Cn{Eh}}}}{Db{{Cn{Fb}}}}{Db{{Cn{Fd}}}}{Db{{Cn{Gb}}}}{El{{Cn{Fh}}}}{En{{Cn{Eb}}}}{EnEd}{{}Fj}{El{{Cn{Fj}}}}1111{EnEh}{Fl{{Cn{Fb}}}}{Fn{{Cn{Fd}}}}`````{{EbEb}Af}{{EbEb}Eb}{{EbEb}h}{ce{}{}}0000000000000000000{Ebc{}}{Ebh}0{{}Ef}{{}Ej}{Eb{{Dd{Eb}}}}{Eb{{Df{Eb}}}}{EfGd}{EjGd}````{{}Al}{{}El}{{}En}{{}F`}{Ef{{Cn{c}}}{}}{Ej{{Cn{c}}}{}}10{EbEb}{{EfGd}{{Cn{c}}}{}}{{EjGd}{{Cn{c}}}{}}``{{EbEb}Af}`````{{EbEbh}Af}{{EnEd}Af}{{EnEh}Af}{Ef{{Gf{Gd{Cn{Gd}}}}}}{Ej{{Gf{Gd{Cn{Gd}}}}}}``{{EbEb}Eb}60`{ce{}{}}0007{c{{b{e}}}{}{}}00000000000000000000000000000000000{cd{}}000000000000000003{Al{{b{AfAh}}}}{El{{b{AfAh}}}}{Fl{{b{AfAh}}}}{Fn{{b{AfAh}}}}``````````````````````{{}Gh}{{GhGh}Gh}{{GhGh}Af}10{GhBd}021::::::::::::{GjGj}{GlGl}{GhGh}{GnGn}{H`H`}{{ce}Af{}{}}00003{{GhGh}h}9:{{HbHb}h}1{{GnGn}h}{{H`H`}h}{{Ghc}Af{{Cl{}{{Cj{Gh}}}}}}{{Gjl}n}{{Gll}n}{{Hbl}n}{{Ghl}n}0000{{Gnl}n}{{H`l}n}{cc{}}00000{Bd{{Cn{Gh}}}}{BdGh}00{cGh{{Cl{}{{Cj{Gh}}}}}}{Ah{{Cn{Gh}}}}{Db{{Cn{Gj}}}}{Db{{Cn{Gl}}}}{Db{{Cn{Hb}}}}{Bd{{Cn{Gn}}}}{{GhGh}Af}{{GhGh}Gh}{{GhGh}h}{ce{}{}}00000{Ghc{}}{Ghh}0{Gh{{Dd{Gh}}}}{Gh{{Df{Gh}}}}{GhGh}`{{GdGlGj}{{b{AfHb}}}}9{{GdGlH`}{{b{AfHb}}}}{Gd{{b{{Gf{H`Gl}}Hb}}}}{{GhGhh}Af};<;`99999<{c{{b{e}}}{}{}}00000000000{cd{}}00000={{}Af}``<<`{{Adl}n}{cc{}}>```````````443`````````````>>>>>>>>>>00000>>>>>{{{Hd{cg}}}{{Hf{cge}}}Hh{{C`{Bn}}{Cb{Bn}}Cd}{{C`{{Bl{e}}}}Cd}}{{{Hj{{Bl{Bn}}}}}Hl}{{}Hl}{{HnD`}e{}{{I`{c}}}}{{{Hf{cge}}D`}{{Ib{cge}}}Hh{{C`{Bn}}{Cb{Bn}}Cd}{{C`{{Bl{e}}}}Cd}}{{IdD`}{{If{c}}}{}}{{HlD`}{{Ih{c}}}{}}{{HnD`}e{}{{Ij{c}}}}321<<<<<<<<<<{I`{{b{cAh}}}{}}{{{Ib{cge}}}{{b{BdAh}}}Hh{{C`{Bn}}{Cb{Bn}}Cd}{{C`{{Bl{e}}}}Cd}}{{{Ib{cge}}}{{b{D`Ah}}}Hh{{C`{Bn}}{Cb{Bn}}Cd}{{C`{{Bl{e}}}}Cd}}{{{Ib{cge}}}{{b{DbAh}}}Hh{{C`{Bn}}{Cb{Bn}}Cd}{{C`{{Bl{e}}}}Cd}}{{{Ih{c}}}{{b{cAh}}}{}}{{Ijc}{{b{AfAh}}}{}}{{{Ib{cge}}Bd}{{b{AfAh}}}Hh{{C`{Bn}}{Cb{Bn}}Cd}{{C`{{Bl{e}}}}Cd}}{{{Ib{cge}}Db}{{b{AfAh}}}Hh{{C`{Bn}}{Cb{Bn}}Cd}{{C`{{Bl{e}}}}Cd}}{{{Ib{cge}}D`}{{b{AfAh}}}Hh{{C`{Bn}}{Cb{Bn}}Cd}{{C`{{Bl{e}}}}Cd}}{{{Ih{c}}c}{{b{AfAh}}}{}}{cd{}}0000``````````````````````````````````````````````````````````{{}Il}{{}In}{{}{{b{hAh}}}}{cJ`{}}0{E`{{Cn{Jb}}}}{Jd{{Cn{Jb}}}}{{IlIl}Il}{{InIn}In}{{IlIl}Af}{{InIn}Af}3210{IlBh}0{InBh}05432{ce{}{}}0000000000000000000000000000000000000000000{E`{{Cn{J`}}}}{Jd{{Cn{J`}}}}{Jf{{b{AfAh}}}}{{{Dj{Jh}}Dl}{{b{AfAh}}}}{JjJj}{DlDl}{InIn}{{ce}Af{}{}}00{IlIl}2{{IlIl}h}{{InIn}h}{{}Il}{{}In}{E`Ah}{JdAh}{{IlIl}Il}{{InIn}In}54`{{JjJj}h}{{DlDl}h}9{{Ilc}Af{{Cl{}{{Cj{Il}}}}}}{{Inc}Af{{Cl{}{{Cj{In}}}}}}{{Jjl}n}{{E`l}n}0{{Dll}n}{{Ill}n}0000{{Jll}n}{{Inl}n}0000{{Jdl}n}0{cc{}}000000000000000000000{Bh{{Cn{Il}}}}{Bh{{Cn{In}}}}{BhIl}0{BhIn}010{cIl{{Cl{}{{Cj{Il}}}}}}{cIn{{Cl{}{{Cj{In}}}}}}{Ah{{Cn{Il}}}}{Ah{{Cn{In}}}}{Bd{{Cn{Jj}}}}{Bd{{Cn{Dl}}}}{Jn{{b{K`Ah}}}}{{DbAd}{{b{AfAh}}}}{{}{{b{IlAh}}}}{{}{{b{KbAh}}}}{{}{{b{KdAh}}}}{{}{{b{InJd}}}}`{{IlIl}Af}{{InIn}Af}{{IlIl}Il}{{InIn}In}{{IlIl}h}{{InIn}h}{ce{}{}}000000000000000000000{Ilc{}}{Inc{}}{Ilh}{Inh}10{Il{{Dd{Il}}}}{In{{Dd{In}}}}{Il{{Df{Il}}}}{In{{Df{In}}}}```{Gd{{b{KfAh}}}}{Gd{{b{KhE`}}}}{{GdDl}{{b{JfAh}}}}{IlIl}{InIn}```{Kh{{b{AfE`}}}}{{IlIl}Af}{{InIn}Af}{KjKl}{{IlIlh}Af}{{InInh}Af}{KfAf}{E`{{Cn{J`}}}}{Jd{{Cn{J`}}}}{{IlIl}Il}{{InIn}In}9810{ce{}{}}00{cKn{}}0;:{c{{b{e}}}{}{}}0{Bh{{b{KdAh}}}}11{Bh{{b{K`Ah}}}}222{Bh{{b{KbAh}}}}3{Bh{{b{L`c}}}{}}44{Bh{{b{LbAh}}}}5555{Bh{{b{LdAh}}}}66666{Bh{{b{IlAh}}}}7777777777777777777777777{cd{}}000000000000000000000<;```````````::::::`{{Lfl}n}{{Lhl}n}{{Ljl}n}{cc{}}00{Db{{Cn{Lj}}}}{Lh{{Cn{Lj}}}}`````{ce{}{}}00??????`777{Lh{{b{AfAh}}}}``````````````````````111111```{{BdBdBd}Bh}````````{{}Ll}{{}Ln}{{}M`}``````````````{{Lll}n}{{Lnl}n}{{M`l}n}```;;;`````````````````````888``````````{LnLl}{BhLn}`````````````````````````````````````{c{{b{e}}}{}{}}00000`{cd{}}00```````````````","c":[],"p":[[6,"Result",1351],[5,"TypeId",1352],[5,"CpuidInput",29],[1,"bool"],[5,"CpuidFunction",29],[5,"Formatter",1353],[8,"Result",1353],[5,"CpuidOutput",29],[5,"CpuidPage",29],[5,"MutableInterruptStackFrame",693],[1,"unit"],[1,"str"],[5,"GuestMessageEncryptor",82],[5,"GuestMessage",218],[10,"AsBytes",1354],[10,"FromBytes",1354],[10,"Message",218],[1,"u8"],[1,"slice"],[1,"u64"],[5,"ValidBitmap",94],[5,"GhcbProtocol",94],[5,"Ghcb",94],[10,"AsMut",1355],[10,"AsRef",1355],[10,"Sized",1356],[1,"u128"],[5,"PhysAddr",1357],[17,"Item"],[10,"IntoIterator",1358],[6,"Option",1359],[1,"u16"],[1,"u32"],[5,"Iter",1360],[5,"IterNames",1360],[10,"Translator",0],[5,"PhysFrame",1361],[6,"PageAssignment",783],[10,"NotGiantPageSize",1362],[6,"RegisterGhcbGpaError",783],[5,"GuestFieldFlags",218],[6,"KeySelect",218],[5,"KeySelectIter",218],[6,"RootKeySelect",218],[5,"RootKeySelectIter",218],[5,"GuestMessageHeader",218],[5,"KeyRequest",218],[5,"AttestationRequest",218],[6,"KeyStatus",218],[6,"ReportStatus",218],[5,"AuthenticatedHeader",218],[6,"AeadAlgorithm",218],[6,"MessageType",218],[5,"KeyResponse",218],[5,"AttestationResponse",218],[5,"EcdsaPublicKey",218],[6,"EccCurve",218],[1,"usize"],[1,"tuple"],[5,"PermissionMask",555],[6,"Validation",555],[6,"PageSize",555],[6,"Vmsa",555],[5,"RmpPermission",555],[6,"InstructionError",555],[5,"Mutex",1363],[5,"GhcbIoFactory",714],[10,"RawMutex",1363],[8,"Spinlock",1364],[6,"PortFactoryWrapper",714],[10,"IoPortFactory",714],[10,"PortReader",714],[5,"GhcbIoPort",714],[5,"RawIoPortFactory",714],[8,"Port",1365],[6,"PortWrapper",714],[10,"PortWriter",714],[5,"HypervisorFeatureSupportResponse",783],[5,"SevStatus",783],[10,"Error",1366],[5,"Backtrace",1367],[6,"SevStatusError",783],[5,"SnpPageStateChangeRequest",783],[6,"Size2MiB",1362],[6,"CpuidRegister",783],[6,"TerminationReason",783],[5,"CpuidRequest",783],[5,"CpuidResponse",783],[5,"PreferredGhcbGpaResponse",783],[5,"SevInfoResponse",783],[5,"GhcbGpa",783],[5,"RegisterGhcbGpaRequest",783],[5,"TerminationRequest",783],[1,"never"],[5,"String",1368],[5,"RegisterGhcbGpaResponse",783],[5,"SnpPageStateChangeResponse",783],[5,"ApResetHoldResponse",783],[5,"GuestReservedArea",1144],[5,"SecretsPage",1144],[6,"Imi",1144],[5,"VmsaPage",1202],[5,"Vmsa",1202],[5,"SegmentRegister",1202],[5,"ApResetAddress",13],[5,"ApJumpTable",13],[5,"SevInfoRequest",783],[5,"PreferredGhcbGpaRequest",783],[5,"HypervisorFeatureSupportRequest",783],[5,"ApResetHoldRequest",783],[15,"GhcbResponseLocationNotMatchingRequest",1143]],"b":[[120,"impl-Flags-for-ValidBitmap"],[121,"impl-ValidBitmap"],[141,"impl-LowerHex-for-ValidBitmap"],[142,"impl-Binary-for-ValidBitmap"],[143,"impl-Octal-for-ValidBitmap"],[144,"impl-Debug-for-ValidBitmap"],[145,"impl-UpperHex-for-ValidBitmap"],[150,"impl-Flags-for-ValidBitmap"],[151,"impl-ValidBitmap"],[290,"impl-GuestFieldFlags"],[291,"impl-Flags-for-GuestFieldFlags"],[366,"impl-LowerHex-for-GuestFieldFlags"],[367,"impl-Binary-for-GuestFieldFlags"],[368,"impl-UpperHex-for-GuestFieldFlags"],[369,"impl-Octal-for-GuestFieldFlags"],[394,"impl-GuestFieldFlags"],[395,"impl-Flags-for-GuestFieldFlags"],[580,"impl-PermissionMask"],[581,"impl-Flags-for-PermissionMask"],[618,"impl-Octal-for-PermissionMask"],[619,"impl-UpperHex-for-PermissionMask"],[620,"impl-Binary-for-PermissionMask"],[621,"impl-Debug-for-PermissionMask"],[622,"impl-LowerHex-for-PermissionMask"],[632,"impl-Flags-for-PermissionMask"],[633,"impl-PermissionMask"],[769,"impl-PortReader%3Cu8%3E-for-GhcbIoPort%3C\'a,+R,+P,+G%3E"],[770,"impl-PortReader%3Cu16%3E-for-GhcbIoPort%3C\'a,+R,+P,+G%3E"],[771,"impl-PortReader%3Cu32%3E-for-GhcbIoPort%3C\'a,+R,+P,+G%3E"],[774,"impl-PortWriter%3Cu8%3E-for-GhcbIoPort%3C\'a,+R,+P,+G%3E"],[775,"impl-PortWriter%3Cu32%3E-for-GhcbIoPort%3C\'a,+R,+P,+G%3E"],[776,"impl-PortWriter%3Cu16%3E-for-GhcbIoPort%3C\'a,+R,+P,+G%3E"],[856,"impl-Flags-for-HypervisorFeatureSupportResponse"],[857,"impl-HypervisorFeatureSupportResponse"],[858,"impl-Flags-for-SevStatus"],[859,"impl-SevStatus"],[937,"impl-Debug-for-RegisterGhcbGpaError"],[938,"impl-Display-for-RegisterGhcbGpaError"],[940,"impl-Binary-for-HypervisorFeatureSupportResponse"],[941,"impl-Octal-for-HypervisorFeatureSupportResponse"],[942,"impl-Debug-for-HypervisorFeatureSupportResponse"],[943,"impl-LowerHex-for-HypervisorFeatureSupportResponse"],[944,"impl-UpperHex-for-HypervisorFeatureSupportResponse"],[946,"impl-Debug-for-SevStatus"],[947,"impl-UpperHex-for-SevStatus"],[948,"impl-LowerHex-for-SevStatus"],[949,"impl-Octal-for-SevStatus"],[950,"impl-Binary-for-SevStatus"],[951,"impl-Debug-for-SevStatusError"],[952,"impl-Display-for-SevStatusError"],[977,"impl-HypervisorFeatureSupportResponse"],[978,"impl-Flags-for-HypervisorFeatureSupportResponse"],[979,"impl-SevStatus"],[980,"impl-Flags-for-SevStatus"]]}],\ ["oak_sev_snp_attestation_report",{"doc":"AMD SEV-SNP data structures for attestation reports.","t":"FFGTPFFPTPFFSTTTTGTFPOONNOONNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNOOOOONNNNOOOOONNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONOOONNNNNNNNNNNNNNNNNNNNNNNNNOOONNOOONNOOOOONNOOONNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOO","n":["AttestationReport","AttestationReportData","AuthorKey","DEBUG","EcdsaP384Sha384","EcdsaSignature","GuestPolicy","Invalid","MIGRATE_MA","No","PlatformInfo","PolicyFlags","REPORT_DATA_SIZE","RESERVED","SINGLE_SOCKET","SMT","SMT_EN","SigningAlgorithm","TSME_EN","TcbVersion","Yes","abi_major","abi_minor","all","all","author_key_digest","author_key_en","bitand","bitand","bitand_assign","bitand_assign","bitor","bitor","bitor_assign","bitor_assign","bits","bits","bits","bits","bitxor","bitxor","bitxor_assign","bitxor_assign","boot_loader","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","chip_id","committed_build","committed_major","committed_minor","committed_tcb","complement","complement","contains","contains","current_build","current_major","current_minor","current_tcb","data","default","default","difference","difference","empty","empty","eq","extend","extend","family_id","flags","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_bits","from_bits","from_bits_retain","from_bits_retain","from_bits_retain","from_bits_retain","from_bits_truncate","from_bits_truncate","from_iter","from_iter","from_name","from_name","from_report_data","from_repr","from_repr","get_author_key_en","get_flags","get_platform_info","get_signature_algo","guest_svn","has_debug_flag","host_data","id_key_digest","image_id","insert","insert","intersection","intersection","intersects","intersects","into","into","into","into","into","into","into","into","into","into_iter","into_iter","is_all","is_all","is_empty","is_empty","iter","iter","iter_names","iter_names","launch_tcb","measurement","microcode","not","not","platform_info","policy","r","remove","remove","report_data","report_id","report_id_ma","reported_tcb","s","set","set","signature","signature_algo","snp","sub","sub","sub_assign","sub_assign","symmetric_difference","symmetric_difference","tee","toggle","toggle","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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","union","union","validate","validate","validate","validate","validate_format","version","vmpl"],"q":[[0,"oak_sev_snp_attestation_report"],[225,"core::iter::traits::collect"],[226,"core::fmt"],[227,"core::fmt"],[228,"core::result"],[229,"bitflags::iter"],[230,"bitflags::iter"]],"d":["A signed attestation report.","The data contained in an attestation report.","Whether the author key digest is included in the report.","Debugging the guest is allowed.","ECDSA using curve P-384 with SHA-384.","An ECDSA signature.","The required policy for a guest to run.","Invalid.","The guest can be associated with a migration agent.","The author key digest is not present.","Information on the platform configuration.","Flags indicating allowed policy options.","The number of bytes of custom data that can be included in …","Reserved, must always be 1.","The guest can only be activated on a single socket.","Simulatneous multi-threading (SMT) is allowed.","Indicates that simulatneous multi-threading (SMT) is …","The signing algorithm used for the report signature.","Indicates that transparent secure memory encryption (TSME) …","The version of all the components in the Trusted Computing …","The author key digest is present.","The minimum ABI major version required to launch the guest.","The minimum ABI minor version required to launch the guest.","Get a flags value with all known bits set.","Get a flags value with all known bits set.","The SHA-384 digest of the author public key used to …","The least significant bit indicates Whether the digest of …","The bitwise and (&) of the bits in two flags values.","The bitwise and (&) of the bits in two flags values.","The bitwise and (&) of the bits in two flags values.","The bitwise and (&) of the bits in two flags values.","The bitwise or (|) of the bits in two flags values.","The bitwise or (|) of the bits in two flags values.","The bitwise or (|) of the bits in two flags values.","The bitwise or (|) of the bits in two flags values.","Get the underlying bits value.","","Get the underlying bits value.","","The bitwise exclusive-or (^) of the bits in two flags …","The bitwise exclusive-or (^) of the bits in two flags …","The bitwise exclusive-or (^) of the bits in two flags …","The bitwise exclusive-or (^) of the bits in two flags …","The current security version number (SVN) of the secure …","","","","","","","","","","","","","","","","","","","Identifier unique to the chip, unless the ID has been …","The build number of the committed secure firmware ABI …","The major number of the committed secure firmware ABI …","The minor number of the committed secure firmware ABI …","The committed TCB version.","The bitwise negation (!) of the bits in a flags value, …","The bitwise negation (!) of the bits in a flags value, …","Whether all set bits in a source flags value are also set …","Whether all set bits in a source flags value are also set …","The build number of the current secure firmware ABI …","The major number of the current secure firmware ABI …","The minor number of the current secure firmware ABI …","The current version of each of the components in the …","The data contained in the report.","","","The intersection of a source flags value with the …","The intersection of a source flags value with the …","Get a flags value with all bits unset.","Get a flags value with all bits unset.","","The bitwise or (|) of the bits in each flags value.","The bitwise or (|) of the bits in each flags value.","The family ID provided at launch.","The allowed settings for the guest.","","","","","","","","","","","","","","","","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.","Convert from a bits value.","Convert from a bits value.","Convert from a bits value exactly.","","","Convert from a bits value exactly.","Convert from a bits value, unsetting any unknown bits.","Convert from a bits value, unsetting any unknown bits.","The bitwise or (|) of the bits in each flags value.","The bitwise or (|) of the bits in each flags value.","Get a flags value with the bits of a flag with the given …","Get a flags value with the bits of a flag with the given …","Creates a new AttestationReport with all zeros and the …","Try to create Self from the raw representation","Try to create Self from the raw representation","Gets the author key enabled field as an AuthorKey enum if …","Gets the flags field as a PolicyFlags representation if …","Gets the platform info field as a PlatformInfo …","Gets the signing algorithm field as a SigningAlgorithm …","The guest security version number.","","Custom data provided by the hypervisor at launch.","The SHA-384 digest of the ID public key used to sign the …","The image ID provided at launch.","The bitwise or (|) of the bits in two flags values.","The bitwise or (|) of the bits in two flags values.","The bitwise and (&) of the bits in two flags values.","The bitwise and (&) of the bits in two flags values.","Whether any set bits in a source flags value are also set …","Whether any set bits in a source flags value are also set …","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).","","","Whether all known bits in this flags value are set.","Whether all known bits in this flags value are set.","Whether all bits in this flags value are unset.","Whether all bits in this flags value are unset.","Yield a set of contained flags values.","Yield a set of contained flags values.","Yield a set of contained named flags values.","Yield a set of contained named flags values.","The value of the current TCB version when the guest was …","The measurement of the VM memory calculated at launch.","The lowest current patch level of all the CPU cores.","The bitwise negation (!) of the bits in a flags value, …","The bitwise negation (!) of the bits in a flags value, …","Information about the platform.","The policy required by the guest VM to be launched.","The R component of this signature. The value is …","The intersection of a source flags value with the …","The intersection of a source flags value with the …","Guest-provided data. The custom data provided in the …","The report ID of this guest.","The report ID of this guest’s migration agent.","The reported TCB version that was used to generate the …","The S component of this signature. The value is …","Call insert when value is true or remove when value is …","Call insert when value is true or remove when value is …","The signature over the data.","The algorithm used to sign the report.","The current SVN of the SNP firmware.","The intersection of a source flags value with the …","The intersection of a source flags value with the …","The intersection of a source flags value with the …","The intersection of a source flags value with the …","The bitwise exclusive-or (^) of the bits in two flags …","The bitwise exclusive-or (^) of the bits in two flags …","The current SVN of the PSP operating system.","The bitwise exclusive-or (^) of the bits in two flags …","The bitwise exclusive-or (^) of the bits in two flags …","","","","","","","","","","","","","","","","","","","","","","","","","","","","The bitwise or (|) of the bits in two flags values.","The bitwise or (|) of the bits in two flags values.","Checks that the report data is valid and the signature has …","Checks that fields with specific expected values or ranges …","Checks that the flags are valid and the reserved bytes are …","Checks that the reserved bytes are all zero.","Checks that the reserved bytes are all zero.","The version of the attestation report format.","The VMPL value that was passed in the request."],"i":[0,0,0,2,7,0,0,7,2,16,0,0,0,2,2,2,1,0,1,0,16,14,14,1,2,13,13,1,2,1,2,1,2,1,2,1,1,2,2,1,2,1,2,15,10,13,1,7,14,15,2,16,17,10,13,1,7,14,15,2,16,17,13,13,13,13,13,1,2,1,2,13,13,13,13,10,1,2,1,2,1,2,7,1,2,13,14,10,13,1,1,1,1,7,14,15,2,2,2,2,16,17,10,13,1,7,14,15,2,16,17,1,2,1,1,2,2,1,2,1,2,1,2,10,7,16,13,14,13,13,13,10,13,13,13,1,2,1,2,1,2,10,13,1,7,14,15,2,16,17,1,2,1,2,1,2,1,2,1,2,13,13,15,1,2,13,13,17,1,2,13,13,13,13,17,1,2,10,13,15,1,2,1,2,1,2,15,1,2,10,13,1,7,14,15,2,16,17,10,13,1,7,14,15,2,16,17,10,13,1,7,14,15,2,16,17,1,2,10,13,14,15,17,13,13],"f":"```````````````````````{{}b}{{}d}``{{bb}b}{{dd}d}{{bb}f}{{dd}f}3210{bh}0{dj}05432`{ce{}{}}00000000000000000`````{bb}{dd}{{bb}l}{{dd}l}`````<;:9<;{{nn}l}{{bc}f{{Ab{}{{A`{b}}}}}}{{dc}f{{Ab{}{{A`{d}}}}}}``{{AdAf}Ah}{{AjAf}Ah}{{bAf}Ah}000{{nAf}Ah}{{AlAf}Ah}{{AnAf}Ah}{{dAf}Ah}000{{B`Af}Ah}{{BbAf}Ah}{cc{}}00000000{h{{Bd{b}}}}{j{{Bd{d}}}}{hb}0{jd}010{cb{{Ab{}{{A`{b}}}}}}{cd{{Ab{}{{A`{d}}}}}}{Bf{{Bd{b}}}}{Bf{{Bd{d}}}}{{{Bj{Bh}}}Ad}{Bl{{Bd{n}}}}{h{{Bd{B`}}}}{Aj{{Bd{B`}}}}{Al{{Bd{d}}}}{Aj{{Bd{b}}}}{Aj{{Bd{n}}}}`{Ad{{Bn{lBf}}}}```{{bb}f}{{dd}f}{{bb}b}{{dd}d}{{bb}l}{{dd}l}{ce{}{}}00000000{bc{}}{dc{}}{bl}{dl}10{b{{C`{b}}}}{d{{C`{d}}}}{b{{Cb{b}}}}{d{{Cb{d}}}}```{bb}{dd}```{{bb}f}{{dd}f}`````{{bbl}f}{{ddl}f}```{{bb}b}{{dd}d}5410`54{c{{Bn{e}}}{}{}}00000000000000000{cCd{}}0000000032{Ad{{Bn{fBf}}}}{Aj{{Bn{fBf}}}}{Al{{Bn{fBf}}}}{An{{Bn{fBf}}}}{Bb{{Bn{fBf}}}}``","c":[],"p":[[5,"PlatformInfo",0],[5,"PolicyFlags",0],[1,"unit"],[1,"u64"],[1,"u16"],[1,"bool"],[6,"SigningAlgorithm",0],[17,"Item"],[10,"IntoIterator",225],[5,"AttestationReport",0],[5,"Formatter",226],[8,"Result",226],[5,"AttestationReportData",0],[5,"GuestPolicy",0],[5,"TcbVersion",0],[6,"AuthorKey",0],[5,"EcdsaSignature",0],[6,"Option",227],[1,"str"],[1,"u8"],[1,"array"],[1,"u32"],[6,"Result",228],[5,"Iter",229],[5,"IterNames",229],[5,"TypeId",230]],"b":[[35,"impl-PlatformInfo"],[36,"impl-Flags-for-PlatformInfo"],[37,"impl-PolicyFlags"],[38,"impl-Flags-for-PolicyFlags"],[89,"impl-LowerHex-for-PlatformInfo"],[90,"impl-Binary-for-PlatformInfo"],[91,"impl-UpperHex-for-PlatformInfo"],[92,"impl-Octal-for-PlatformInfo"],[96,"impl-Octal-for-PolicyFlags"],[97,"impl-UpperHex-for-PolicyFlags"],[98,"impl-Binary-for-PolicyFlags"],[99,"impl-LowerHex-for-PolicyFlags"],[113,"impl-PlatformInfo"],[114,"impl-Flags-for-PlatformInfo"],[115,"impl-Flags-for-PolicyFlags"],[116,"impl-PolicyFlags"]]}],\ ["oak_simple_io",{"doc":"Simple I/O driver for communication between the guest and …","t":"FSSSSFKNNNNNNNNNNNNNNNNNN","n":["BufferDescriptor","DEFAULT_INPUT_BUFFER","DEFAULT_OUTPUT_BUFFER","INPUT_BUFFER_LENGTH","OUTPUT_BUFFER_LENGTH","SimpleIo","Translator","borrow","borrow","borrow_mut","borrow_mut","from","from","into","into","new","new_with_defaults","read_bytes","try_from","try_from","try_into","try_into","type_id","type_id","write_bytes"],"q":[[0,"oak_simple_io"],[25,"oak_sev_guest::io"],[26,"core::result"],[27,"core::alloc"],[28,"alloc::collections::vec_deque"],[29,"core::option"],[30,"core::any"]],"d":["I/O port descriptor for a buffer.","Default I/O ports for the input buffer.","Default I/O ports for the output buffer.","The length of the buffer that will be used for input …","The length of the buffer that will be used for output …","The simple I/O channel driver implementation.","Memory address translation function.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","Reads the next available bytes from the input buffer, if …","","","","","","","Writes the data to the output buffer and notifies the host."],"i":[0,0,0,0,0,0,0,2,3,2,3,2,3,2,3,3,3,3,2,3,2,3,2,3,3],"f":"```````{ce{}{}}000{cc{}}011{{bcdde}{{j{{f{e}}h}}}ln}{{bce}{{j{{f{e}}h}}}ln}{{{f{c}}}{{Ad{{Ab{A`}}}}}n}{c{{j{e}}}{}{}}000{cAf{}}0{{{f{c}}{Ah{A`}}}{{j{Ajh}}}n}","c":[],"p":[[6,"PortFactoryWrapper",25],[5,"BufferDescriptor",0],[5,"SimpleIo",0],[1,"str"],[6,"Result",26],[10,"Translator",0],[10,"Allocator",27],[1,"u8"],[5,"VecDeque",28],[6,"Option",29],[5,"TypeId",30],[1,"slice"],[1,"usize"]],"b":[]}],\ diff --git a/doc/doc/src/oak_session/config.rs.html b/doc/doc/src/oak_session/config.rs.html index ede4df204b2..a77119cd16b 100644 --- a/doc/doc/src/oak_session/config.rs.html +++ b/doc/doc/src/oak_session/config.rs.html @@ -207,15 +207,15 @@

Files

#[allow(dead_code)] pub struct AttestationProviderConfig<'a> { - attestation_type: AttestationType, - self_attesters: Vec<&'a dyn Attester>, - peer_verifiers: Vec<&'a dyn AttestationVerifier>, + pub attestation_type: AttestationType, + pub self_attesters: Vec<&'a dyn Attester>, + pub peer_verifiers: Vec<&'a dyn AttestationVerifier>, } #[allow(dead_code)] pub struct HandshakerConfig<'a> { - handshake_type: HandshakeType, - self_static_private_key: Option<&'a dyn EncryptionKeyHandle>, - peer_static_public_key: Option<Vec<u8>>, + pub handshake_type: HandshakeType, + pub self_static_private_key: Option<&'a dyn EncryptionKeyHandle>, + pub peer_static_public_key: Option<Vec<u8>>, }
\ No newline at end of file