pub trait ScrubVtl {
type Error: Error;
// Required method
fn scrub(&self, vtl: Vtl) -> Result<(), Self::Error>;
}
Expand description
Extension trait for scrubbing higher VTL state while leaving lower VTLs untouched.
Required Associated Types§
Required Methods§
sourcefn scrub(&self, vtl: Vtl) -> Result<(), Self::Error>
fn scrub(&self, vtl: Vtl) -> Result<(), Self::Error>
Scrubs partition and VP state for vtl
. This is useful for servicing
and restarting a higher VTL without touching the lower VTL.
The caller must ensure that no VPs are running when this is called.
Note that this does not reset page protections. This is necessary because there may be devices assigned to lower VTLs, and they should not be able to DMA to higher VTL memory during servicing.