SYMBOL INDEX (8882 symbols across 485 files) FILE: .buildkite/common.py function get_arch_for_instance (line 40) | def get_arch_for_instance(instance): function overlay_dict (line 45) | def overlay_dict(base: dict, update: dict): function field_fmt (line 56) | def field_fmt(field, args): function dict_fmt (line 63) | def dict_fmt(dict_tmpl, args): function group (line 74) | def group(label, command, instances, platforms, **kwargs): function get_changed_files (line 101) | def get_changed_files(): function run_all_tests (line 116) | def run_all_tests(changed_files): class DictAction (line 130) | class DictAction(argparse.Action): method __init__ (line 139) | def __init__(self, option_strings, dest, nargs=None, **kwargs): method __call__ (line 144) | def __call__(self, parser, namespace, value, option_string=None): function random_str (line 209) | def random_str(k: int): function ab_revision_build (line 214) | def ab_revision_build(revision): function shared_build (line 219) | def shared_build(): class BKPipeline (line 250) | class BKPipeline: method __init__ (line 259) | def __init__(self, with_build_step=True, **kwargs): method add_step (line 291) | def add_step(self, step, depends_on_build=True): method _adapt_group (line 305) | def _adapt_group(self, group): method build_group (line 345) | def build_group(self, *args, **kwargs): method build_key (line 358) | def build_key(self, key, arch): method build_group_per_arch (line 362) | def build_group_per_arch(self, label, *args, **kwargs): method to_dict (line 381) | def to_dict(self): method to_json (line 385) | def to_json(self): method devtool_download_artifacts (line 389) | def devtool_download_artifacts(self, artifacts): method devtool_test (line 395) | def devtool_test(self, devtool_opts=None, pytest_opts=None): FILE: .buildkite/pipeline_cpu_template.py class BkStep (line 12) | class BkStep(str, Enum): function group_snapshot_restore (line 79) | def group_snapshot_restore(test_step): FILE: .buildkite/pipeline_perf.py function apply_pins (line 172) | def apply_pins(steps): FILE: resources/overlay/usr/local/bin/devmemread.c function main (line 16) | int main() FILE: resources/overlay/usr/local/bin/fast_page_fault_helper.c function touch_memory (line 25) | void touch_memory(void *mem, size_t size, char val) { function main (line 32) | int main(int argc, char *argv[]) { FILE: resources/overlay/usr/local/bin/fillmem.c function fill_mem (line 21) | int fill_mem(int mb_count) { function main (line 47) | int main(int argc, char *const argv[]) { FILE: resources/overlay/usr/local/bin/go_sdk_cred_provider.go/main.go function main (line 12) | func main() { FILE: resources/overlay/usr/local/bin/go_sdk_cred_provider_with_custom_endpoint.go/main.go constant mmdsBaseUrl (line 16) | mmdsBaseUrl = "http://169.254.169.254" function main (line 18) | func main() { function getMmdsToken (line 59) | func getMmdsToken() (string, error) { type tokenInjector (line 101) | type tokenInjector struct method RoundTrip (line 106) | func (t *tokenInjector) RoundTrip(req *http.Request) (*http.Response, ... type loggingRoundTripper (line 112) | type loggingRoundTripper struct method RoundTrip (line 116) | func (l *loggingRoundTripper) RoundTrip(req *http.Request) (*http.Resp... FILE: resources/overlay/usr/local/bin/init.c function main (line 24) | int main () { FILE: resources/overlay/usr/local/bin/readmem.c function read_mem (line 25) | int read_mem(int mb_count, int value) { function main (line 58) | int main(int argc, char *const argv[]) { FILE: src/acpi-tables/src/aml.rs type AmlError (line 12) | pub enum AmlError { type Aml (line 21) | pub trait Aml { method append_aml_bytes (line 22) | fn append_aml_bytes(&self, _v: &mut Vec) -> Result<(), AmlError>; method to_aml_bytes (line 24) | fn to_aml_bytes(&self) -> Result, AmlError> { method append_aml_bytes (line 35) | fn append_aml_bytes(&self, v: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 45) | fn append_aml_bytes(&self, v: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 55) | fn append_aml_bytes(&self, v: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 67) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 120) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 130) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 140) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 150) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 162) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 184) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 282) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 290) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 320) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 329) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 340) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 392) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 481) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 499) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 517) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 553) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 591) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 611) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 641) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 682) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 711) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 765) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 828) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 854) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 882) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 902) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 913) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 925) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 946) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 966) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 987) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 1007) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 1027) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 1050) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 1120) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 1140) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 1173) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { method append_aml_bytes (line 1182) | fn append_aml_bytes(&self, bytes: &mut Vec) -> Result<(), AmlError> { constant ZERO (line 31) | pub const ZERO: Zero = Zero {}; type Zero (line 32) | pub struct Zero {} constant ONE (line 41) | pub const ONE: One = One {}; type One (line 42) | pub struct One {} constant ONES (line 51) | pub const ONES: Ones = Ones {}; type Ones (line 52) | pub struct Ones {} type Path (line 61) | pub struct Path { method new (line 93) | pub fn new(name: &str) -> Result { type Error (line 111) | type Error = AmlError; method try_from (line 112) | fn try_from(s: &str) -> Result { type Byte (line 117) | pub type Byte = u8; type Word (line 127) | pub type Word = u16; type DWord (line 137) | pub type DWord = u32; type QWord (line 147) | pub type QWord = u64; type Name (line 157) | pub struct Name { method new (line 171) | pub fn new(path: Path, inner: &dyn Aml) -> Result { type Package (line 179) | pub struct Package<'a> { function new (line 200) | pub fn new(children: Vec<&'a dyn Aml>) -> Self { function create_pkg_length (line 218) | fn create_pkg_length(data: &[u8], include_self: bool) -> Vec { type EisaName (line 256) | pub struct EisaName { method new (line 261) | pub fn new(name: &str) -> Result { type Usize (line 287) | pub type Usize = usize; function append_aml_string (line 311) | fn append_aml_string(v: &str, bytes: &mut Vec) { type AmlStr (line 317) | pub type AmlStr = &'static str; type AmlString (line 326) | pub type AmlString = String; type ResourceTemplate (line 335) | pub struct ResourceTemplate<'a> { function new (line 370) | pub fn new(children: Vec<&'a dyn Aml>) -> Self { type Memory32Fixed (line 375) | pub struct Memory32Fixed { method new (line 382) | pub fn new(read_write: bool, base: u32, length: u32) -> Self { type AddressSpaceType (line 404) | enum AddressSpaceType { type AddressSpaceCacheable (line 411) | pub enum AddressSpaceCacheable { type AddressSpace (line 418) | pub struct AddressSpace { function new_memory (line 429) | pub fn new_memory( function new_io (line 446) | pub fn new_io(min: T, max: T) -> Result { function new_bus_number (line 458) | pub fn new_bus_number(min: T, max: T) -> Result { function push_header (line 470) | fn push_header(&self, bytes: &mut Vec, descriptor: u8, length: usize) { type Io (line 534) | pub struct Io { method new (line 542) | pub fn new(min: u16, max: u16, alignment: u8, length: u8) -> Self { type Interrupt (line 564) | pub struct Interrupt { method new (line 573) | pub fn new( type Device (line 605) | pub struct Device<'a> { function new (line 630) | pub fn new(path: Path, children: Vec<&'a dyn Aml>) -> Self { type Scope (line 635) | pub struct Scope<'a> { function new (line 658) | pub fn new(path: Path, children: Vec<&'a dyn Aml>) -> Self { type Method (line 663) | pub struct Method<'a> { function new (line 671) | pub fn new(path: Path, args: u8, serialized: bool, children: Vec<&'a dyn... type Return (line 700) | pub struct Return<'a> { function new (line 705) | pub fn new(value: &'a dyn Aml) -> Self { type FieldAccessType (line 719) | pub enum FieldAccessType { type FieldUpdateRule (line 729) | pub enum FieldUpdateRule { type FieldEntry (line 735) | pub enum FieldEntry { type Field (line 740) | pub struct Field { method new (line 749) | pub fn new( type OpRegionSpace (line 796) | pub enum OpRegionSpace { type OpRegion (line 809) | pub struct OpRegion { method new (line 817) | pub fn new(path: Path, space: OpRegionSpace, offset: usize, length: us... type If (line 839) | pub struct If<'a> { function new (line 845) | pub fn new(predicate: &'a dyn Aml, if_children: Vec<&'a dyn Aml>) -> Self { type Equal (line 870) | pub struct Equal<'a> { function new (line 876) | pub fn new(left: &'a dyn Aml, right: &'a dyn Aml) -> Self { type LessThan (line 890) | pub struct LessThan<'a> { function new (line 896) | pub fn new(left: &'a dyn Aml, right: &'a dyn Aml) -> Self { type Arg (line 910) | pub struct Arg(pub u8); type Local (line 922) | pub struct Local(pub u8); type Store (line 934) | pub struct Store<'a> { function new (line 940) | pub fn new(name: &'a dyn Aml, value: &'a dyn Aml) -> Self { type Mutex (line 954) | pub struct Mutex { method new (line 960) | pub fn new(path: Path, sync_level: u8) -> Self { type Acquire (line 975) | pub struct Acquire { method new (line 981) | pub fn new(mutex: Path, timeout: u16) -> Self { type Release (line 996) | pub struct Release { method new (line 1001) | pub fn new(mutex: Path) -> Self { type Notify (line 1015) | pub struct Notify<'a> { function new (line 1021) | pub fn new(object: &'a dyn Aml, value: &'a dyn Aml) -> Self { type While (line 1035) | pub struct While<'a> { function new (line 1041) | pub fn new(predicate: &'a dyn Aml, while_children: Vec<&'a dyn Aml>) -> ... type MethodCall (line 1108) | pub struct MethodCall<'a> { function new (line 1114) | pub fn new(name: Path, args: Vec<&'a dyn Aml>) -> Self { type Buffer (line 1129) | pub struct Buffer { method new (line 1134) | pub fn new(data: Vec) -> Self { type CreateField (line 1154) | pub struct CreateField<'a, T> { function new (line 1162) | pub fn new(buffer: &'a dyn Aml, offset: &'a dyn Aml, field: Path) -> Self { function test_device (line 1195) | fn test_device() { function test_scope (line 1245) | fn test_scope() { function test_resource_template (line 1285) | fn test_resource_template() { function test_pkg_length (line 1494) | fn test_pkg_length() { function test_package (line 1511) | fn test_package() { function test_eisa_name (line 1524) | fn test_eisa_name() { function test_name_path (line 1537) | fn test_name_path() { function test_numbers (line 1567) | fn test_numbers() { function test_name (line 1581) | fn test_name() { function test_string (line 1601) | fn test_string() { function test_method (line 1613) | fn test_method() { function test_field (line 1628) | fn test_field() { function test_op_region (line 1697) | fn test_op_region() { function test_arg_if (line 1717) | fn test_arg_if() { function test_local_if (line 1746) | fn test_local_if() { function test_mutex (line 1776) | fn test_mutex() { function test_notify (line 1826) | fn test_notify() { function test_while (line 1865) | fn test_while() { function test_method_call (line 1915) | fn test_method_call() { function test_buffer (line 1958) | fn test_buffer() { function test_create_field (line 1981) | fn test_create_field() { FILE: src/acpi-tables/src/dsdt.rs type Dsdt (line 17) | pub struct Dsdt { method new (line 23) | pub fn new( method len (line 52) | fn len(&self) -> usize { method write_to_guest (line 56) | fn write_to_guest(&mut self, mem: &AS, address: GuestAd... FILE: src/acpi-tables/src/fadt.rs constant IAPC_BOOT_ARG_FLAGS_VGA_NOT_PRESENT (line 13) | pub const IAPC_BOOT_ARG_FLAGS_VGA_NOT_PRESENT: u16 = 2; constant IAPC_BOOT_ARG_FLAGS_MSI_NOT_PRESENT (line 15) | pub const IAPC_BOOT_ARG_FLAGS_MSI_NOT_PRESENT: u16 = 3; constant IAPC_BOOT_ARG_FLAGS_PCI_ASPM (line 17) | pub const IAPC_BOOT_ARG_FLAGS_PCI_ASPM: u16 = 4; constant FADT_F_PWR_BUTTON (line 25) | pub const FADT_F_PWR_BUTTON: u8 = 4; constant FADT_F_SLP_BUTTON (line 29) | pub const FADT_F_SLP_BUTTON: u8 = 5; constant FADT_F_HW_REDUCED_ACPI (line 32) | pub const FADT_F_HW_REDUCED_ACPI: u8 = 20; type Fadt (line 46) | pub struct Fadt { method new (line 109) | pub fn new(oem_id: [u8; 6], oem_table_id: [u8; 8], oem_revision: u32) ... method set_x_dsdt (line 131) | pub fn set_x_dsdt(&mut self, addr: u64) { method set_flags (line 136) | pub fn set_flags(&mut self, flags: u32) { method setup_iapc_flags (line 141) | pub fn setup_iapc_flags(&mut self, flags: u16) { method set_hypervisor_vendor_id (line 146) | pub fn set_hypervisor_vendor_id(&mut self, hypervisor_vendor_id: [u8; ... method len (line 152) | fn len(&self) -> usize { method write_to_guest (line 156) | fn write_to_guest(&mut self, mem: &M, address: GuestAddr... FILE: src/acpi-tables/src/lib.rs constant FC_ACPI_CREATOR_ID (line 28) | const FC_ACPI_CREATOR_ID: [u8; 4] = *b"FCAT"; constant FC_ACPI_CREATOR_REVISION (line 31) | const FC_ACPI_CREATOR_REVISION: u32 = 0x20240119; function checksum (line 33) | fn checksum(buf: &[&[u8]]) -> u8 { type AcpiError (line 42) | pub enum AcpiError { type Result (line 51) | pub type Result = std::result::Result; type GenericAddressStructure (line 56) | pub struct GenericAddressStructure { method new (line 65) | pub fn new( type SdtHeader (line 85) | pub struct SdtHeader { method new (line 98) | pub(crate) fn new( type Sdt (line 121) | pub trait Sdt { method len (line 123) | fn len(&self) -> usize; method is_empty (line 126) | fn is_empty(&self) -> bool { method write_to_guest (line 131) | fn write_to_guest(&mut self, mem: &M, address: GuestAd... function test_checksum (line 139) | fn test_checksum() { FILE: src/acpi-tables/src/madt.rs constant MADT_CPU_ENABLE_FLAG (line 14) | const MADT_CPU_ENABLE_FLAG: u32 = 0; type LocalAPIC (line 22) | pub struct LocalAPIC { method new (line 31) | pub fn new(cpu_id: u8) -> Self { type IoAPIC (line 48) | pub struct IoAPIC { method new (line 58) | pub fn new(ioapic_id: u8, apic_address: u32) -> Self { type MadtHeader (line 76) | struct MadtHeader { type Madt (line 88) | pub struct Madt { method new (line 94) | pub fn new( method len (line 129) | fn len(&self) -> usize { method write_to_guest (line 133) | fn write_to_guest(&mut self, mem: &M, address: GuestAddr... FILE: src/acpi-tables/src/mcfg.rs type PciRangeEntry (line 17) | struct PciRangeEntry { type Mcfg (line 28) | pub struct Mcfg { method new (line 35) | pub fn new( method len (line 69) | fn len(&self) -> usize { method write_to_guest (line 73) | fn write_to_guest(&mut self, mem: &M, address: GuestAddr... FILE: src/acpi-tables/src/rsdp.rs type Rsdp (line 26) | pub struct Rsdp { method new (line 39) | pub fn new(oem_id: [u8; 6], xsdt_addr: u64) -> Self { method len (line 60) | fn len(&self) -> usize { method write_to_guest (line 64) | fn write_to_guest(&mut self, mem: &M, address: GuestAddr... FILE: src/acpi-tables/src/xsdt.rs type Xsdt (line 19) | pub struct Xsdt { method new (line 25) | pub fn new( method len (line 60) | fn len(&self) -> usize { method write_to_guest (line 64) | fn write_to_guest(&mut self, mem: &M, address: GuestAddr... FILE: src/clippy-tracing/src/main.rs type CommandLineArgs (line 22) | struct CommandLineArgs { type Action (line 47) | enum Action { type SegmentedList (line 57) | struct SegmentedList { method set_before (line 65) | fn set_before(&mut self, line: usize, text: String) -> bool { method from (line 79) | fn from(list: SegmentedList) -> String { type StripVisitor (line 94) | struct StripVisitor(HashMap); method from (line 96) | fn from(visitor: StripVisitor) -> String { type CheckVisitor (line 125) | struct CheckVisitor(Option); type FixVisitor (line 146) | struct FixVisitor<'a> { method from (line 155) | fn from(visitor: FixVisitor) -> String { function instrument (line 183) | fn instrument(sig: &syn::Signature, suffix: &Option, cfg_attr: &... function inner_instrument (line 193) | fn inner_instrument(_sig: &syn::Signature, suffix: &Option) -> S... type Exit (line 202) | enum Exit { method report (line 212) | fn report(self) -> ExitCode { function main (line 217) | fn main() -> Exit { type ExecError (line 236) | enum ExecError { method fmt (line 247) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { function exec (line 260) | fn exec() -> Result, ExecError> { type ApplyError (line 299) | enum ApplyError { method fmt (line 312) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { function apply (line 327) | fn apply( function find_instrumented (line 385) | fn find_instrumented(attrs: &[syn::Attribute]) -> Option<&syn::Attribute> { function is_instrumented (line 390) | fn is_instrumented(attr: &syn::Attribute) -> Option<&syn::Attribute> { type Desc (line 409) | struct Desc { function check_attributes (line 421) | fn check_attributes(attrs: &[syn::Attribute]) -> Desc { FILE: src/clippy-tracing/tests/integration_tests.rs constant BINARY (line 13) | const BINARY: &str = env!("CARGO_BIN_EXE_clippy-tracing"); function setup (line 15) | fn setup(text: &str) -> String { function check_file (line 29) | fn check_file(text: &str, path: &str) { function fix (line 41) | fn fix(given: &str, expected: &str, cfg_attr: Option<&'static str>) { function strip (line 62) | fn strip(given: &str, expected: &str) { function exec_error (line 76) | fn exec_error() { function fix_one (line 95) | fn fix_one() { function fix_two (line 104) | fn fix_two() { function fix_three (line 111) | fn fix_three() { function check_one (line 119) | fn check_one() { function check_two (line 134) | fn check_two() { function check_three (line 148) | fn check_three() { function strip_one (line 170) | fn strip_one() { function strip_two (line 177) | fn strip_two() { function strip_three (line 184) | fn strip_three() { function exclude (line 191) | fn exclude() { function readme (line 251) | fn readme() { function readme_empty_suffix (line 331) | fn readme_empty_suffix() { function readme_custom_suffix (line 411) | fn readme_custom_suffix() { FILE: src/cpu-template-helper/build.rs constant MOCK_KERNEL_PATH (line 6) | const MOCK_KERNEL_PATH: &str = "src/utils/mock_kernel/kernel.bin"; type KernelHeader (line 11) | struct KernelHeader { function main (line 24) | fn main() { FILE: src/cpu-template-helper/src/fingerprint/compare.rs type FingerprintCompareError (line 9) | pub enum FingerprintCompareError { type Diff (line 17) | struct Diff<'a, T: Serialize> { function compare (line 23) | pub fn compare( function build_sample_fingerprint (line 102) | fn build_sample_fingerprint() -> Fingerprint { function test_compare_same_fingerprints (line 114) | fn test_compare_same_fingerprints() { function test_compare_different_fingerprints (line 124) | fn test_compare_different_fingerprints() { FILE: src/cpu-template-helper/src/fingerprint/dump.rs type FingerprintDumpError (line 12) | pub enum FingerprintDumpError { function dump (line 21) | pub fn dump(vmm: Arc>) -> Result Result { function read_sysfs_file (line 56) | fn read_sysfs_file(path: &str) -> Result { function test_get_kernel_version (line 67) | fn test_get_kernel_version() { function test_read_valid_sysfs_file (line 73) | fn test_read_valid_sysfs_file() { function test_read_invalid_sysfs_file (line 80) | fn test_read_invalid_sysfs_file() { FILE: src/cpu-template-helper/src/main.rs type HelperError (line 15) | enum HelperError { type Cli (line 38) | struct Cli { type Command (line 44) | enum Command { type TemplateOperation (line 54) | enum TemplateOperation { type FingerprintOperation (line 88) | enum FingerprintOperation { function run (line 121) | fn run(cli: Cli) -> Result<(), HelperError> { function main (line 208) | fn main() -> std::process::ExitCode { constant SAMPLE_MODIFIERS (line 233) | const SAMPLE_MODIFIERS: &str = r#" constant SAMPLE_MODIFIERS (line 260) | const SAMPLE_MODIFIERS: &str = r#" function generate_sample_template (line 271) | fn generate_sample_template() -> TempFile { function generate_sample_fingerprint (line 280) | fn generate_sample_fingerprint() -> TempFile { function test_template_dump_command (line 301) | fn test_template_dump_command() { function test_template_strip_command (line 316) | fn test_template_strip_command() { function test_template_verify_command (line 331) | fn test_template_verify_command() { function test_fingerprint_dump_command (line 346) | fn test_fingerprint_dump_command() { function test_fingerprint_compare_command (line 361) | fn test_fingerprint_compare_command() { FILE: src/cpu-template-helper/src/template/dump/aarch64.rs function config_to_template (line 11) | pub fn config_to_template(cpu_config: &CpuConfiguration) -> CustomCpuTem... constant REG_EXCLUSION_LIST (line 41) | const REG_EXCLUSION_LIST: [u64; 3] = [ constant KVM_REG_SIZE_U32 (line 59) | const KVM_REG_SIZE_U32: u64 = 0x0020000000000000; constant KVM_REG_SIZE_U64 (line 60) | const KVM_REG_SIZE_U64: u64 = 0x0030000000000000; constant KVM_REG_SIZE_U128 (line 61) | const KVM_REG_SIZE_U128: u64 = 0x0040000000000000; constant KVM_REG_SIZE_U256 (line 62) | const KVM_REG_SIZE_U256: u64 = 0x0050000000000000; constant KVM_REG_SIZE_U512 (line 63) | const KVM_REG_SIZE_U512: u64 = 0x0060000000000000; constant KVM_REG_SIZE_U1024 (line 64) | const KVM_REG_SIZE_U1024: u64 = 0x0070000000000000; constant KVM_REG_SIZE_U2048 (line 65) | const KVM_REG_SIZE_U2048: u64 = 0x0080000000000000; function build_sample_regs (line 67) | fn build_sample_regs() -> Aarch64RegisterVec { function build_expected_reg_modifiers (line 94) | fn build_expected_reg_modifiers() -> Vec { function test_config_to_template (line 103) | fn test_config_to_template() { FILE: src/cpu-template-helper/src/template/dump/mod.rs type DumpError (line 20) | pub enum DumpError { function dump (line 25) | pub fn dump(vmm: Arc>) -> Result { function test_dump (line 39) | fn test_dump() { FILE: src/cpu-template-helper/src/template/dump/x86_64.rs function config_to_template (line 19) | pub fn config_to_template(cpu_config: &CpuConfiguration) -> CustomCpuTem... function cpuid_to_modifiers (line 27) | fn cpuid_to_modifiers(cpuid: &Cpuid) -> Vec { function msrs_to_modifier (line 47) | fn msrs_to_modifier(msrs: &BTreeMap) -> Vec { constant MSR_EXCLUSION_LIST (line 71) | const MSR_EXCLUSION_LIST: [MsrRange; 10] = [ function should_exclude_msr (line 99) | fn should_exclude_msr(index: u32) -> bool { constant MSR_EXCLUSION_LIST_AMD (line 104) | const MSR_EXCLUSION_LIST_AMD: [MsrRange; 1] = [ function should_exclude_msr_amd (line 114) | fn should_exclude_msr_amd(index: u32) -> bool { function build_sample_cpuid (line 130) | fn build_sample_cpuid() -> Cpuid { function build_expected_cpuid_modifiers (line 165) | fn build_expected_cpuid_modifiers() -> Vec { function build_sample_msrs (line 192) | fn build_sample_msrs() -> BTreeMap { function build_expected_msr_modifiers (line 212) | fn build_expected_msr_modifiers() -> Vec { function test_config_to_template (line 230) | fn test_config_to_template() { FILE: src/cpu-template-helper/src/template/strip/aarch64.rs function strip (line 11) | pub fn strip(templates: Vec) -> Result Vec { function build_expected_templates (line 77) | fn build_expected_templates() -> Vec { function test_strip_reg_modifiers (line 102) | fn test_strip_reg_modifiers() { FILE: src/cpu-template-helper/src/template/strip/mod.rs type StripError (line 22) | pub enum StripError { function strip_common (line 27) | fn strip_common(maps: &mut [HashMap>]) -... function test_strip_common_with_single_input (line 92) | fn test_strip_common_with_single_input() { function test_strip_common (line 102) | fn test_strip_common() { FILE: src/cpu-template-helper/src/template/strip/x86_64.rs function strip (line 11) | pub fn strip(templates: Vec) -> Result Vec { function build_expected_cpuid_templates (line 113) | fn build_expected_cpuid_templates() -> Vec { function build_input_msr_templates (line 153) | fn build_input_msr_templates() -> Vec { function build_expected_msr_templates (line 184) | fn build_expected_msr_templates() -> Vec { function test_strip_cpuid_modifiers (line 212) | fn test_strip_cpuid_modifiers() { function test_strip_msr_modifiers (line 220) | fn test_strip_msr_modifiers() { FILE: src/cpu-template-helper/src/template/verify/aarch64.rs function verify (line 9) | pub fn verify( function test_verify_non_existing_reg (line 28) | fn test_verify_non_existing_reg() { function test_verify_mismatched_reg (line 50) | fn test_verify_mismatched_reg() { FILE: src/cpu-template-helper/src/template/verify/mod.rs type VerifyError (line 22) | pub enum VerifyError { function verify_common (line 35) | pub fn verify_common( function test_verify_modifier_map_with_non_existing_key (line 68) | fn test_verify_modifier_map_with_non_existing_key() { function test_verify_modifier_map_with_mismatched_value (line 83) | fn test_verify_modifier_map_with_mismatched_value() { function test_verify_modifier_map_with_valid_value (line 102) | fn test_verify_modifier_map_with_valid_value() { FILE: src/cpu-template-helper/src/template/verify/x86_64.rs function verify (line 9) | pub fn verify( function test_format_cpuid_modifier_map_key (line 71) | fn test_format_cpuid_modifier_map_key() { function test_cpuid_modifier_from_vec_to_map (line 86) | fn test_cpuid_modifier_from_vec_to_map() { function test_format_msr_modifier_map_key (line 108) | fn test_format_msr_modifier_map_key() { function test_msr_modifier_from_vec_to_map (line 114) | fn test_msr_modifier_from_vec_to_map() { function test_verify_non_existing_cpuid (line 133) | fn test_verify_non_existing_cpuid() { function test_verify_mismatched_cpuid (line 158) | fn test_verify_mismatched_cpuid() { function test_verify_non_existing_msr (line 185) | fn test_verify_non_existing_msr() { function test_verify_mismatched_msr (line 210) | fn test_verify_mismatched_msr() { FILE: src/cpu-template-helper/src/utils/aarch64.rs type RegModifierMapKey (line 13) | pub struct RegModifierMapKey(pub u64); method fmt (line 17) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type RegModifierMap (line 23) | pub struct RegModifierMap(pub HashMap) -> Self { function from (line 36) | fn from(modifier_map: RegModifierMap) -> Self { function test_format_reg_modifier_map_key (line 90) | fn test_format_reg_modifier_map_key() { function build_sample_reg_modifier_vec (line 95) | fn build_sample_reg_modifier_vec() -> Vec { function build_sample_reg_modifier_map (line 103) | fn build_sample_reg_modifier_map() -> RegModifierMap { function test_reg_modifier_from_vec_to_map (line 112) | fn test_reg_modifier_from_vec_to_map() { function test_reg_modifier_from_map_to_vec (line 119) | fn test_reg_modifier_from_map_to_vec() { FILE: src/cpu-template-helper/src/utils/mock_kernel/main.c function _start (line 4) | void _start() { FILE: src/cpu-template-helper/src/utils/mod.rs constant CPU_TEMPLATE_HELPER_VERSION (line 25) | pub const CPU_TEMPLATE_HELPER_VERSION: &str = env!("CARGO_PKG_VERSION"); type ModifierMapKey (line 30) | pub trait ModifierMapKey: Eq + PartialEq + Hash + Display + Clone {} type DiffString (line 32) | pub trait DiffString { method to_diff_string (line 36) | fn to_diff_string(template: V, config: V) -> String; method to_diff_string (line 43) | fn to_diff_string(template: V, config: V) -> String { type UtilsError (line 65) | pub enum UtilsError { function load_cpu_template (line 78) | pub fn load_cpu_template(path: &PathBuf) -> Result Result<(TempFile, TempFile, String), UtilsErro... function build_microvm_from_config (line 111) | pub fn build_microvm_from_config( function add_suffix (line 149) | pub fn add_suffix(path: &Path, suffix: &str) -> PathBuf { constant SUFFIX (line 172) | const SUFFIX: &str = "_suffix"; type MockModifierMapKey (line 175) | pub struct MockModifierMapKey(pub u8); method fmt (line 179) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function test_build_mock_config (line 208) | fn test_build_mock_config() { function test_build_microvm (line 229) | fn test_build_microvm() { function test_add_suffix_filename_only (line 234) | fn test_add_suffix_filename_only() { function test_add_suffix_filename_without_ext (line 241) | fn test_add_suffix_filename_without_ext() { function test_add_suffix_rel_path (line 248) | fn test_add_suffix_rel_path() { function test_add_suffix_abs_path (line 255) | fn test_add_suffix_abs_path() { FILE: src/cpu-template-helper/src/utils/x86_64.rs type CpuidModifierMapKey (line 16) | pub struct CpuidModifierMapKey { method fmt (line 25) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type CpuidModifierMap (line 38) | pub struct CpuidModifierMap(pub HashMap) -> Self { function from (line 61) | fn from(modifier_map: CpuidModifierMap) -> Self { type MsrModifierMapKey (line 99) | pub struct MsrModifierMapKey(pub u32); method fmt (line 103) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type MsrModifierMap (line 109) | pub struct MsrModifierMap(pub HashMap) -> Self { function from (line 122) | fn from(modifier_map: MsrModifierMap) -> Self { function test_format_cpuid_modifier_map_key (line 228) | fn test_format_cpuid_modifier_map_key() { function build_sample_cpuid_modifier_vec (line 242) | fn build_sample_cpuid_modifier_vec() -> Vec { function build_sample_cpuid_modifier_map (line 255) | fn build_sample_cpuid_modifier_map() -> CpuidModifierMap { function test_cpuid_modifier_from_vec_to_map (line 264) | fn test_cpuid_modifier_from_vec_to_map() { function test_cpuid_modifier_from_map_to_vec (line 271) | fn test_cpuid_modifier_from_map_to_vec() { function test_format_msr_modifier_map_key (line 278) | fn test_format_msr_modifier_map_key() { function build_sample_msr_modifier_vec (line 283) | fn build_sample_msr_modifier_vec() -> Vec { function build_sample_msr_modifier_map (line 291) | fn build_sample_msr_modifier_map() -> MsrModifierMap { function test_msr_modifier_from_vec_to_map (line 300) | fn test_msr_modifier_from_vec_to_map() { function test_msr_modifier_from_map_to_vec (line 307) | fn test_msr_modifier_from_map_to_vec() { FILE: src/firecracker/build.rs constant ADVANCED_BINARY_FILTER_FILE_NAME (line 6) | const ADVANCED_BINARY_FILTER_FILE_NAME: &str = "seccomp_filter.bpf"; constant JSON_DIR (line 8) | const JSON_DIR: &str = "../../resources/seccomp"; constant SECCOMPILER_SRC_DIR (line 9) | const SECCOMPILER_SRC_DIR: &str = "../seccompiler/src"; function main (line 14) | fn main() { FILE: src/firecracker/examples/seccomp/harmless.rs function main (line 3) | fn main() { FILE: src/firecracker/examples/seccomp/jailer.rs function main (line 10) | fn main() { FILE: src/firecracker/examples/seccomp/malicious.rs function main (line 3) | fn main() { FILE: src/firecracker/examples/seccomp/panic.rs function main (line 8) | fn main() { FILE: src/firecracker/examples/uffd/fault_all_handler.rs function main (line 16) | fn main() { FILE: src/firecracker/examples/uffd/malicious_handler.rs function main (line 14) | fn main() { FILE: src/firecracker/examples/uffd/on_demand_handler.rs function main (line 15) | fn main() { FILE: src/firecracker/examples/uffd/uffd_utils.rs type GuestRegionUffdMapping (line 32) | pub struct GuestRegionUffdMapping { method contains (line 45) | fn contains(&self, fault_page_addr: u64) -> bool { type UffdHandler (line 52) | pub struct UffdHandler { method try_get_mappings_and_file (line 60) | fn try_get_mappings_and_file( method get_mappings_and_file (line 77) | fn get_mappings_and_file(stream: &UnixStream) -> (String, File) { method from_unix_stream (line 100) | pub fn from_unix_stream(stream: &UnixStream, backing_buffer: *const u8... method read_event (line 130) | pub fn read_event(&mut self) -> Result, Error> { method unregister_range (line 134) | pub fn unregister_range(&mut self, start: *mut c_void, end: *mut c_voi... method serve_pf (line 147) | pub fn serve_pf(&mut self, addr: *mut u8, len: usize) -> bool { method populate_from_file (line 164) | fn populate_from_file(&self, region: &GuestRegionUffdMapping, dst: u64... type Runtime (line 196) | pub struct Runtime { method new (line 205) | pub fn new(stream: UnixStream, backing_file: File) -> Self { method peer_process_credentials (line 235) | fn peer_process_credentials(&self) -> libc::ucred { method install_panic_hook (line 257) | pub fn install_panic_hook(&self) { method run (line 277) | pub fn run(&mut self, pf_event_dispatch: impl Fn(&mut UffdHandler)) { function test_runtime (line 343) | fn test_runtime() { FILE: src/firecracker/src/api_server/mod.rs type ApiServer (line 29) | pub struct ApiServer { method new (line 43) | pub fn new( method run (line 63) | pub fn run( method handle_request (line 121) | pub fn handle_request( method serve_vmm_action_request (line 146) | fn serve_vmm_action_request( method json_response (line 188) | pub(crate) fn json_response + Debug>(status: StatusCod... method json_fault_message (line 194) | fn json_fault_message + serde::Serialize + Debug>(msg: T... constant TEST_UNESCAPED_JSON_TEMPLATE (line 224) | const TEST_UNESCAPED_JSON_TEMPLATE: &str = r#"{ constant TEST_UNESCAPED_JSON_TEMPLATE (line 233) | pub const TEST_UNESCAPED_JSON_TEMPLATE: &str = r#"{ function test_serve_vmm_action_request (line 243) | fn test_serve_vmm_action_request() { function test_handle_request (line 301) | fn test_handle_request() { function test_handle_request_logging (line 353) | fn test_handle_request_logging() { function test_bind_and_run (line 376) | fn test_bind_and_run() { function test_bind_and_run_with_limit (line 418) | fn test_bind_and_run_with_limit() { function test_kill_switch (line 464) | fn test_kill_switch() { FILE: src/firecracker/src/api_server/parsed_request.rs type RequestAction (line 37) | pub(crate) enum RequestAction { type ParsingInfo (line 42) | pub(crate) struct ParsingInfo { method append_deprecation_message (line 47) | pub fn append_deprecation_message(&mut self, message: &str) { method take_deprecation_message (line 54) | pub fn take_deprecation_message(&mut self) -> Option { type ParsedRequest (line 60) | pub(crate) struct ParsedRequest { type Error (line 66) | type Error = RequestError; method try_from (line 67) | fn try_from(request: &Request) -> Result { method new (line 137) | pub(crate) fn new(action: RequestAction) -> Self { method into_parts (line 144) | pub(crate) fn into_parts(self) -> (RequestAction, ParsingInfo) { method parsing_info (line 148) | pub(crate) fn parsing_info(&mut self) -> &mut ParsingInfo { method success_response_with_data (line 152) | pub(crate) fn success_response_with_data(body_data: &T) -> Response method success_response_with_mmds_value (line 162) | pub(crate) fn success_response_with_mmds_value(body_data: &Value) -> R... method convert_to_response (line 173) | pub(crate) fn convert_to_response( method new_sync (line 226) | pub(crate) fn new_sync(vmm_action: VmmAction) -> ParsedRequest { function describe (line 238) | fn describe(method: Method, path: &str, body: Option<&Body>) -> String { function describe_with_body (line 258) | fn describe_with_body(method: Method, path: &str, payload_value: &Body) ... function method_to_error (line 270) | pub(crate) fn method_to_error(method: Method) -> Result Self { function checked_id (line 321) | pub(crate) fn checked_id(id: &str) -> Result<&str, RequestError> { method eq (line 354) | fn eq(&self, other: &ParsedRequest) -> bool { function vmm_action_from_request (line 367) | pub(crate) fn vmm_action_from_request(req: ParsedRequest) -> VmmAction { function depr_action_from_req (line 373) | pub(crate) fn depr_action_from_req(req: ParsedRequest, msg: Option String { function http_request (line 404) | fn http_request(request_type: &str, endpoint: &str, body: Option<&str>) ... function test_missing_slash (line 421) | fn test_missing_slash() { function test_checked_id (line 434) | fn test_checked_id() { function test_invalid_get (line 449) | fn test_invalid_get() { function test_invalid_put (line 465) | fn test_invalid_put() { function test_invalid_patch (line 481) | fn test_invalid_patch() { function test_error_into_response (line 508) | fn test_error_into_response() { function test_describe (line 563) | fn test_describe() { function test_convert_to_response (line 579) | fn test_convert_to_response() { function test_try_from_get_info (line 647) | fn test_try_from_get_info() { function test_try_from_get_balloon (line 659) | fn test_try_from_get_balloon() { function test_try_from_get_balloon_stats (line 671) | fn test_try_from_get_balloon_stats() { function test_try_from_get_balloon_hinting (line 683) | fn test_try_from_get_balloon_hinting() { function test_try_from_get_machine_config (line 695) | fn test_try_from_get_machine_config() { function test_try_from_get_mmds (line 707) | fn test_try_from_get_mmds() { function test_try_from_get_version (line 719) | fn test_try_from_get_version() { function test_try_from_put_actions (line 731) | fn test_try_from_put_actions() { function test_try_from_put_balloon (line 744) | fn test_try_from_put_balloon() { function test_try_from_put_entropy (line 758) | fn test_try_from_put_entropy() { function test_try_from_put_boot (line 773) | fn test_try_from_put_boot() { function test_try_from_put_drives (line 786) | fn test_try_from_put_drives() { function test_try_from_put_logger (line 803) | fn test_try_from_put_logger() { function test_try_from_put_machine_config (line 817) | fn test_try_from_put_machine_config() { function test_try_from_put_metrics (line 830) | fn test_try_from_put_metrics() { function test_try_from_put_mmds (line 843) | fn test_try_from_put_mmds() { function test_try_from_put_netif (line 874) | fn test_try_from_put_netif() { function test_try_from_put_snapshot (line 893) | fn test_try_from_put_snapshot() { function test_try_from_patch_vm (line 926) | fn test_try_from_patch_vm() { function test_try_from_put_vsock (line 939) | fn test_try_from_put_vsock() { function test_try_from_patch_balloon (line 952) | fn test_try_from_patch_balloon() { function test_try_from_patch_drives (line 1011) | fn test_try_from_patch_drives() { function test_try_from_patch_machine_config (line 1024) | fn test_try_from_patch_machine_config() { function test_try_from_put_cpu_config (line 1048) | fn test_try_from_put_cpu_config() { function test_try_from_patch_mmds (line 1069) | fn test_try_from_patch_mmds() { function test_try_from_patch_netif (line 1081) | fn test_try_from_patch_netif() { FILE: src/firecracker/src/api_server/request/actions.rs type ActionType (line 17) | enum ActionType { type ActionBody (line 27) | struct ActionBody { function parse_put_actions (line 31) | pub(crate) fn parse_put_actions(body: &Body) -> Result(mut path_tokens: T) -> Result(mut path_tokens: T) -> Result Result( function parse_patch_balloon (line 83) | pub(crate) fn parse_patch_balloon<'a, T>( function test_parse_get_balloon_request (line 110) | fn test_parse_get_balloon_request() { function test_parse_patch_balloon_request (line 123) | fn test_parse_patch_balloon_request() { function test_parse_put_balloon_request (line 243) | fn test_parse_put_balloon_request() { FILE: src/firecracker/src/api_server/request/boot_source.rs function parse_put_boot_source (line 11) | pub(crate) fn parse_put_boot_source(body: &Body) -> Result Result Result Result Result Result Result Result Result Result Result Result Result { function parse_put_mmds_config (line 18) | fn parse_put_mmds_config(body: &Body) -> Result Result Result Result Result Result Result { function test_parse_get_version_request (line 20) | fn test_parse_get_version_request() { FILE: src/firecracker/src/api_server/request/vsock.rs function parse_put_vsock (line 11) | pub(crate) fn parse_put_vsock(body: &Body) -> Result Self { function main (line 94) | fn main() -> ExitCode { function main_exec (line 108) | fn main_exec() -> Result<(), MainError> { function resize_fdtable (line 463) | fn resize_fdtable() -> Result<(), ResizeFdTableError> { function enable_ssbd_mitigation (line 505) | pub fn enable_ssbd_mitigation() { function warn_deprecated_parameters (line 534) | fn warn_deprecated_parameters() {} type SnapshotVersionError (line 537) | enum SnapshotVersionError { function print_snapshot_data_format (line 545) | fn print_snapshot_data_format(snapshot_path: &str) -> Result<(), Snapsho... type BuildFromJsonError (line 557) | pub enum BuildFromJsonError { function build_microvm_from_json (line 566) | fn build_microvm_from_json( type RunWithoutApiError (line 595) | enum RunWithoutApiError { function run_without_api (line 602) | fn run_without_api( FILE: src/firecracker/src/metrics.rs constant WRITE_METRICS_PERIOD_MS (line 13) | pub(crate) const WRITE_METRICS_PERIOD_MS: u64 = 60000; type PeriodicMetrics (line 17) | pub(crate) struct PeriodicMetrics { method new (line 25) | pub fn new() -> Self { method start (line 35) | pub(crate) fn start(&mut self, interval_ms: u64) { method write_metrics (line 44) | fn write_metrics(&mut self) { method process (line 59) | fn process(&mut self, event: Events, _: &mut EventOps) { method init (line 82) | fn init(&mut self, ops: &mut EventOps) { function test_periodic_metrics (line 98) | fn test_periodic_metrics() { FILE: src/firecracker/src/seccomp.rs constant THREAD_CATEGORIES (line 10) | const THREAD_CATEGORIES: [&str; 3] = ["vmm", "api", "vcpu"]; type FilterError (line 14) | pub enum FilterError { type SeccompConfig (line 27) | pub enum SeccompConfig { method from_args (line 38) | pub fn from_args + Debug>( function get_filters (line 56) | pub fn get_filters(config: SeccompConfig) -> Result Result { function get_custom_filters (line 74) | fn get_custom_filters(reader: R) -> Result Result + Debug>( function violating_dependencies_of_depsset (line 66) | fn violating_dependencies_of_depsset(depsset: DepsSet) -> impl Iterator<... FILE: src/jailer/src/cgroup.rs type CgroupMountPoint (line 18) | struct CgroupMountPoint { type CgroupHierarchies (line 25) | struct CgroupHierarchies { method new (line 35) | fn new(ver: u8, proc_mounts_path: &str) -> Result { method get_v1_hierarchy_path (line 96) | fn get_v1_hierarchy_path(&mut self, controller: &str) -> Result<&PathB... method get_v2_hierarchy_path (line 123) | pub fn get_v2_hierarchy_path(&self) -> Result<&PathBuf, JailerError> { type CgroupConfigurationBuilder (line 135) | pub struct CgroupConfigurationBuilder { method new (line 143) | pub fn new(ver: u8, proc_mounts_path: &str) -> Result CgroupConfiguration { method get_v2_hierarchy_path (line 188) | pub fn get_v2_hierarchy_path(&self) -> Result<&PathBuf, JailerError> { type CgroupProperty (line 194) | struct CgroupProperty { type CgroupBase (line 200) | struct CgroupBase { type CgroupV1 (line 206) | pub struct CgroupV1 { method new (line 329) | pub fn new(id: &str, parent_cg: &Path, controller_path: &Path) -> Resu... type CgroupV2 (line 212) | pub struct CgroupV2 { method write_all_subtree_control (line 384) | fn write_all_subtree_control

(path: P, controller: &str) -> Result<(... method detect_available_controllers (line 406) | fn detect_available_controllers

(mount_point: P) -> HashSet method new (line 426) | pub fn new(id: &str, parent_cg: &Path, unified_path: &Path) -> Result<... type Cgroup (line 217) | pub trait Cgroup: Debug { method add_property (line 219) | fn add_property(&mut self, file: String, value: String) -> Result<(), ... method write_values (line 222) | fn write_values(&self) -> Result<(), JailerError>; method attach_pid (line 225) | fn attach_pid(&self) -> Result<(), JailerError>; method add_property (line 349) | fn add_property(&mut self, file: String, value: String) -> Result<(), ... method write_values (line 354) | fn write_values(&self) -> Result<(), JailerError> { method attach_pid (line 369) | fn attach_pid(&self) -> Result<(), JailerError> { method add_property (line 442) | fn add_property(&mut self, file: String, value: String) -> Result<(), ... method write_values (line 454) | fn write_values(&self) -> Result<(), JailerError> { method attach_pid (line 478) | fn attach_pid(&self) -> Result<(), JailerError> { type CgroupConfiguration (line 229) | pub enum CgroupConfiguration { method setup (line 235) | pub fn setup(&self) -> Result<(), JailerError> { function inherit_from_parent_aux (line 273) | fn inherit_from_parent_aux( function inherit_from_parent (line 310) | fn inherit_from_parent(path: &Path, file_name: &str, depth: u16) -> Resu... function get_controller_from_filename (line 316) | fn get_controller_from_filename(file: &str) -> Result<&str, JailerError> { function setup_cgroup_conf (line 488) | pub fn setup_cgroup_conf(conf: &HashMap) -> Result<... type MockCgroupFs (line 510) | pub struct MockCgroupFs { method create_file_with_contents (line 522) | pub fn create_file_with_contents + Debug>( method new (line 537) | pub fn new() -> Result { method add_v2_mounts (line 560) | pub fn add_v2_mounts(&mut self) -> Result<(), std::io::Error> { method add_v1_mounts (line 577) | pub fn add_v1_mounts(&mut self) -> Result<(), std::io::Error> { function read_first_line (line 613) | fn read_first_line

(filename: P) -> Result function test_cgroup_conf_builder_invalid_version (line 626) | fn test_cgroup_conf_builder_invalid_version() { function test_cgroup_conf_builder_no_mounts (line 634) | fn test_cgroup_conf_builder_no_mounts() { function test_cgroup_conf_builder_v1 (line 642) | fn test_cgroup_conf_builder_v1() { function test_cgroup_conf_builder_v2 (line 651) | fn test_cgroup_conf_builder_v2() { function test_cgroup_conf_builder_v2_with_v1_mounts (line 660) | fn test_cgroup_conf_builder_v2_with_v1_mounts() { function test_cgroup_conf_builder_v2_no_mounts (line 669) | fn test_cgroup_conf_builder_v2_no_mounts() { function test_cgroup_conf_builder_v1_with_v2_mounts (line 677) | fn test_cgroup_conf_builder_v1_with_v2_mounts() { function test_cgroup_conf_build (line 686) | fn test_cgroup_conf_build() { function test_cgroup_conf_build_invalid (line 711) | fn test_cgroup_conf_build_invalid() { function test_cgroup_conf_v1_write_value (line 734) | fn test_cgroup_conf_v1_write_value() { function test_cgroup_conf_v2_write_value (line 771) | fn test_cgroup_conf_v2_write_value() { function test_inherit_from_parent (line 838) | fn test_inherit_from_parent() { function test_get_controller (line 876) | fn test_get_controller() { FILE: src/jailer/src/chroot.rs constant OLD_ROOT_DIR (line 13) | const OLD_ROOT_DIR: &CStr = c"old_root"; constant ROOT_DIR (line 14) | const ROOT_DIR: &CStr = c"/"; constant CURRENT_DIR (line 15) | const CURRENT_DIR: &CStr = c"."; function chroot (line 19) | pub fn chroot(path: &Path) -> Result<(), JailerError> { FILE: src/jailer/src/env.rs constant PROC_MOUNTS (line 24) | pub const PROC_MOUNTS: &str = "/proc/mounts"; constant STDIN_FILENO (line 26) | const STDIN_FILENO: libc::c_int = 0; constant STDOUT_FILENO (line 27) | const STDOUT_FILENO: libc::c_int = 1; constant STDERR_FILENO (line 28) | const STDERR_FILENO: libc::c_int = 2; constant DEV_KVM (line 33) | const DEV_KVM: &CStr = c"/dev/kvm"; constant DEV_KVM_MAJOR (line 34) | const DEV_KVM_MAJOR: u32 = 10; constant DEV_KVM_MINOR (line 35) | const DEV_KVM_MINOR: u32 = 232; constant DEV_NET_TUN (line 39) | const DEV_NET_TUN: &CStr = c"/dev/net/tun"; constant DEV_NET_TUN_MAJOR (line 40) | const DEV_NET_TUN_MAJOR: u32 = 10; constant DEV_NET_TUN_MINOR (line 41) | const DEV_NET_TUN_MINOR: u32 = 200; constant DEV_URANDOM (line 45) | const DEV_URANDOM: &CStr = c"/dev/urandom"; constant DEV_URANDOM_MAJOR (line 46) | const DEV_URANDOM_MAJOR: u32 = 1; constant DEV_URANDOM_MINOR (line 47) | const DEV_URANDOM_MINOR: u32 = 9; constant DEV_UFFD_PATH (line 57) | const DEV_UFFD_PATH: &CStr = c"/dev/userfaultfd"; constant DEV_UFFD_MAJOR (line 58) | const DEV_UFFD_MAJOR: u32 = 10; constant FOLDER_HIERARCHY (line 65) | const FOLDER_HIERARCHY: [&str; 4] = ["/", "/dev", "/dev/net", "/run"]; constant FOLDER_PERMISSIONS (line 66) | const FOLDER_PERMISSIONS: u32 = 0o700; constant PID_FILE_EXTENSION (line 70) | const PID_FILE_EXTENSION: &str = ".pid"; function dup2 (line 73) | fn dup2(old_fd: libc::c_int, new_fd: libc::c_int) -> Result<(), JailerEr... function clone (line 85) | fn clone(child_stack: *mut libc::c_void, flags: libc::c_int) -> Result &Path { method gid (line 280) | pub fn gid(&self) -> u32 { method uid (line 284) | pub fn uid(&self) -> u32 { method validate_exec_file (line 288) | fn validate_exec_file(exec_file: &str) -> Result<(PathBuf, String), Ja... method parse_resource_limits (line 307) | fn parse_resource_limits( method exec_into_new_pid_ns (line 328) | fn exec_into_new_pid_ns(&mut self, chroot_exec_file: PathBuf) -> Resul... method save_exec_file_pid (line 385) | fn save_exec_file_pid( method get_userfaultfd_minor_dev_number (line 405) | fn get_userfaultfd_minor_dev_number() -> Result) -> Result<(), ... method copy_exec_to_chroot (line 468) | fn copy_exec_to_chroot(&mut self) -> Result { method join_netns (line 520) | fn join_netns(path: &str) -> Result<(), JailerError> { method exec_command (line 531) | fn exec_command(&self, chroot_exec_file: PathBuf) -> io::Error { method copy_cache_info (line 550) | fn copy_cache_info(&self) -> Result<(), JailerError> { method copy_midr_el1_info (line 614) | fn copy_midr_el1_info(&self) -> Result<(), JailerError> { method run (line 641) | pub fn run(mut self) -> Result<(), JailerError> { function get_pseudo_exec_file_path (line 790) | fn get_pseudo_exec_file_path() -> String { type ArgVals (line 798) | struct ArgVals<'a> { function new (line 813) | pub fn new(pseudo_exec_file_path: &'a str) -> ArgVals<'a> { function make_args (line 833) | fn make_args(arg_vals: &ArgVals) -> Vec { function create_env (line 884) | fn create_env(mock_proc_mounts: &Path) -> Env { function test_new_env (line 896) | fn test_new_env() { function test_dup2 (line 1037) | fn test_dup2() { function test_validate_exec_file (line 1047) | fn test_validate_exec_file() { function test_setup_jailed_folder (line 1082) | fn test_setup_jailed_folder() { function ensure_mknod_and_own_dev (line 1123) | fn ensure_mknod_and_own_dev(env: &Env, dev_path: &CStr, major: u32, mino... function test_mknod_and_own_dev (line 1153) | fn test_mknod_and_own_dev() { function test_userfaultfd_dev (line 1191) | fn test_userfaultfd_dev() { function test_copy_exec_to_chroot (line 1204) | fn test_copy_exec_to_chroot() { function test_join_netns (line 1261) | fn test_join_netns() { function test_cgroups_parsing (line 1283) | fn test_cgroups_parsing() { function test_parse_resource_limits (line 1359) | fn test_parse_resource_limits() { function test_copy_cache_info (line 1425) | fn test_copy_cache_info() { function test_save_exec_file_pid (line 1448) | fn test_save_exec_file_pid() { FILE: src/jailer/src/main.rs constant JAILER_VERSION (line 22) | const JAILER_VERSION: &str = env!("CARGO_PKG_VERSION"); type JailerError (line 25) | pub enum JailerError { function build_arg_parser (line 159) | pub fn build_arg_parser() -> ArgParser<'static> { function writeln_special (line 238) | pub fn writeln_special(file_path: &T, value: V) -> Result<(), Jail... function readln_special (line 247) | pub fn readln_special + Debug>(file_path: &T) -> Result Result<(), JailerError> { function close_inherited_fds (line 273) | fn close_inherited_fds() -> Result<(), JailerError> { function sanitize_process (line 279) | fn sanitize_process() -> Result<(), JailerError> { function clean_env_vars (line 289) | fn clean_env_vars() { function to_cstring (line 304) | pub fn to_cstring + Debug>(path: T) -> Result Result<(), JailerError> { function main_exec (line 325) | fn main_exec() -> Result<(), JailerError> { function run_close_fds_test (line 374) | fn run_close_fds_test(test_fn: fn() -> Result<(), JailerError>) { function test_fds_close_range (line 400) | fn test_fds_close_range() { function test_sanitize_process (line 421) | fn test_sanitize_process() { function test_clean_env_vars (line 426) | fn test_clean_env_vars() { function test_to_cstring (line 448) | fn test_to_cstring() { FILE: src/jailer/src/resource_limits.rs constant NO_FILE (line 12) | const NO_FILE: u64 = 2048; constant FSIZE_ARG (line 14) | pub(crate) const FSIZE_ARG: &str = "fsize"; constant NO_FILE_ARG (line 16) | pub(crate) const NO_FILE_ARG: &str = "no-file"; type Resource (line 19) | pub enum Resource { function from (line 27) | fn from(resource: Resource) -> u32 { function from (line 48) | fn from(resource: Resource) -> i32 { method fmt (line 69) | fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { type ResourceLimits (line 78) | pub struct ResourceLimits { method install (line 93) | pub fn install(self) -> Result<(), JailerError> { method set_limit (line 104) | fn set_limit(resource: Resource, target: libc::rlim_t) -> Result<(), J... method set_file_size (line 117) | pub fn set_file_size(&mut self, file_size: u64) { method set_no_file (line 121) | pub fn set_no_file(&mut self, no_file: u64) { method default (line 84) | fn default() -> Self { function test_from_resource (line 133) | fn test_from_resource() { function test_display_resource (line 142) | fn test_display_resource() { function test_default_resource_limits (line 154) | fn test_default_resource_limits() { function test_set_resource_limits (line 166) | fn test_set_resource_limits() { function test_install (line 192) | fn test_install() { FILE: src/log-instrument-macros/src/lib.rs function instrument (line 16) | pub fn instrument( FILE: src/log-instrument/examples/five.rs function main (line 8) | fn main() { type MyStruct (line 17) | struct MyStruct(Option>); method one (line 21) | fn one(&mut self) -> Option<&mut [String]> { FILE: src/log-instrument/examples/four.rs function main (line 6) | fn main() { type MyStruct (line 15) | struct MyStruct(Option>); method one (line 19) | fn one(&mut self) -> Option<&mut [String]> { FILE: src/log-instrument/examples/one.rs function main (line 6) | fn main() { function one (line 15) | fn one(x: u32) -> u32 { FILE: src/log-instrument/examples/six.rs function main (line 6) | fn main() { function one (line 15) | fn one(x: u32) -> u32 { function two (line 24) | fn two(x: u32) -> u32 { FILE: src/log-instrument/examples/three.rs function main (line 6) | fn main() { function one (line 17) | fn one(x: &mut Option>) -> Option<&mut [String]> { FILE: src/log-instrument/examples/two.rs function main (line 6) | fn main() { function one (line 17) | fn one(x: &Option>) -> Option<&[String]> { FILE: src/log-instrument/src/lib.rs type InnerPath (line 10) | type InnerPath = Mutex>>; function path (line 12) | fn path() -> &'static InnerPath { type __Instrument (line 17) | pub struct __Instrument; method new (line 20) | pub fn new(s: &'static str) -> __Instrument { method drop (line 44) | fn drop(&mut self) { FILE: src/pci/src/lib.rs type PciInterruptPin (line 21) | pub enum PciInterruptPin { method to_mask (line 29) | pub fn to_mask(self) -> u32 { type PciBdf (line 35) | pub struct PciBdf(u32); method deserialize (line 55) | fn deserialize(deserializer: D) -> Result method serialize (line 64) | fn serialize(&self, serializer: S) -> Result method segment (line 73) | pub fn segment(&self) -> u16 { method bus (line 77) | pub fn bus(&self) -> u8 { method device (line 81) | pub fn device(&self) -> u8 { method function (line 85) | pub fn function(&self) -> u8 { method new (line 89) | pub fn new(segment: u16, bus: u8, device: u8, function: u8) -> Self { method from (line 100) | fn from(bdf: u32) -> Self { type PciBdfVisitor (line 37) | struct PciBdfVisitor; type Value (line 40) | type Value = PciBdf; method expecting (line 42) | fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { method visit_str (line 46) | fn visit_str(self, v: &str) -> Result function from (line 106) | fn from(bdf: PciBdf) -> Self { function from (line 112) | fn from(bdf: &PciBdf) -> Self { function from (line 118) | fn from(bdf: PciBdf) -> Self { function from (line 124) | fn from(bdf: &PciBdf) -> Self { method fmt (line 130) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method fmt (line 143) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type PciBdfParseError (line 157) | pub enum PciBdfParseError { type Err (line 165) | type Err = PciBdfParseError; method from_str (line 167) | fn from_str(s: &str) -> Result { type PciHeaderType (line 186) | pub enum PciHeaderType { type PciClassCode (line 194) | pub enum PciClassCode { method get_register_value (line 216) | pub fn get_register_value(self) -> u8 { type PciSubclass (line 223) | pub trait PciSubclass { method get_register_value (line 225) | fn get_register_value(&self) -> u8; method get_register_value (line 240) | fn get_register_value(&self) -> u8 { method get_register_value (line 264) | fn get_register_value(&self) -> u8 { method get_register_value (line 280) | fn get_register_value(&self) -> u8 { method get_register_value (line 302) | fn get_register_value(&self) -> u8 { method get_register_value (line 324) | fn get_register_value(&self) -> u8 { type PciMultimediaSubclass (line 231) | pub enum PciMultimediaSubclass { type PciBridgeSubclass (line 248) | pub enum PciBridgeSubclass { type PciSerialBusSubClass (line 272) | pub enum PciSerialBusSubClass { type PciMassStorageSubclass (line 288) | pub enum PciMassStorageSubclass { type PciNetworkControllerSubclass (line 310) | pub enum PciNetworkControllerSubclass { type PciCapabilityId (line 334) | pub enum PciCapabilityId { method from (line 359) | fn from(c: u8) -> Self { type PciExpressCapabilityId (line 391) | pub enum PciExpressCapabilityId { method from (line 444) | fn from(c: u16) -> Self { type PciBarRegionType (line 501) | pub enum PciBarRegionType { type PciBarPrefetchable (line 508) | pub enum PciBarPrefetchable { function from (line 514) | fn from(val: PciBarPrefetchable) -> Self { function test_pci_bdf_new (line 527) | fn test_pci_bdf_new() { function test_pci_bdf_from_u32 (line 536) | fn test_pci_bdf_from_u32() { function test_pci_bdf_to_u32 (line 545) | fn test_pci_bdf_to_u32() { function test_pci_bdf_to_u16 (line 552) | fn test_pci_bdf_to_u16() { function test_pci_bdf_from_str_valid (line 559) | fn test_pci_bdf_from_str_valid() { function test_pci_bdf_from_str_zero (line 568) | fn test_pci_bdf_from_str_zero() { function test_pci_bdf_from_str_invalid_format (line 577) | fn test_pci_bdf_from_str_invalid_format() { function test_pci_bdf_from_str_invalid_hex (line 593) | fn test_pci_bdf_from_str_invalid_hex() { function test_pci_bdf_display (line 613) | fn test_pci_bdf_display() { function test_pci_bdf_debug (line 619) | fn test_pci_bdf_debug() { function test_pci_bdf_partial_eq (line 625) | fn test_pci_bdf_partial_eq() { function test_pci_bdf_partial_ord (line 634) | fn test_pci_bdf_partial_ord() { function test_pci_bdf_deserialize_ok (line 641) | fn test_pci_bdf_deserialize_ok() { function test_pci_bdf_deserialize_invalid (line 651) | fn test_pci_bdf_deserialize_invalid() { function test_pci_bdf_serialize (line 660) | fn test_pci_bdf_serialize() { FILE: src/rebase-snap/src/main.rs constant REBASE_SNAP_VERSION (line 12) | const REBASE_SNAP_VERSION: &str = env!("CARGO_PKG_VERSION"); constant BASE_FILE (line 13) | const BASE_FILE: &str = "base-file"; constant DIFF_FILE (line 14) | const DIFF_FILE: &str = "diff-file"; constant DEPRECATION_MSG (line 15) | const DEPRECATION_MSG: &str = "This tool is deprecated and will be remov... type FileError (line 19) | enum FileError { type RebaseSnapError (line 37) | enum RebaseSnapError { function build_arg_parser (line 46) | fn build_arg_parser<'a>() -> ArgParser<'a> { function get_files (line 62) | fn get_files(args: &Arguments) -> Result<(File, File), FileError> { function rebase (line 81) | fn rebase(base_file: &mut File, diff_file: &mut File) -> Result<(), File... function main (line 116) | fn main() -> Result<(), RebaseSnapError> { function main_exec (line 126) | fn main_exec() -> Result<(), RebaseSnapError> { function test_parse_args (line 178) | fn test_parse_args() { function check_file_content (line 240) | fn check_file_content(file: &mut File, expected_content: &[u8]) { function test_rebase_corner_cases (line 247) | fn test_rebase_corner_cases() { function test_rebase (line 275) | fn test_rebase() { FILE: src/seccompiler/build.rs function main (line 4) | fn main() { FILE: src/seccompiler/src/bin.rs constant DEFAULT_OUTPUT_FILENAME (line 7) | const DEFAULT_OUTPUT_FILENAME: &str = "seccomp_binary_filter.out"; type Cli (line 11) | struct Cli { function main (line 38) | fn main() -> Result<(), CompilationError> { FILE: src/seccompiler/src/bindings.rs constant MINUS_EEXIST (line 13) | pub const MINUS_EEXIST: i32 = -libc::EEXIST; type scmp_filter_ctx (line 16) | pub type scmp_filter_ctx = *mut c_void; type const_scmp_filter_ctx (line 18) | pub type const_scmp_filter_ctx = *const c_void; type scmp_compare (line 23) | pub enum scmp_compare { type scmp_datum_t (line 43) | pub type scmp_datum_t = u64; type scmp_arg_cmp (line 48) | pub struct scmp_arg_cmp { constant SCMP_ARCH_X86_64 (line 57) | pub const SCMP_ARCH_X86_64: u32 = 0xc000003e; constant SCMP_ARCH_AARCH64 (line 58) | pub const SCMP_ARCH_AARCH64: u32 = 0xc00000b7; constant SCMP_ACT_KILL_PROCESS (line 60) | pub const SCMP_ACT_KILL_PROCESS: u32 = 0x80000000; constant SCMP_ACT_KILL_THREAD (line 62) | pub const SCMP_ACT_KILL_THREAD: u32 = 0x00000000; constant SCMP_ACT_TRAP (line 64) | pub const SCMP_ACT_TRAP: u32 = 0x00030000; constant SCMP_ACT_ERRNO_MASK (line 66) | pub const SCMP_ACT_ERRNO_MASK: u32 = 0x00050000; function SCMP_ACT_ERRNO (line 69) | pub const fn SCMP_ACT_ERRNO(x: u16) -> u32 { constant SCMP_ACT_TRACE_MASK (line 72) | pub const SCMP_ACT_TRACE_MASK: u32 = 0x7ff00000; function SCMP_ACT_TRACE (line 75) | pub const fn SCMP_ACT_TRACE(x: u16) -> u32 { constant SCMP_ACT_LOG (line 79) | pub const SCMP_ACT_LOG: u32 = 0x7ffc0000; constant SCMP_ACT_ALLOW (line 81) | pub const SCMP_ACT_ALLOW: u32 = 0x7fff0000; function seccomp_init (line 92) | pub safe fn seccomp_init(def_action: u32) -> scmp_filter_ctx; function seccomp_arch_add (line 105) | pub fn seccomp_arch_add(ctx: scmp_filter_ctx, arch_token: u32) -> c_int; function seccomp_syscall_resolve_name (line 114) | pub fn seccomp_syscall_resolve_name(name: *const c_char) -> c_int; function seccomp_rule_add (line 130) | pub fn seccomp_rule_add( function seccomp_rule_add_array (line 152) | pub fn seccomp_rule_add_array( function seccomp_export_bpf (line 167) | pub fn seccomp_export_bpf(ctx: const_scmp_filter_ctx, fd: c_int) -> c_int; constant __NR_SCMP_ERROR (line 171) | pub const __NR_SCMP_ERROR: c_int = -1; FILE: src/seccompiler/src/lib.rs constant DESERIALIZATION_BYTES_LIMIT (line 23) | const DESERIALIZATION_BYTES_LIMIT: usize = 100_000; type CompilationError (line 27) | pub enum CompilationError { function compile_bpf (line 60) | pub fn compile_bpf( FILE: src/seccompiler/src/types.rs type SeccompCmpOp (line 16) | pub enum SeccompCmpOp { type SeccompCmpArgLen (line 29) | pub enum SeccompCmpArgLen { type SeccompCondition (line 38) | pub struct SeccompCondition { method to_scmp_type (line 47) | pub fn to_scmp_type(&self) -> scmp_arg_cmp { type SeccompAction (line 120) | pub enum SeccompAction { method to_scmp_type (line 131) | pub fn to_scmp_type(&self) -> u32 { type SyscallRule (line 150) | pub struct SyscallRule { type Filter (line 157) | pub struct Filter { type BpfJson (line 165) | pub struct BpfJson(pub BTreeMap); type TargetArch (line 169) | pub enum TargetArch { method to_scmp_type (line 175) | pub fn to_scmp_type(&self) -> u32 { type Err (line 184) | type Err = String; method from_str (line 185) | fn from_str(s: &str) -> Result { FILE: src/snapshot-editor/src/edit_memory.rs type EditMemoryError (line 14) | pub enum EditMemoryError { type EditMemorySubCommand (line 32) | pub enum EditMemorySubCommand { function edit_memory_command (line 44) | pub fn edit_memory_command(command: EditMemorySubCommand) -> Result<(), ... function rebase (line 54) | fn rebase(memory_path: PathBuf, diff_path: PathBuf) -> Result<(), EditMe... function check_file_content (line 115) | fn check_file_content(file: &File, expected_content: &[u8]) { function test_rebase_empty_files (line 126) | fn test_rebase_empty_files() { function test_rebase_empty_diff (line 141) | fn test_rebase_empty_diff() { function test_rebase_full_diff (line 163) | fn test_rebase_full_diff() { function test_rebase (line 181) | fn test_rebase() { FILE: src/snapshot-editor/src/edit_vmstate.rs type EditVmStateError (line 14) | pub enum EditVmStateError { type EditVmStateSubCommand (line 20) | pub enum EditVmStateSubCommand { function edit_vmstate_command (line 36) | pub fn edit_vmstate_command(command: EditVmStateSubCommand) -> Result<()... function edit (line 49) | fn edit( function remove_regs (line 60) | fn remove_regs( function test_remove_regs (line 96) | fn test_remove_regs() { function test_remove_non_existed_regs (line 155) | fn test_remove_non_existed_regs() { FILE: src/snapshot-editor/src/info.rs type InfoVmStateError (line 13) | pub enum InfoVmStateError { type InfoVmStateSubCommand (line 19) | pub enum InfoVmStateSubCommand { function info_vmstate_command (line 40) | pub fn info_vmstate_command(command: InfoVmStateSubCommand) -> Result<()... function info (line 51) | fn info( function info_version (line 60) | fn info_version(snapshot: &Snapshot) -> Result<(), InfoVmS... function info_vcpu_states (line 65) | fn info_vcpu_states(snapshot: &Snapshot) -> Result<(), Inf... function info_vmstate (line 73) | fn info_vmstate(snapshot: &Snapshot) -> Result<(), InfoVmS... FILE: src/snapshot-editor/src/main.rs type SnapEditorError (line 18) | enum SnapEditorError { type Cli (line 30) | struct Cli { type Command (line 36) | enum Command { function main_exec (line 46) | fn main_exec() -> Result<(), SnapEditorError> { function main (line 59) | fn main() -> Result<(), SnapEditorError> { FILE: src/snapshot-editor/src/utils.rs type UtilsError (line 13) | pub enum UtilsError { function open_vmstate (line 25) | pub fn open_vmstate(snapshot_path: &PathBuf) -> Result = result::Result; constant ARG_PREFIX (line 9) | const ARG_PREFIX: &str = "--"; constant ARG_SEPARATOR (line 10) | const ARG_SEPARATOR: &str = "--"; constant HELP_ARG (line 11) | const HELP_ARG: &str = "--help"; constant SHORT_HELP_ARG (line 12) | const SHORT_HELP_ARG: &str = "-h"; constant VERSION_ARG (line 13) | const VERSION_ARG: &str = "--version"; type UtilsArgParserError (line 17) | pub enum UtilsArgParserError { type ArgParser (line 32) | pub struct ArgParser<'a> { function new (line 38) | pub fn new() -> Self { function arg (line 43) | pub fn arg(mut self, argument: Argument<'a>) -> Self { function parse_from_cmdline (line 49) | pub fn parse_from_cmdline(&mut self) -> Result<()> { function formatted_help (line 56) | pub fn formatted_help(&self) -> String { function arguments (line 80) | pub fn arguments(&self) -> &Arguments<'_> { function format_arguments (line 86) | fn format_arguments(&self, is_required: bool) -> String { type Argument (line 110) | pub struct Argument<'a> { function new (line 124) | pub fn new(name: &'a str) -> Argument<'a> { function required (line 139) | pub fn required(mut self, required: bool) -> Self { function requires (line 145) | pub fn requires(mut self, other_arg: &'a str) -> Self { function forbids (line 151) | pub fn forbids(mut self, args: Vec<&'a str>) -> Self { function takes_value (line 158) | pub fn takes_value(mut self, takes_value: bool) -> Self { function allow_multiple (line 166) | pub fn allow_multiple(mut self, allow_multiple: bool) -> Self { function default_value (line 176) | pub fn default_value(mut self, default_value: &'a str) -> Self { function help (line 183) | pub fn help(mut self, help: &'a str) -> Self { function format_help (line 188) | fn format_help(&self, arg_width: usize) -> String { function format_name (line 211) | fn format_name(&self) -> String { type Value (line 222) | pub enum Value { method as_single_value (line 229) | fn as_single_value(&self) -> Option<&String> { method as_flag (line 236) | fn as_flag(&self) -> bool { method as_multiple (line 240) | fn as_multiple(&self) -> Option<&[String]> { method fmt (line 249) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type Arguments (line 260) | pub struct Arguments<'a> { function insert_arg (line 269) | fn insert_arg(&mut self, argument: Argument<'a>) { function value_of (line 274) | fn value_of(&self, arg_name: &'static str) -> Option<&Value> { function single_value (line 285) | pub fn single_value(&self, arg_name: &'static str) -> Option<&String> { function flag_present (line 291) | pub fn flag_present(&self, arg_name: &'static str) -> bool { function multiple_values (line 300) | pub fn multiple_values(&self, arg_name: &'static str) -> Option<&[String... function extra_args (line 306) | pub fn extra_args(&self) -> Vec { function split_args (line 312) | fn split_args(args: &[String]) -> (&[String], &[String]) { function parse_from_cmdline (line 321) | pub fn parse_from_cmdline(&mut self) -> Result<()> { function parse (line 329) | pub fn parse(&mut self, args: &[String]) -> Result<()> { function validate_requirements (line 360) | fn validate_requirements(&self, args: &[String]) -> Result<()> { function validate_arg (line 391) | fn validate_arg(&self, arg: &str) -> Result<()> { function populate_args (line 412) | fn populate_args(&mut self, args: &[String]) -> Result<()> { function build_arg_parser (line 467) | fn build_arg_parser() -> ArgParser<'static> { function test_arg_help (line 517) | fn test_arg_help() { function test_arg_parser_help (line 583) | fn test_arg_parser_help() { function test_value (line 626) | fn test_value() { function test_parse (line 640) | fn test_parse() { function test_split (line 957) | fn test_split() { function test_error_display (line 984) | fn test_error_display() { function test_value_display (line 1020) | fn test_value_display() { function test_allow_multiple (line 1026) | fn test_allow_multiple() { FILE: src/utils/src/time.rs constant NANOS_PER_SECOND (line 11) | pub const NANOS_PER_SECOND: u64 = 1_000_000_000; constant NANOS_PER_MILLISECOND (line 13) | pub const NANOS_PER_MILLISECOND: u64 = 1_000_000; type ClockType (line 17) | pub enum ClockType { function from (line 29) | fn from(clock_type: ClockType) -> Self { type LocalTime (line 41) | pub struct LocalTime { method now (line 60) | pub fn now() -> LocalTime { method fmt (line 98) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type TimestampUs (line 115) | pub struct TimestampUs { method default (line 123) | fn default() -> TimestampUs { function timestamp_cycles (line 134) | pub fn timestamp_cycles() -> u64 { function get_time_ns (line 151) | pub fn get_time_ns(clock_type: ClockType) -> u64 { function get_time_us (line 168) | pub fn get_time_us(clock_type: ClockType) -> u64 { function get_time_ms (line 177) | pub fn get_time_ms(clock_type: ClockType) -> u64 { function seconds_to_nanoseconds (line 187) | pub fn seconds_to_nanoseconds(value: i64) -> Option { type TimerFd (line 193) | pub struct TimerFd(File); method new (line 198) | pub fn new() -> Self { method arm (line 217) | pub fn arm(&mut self, duration: Duration, interval: Option) { method read (line 247) | pub fn read(&mut self) -> u64 { method is_armed (line 257) | pub fn is_armed(&self) -> bool { method as_raw_fd (line 272) | fn as_raw_fd(&self) -> RawFd { function test_get_time (line 282) | fn test_get_time() { function test_local_time_display (line 304) | fn test_local_time_display() { function test_seconds_to_nanoseconds (line 338) | fn test_seconds_to_nanoseconds() { FILE: src/utils/src/validators.rs constant MAX_INSTANCE_ID_LEN (line 6) | const MAX_INSTANCE_ID_LEN: usize = 64; constant MIN_INSTANCE_ID_LEN (line 7) | const MIN_INSTANCE_ID_LEN: usize = 1; type ValidatorError (line 10) | pub enum ValidatorError { function validate_instance_id (line 19) | pub fn validate_instance_id(input: &str) -> Result<(), ValidatorError> { function test_validate_instance_id (line 40) | fn test_validate_instance_id() { FILE: src/vmm/benches/block_request.rs function block_request_benchmark (line 16) | pub fn block_request_benchmark(c: &mut Criterion) { FILE: src/vmm/benches/cpu_templates.rs function bench_serialize_cpu_template (line 15) | pub fn bench_serialize_cpu_template(cpu_template: &CustomCpuTemplate) { function bench_deserialize_cpu_template (line 20) | pub fn bench_deserialize_cpu_template(cpu_template_str: &str) { function cpu_template_benchmark (line 24) | pub fn cpu_template_benchmark(c: &mut Criterion) { FILE: src/vmm/benches/memory_access.rs function bench_single_page_fault (line 10) | fn bench_single_page_fault(c: &mut Criterion, configuration: VmResources) { function bench_4k_page_fault (line 33) | pub fn bench_4k_page_fault(c: &mut Criterion) { function bench_2m_page_fault (line 47) | pub fn bench_2m_page_fault(c: &mut Criterion) { FILE: src/vmm/benches/queue.rs function set_dtable_one_chain (line 24) | fn set_dtable_one_chain(rxq: &VirtQueue, n: usize) { function set_dtable_many_chains (line 45) | fn set_dtable_many_chains(rxq: &VirtQueue, n: usize) { function queue_benchmark (line 59) | pub fn queue_benchmark(c: &mut Criterion) { FILE: src/vmm/src/acpi/mod.rs constant OEM_ID (line 23) | const OEM_ID: [u8; 6] = *b"FIRECK"; constant OEM_REVISION (line 27) | const OEM_REVISION: u32 = 0; constant HYPERVISOR_VENDOR_ID (line 31) | const HYPERVISOR_VENDOR_ID: [u8; 8] = *b"FIRECKVM"; type AcpiError (line 35) | pub enum AcpiError { type AcpiTableWriter (line 46) | struct AcpiTableWriter<'a> { function write_acpi_table (line 55) | fn write_acpi_table( function build_dsdt (line 83) | fn build_dsdt( function build_fadt (line 112) | fn build_fadt( function build_madt (line 130) | fn build_madt( function build_xsdt (line 148) | fn build_xsdt( function build_mcfg (line 165) | fn build_mcfg( function build_rsdp (line 179) | fn build_rsdp(&mut self, xsdt_addr: u64) -> Result<(), AcpiError> { function create_acpi_tables (line 197) | pub(crate) fn create_acpi_tables( type MockSdt (line 225) | struct MockSdt(Vec); method len (line 228) | fn len(&self) -> usize { method write_to_guest (line 232) | fn write_to_guest( function test_write_acpi_table_memory_allocation (line 246) | fn test_write_acpi_table_memory_allocation() { function test_write_acpi_table_small_memory (line 311) | fn test_write_acpi_table_small_memory() { FILE: src/vmm/src/acpi/x86_64.rs function setup_interrupt_controllers (line 16) | pub(crate) fn setup_interrupt_controllers(nr_vcpus: u8) -> Vec { function setup_arch_fadt (line 28) | pub(crate) fn setup_arch_fadt(fadt: &mut Fadt) { function setup_arch_dsdt (line 37) | pub(crate) fn setup_arch_dsdt(dsdt_data: &mut Vec) -> Result<(), aml... function apic_addr (line 41) | pub(crate) const fn apic_addr() -> u32 { function rsdp_addr (line 45) | pub(crate) const fn rsdp_addr() -> GuestAddress { FILE: src/vmm/src/arch/aarch64/cache_info.rs constant MAX_CACHE_LEVEL (line 10) | const MAX_CACHE_LEVEL: u8 = 7; type CacheInfoError (line 13) | pub(crate) enum CacheInfoError { type CacheEngine (line 26) | struct CacheEngine { method new (line 342) | fn new(map: &HashMap) -> Self { type CacheStore (line 30) | trait CacheStore: std::fmt::Debug { method get_by_key (line 31) | fn get_by_key(&self, index: u8, file_name: &str) -> Result Result Result Result Self { method default (line 143) | fn default() -> Self { type CacheType (line 157) | pub(crate) enum CacheType { method try_from (line 164) | fn try_from(string: &str) -> Result { method of_cache_size (line 177) | pub fn of_cache_size(&self) -> &str { method of_cache_line_size (line 185) | pub fn of_cache_line_size(&self) -> &str { method of_cache_type (line 193) | pub fn of_cache_type(&self) -> Option<&'static str> { method of_cache_sets (line 201) | pub fn of_cache_sets(&self) -> &str { function readln_special (line 211) | fn readln_special>(file_path: &T) -> Result Result Result { function append_cache_level (line 271) | fn append_cache_level( function read_cache_config (line 283) | pub(crate) fn read_cache_config( type MockCacheStore (line 327) | struct MockCacheStore { method default (line 332) | fn default() -> Self { function create_default_store (line 364) | fn create_default_store() -> HashMap { function test_mask_str2bit_count (line 376) | fn test_mask_str2bit_count() { function test_to_bytes (line 396) | fn test_to_bytes() { function test_cache_level (line 424) | fn test_cache_level() { function test_cache_shared_cpu_map (line 461) | fn test_cache_shared_cpu_map() { function test_cache_coherency (line 496) | fn test_cache_coherency() { function test_cache_size (line 521) | fn test_cache_size() { function test_cache_no_sets (line 550) | fn test_cache_no_sets() { function test_sysfs_read_caches (line 571) | fn test_sysfs_read_caches() { FILE: src/vmm/src/arch/aarch64/fdt.rs constant GIC_PHANDLE (line 29) | const GIC_PHANDLE: u32 = 1; constant CLOCK_PHANDLE (line 31) | const CLOCK_PHANDLE: u32 = 2; constant MSI_PHANDLE (line 33) | const MSI_PHANDLE: u32 = 3; constant LAST_CACHE_PHANDLE (line 39) | const LAST_CACHE_PHANDLE: u32 = 4000; constant ADDRESS_CELLS (line 41) | const ADDRESS_CELLS: u32 = 0x2; constant SIZE_CELLS (line 42) | const SIZE_CELLS: u32 = 0x2; constant GIC_FDT_IRQ_TYPE_SPI (line 47) | const GIC_FDT_IRQ_TYPE_SPI: u32 = 0; constant GIC_FDT_IRQ_TYPE_PPI (line 48) | const GIC_FDT_IRQ_TYPE_PPI: u32 = 1; constant IRQ_TYPE_EDGE_RISING (line 51) | const IRQ_TYPE_EDGE_RISING: u32 = 1; constant IRQ_TYPE_LEVEL_HI (line 52) | const IRQ_TYPE_LEVEL_HI: u32 = 4; type FdtError (line 56) | pub enum FdtError { function create_fdt (line 67) | pub fn create_fdt( function create_cpu_nodes (line 113) | fn create_cpu_nodes(fdt: &mut FdtWriter, vcpu_mpidr: &[u64]) -> Result<(... function create_memory_node (line 220) | fn create_memory_node(fdt: &mut FdtWriter, guest_mem: &GuestMemoryMmap) ... function create_chosen_node (line 254) | fn create_chosen_node( function create_vmgenid_node (line 280) | fn create_vmgenid_node(fdt: &mut FdtWriter, vmgenid: &VmGenId) -> Result... function create_vmclock_node (line 292) | fn create_vmclock_node(fdt: &mut FdtWriter, vmclock: &VmClock) -> Result... function create_gic_node (line 304) | fn create_gic_node(fdt: &mut FdtWriter, gic_device: &GICDevice) -> Resul... function create_clock_node (line 340) | fn create_clock_node(fdt: &mut FdtWriter) -> Result<(), FdtError> { function create_timer_node (line 355) | fn create_timer_node(fdt: &mut FdtWriter) -> Result<(), FdtError> { function create_psci_node (line 377) | fn create_psci_node(fdt: &mut FdtWriter) -> Result<(), FdtError> { function create_virtio_node (line 391) | fn create_virtio_node(fdt: &mut FdtWriter, dev_info: &MMIODeviceInfo) ->... function create_serial_node (line 414) | fn create_serial_node(fdt: &mut FdtWriter, dev_info: &MMIODeviceInfo) ->... function create_rtc_node (line 434) | fn create_rtc_node(fdt: &mut FdtWriter, dev_info: &MMIODeviceInfo) -> Re... function create_devices_node (line 451) | fn create_devices_node( function create_pci_nodes (line 474) | fn create_pci_nodes(fdt: &mut FdtWriter, pci_devices: &PciDevices) -> Re... function set_size (line 567) | fn set_size(buf: &mut [u8], pos: usize, val: u32) { function test_create_fdt_with_devices (line 575) | fn test_create_fdt_with_devices() { function test_create_fdt (line 613) | fn test_create_fdt() { function test_create_fdt_with_initrd (line 670) | fn test_create_fdt_with_initrd() { FILE: src/vmm/src/arch/aarch64/gic/gicv2/mod.rs type GICv2 (line 12) | pub struct GICv2(super::GIC); type Target (line 15) | type Target = super::GIC; method deref (line 17) | fn deref(&self) -> &Self::Target { constant KVM_VGIC_V2_DIST_SIZE (line 25) | const KVM_VGIC_V2_DIST_SIZE: u64 = 0x1000; constant KVM_VGIC_V2_CPU_SIZE (line 26) | const KVM_VGIC_V2_CPU_SIZE: u64 = 0x2000; constant ARCH_GIC_V2_MAINT_IRQ (line 29) | const ARCH_GIC_V2_MAINT_IRQ: u32 = 8; method get_dist_addr (line 32) | const fn get_dist_addr() -> u64 { method get_dist_size (line 37) | const fn get_dist_size() -> u64 { method get_cpu_addr (line 42) | const fn get_cpu_addr() -> u64 { method get_cpu_size (line 47) | const fn get_cpu_size() -> u64 { constant VERSION (line 51) | pub const VERSION: u32 = kvm_bindings::kvm_device_type_KVM_DEV_TYPE_AR... method fdt_compatibility (line 53) | pub fn fdt_compatibility(&self) -> &str { method fdt_maint_irq (line 57) | pub fn fdt_maint_irq(&self) -> u32 { method create_device (line 62) | pub fn create_device(fd: DeviceFd, vcpu_count: u64) -> Self { method save_device (line 77) | pub fn save_device(&self, mpidrs: &[u64]) -> Result { method restore_device (line 81) | pub fn restore_device(&self, mpidrs: &[u64], state: &GicState) -> Resu... method init_device_attributes (line 85) | pub fn init_device_attributes(gic_device: &Self) -> Result<(), GicErro... method init_device (line 109) | pub fn init_device(vm: &VmFd) -> Result { method create (line 121) | pub fn create(vm: &VmFd, vcpu_count: u64) -> Result { method finalize_device (line 134) | pub fn finalize_device(gic_device: &Self) -> Result<(), GicError> { method set_device_attribute (line 164) | pub fn set_device_attribute( FILE: src/vmm/src/arch/aarch64/gic/gicv2/regs/dist_regs.rs constant GICD_CTLR (line 17) | const GICD_CTLR: DistReg = DistReg::simple(0x0, 4); constant GICD_IGROUPR (line 18) | const GICD_IGROUPR: DistReg = DistReg::shared_irq(0x0080, 1); constant GICD_ISENABLER (line 19) | const GICD_ISENABLER: DistReg = DistReg::shared_irq(0x0100, 1); constant GICD_ICENABLER (line 20) | const GICD_ICENABLER: DistReg = DistReg::shared_irq(0x0180, 1); constant GICD_ISPENDR (line 21) | const GICD_ISPENDR: DistReg = DistReg::shared_irq(0x0200, 1); constant GICD_ICPENDR (line 22) | const GICD_ICPENDR: DistReg = DistReg::shared_irq(0x0280, 1); constant GICD_ISACTIVER (line 23) | const GICD_ISACTIVER: DistReg = DistReg::shared_irq(0x0300, 1); constant GICD_ICACTIVER (line 24) | const GICD_ICACTIVER: DistReg = DistReg::shared_irq(0x0380, 1); constant GICD_IPRIORITYR (line 25) | const GICD_IPRIORITYR: DistReg = DistReg::shared_irq(0x0400, 8); constant GICD_ICFGR (line 26) | const GICD_ICFGR: DistReg = DistReg::shared_irq(0x0C00, 2); constant GICD_CPENDSGIR (line 27) | const GICD_CPENDSGIR: DistReg = DistReg::simple(0xF10, 16); constant GICD_SPENDSGIR (line 28) | const GICD_SPENDSGIR: DistReg = DistReg::simple(0xF20, 16); type SharedIrqReg (line 52) | pub struct SharedIrqReg { method range (line 60) | fn range(&self) -> Range { type DistReg (line 77) | enum DistReg { method simple (line 83) | const fn simple(offset: u64, size: u16) -> DistReg { method shared_irq (line 87) | const fn shared_irq(offset: u64, bits_per_irq: u8) -> DistReg { method range (line 96) | fn range(&self) -> Range { type DistRegEngine (line 104) | struct DistRegEngine {} type Reg (line 107) | type Reg = DistReg; type RegChunk (line 108) | type RegChunk = u32; method group (line 110) | fn group() -> u32 { method mpidr_mask (line 114) | fn mpidr_mask() -> u64 { function get_dist_regs (line 119) | pub(crate) fn get_dist_regs(fd: &DeviceFd) -> Result]) -... function test_access_dist_regs (line 139) | fn test_access_dist_regs() { FILE: src/vmm/src/arch/aarch64/gic/gicv2/regs/icc_regs.rs constant GICC_CTLR (line 17) | const GICC_CTLR: SimpleReg = SimpleReg::new(0x0, 4); constant GICC_PMR (line 18) | const GICC_PMR: SimpleReg = SimpleReg::new(0x04, 4); constant GICC_BPR (line 19) | const GICC_BPR: SimpleReg = SimpleReg::new(0x08, 4); constant GICC_APBR (line 20) | const GICC_APBR: SimpleReg = SimpleReg::new(0x001C, 4); constant GICC_APR1 (line 21) | const GICC_APR1: SimpleReg = SimpleReg::new(0x00D0, 4); constant GICC_APR2 (line 22) | const GICC_APR2: SimpleReg = SimpleReg::new(0x00D4, 4); constant GICC_APR3 (line 23) | const GICC_APR3: SimpleReg = SimpleReg::new(0x00D8, 4); constant GICC_APR4 (line 24) | const GICC_APR4: SimpleReg = SimpleReg::new(0x00DC, 4); constant KVM_DEV_ARM_VGIC_CPUID_SHIFT (line 30) | const KVM_DEV_ARM_VGIC_CPUID_SHIFT: u32 = 32; constant KVM_DEV_ARM_VGIC_OFFSET_SHIFT (line 31) | const KVM_DEV_ARM_VGIC_OFFSET_SHIFT: u32 = 0; type VgicSysRegEngine (line 33) | struct VgicSysRegEngine {} type Reg (line 36) | type Reg = SimpleReg; type RegChunk (line 37) | type RegChunk = u64; method group (line 39) | fn group() -> u32 { method kvm_device_attr (line 43) | fn kvm_device_attr(offset: u64, val: &mut Self::RegChunk, cpuid: u64) ->... function get_icc_regs (line 56) | pub(crate) fn get_icc_regs(fd: &DeviceFd, mpidr: u64) -> Result Result... function test_vm_save_restore_state (line 53) | fn test_vm_save_restore_state() { FILE: src/vmm/src/arch/aarch64/gic/gicv3/mod.rs type GICv3 (line 11) | pub struct GICv3(super::GIC); type Target (line 14) | type Target = super::GIC; method deref (line 16) | fn deref(&self) -> &Self::Target { method deref_mut (line 22) | fn deref_mut(&mut self) -> &mut Self::Target { constant SZ_64K (line 30) | const SZ_64K: u64 = 0x0001_0000; constant KVM_VGIC_V3_DIST_SIZE (line 31) | const KVM_VGIC_V3_DIST_SIZE: u64 = GICv3::SZ_64K; constant KVM_VGIC_V3_REDIST_SIZE (line 32) | const KVM_VGIC_V3_REDIST_SIZE: u64 = (2 * GICv3::SZ_64K); constant GIC_V3_ITS_SIZE (line 33) | const GIC_V3_ITS_SIZE: u64 = 0x2_0000; constant ARCH_GIC_V3_MAINT_IRQ (line 36) | const ARCH_GIC_V3_MAINT_IRQ: u32 = 9; method get_dist_addr (line 39) | fn get_dist_addr() -> u64 { method get_dist_size (line 44) | fn get_dist_size() -> u64 { method get_redists_addr (line 49) | fn get_redists_addr(vcpu_count: u64) -> u64 { method get_redists_size (line 54) | fn get_redists_size(vcpu_count: u64) -> u64 { method get_msi_address (line 59) | fn get_msi_address(vcpu_count: u64) -> u64 { method get_msi_size (line 64) | const fn get_msi_size() -> u64 { constant VERSION (line 68) | pub const VERSION: u32 = kvm_bindings::kvm_device_type_KVM_DEV_TYPE_AR... method fdt_compatibility (line 70) | pub fn fdt_compatibility(&self) -> &str { method fdt_maint_irq (line 74) | pub fn fdt_maint_irq(&self) -> u32 { method create_device (line 79) | pub fn create_device(vm: &VmFd, vcpu_count: u64) -> Result Result { method restore_device (line 109) | pub fn restore_device(&self, mpidrs: &[u64], state: &GicState) -> Resu... method init_device_attributes (line 113) | pub fn init_device_attributes(gic_device: &Self) -> Result<(), GicErro... method init_its (line 137) | fn init_its(vm: &VmFd, gic_device: &mut Self) -> Result<(), GicError> { method create (line 171) | pub fn create(vm: &VmFd, vcpu_count: u64) -> Result { method finalize_device (line 183) | pub fn finalize_device(gic_device: &Self) -> Result<(), GicError> { method set_device_attribute (line 213) | pub fn set_device_attribute( function save_pending_tables (line 237) | fn save_pending_tables(gic_device: &DeviceFd) -> Result<(), GicError> { function test_save_pending_tables (line 258) | fn test_save_pending_tables() { FILE: src/vmm/src/arch/aarch64/gic/gicv3/regs/dist_regs.rs constant GICD_CTLR (line 17) | const GICD_CTLR: DistReg = DistReg::simple(0x0, 4); constant GICD_STATUSR (line 18) | const GICD_STATUSR: DistReg = DistReg::simple(0x0010, 4); constant GICD_IGROUPR (line 19) | const GICD_IGROUPR: DistReg = DistReg::shared_irq(0x0080, 1); constant GICD_ISENABLER (line 20) | const GICD_ISENABLER: DistReg = DistReg::shared_irq(0x0100, 1); constant GICD_ICENABLER (line 21) | const GICD_ICENABLER: DistReg = DistReg::shared_irq(0x0180, 1); constant GICD_ISPENDR (line 22) | const GICD_ISPENDR: DistReg = DistReg::shared_irq(0x0200, 1); constant GICD_ICPENDR (line 23) | const GICD_ICPENDR: DistReg = DistReg::shared_irq(0x0280, 1); constant GICD_ISACTIVER (line 24) | const GICD_ISACTIVER: DistReg = DistReg::shared_irq(0x0300, 1); constant GICD_ICACTIVER (line 25) | const GICD_ICACTIVER: DistReg = DistReg::shared_irq(0x0380, 1); constant GICD_IPRIORITYR (line 26) | const GICD_IPRIORITYR: DistReg = DistReg::shared_irq(0x0400, 8); constant GICD_ICFGR (line 27) | const GICD_ICFGR: DistReg = DistReg::shared_irq(0x0C00, 2); constant GICD_IROUTER (line 28) | const GICD_IROUTER: DistReg = DistReg::shared_irq(0x6000, 64); type SharedIrqReg (line 54) | pub struct SharedIrqReg { method range (line 62) | fn range(&self) -> Range { type DistReg (line 79) | enum DistReg { method simple (line 85) | const fn simple(offset: u64, size: u16) -> DistReg { method shared_irq (line 89) | const fn shared_irq(offset: u64, bits_per_irq: u8) -> DistReg { method range (line 98) | fn range(&self) -> Range { type DistRegEngine (line 106) | struct DistRegEngine {} type Reg (line 109) | type Reg = DistReg; type RegChunk (line 110) | type RegChunk = u32; method group (line 112) | fn group() -> u32 { method mpidr_mask (line 116) | fn mpidr_mask() -> u64 { function get_dist_regs (line 121) | pub(crate) fn get_dist_regs(fd: &DeviceFd) -> Result]) -... function test_access_dist_regs (line 140) | fn test_access_dist_regs() { function test_dist_constructors (line 168) | fn test_dist_constructors() { FILE: src/vmm/src/arch/aarch64/gic/gicv3/regs/icc_regs.rs constant ICC_CTLR_EL1_PRIBITS_SHIFT (line 10) | const ICC_CTLR_EL1_PRIBITS_SHIFT: u64 = 8; constant ICC_CTLR_EL1_PRIBITS_MASK (line 11) | const ICC_CTLR_EL1_PRIBITS_MASK: u64 = 7 << ICC_CTLR_EL1_PRIBITS_SHIFT; constant SYS_ICC_SRE_EL1 (line 14) | const SYS_ICC_SRE_EL1: SimpleReg = SimpleReg::vgic_sys_reg(3, 0, 12, 12,... constant SYS_ICC_CTLR_EL1 (line 15) | const SYS_ICC_CTLR_EL1: SimpleReg = SimpleReg::vgic_sys_reg(3, 0, 12, 12... constant SYS_ICC_IGRPEN0_EL1 (line 16) | const SYS_ICC_IGRPEN0_EL1: SimpleReg = SimpleReg::vgic_sys_reg(3, 0, 12,... constant SYS_ICC_IGRPEN1_EL1 (line 17) | const SYS_ICC_IGRPEN1_EL1: SimpleReg = SimpleReg::vgic_sys_reg(3, 0, 12,... constant SYS_ICC_PMR_EL1 (line 18) | const SYS_ICC_PMR_EL1: SimpleReg = SimpleReg::vgic_sys_reg(3, 0, 4, 6, 0); constant SYS_ICC_BPR0_EL1 (line 19) | const SYS_ICC_BPR0_EL1: SimpleReg = SimpleReg::vgic_sys_reg(3, 0, 12, 8,... constant SYS_ICC_BPR1_EL1 (line 20) | const SYS_ICC_BPR1_EL1: SimpleReg = SimpleReg::vgic_sys_reg(3, 0, 12, 12... constant SYS_ICC_AP0R0_EL1 (line 22) | const SYS_ICC_AP0R0_EL1: SimpleReg = SimpleReg::sys_icc_ap0rn_el1(0); constant SYS_ICC_AP0R1_EL1 (line 23) | const SYS_ICC_AP0R1_EL1: SimpleReg = SimpleReg::sys_icc_ap0rn_el1(1); constant SYS_ICC_AP0R2_EL1 (line 24) | const SYS_ICC_AP0R2_EL1: SimpleReg = SimpleReg::sys_icc_ap0rn_el1(2); constant SYS_ICC_AP0R3_EL1 (line 25) | const SYS_ICC_AP0R3_EL1: SimpleReg = SimpleReg::sys_icc_ap0rn_el1(3); constant SYS_ICC_AP1R0_EL1 (line 27) | const SYS_ICC_AP1R0_EL1: SimpleReg = SimpleReg::sys_icc_ap1rn_el1(0); constant SYS_ICC_AP1R1_EL1 (line 28) | const SYS_ICC_AP1R1_EL1: SimpleReg = SimpleReg::sys_icc_ap1rn_el1(1); constant SYS_ICC_AP1R2_EL1 (line 29) | const SYS_ICC_AP1R2_EL1: SimpleReg = SimpleReg::sys_icc_ap1rn_el1(2); constant SYS_ICC_AP1R3_EL1 (line 30) | const SYS_ICC_AP1R3_EL1: SimpleReg = SimpleReg::sys_icc_ap1rn_el1(3); method vgic_sys_reg (line 54) | const fn vgic_sys_reg(op0: u64, op1: u64, crn: u64, crm: u64, op2: u64) ... method sys_icc_ap0rn_el1 (line 65) | const fn sys_icc_ap0rn_el1(n: u64) -> SimpleReg { method sys_icc_ap1rn_el1 (line 69) | const fn sys_icc_ap1rn_el1(n: u64) -> SimpleReg { type VgicSysRegEngine (line 74) | struct VgicSysRegEngine {} type Reg (line 77) | type Reg = SimpleReg; type RegChunk (line 78) | type RegChunk = u64; method group (line 80) | fn group() -> u32 { method mpidr_mask (line 85) | fn mpidr_mask() -> u64 { function num_priority_bits (line 90) | fn num_priority_bits(fd: &DeviceFd, mpidr: u64) -> Result { function is_ap_reg_available (line 96) | fn is_ap_reg_available(reg: &SimpleReg, num_priority_bits: u64) -> bool { function get_icc_regs (line 119) | pub(crate) fn get_icc_regs(fd: &DeviceFd, mpidr: u64) -> Result... function its_read_register (line 56) | fn its_read_register(its_fd: &DeviceFd, attr: u32) -> Result Result<()... function its_save_tables (line 64) | pub fn its_save_tables(its_fd: &DeviceFd) -> Result<(), GicError> { function its_restore_tables (line 73) | pub fn its_restore_tables(its_fd: &DeviceFd) -> Result<(), GicError> { type ItsRegisterState (line 84) | pub struct ItsRegisterState { method save (line 95) | pub fn save(its_fd: &DeviceFd) -> Result { method restore (line 123) | pub fn restore(&self, its_fd: &DeviceFd) -> Result<(), GicError> { FILE: src/vmm/src/arch/aarch64/gic/gicv3/regs/mod.rs function save_state (line 16) | pub fn save_state( function restore_state (line 44) | pub fn restore_state( function test_vm_save_restore_state (line 77) | fn test_vm_save_restore_state() { FILE: src/vmm/src/arch/aarch64/gic/gicv3/regs/redist_regs.rs constant GICR_CTLR (line 11) | const GICR_CTLR: SimpleReg = SimpleReg::new(0x0000, 4); constant GICR_STATUSR (line 12) | const GICR_STATUSR: SimpleReg = SimpleReg::new(0x0010, 4); constant GICR_WAKER (line 13) | const GICR_WAKER: SimpleReg = SimpleReg::new(0x0014, 4); constant GICR_PROPBASER (line 14) | const GICR_PROPBASER: SimpleReg = SimpleReg::new(0x0070, 8); constant GICR_PENDBASER (line 15) | const GICR_PENDBASER: SimpleReg = SimpleReg::new(0x0078, 8); constant GICR_SGI_OFFSET (line 18) | const GICR_SGI_OFFSET: u64 = 0x0001_0000; constant GICR_IGROUPR0 (line 19) | const GICR_IGROUPR0: SimpleReg = SimpleReg::new(GICR_SGI_OFFSET + 0x0080... constant GICR_ISENABLER0 (line 20) | const GICR_ISENABLER0: SimpleReg = SimpleReg::new(GICR_SGI_OFFSET + 0x01... constant GICR_ICENABLER0 (line 21) | const GICR_ICENABLER0: SimpleReg = SimpleReg::new(GICR_SGI_OFFSET + 0x01... constant GICR_ISPENDR0 (line 22) | const GICR_ISPENDR0: SimpleReg = SimpleReg::new(GICR_SGI_OFFSET + 0x0200... constant GICR_ICPENDR0 (line 23) | const GICR_ICPENDR0: SimpleReg = SimpleReg::new(GICR_SGI_OFFSET + 0x0280... constant GICR_ISACTIVER0 (line 24) | const GICR_ISACTIVER0: SimpleReg = SimpleReg::new(GICR_SGI_OFFSET + 0x03... constant GICR_ICACTIVER0 (line 25) | const GICR_ICACTIVER0: SimpleReg = SimpleReg::new(GICR_SGI_OFFSET + 0x03... constant GICR_IPRIORITYR0 (line 26) | const GICR_IPRIORITYR0: SimpleReg = SimpleReg::new(GICR_SGI_OFFSET + 0x0... constant GICR_ICFGR0 (line 27) | const GICR_ICFGR0: SimpleReg = SimpleReg::new(GICR_SGI_OFFSET + 0x0C00, 8); type RedistRegEngine (line 51) | struct RedistRegEngine {} type Reg (line 54) | type Reg = SimpleReg; type RegChunk (line 55) | type RegChunk = u32; method group (line 57) | fn group() -> u32 { method mpidr_mask (line 62) | fn mpidr_mask() -> u64 { function redist_regs (line 67) | fn redist_regs() -> Box> { function get_redist_regs (line 71) | pub(crate) fn get_redist_regs( function set_redist_regs (line 78) | pub(crate) fn set_redist_regs( function test_access_redist_regs (line 97) | fn test_access_redist_regs() { FILE: src/vmm/src/arch/aarch64/gic/mod.rs type GIC (line 17) | pub struct GIC { method device_fd (line 35) | pub fn device_fd(&self) -> &DeviceFd { method device_properties (line 40) | pub fn device_properties(&self) -> &[u64] { method vcpu_count (line 45) | pub fn vcpu_count(&self) -> u64 { type GicError (line 52) | pub enum GicError { type GICVersion (line 67) | pub enum GICVersion { type GICDevice (line 76) | pub enum GICDevice { method device_fd (line 84) | pub fn device_fd(&self) -> &DeviceFd { method its_fd (line 92) | pub fn its_fd(&self) -> Option<&DeviceFd> { method device_properties (line 100) | pub fn device_properties(&self) -> &[u64] { method msi_properties (line 108) | pub fn msi_properties(&self) -> Option<&[u64; 2]> { method vcpu_count (line 116) | pub fn vcpu_count(&self) -> u64 { method fdt_compatibility (line 124) | pub fn fdt_compatibility(&self) -> &str { method fdt_maint_irq (line 132) | pub fn fdt_maint_irq(&self) -> u32 { method version (line 140) | pub fn version(&self) -> u32 { method init_device_attributes (line 148) | pub fn init_device_attributes(gic_device: &Self) -> Result<(), GicErro... method save_device (line 156) | pub fn save_device(&self, mpidrs: &[u64]) -> Result { method restore_device (line 164) | pub fn restore_device(&self, mpidrs: &[u64], state: &GicState) -> Resu... function create_gic (line 177) | pub fn create_gic( function test_create_gic (line 199) | fn test_create_gic() { FILE: src/vmm/src/arch/aarch64/gic/regs.rs type GicRegState (line 16) | pub struct GicRegState { type VgicSysRegsState (line 22) | pub struct VgicSysRegsState { type GicState (line 29) | pub struct GicState { type GicVcpuState (line 40) | pub struct GicVcpuState { type MmioReg (line 45) | pub(crate) trait MmioReg { method range (line 46) | fn range(&self) -> Range; method iter (line 48) | fn iter(&self) -> StepBy> method range (line 166) | fn range(&self) -> Range { type VgicRegEngine (line 56) | pub(crate) trait VgicRegEngine { method group (line 60) | fn group() -> u32; method mpidr_mask (line 62) | fn mpidr_mask() -> u64 { method kvm_device_attr (line 66) | fn kvm_device_attr(offset: u64, val: &mut Self::RegChunk, mpidr: u64) ... method get_reg_data (line 76) | fn get_reg_data( method get_regs_data (line 99) | fn get_regs_data( method set_reg_data (line 116) | fn set_reg_data( method set_regs_data (line 133) | fn set_regs_data( type SimpleReg (line 152) | pub(crate) struct SimpleReg { method new (line 160) | pub const fn new(offset: u64, size: u16) -> SimpleReg { FILE: src/vmm/src/arch/aarch64/kvm.rs type KvmArchError (line 11) | pub type KvmArchError = Infallible; type OptionalCapabilities (line 15) | pub struct OptionalCapabilities { type Kvm (line 22) | pub struct Kvm { constant DEFAULT_CAPABILITIES (line 30) | pub(crate) const DEFAULT_CAPABILITIES: [u32; 7] = [ method init_arch (line 41) | pub fn init_arch( method optional_capabilities (line 52) | pub fn optional_capabilities(&self) -> OptionalCapabilities { FILE: src/vmm/src/arch/aarch64/layout.rs constant DRAM_MEM_START (line 55) | pub const DRAM_MEM_START: u64 = 0x8000_0000; constant DRAM_MEM_MAX_SIZE (line 57) | pub const DRAM_MEM_MAX_SIZE: usize = 0x00FF_8000_0000; constant SYSTEM_MEM_START (line 60) | pub const SYSTEM_MEM_START: u64 = DRAM_MEM_START; constant SYSTEM_MEM_SIZE (line 65) | pub const SYSTEM_MEM_SIZE: u64 = 0x20_0000; constant CMDLINE_MAX_SIZE (line 69) | pub const CMDLINE_MAX_SIZE: usize = 2048; constant FDT_MAX_SIZE (line 72) | pub const FDT_MAX_SIZE: usize = 0x20_0000; constant SPI_START (line 83) | pub const SPI_START: u32 = 32; constant SPI_END (line 85) | pub const SPI_END: u32 = 127; constant GSI_LEGACY_START (line 87) | pub const GSI_LEGACY_START: u32 = 0; constant GSI_LEGACY_NUM (line 89) | pub const GSI_LEGACY_NUM: u32 = SPI_END - SPI_START + 1; constant GSI_LEGACY_END (line 91) | pub const GSI_LEGACY_END: u32 = GSI_LEGACY_START + GSI_LEGACY_NUM - 1; constant GSI_MSI_START (line 93) | pub const GSI_MSI_START: u32 = GSI_LEGACY_END + 1; constant GSI_MSI_END (line 95) | pub const GSI_MSI_END: u32 = 4095; constant GSI_MSI_NUM (line 97) | pub const GSI_MSI_NUM: u32 = GSI_MSI_END - GSI_MSI_START + 1; constant MMIO32_MEM_START (line 101) | pub const MMIO32_MEM_START: u64 = 1 << 30; constant MMIO32_MEM_SIZE (line 103) | pub const MMIO32_MEM_SIZE: u64 = DRAM_MEM_START - MMIO32_MEM_START; constant PCI_MMCONFIG_SIZE (line 108) | pub const PCI_MMCONFIG_SIZE: u64 = 256 << 20; constant PCI_MMCONFIG_START (line 110) | pub const PCI_MMCONFIG_START: u64 = DRAM_MEM_START - PCI_MMCONFIG_SIZE; constant PCI_MMIO_CONFIG_SIZE_PER_SEGMENT (line 112) | pub const PCI_MMIO_CONFIG_SIZE_PER_SEGMENT: u64 = 4096 * 256; constant BOOT_DEVICE_MEM_START (line 118) | pub const BOOT_DEVICE_MEM_START: u64 = MMIO32_MEM_START; constant RTC_MEM_START (line 120) | pub const RTC_MEM_START: u64 = BOOT_DEVICE_MEM_START + MMIO_LEN; constant SERIAL_MEM_START (line 122) | pub const SERIAL_MEM_START: u64 = RTC_MEM_START + MMIO_LEN; constant MEM_32BIT_DEVICES_START (line 125) | pub const MEM_32BIT_DEVICES_START: u64 = SERIAL_MEM_START + MMIO_LEN; constant MEM_32BIT_DEVICES_SIZE (line 127) | pub const MEM_32BIT_DEVICES_SIZE: u64 = PCI_MMCONFIG_START - MEM_32BIT_D... constant MMIO64_MEM_START (line 131) | pub const MMIO64_MEM_START: u64 = 256 << 30; constant MMIO64_MEM_SIZE (line 133) | pub const MMIO64_MEM_SIZE: u64 = 256 << 30; constant MEM_64BIT_DEVICES_START (line 137) | pub const MEM_64BIT_DEVICES_START: u64 = MMIO64_MEM_START; constant MEM_64BIT_DEVICES_SIZE (line 139) | pub const MEM_64BIT_DEVICES_SIZE: u64 = MMIO64_MEM_SIZE; constant FIRST_ADDR_PAST_64BITS_MMIO (line 141) | pub const FIRST_ADDR_PAST_64BITS_MMIO: u64 = MMIO64_MEM_START + MMIO64_M... constant PAST_64BITS_MMIO_SIZE (line 143) | pub const PAST_64BITS_MMIO_SIZE: u64 = 512 << 30; FILE: src/vmm/src/arch/aarch64/mod.rs type ConfigurationError (line 41) | pub enum ConfigurationError { function arch_memory_regions (line 58) | pub fn arch_memory_regions(size: usize) -> Vec<(GuestAddress, usize)> { function configure_system_for_boot (line 88) | pub fn configure_system_for_boot( function get_kernel_start (line 146) | pub fn get_kernel_start() -> u64 { function initrd_load_addr (line 151) | pub fn initrd_load_addr(guest_mem: &GuestMemoryMmap, initrd_size: usize)... function get_fdt_addr (line 163) | fn get_fdt_addr(mem: &GuestMemoryMmap) -> u64 { function load_kernel (line 182) | pub fn load_kernel( function verify_arch_memory_regions (line 214) | fn verify_arch_memory_regions() { function test_regions_lt_1024gb (line 281) | fn test_regions_lt_1024gb() { function test_regions_gt_1024gb (line 289) | fn test_regions_gt_1024gb() { function test_get_fdt_addr (line 302) | fn test_get_fdt_addr() { FILE: src/vmm/src/arch/aarch64/regs.rs constant PSR_MODE_EL1h (line 17) | const PSR_MODE_EL1h: u64 = 0x0000_0005; constant PSR_F_BIT (line 18) | const PSR_F_BIT: u64 = 0x0000_0040; constant PSR_I_BIT (line 19) | const PSR_I_BIT: u64 = 0x0000_0080; constant PSR_A_BIT (line 20) | const PSR_A_BIT: u64 = 0x0000_0100; constant PSR_D_BIT (line 21) | const PSR_D_BIT: u64 = 0x0000_0200; constant PSTATE_FAULT_BITS_64 (line 23) | pub const PSTATE_FAULT_BITS_64: u64 = PSR_MODE_EL1h | PSR_A_BIT | PSR_F_... constant KVM_REG_ARM64_SVE_VLS (line 122) | pub const KVM_REG_ARM64_SVE_VLS: u64 = constant PC (line 133) | pub const PC: u64 = { type RegSize (line 141) | pub enum RegSize { constant U8_SIZE (line 164) | pub const U8_SIZE: usize = 1; constant U16_SIZE (line 166) | pub const U16_SIZE: usize = 2; constant U32_SIZE (line 168) | pub const U32_SIZE: usize = 4; constant U64_SIZE (line 170) | pub const U64_SIZE: usize = 8; constant U128_SIZE (line 172) | pub const U128_SIZE: usize = 16; constant U256_SIZE (line 174) | pub const U256_SIZE: usize = 32; constant U512_SIZE (line 176) | pub const U512_SIZE: usize = 64; constant U1024_SIZE (line 178) | pub const U1024_SIZE: usize = 128; constant U2048_SIZE (line 180) | pub const U2048_SIZE: usize = 256; method from (line 184) | fn from(value: usize) -> Self { function from (line 201) | fn from(value: RegSize) -> Self { function reg_size (line 217) | pub fn reg_size(reg_id: u64) -> usize { type Aarch64RegisterVec (line 223) | pub struct Aarch64RegisterVec { method len (line 230) | pub fn len(&self) -> usize { method is_empty (line 235) | pub fn is_empty(&self) -> bool { method push (line 240) | pub fn push(&mut self, reg: Aarch64RegisterRef<'_>) { method iter (line 246) | pub fn iter(&self) -> impl Iterator> { method iter_mut (line 256) | pub fn iter_mut(&mut self) -> impl Iterator Option { method deserialize (line 284) | fn deserialize(deserializer: D) -> Result method serialize (line 275) | fn serialize(&self, serializer: S) -> Result type Aarch64RegisterVecIterator (line 315) | pub struct Aarch64RegisterVecIterator<'a> { type Item (line 323) | type Item = Aarch64RegisterRef<'a>; method next (line 325) | fn next(&mut self) -> Option { type Aarch64RegisterVecIteratorMut (line 344) | pub struct Aarch64RegisterVecIteratorMut<'a> { type Item (line 352) | type Item = Aarch64RegisterRefMut<'a>; method next (line 354) | fn next(&mut self) -> Option { type Aarch64RegisterRef (line 374) | pub struct Aarch64RegisterRef<'a> { function new (line 385) | pub fn new(id: u64, data: &'a [u8]) -> Self { function size (line 396) | pub fn size(&self) -> RegSize { function value (line 404) | pub fn value, const N: usize>(&self) -> T { function value_str (line 409) | pub fn value_str(&self) -> String { function as_slice (line 418) | pub fn as_slice(&self) -> &[u8] { type Aarch64RegisterRefMut (line 425) | pub struct Aarch64RegisterRefMut<'a> { function new (line 436) | pub fn new(id: u64, data: &'a mut [u8]) -> Self { function size (line 447) | pub fn size(&self) -> RegSize { function value (line 455) | pub fn value, const N: usize>(&self) -> T { function set_value (line 463) | pub fn set_value, const N: usize>(&mut self, v... type Aarch64RegisterData (line 470) | pub trait Aarch64RegisterData { method from_slice (line 472) | fn from_slice(slice: &[u8]) -> Self; method to_bytes (line 474) | fn to_bytes(&self) -> [u8; N]; function test_reg_size (line 528) | fn test_reg_size() { function test_aarch64_register_vec_serde (line 535) | fn test_aarch64_register_vec_serde() { function test_aarch64_register_vec_serde_invalid_regs_size_sum (line 555) | fn test_aarch64_register_vec_serde_invalid_regs_size_sum() { function test_aarch64_register_vec_serde_invalid_reg_size (line 578) | fn test_aarch64_register_vec_serde_invalid_reg_size() { function test_aarch64_register_vec (line 598) | fn test_aarch64_register_vec() { function test_reg_ref (line 693) | fn test_reg_ref() { function test_reg_ref_value_str (line 702) | fn test_reg_ref_value_str() { function test_reg_ref_new_must_panic (line 732) | fn test_reg_ref_new_must_panic() { function test_reg_ref_value_must_panic (line 741) | fn test_reg_ref_value_must_panic() { function test_reg_ref_mut (line 748) | fn test_reg_ref_mut() { function test_reg_ref_mut_new_must_panic (line 763) | fn test_reg_ref_mut_new_must_panic() { function test_reg_ref_mut_must_panic (line 772) | fn test_reg_ref_mut_must_panic() { FILE: src/vmm/src/arch/aarch64/vcpu.rs type VcpuArchError (line 33) | pub enum VcpuArchError { function get_manufacturer_id_from_host (line 52) | pub fn get_manufacturer_id_from_host() -> Option { function get_registers (line 66) | pub fn get_registers( type KvmVcpuError (line 84) | pub enum KvmVcpuError { type KvmVcpuConfigureError (line 106) | pub type KvmVcpuConfigureError = KvmVcpuError; type KvmVcpu (line 110) | pub struct KvmVcpu { method new (line 136) | pub fn new(index: u8, vm: &Vm) -> Result { method get_mpidr (line 158) | pub fn get_mpidr(&self) -> Result { method configure (line 175) | pub fn configure( method init (line 207) | pub fn init(&mut self, vcpu_features: &[VcpuFeatures]) -> Result<(), K... method default_kvi (line 220) | pub fn default_kvi(vm_fd: &VmFd) -> Result { method save_state (line 233) | pub fn save_state(&self) -> Result { method restore_state (line 255) | pub fn restore_state(&mut self, state: &VcpuState) -> Result<(), KvmVc... method dump_cpu_config (line 295) | pub fn dump_cpu_config(&self) -> Result { method init_vcpu (line 303) | fn init_vcpu(&self) -> Result<(), KvmVcpuError> { method finalize_vcpu (line 320) | fn finalize_vcpu(&self) -> Result<(), KvmVcpuError> { method setup_boot_regs (line 338) | pub fn setup_boot_regs( method get_all_registers (line 402) | pub fn get_all_registers(&self, state: &mut Aarch64RegisterVec) -> Res... method get_all_registers_ids (line 407) | pub fn get_all_registers_ids(&self) -> Result, VcpuArchError> { method set_register (line 440) | pub fn set_register(&self, reg: Aarch64RegisterRef) -> Result<(), Vcpu... method get_mpstate (line 452) | pub fn get_mpstate(&self) -> Result { method set_mpstate (line 461) | pub fn set_mpstate(&self, state: kvm_mp_state) -> Result<(), VcpuArchE... method supports_pvtime (line 466) | pub fn supports_pvtime(&self) -> bool { method enable_pvtime (line 479) | pub fn enable_pvtime(&mut self, ipa: GuestAddress) -> Result<(), VcpuA... type Peripherals (line 124) | pub struct Peripherals { method run_arch_emulation (line 502) | pub fn run_arch_emulation(&self, exit: VcpuExit) -> Result) -> std::fmt::Result { function setup_vcpu (line 570) | fn setup_vcpu(mem_size: usize) -> (Kvm, Vm, KvmVcpu) { function setup_vcpu_no_init (line 577) | fn setup_vcpu_no_init(mem_size: usize) -> (Kvm, Vm, KvmVcpu) { function test_create_vcpu (line 585) | fn test_create_vcpu() { function test_configure_vcpu (line 604) | fn test_configure_vcpu() { function test_init_vcpu (line 653) | fn test_init_vcpu() { function test_pmu_v3_feature_invalid (line 672) | fn test_pmu_v3_feature_invalid() { function test_vcpu_save_restore_state (line 692) | fn test_vcpu_save_restore_state() { function test_dump_cpu_config_before_init (line 732) | fn test_dump_cpu_config_before_init() { function test_dump_cpu_config_after_init (line 745) | fn test_dump_cpu_config_after_init() { function test_setup_non_boot_vcpu (line 756) | fn test_setup_non_boot_vcpu() { function test_get_valid_regs (line 765) | fn test_get_valid_regs() { function test_get_invalid_regs (line 775) | fn test_get_invalid_regs() { function test_setup_regs (line 783) | fn test_setup_regs() { function test_read_mpidr (line 820) | fn test_read_mpidr() { function test_get_set_regs (line 835) | fn test_get_set_regs() { function test_mpstate (line 851) | fn test_mpstate() { FILE: src/vmm/src/arch/aarch64/vm.rs type ArchVm (line 16) | pub struct ArchVm { method new (line 36) | pub fn new(kvm: &Kvm) -> Result { method arch_pre_create_vcpus (line 45) | pub fn arch_pre_create_vcpus(&mut self, _: u8) -> Result<(), ArchVmErr... method arch_post_create_vcpus (line 50) | pub fn arch_post_create_vcpus(&mut self, nr_vcpus: u8) -> Result<(), A... method setup_irqchip (line 59) | pub fn setup_irqchip(&mut self, vcpu_count: u8) -> Result<(), ArchVmEr... method get_irqchip (line 68) | pub fn get_irqchip(&self) -> &crate::arch::aarch64::gic::GICDevice { method save_state (line 73) | pub fn save_state(&self, mpidrs: &[u64]) -> Result Re... type ArchVmError (line 25) | pub enum ArchVmError { type VmState (line 101) | pub struct VmState { FILE: src/vmm/src/arch/mod.rs type DeviceType (line 46) | pub enum DeviceType { method fmt (line 78) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { constant GUEST_PAGE_SIZE (line 60) | pub const GUEST_PAGE_SIZE: usize = 4096; function host_page_size (line 63) | pub fn host_page_size() -> usize { type BootProtocol (line 85) | pub enum BootProtocol { method fmt (line 94) | fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { type EntryPoint (line 107) | pub struct EntryPoint { function arch_memory_regions_with_gap (line 116) | fn arch_memory_regions_with_gap( FILE: src/vmm/src/arch/x86_64/cpu_model.rs type CpuModel (line 9) | pub struct CpuModel { method get_cpu_model (line 60) | pub fn get_cpu_model() -> Self { method from (line 69) | fn from(eax: &u32) -> Self { constant SKYLAKE_FMS (line 23) | pub const SKYLAKE_FMS: CpuModel = CpuModel { constant CASCADE_LAKE_FMS (line 32) | pub const CASCADE_LAKE_FMS: CpuModel = CpuModel { constant ICE_LAKE_FMS (line 41) | pub const ICE_LAKE_FMS: CpuModel = CpuModel { constant MILAN_FMS (line 50) | pub const MILAN_FMS: CpuModel = CpuModel { function cpu_model_from (line 85) | fn cpu_model_from() { FILE: src/vmm/src/arch/x86_64/gdt.rs function gdt_entry (line 15) | pub fn gdt_entry(flags: u16, base: u32, limit: u32) -> u64 { function get_base (line 23) | fn get_base(entry: u64) -> u64 { function get_limit (line 51) | fn get_limit(entry: u64) -> u32 { function get_g (line 63) | fn get_g(entry: u64) -> u8 { function get_db (line 67) | fn get_db(entry: u64) -> u8 { function get_l (line 71) | fn get_l(entry: u64) -> u8 { function get_avl (line 75) | fn get_avl(entry: u64) -> u8 { function get_p (line 79) | fn get_p(entry: u64) -> u8 { function get_dpl (line 83) | fn get_dpl(entry: u64) -> u8 { function get_s (line 87) | fn get_s(entry: u64) -> u8 { function get_type (line 91) | fn get_type(entry: u64) -> u8 { function kvm_segment_from_gdt (line 101) | pub fn kvm_segment_from_gdt(entry: u64, table_index: u8) -> kvm_segment { function field_parse (line 127) | fn field_parse() { FILE: src/vmm/src/arch/x86_64/generated/arch_prctl.rs constant ARCH_SET_GS (line 19) | pub const ARCH_SET_GS: u32 = 4097; constant ARCH_SET_FS (line 20) | pub const ARCH_SET_FS: u32 = 4098; constant ARCH_GET_FS (line 21) | pub const ARCH_GET_FS: u32 = 4099; constant ARCH_GET_GS (line 22) | pub const ARCH_GET_GS: u32 = 4100; constant ARCH_GET_CPUID (line 23) | pub const ARCH_GET_CPUID: u32 = 4113; constant ARCH_SET_CPUID (line 24) | pub const ARCH_SET_CPUID: u32 = 4114; constant ARCH_GET_XCOMP_SUPP (line 25) | pub const ARCH_GET_XCOMP_SUPP: u32 = 4129; constant ARCH_GET_XCOMP_PERM (line 26) | pub const ARCH_GET_XCOMP_PERM: u32 = 4130; constant ARCH_REQ_XCOMP_PERM (line 27) | pub const ARCH_REQ_XCOMP_PERM: u32 = 4131; constant ARCH_GET_XCOMP_GUEST_PERM (line 28) | pub const ARCH_GET_XCOMP_GUEST_PERM: u32 = 4132; constant ARCH_REQ_XCOMP_GUEST_PERM (line 29) | pub const ARCH_REQ_XCOMP_GUEST_PERM: u32 = 4133; constant ARCH_XCOMP_TILECFG (line 30) | pub const ARCH_XCOMP_TILECFG: u32 = 17; constant ARCH_XCOMP_TILEDATA (line 31) | pub const ARCH_XCOMP_TILEDATA: u32 = 18; constant ARCH_MAP_VDSO_X32 (line 32) | pub const ARCH_MAP_VDSO_X32: u32 = 8193; constant ARCH_MAP_VDSO_32 (line 33) | pub const ARCH_MAP_VDSO_32: u32 = 8194; constant ARCH_MAP_VDSO_64 (line 34) | pub const ARCH_MAP_VDSO_64: u32 = 8195; constant ARCH_GET_UNTAG_MASK (line 35) | pub const ARCH_GET_UNTAG_MASK: u32 = 16385; constant ARCH_ENABLE_TAGGED_ADDR (line 36) | pub const ARCH_ENABLE_TAGGED_ADDR: u32 = 16386; constant ARCH_GET_MAX_TAG_BITS (line 37) | pub const ARCH_GET_MAX_TAG_BITS: u32 = 16387; constant ARCH_FORCE_TAGGED_SVA (line 38) | pub const ARCH_FORCE_TAGGED_SVA: u32 = 16388; constant ARCH_SHSTK_ENABLE (line 39) | pub const ARCH_SHSTK_ENABLE: u32 = 20481; constant ARCH_SHSTK_DISABLE (line 40) | pub const ARCH_SHSTK_DISABLE: u32 = 20482; constant ARCH_SHSTK_LOCK (line 41) | pub const ARCH_SHSTK_LOCK: u32 = 20483; constant ARCH_SHSTK_UNLOCK (line 42) | pub const ARCH_SHSTK_UNLOCK: u32 = 20484; constant ARCH_SHSTK_STATUS (line 43) | pub const ARCH_SHSTK_STATUS: u32 = 20485; constant ARCH_SHSTK_SHSTK (line 44) | pub const ARCH_SHSTK_SHSTK: u32 = 1; constant ARCH_SHSTK_WRSS (line 45) | pub const ARCH_SHSTK_WRSS: u32 = 2; FILE: src/vmm/src/arch/x86_64/generated/hyperv.rs constant HV_X64_MSR_SYNDBG_CONTROL (line 19) | pub const HV_X64_MSR_SYNDBG_CONTROL: u32 = 0x400000f1; constant HV_X64_MSR_SYNDBG_STATUS (line 20) | pub const HV_X64_MSR_SYNDBG_STATUS: u32 = 0x400000f2; constant HV_X64_MSR_SYNDBG_SEND_BUFFER (line 21) | pub const HV_X64_MSR_SYNDBG_SEND_BUFFER: u32 = 0x400000f3; constant HV_X64_MSR_SYNDBG_RECV_BUFFER (line 22) | pub const HV_X64_MSR_SYNDBG_RECV_BUFFER: u32 = 0x400000f4; constant HV_X64_MSR_SYNDBG_PENDING_BUFFER (line 23) | pub const HV_X64_MSR_SYNDBG_PENDING_BUFFER: u32 = 0x400000f5; constant HV_X64_MSR_SYNDBG_OPTIONS (line 24) | pub const HV_X64_MSR_SYNDBG_OPTIONS: u32 = 0x400000ff; FILE: src/vmm/src/arch/x86_64/generated/hyperv_tlfs.rs constant HV_X64_MSR_GUEST_OS_ID (line 19) | pub const HV_X64_MSR_GUEST_OS_ID: u32 = 0x40000000; constant HV_X64_MSR_HYPERCALL (line 20) | pub const HV_X64_MSR_HYPERCALL: u32 = 0x40000001; constant HV_X64_MSR_VP_INDEX (line 21) | pub const HV_X64_MSR_VP_INDEX: u32 = 0x40000002; constant HV_X64_MSR_RESET (line 22) | pub const HV_X64_MSR_RESET: u32 = 0x40000003; constant HV_X64_MSR_VP_RUNTIME (line 23) | pub const HV_X64_MSR_VP_RUNTIME: u32 = 0x40000010; constant HV_X64_MSR_TIME_REF_COUNT (line 24) | pub const HV_X64_MSR_TIME_REF_COUNT: u32 = 0x40000020; constant HV_X64_MSR_REFERENCE_TSC (line 25) | pub const HV_X64_MSR_REFERENCE_TSC: u32 = 0x40000021; constant HV_X64_MSR_TSC_FREQUENCY (line 26) | pub const HV_X64_MSR_TSC_FREQUENCY: u32 = 0x40000022; constant HV_X64_MSR_APIC_FREQUENCY (line 27) | pub const HV_X64_MSR_APIC_FREQUENCY: u32 = 0x40000023; constant HV_X64_MSR_EOI (line 28) | pub const HV_X64_MSR_EOI: u32 = 0x40000070; constant HV_X64_MSR_ICR (line 29) | pub const HV_X64_MSR_ICR: u32 = 0x40000071; constant HV_X64_MSR_TPR (line 30) | pub const HV_X64_MSR_TPR: u32 = 0x40000072; constant HV_X64_MSR_VP_ASSIST_PAGE (line 31) | pub const HV_X64_MSR_VP_ASSIST_PAGE: u32 = 0x40000073; constant HV_X64_MSR_SCONTROL (line 32) | pub const HV_X64_MSR_SCONTROL: u32 = 0x40000080; constant HV_X64_MSR_SVERSION (line 33) | pub const HV_X64_MSR_SVERSION: u32 = 0x40000081; constant HV_X64_MSR_SIEFP (line 34) | pub const HV_X64_MSR_SIEFP: u32 = 0x40000082; constant HV_X64_MSR_SIMP (line 35) | pub const HV_X64_MSR_SIMP: u32 = 0x40000083; constant HV_X64_MSR_EOM (line 36) | pub const HV_X64_MSR_EOM: u32 = 0x40000084; constant HV_X64_MSR_SINT0 (line 37) | pub const HV_X64_MSR_SINT0: u32 = 0x40000090; constant HV_X64_MSR_SINT1 (line 38) | pub const HV_X64_MSR_SINT1: u32 = 0x40000091; constant HV_X64_MSR_SINT2 (line 39) | pub const HV_X64_MSR_SINT2: u32 = 0x40000092; constant HV_X64_MSR_SINT3 (line 40) | pub const HV_X64_MSR_SINT3: u32 = 0x40000093; constant HV_X64_MSR_SINT4 (line 41) | pub const HV_X64_MSR_SINT4: u32 = 0x40000094; constant HV_X64_MSR_SINT5 (line 42) | pub const HV_X64_MSR_SINT5: u32 = 0x40000095; constant HV_X64_MSR_SINT6 (line 43) | pub const HV_X64_MSR_SINT6: u32 = 0x40000096; constant HV_X64_MSR_SINT7 (line 44) | pub const HV_X64_MSR_SINT7: u32 = 0x40000097; constant HV_X64_MSR_SINT8 (line 45) | pub const HV_X64_MSR_SINT8: u32 = 0x40000098; constant HV_X64_MSR_SINT9 (line 46) | pub const HV_X64_MSR_SINT9: u32 = 0x40000099; constant HV_X64_MSR_SINT10 (line 47) | pub const HV_X64_MSR_SINT10: u32 = 0x4000009a; constant HV_X64_MSR_SINT11 (line 48) | pub const HV_X64_MSR_SINT11: u32 = 0x4000009b; constant HV_X64_MSR_SINT12 (line 49) | pub const HV_X64_MSR_SINT12: u32 = 0x4000009c; constant HV_X64_MSR_SINT13 (line 50) | pub const HV_X64_MSR_SINT13: u32 = 0x4000009d; constant HV_X64_MSR_SINT14 (line 51) | pub const HV_X64_MSR_SINT14: u32 = 0x4000009e; constant HV_X64_MSR_SINT15 (line 52) | pub const HV_X64_MSR_SINT15: u32 = 0x4000009f; constant HV_X64_MSR_NESTED_SCONTROL (line 53) | pub const HV_X64_MSR_NESTED_SCONTROL: u32 = 0x40001080; constant HV_X64_MSR_NESTED_SVERSION (line 54) | pub const HV_X64_MSR_NESTED_SVERSION: u32 = 0x40001081; constant HV_X64_MSR_NESTED_SIEFP (line 55) | pub const HV_X64_MSR_NESTED_SIEFP: u32 = 0x40001082; constant HV_X64_MSR_NESTED_SIMP (line 56) | pub const HV_X64_MSR_NESTED_SIMP: u32 = 0x40001083; constant HV_X64_MSR_NESTED_EOM (line 57) | pub const HV_X64_MSR_NESTED_EOM: u32 = 0x40001084; constant HV_X64_MSR_NESTED_SINT0 (line 58) | pub const HV_X64_MSR_NESTED_SINT0: u32 = 0x40001090; constant HV_X64_MSR_STIMER0_CONFIG (line 59) | pub const HV_X64_MSR_STIMER0_CONFIG: u32 = 0x400000b0; constant HV_X64_MSR_STIMER0_COUNT (line 60) | pub const HV_X64_MSR_STIMER0_COUNT: u32 = 0x400000b1; constant HV_X64_MSR_STIMER1_CONFIG (line 61) | pub const HV_X64_MSR_STIMER1_CONFIG: u32 = 0x400000b2; constant HV_X64_MSR_STIMER1_COUNT (line 62) | pub const HV_X64_MSR_STIMER1_COUNT: u32 = 0x400000b3; constant HV_X64_MSR_STIMER2_CONFIG (line 63) | pub const HV_X64_MSR_STIMER2_CONFIG: u32 = 0x400000b4; constant HV_X64_MSR_STIMER2_COUNT (line 64) | pub const HV_X64_MSR_STIMER2_COUNT: u32 = 0x400000b5; constant HV_X64_MSR_STIMER3_CONFIG (line 65) | pub const HV_X64_MSR_STIMER3_CONFIG: u32 = 0x400000b6; constant HV_X64_MSR_STIMER3_COUNT (line 66) | pub const HV_X64_MSR_STIMER3_COUNT: u32 = 0x400000b7; constant HV_X64_MSR_GUEST_IDLE (line 67) | pub const HV_X64_MSR_GUEST_IDLE: u32 = 0x400000f0; constant HV_X64_MSR_CRASH_P0 (line 68) | pub const HV_X64_MSR_CRASH_P0: u32 = 0x40000100; constant HV_X64_MSR_CRASH_P1 (line 69) | pub const HV_X64_MSR_CRASH_P1: u32 = 0x40000101; constant HV_X64_MSR_CRASH_P2 (line 70) | pub const HV_X64_MSR_CRASH_P2: u32 = 0x40000102; constant HV_X64_MSR_CRASH_P3 (line 71) | pub const HV_X64_MSR_CRASH_P3: u32 = 0x40000103; constant HV_X64_MSR_CRASH_P4 (line 72) | pub const HV_X64_MSR_CRASH_P4: u32 = 0x40000104; constant HV_X64_MSR_CRASH_CTL (line 73) | pub const HV_X64_MSR_CRASH_CTL: u32 = 0x40000105; constant HV_X64_MSR_REENLIGHTENMENT_CONTROL (line 74) | pub const HV_X64_MSR_REENLIGHTENMENT_CONTROL: u32 = 0x40000106; constant HV_X64_MSR_TSC_EMULATION_CONTROL (line 75) | pub const HV_X64_MSR_TSC_EMULATION_CONTROL: u32 = 0x40000107; constant HV_X64_MSR_TSC_EMULATION_STATUS (line 76) | pub const HV_X64_MSR_TSC_EMULATION_STATUS: u32 = 0x40000108; constant HV_X64_MSR_TSC_INVARIANT_CONTROL (line 77) | pub const HV_X64_MSR_TSC_INVARIANT_CONTROL: u32 = 0x40000118; constant HV_X64_MSR_HYPERCALL_ENABLE (line 78) | pub const HV_X64_MSR_HYPERCALL_ENABLE: u32 = 0x1; constant HV_X64_MSR_HYPERCALL_PAGE_ADDRESS_SHIFT (line 79) | pub const HV_X64_MSR_HYPERCALL_PAGE_ADDRESS_SHIFT: u32 = 0xc; constant HV_X64_MSR_HYPERCALL_PAGE_ADDRESS_MASK (line 80) | pub const HV_X64_MSR_HYPERCALL_PAGE_ADDRESS_MASK: i32 = -4096; constant HV_X64_MSR_CRASH_PARAMS (line 81) | pub const HV_X64_MSR_CRASH_PARAMS: u32 = 0x5; constant HV_X64_MSR_VP_ASSIST_PAGE_ENABLE (line 82) | pub const HV_X64_MSR_VP_ASSIST_PAGE_ENABLE: u32 = 0x1; constant HV_X64_MSR_VP_ASSIST_PAGE_ADDRESS_SHIFT (line 83) | pub const HV_X64_MSR_VP_ASSIST_PAGE_ADDRESS_SHIFT: u32 = 0xc; constant HV_X64_MSR_VP_ASSIST_PAGE_ADDRESS_MASK (line 84) | pub const HV_X64_MSR_VP_ASSIST_PAGE_ADDRESS_MASK: i32 = -4096; constant HV_X64_MSR_TSC_REFERENCE_ENABLE (line 85) | pub const HV_X64_MSR_TSC_REFERENCE_ENABLE: u32 = 0x1; constant HV_X64_MSR_TSC_REFERENCE_ADDRESS_SHIFT (line 86) | pub const HV_X64_MSR_TSC_REFERENCE_ADDRESS_SHIFT: u32 = 0xc; FILE: src/vmm/src/arch/x86_64/generated/mpspec.rs constant MPC_SIGNATURE (line 19) | pub const MPC_SIGNATURE: &[u8; 5] = b"PCMP\0"; constant MP_PROCESSOR (line 20) | pub const MP_PROCESSOR: u32 = 0; constant MP_BUS (line 21) | pub const MP_BUS: u32 = 1; constant MP_IOAPIC (line 22) | pub const MP_IOAPIC: u32 = 2; constant MP_INTSRC (line 23) | pub const MP_INTSRC: u32 = 3; constant MP_LINTSRC (line 24) | pub const MP_LINTSRC: u32 = 4; constant MP_TRANSLATION (line 25) | pub const MP_TRANSLATION: u32 = 192; constant CPU_ENABLED (line 26) | pub const CPU_ENABLED: u32 = 1; constant CPU_BOOTPROCESSOR (line 27) | pub const CPU_BOOTPROCESSOR: u32 = 2; constant CPU_STEPPING_MASK (line 28) | pub const CPU_STEPPING_MASK: u32 = 15; constant CPU_MODEL_MASK (line 29) | pub const CPU_MODEL_MASK: u32 = 240; constant CPU_FAMILY_MASK (line 30) | pub const CPU_FAMILY_MASK: u32 = 3840; constant BUSTYPE_EISA (line 31) | pub const BUSTYPE_EISA: &[u8; 5] = b"EISA\0"; constant BUSTYPE_ISA (line 32) | pub const BUSTYPE_ISA: &[u8; 4] = b"ISA\0"; constant BUSTYPE_INTERN (line 33) | pub const BUSTYPE_INTERN: &[u8; 7] = b"INTERN\0"; constant BUSTYPE_MCA (line 34) | pub const BUSTYPE_MCA: &[u8; 4] = b"MCA\0"; constant BUSTYPE_VL (line 35) | pub const BUSTYPE_VL: &[u8; 3] = b"VL\0"; constant BUSTYPE_PCI (line 36) | pub const BUSTYPE_PCI: &[u8; 4] = b"PCI\0"; constant BUSTYPE_PCMCIA (line 37) | pub const BUSTYPE_PCMCIA: &[u8; 7] = b"PCMCIA\0"; constant BUSTYPE_CBUS (line 38) | pub const BUSTYPE_CBUS: &[u8; 5] = b"CBUS\0"; constant BUSTYPE_CBUSII (line 39) | pub const BUSTYPE_CBUSII: &[u8; 7] = b"CBUSII\0"; constant BUSTYPE_FUTURE (line 40) | pub const BUSTYPE_FUTURE: &[u8; 7] = b"FUTURE\0"; constant BUSTYPE_MBI (line 41) | pub const BUSTYPE_MBI: &[u8; 4] = b"MBI\0"; constant BUSTYPE_MBII (line 42) | pub const BUSTYPE_MBII: &[u8; 5] = b"MBII\0"; constant BUSTYPE_MPI (line 43) | pub const BUSTYPE_MPI: &[u8; 4] = b"MPI\0"; constant BUSTYPE_MPSA (line 44) | pub const BUSTYPE_MPSA: &[u8; 5] = b"MPSA\0"; constant BUSTYPE_NUBUS (line 45) | pub const BUSTYPE_NUBUS: &[u8; 6] = b"NUBUS\0"; constant BUSTYPE_TC (line 46) | pub const BUSTYPE_TC: &[u8; 3] = b"TC\0"; constant BUSTYPE_VME (line 47) | pub const BUSTYPE_VME: &[u8; 4] = b"VME\0"; constant BUSTYPE_XPRESS (line 48) | pub const BUSTYPE_XPRESS: &[u8; 7] = b"XPRESS\0"; constant MPC_APIC_USABLE (line 49) | pub const MPC_APIC_USABLE: u32 = 1; constant MP_IRQPOL_DEFAULT (line 50) | pub const MP_IRQPOL_DEFAULT: u32 = 0; constant MP_IRQPOL_ACTIVE_HIGH (line 51) | pub const MP_IRQPOL_ACTIVE_HIGH: u32 = 1; constant MP_IRQPOL_RESERVED (line 52) | pub const MP_IRQPOL_RESERVED: u32 = 2; constant MP_IRQPOL_ACTIVE_LOW (line 53) | pub const MP_IRQPOL_ACTIVE_LOW: u32 = 3; constant MP_IRQPOL_MASK (line 54) | pub const MP_IRQPOL_MASK: u32 = 3; constant MP_IRQTRIG_DEFAULT (line 55) | pub const MP_IRQTRIG_DEFAULT: u32 = 0; constant MP_IRQTRIG_EDGE (line 56) | pub const MP_IRQTRIG_EDGE: u32 = 4; constant MP_IRQTRIG_RESERVED (line 57) | pub const MP_IRQTRIG_RESERVED: u32 = 8; constant MP_IRQTRIG_LEVEL (line 58) | pub const MP_IRQTRIG_LEVEL: u32 = 12; constant MP_IRQTRIG_MASK (line 59) | pub const MP_IRQTRIG_MASK: u32 = 12; constant MP_APIC_ALL (line 60) | pub const MP_APIC_ALL: u32 = 255; constant MPC_OEM_SIGNATURE (line 61) | pub const MPC_OEM_SIGNATURE: &[u8; 5] = b"_OEM\0"; type mpf_intel (line 64) | pub struct mpf_intel { constant _ (line 77) | const _: () = { type mpc_table (line 95) | pub struct mpc_table { constant _ (line 109) | const _: () = { type mpc_cpu (line 128) | pub struct mpc_cpu { constant _ (line 138) | const _: () = { type mpc_bus (line 152) | pub struct mpc_bus { constant _ (line 158) | const _: () = { type mpc_ioapic (line 167) | pub struct mpc_ioapic { constant _ (line 175) | const _: () = { type mpc_intsrc (line 187) | pub struct mpc_intsrc { constant _ (line 197) | const _: () = { type Type (line 210) | pub type Type = ::std::os::raw::c_uint; constant mp_INT (line 211) | pub const mp_INT: Type = 0; constant mp_NMI (line 212) | pub const mp_NMI: Type = 1; constant mp_SMI (line 213) | pub const mp_SMI: Type = 2; constant mp_ExtINT (line 214) | pub const mp_ExtINT: Type = 3; type mpc_lintsrc (line 218) | pub struct mpc_lintsrc { constant _ (line 228) | const _: () = { type mpc_oemtable (line 247) | pub struct mpc_oemtable { constant _ (line 255) | const _: () = { type Type (line 268) | pub type Type = ::std::os::raw::c_uint; constant MP_BUS_ISA (line 269) | pub const MP_BUS_ISA: Type = 1; constant MP_BUS_EISA (line 270) | pub const MP_BUS_EISA: Type = 2; constant MP_BUS_PCI (line 271) | pub const MP_BUS_PCI: Type = 3; FILE: src/vmm/src/arch/x86_64/generated/msr_index.rs constant MSR_EFER (line 19) | pub const MSR_EFER: u32 = 0xc0000080; constant MSR_STAR (line 20) | pub const MSR_STAR: u32 = 0xc0000081; constant MSR_LSTAR (line 21) | pub const MSR_LSTAR: u32 = 0xc0000082; constant MSR_CSTAR (line 22) | pub const MSR_CSTAR: u32 = 0xc0000083; constant MSR_SYSCALL_MASK (line 23) | pub const MSR_SYSCALL_MASK: u32 = 0xc0000084; constant MSR_FS_BASE (line 24) | pub const MSR_FS_BASE: u32 = 0xc0000100; constant MSR_GS_BASE (line 25) | pub const MSR_GS_BASE: u32 = 0xc0000101; constant MSR_KERNEL_GS_BASE (line 26) | pub const MSR_KERNEL_GS_BASE: u32 = 0xc0000102; constant MSR_TSC_AUX (line 27) | pub const MSR_TSC_AUX: u32 = 0xc0000103; constant MSR_IA32_FRED_RSP0 (line 28) | pub const MSR_IA32_FRED_RSP0: u32 = 0x1cc; constant MSR_IA32_FRED_RSP1 (line 29) | pub const MSR_IA32_FRED_RSP1: u32 = 0x1cd; constant MSR_IA32_FRED_RSP2 (line 30) | pub const MSR_IA32_FRED_RSP2: u32 = 0x1ce; constant MSR_IA32_FRED_RSP3 (line 31) | pub const MSR_IA32_FRED_RSP3: u32 = 0x1cf; constant MSR_IA32_FRED_STKLVLS (line 32) | pub const MSR_IA32_FRED_STKLVLS: u32 = 0x1d0; constant MSR_IA32_FRED_SSP1 (line 33) | pub const MSR_IA32_FRED_SSP1: u32 = 0x1d1; constant MSR_IA32_FRED_SSP2 (line 34) | pub const MSR_IA32_FRED_SSP2: u32 = 0x1d2; constant MSR_IA32_FRED_SSP3 (line 35) | pub const MSR_IA32_FRED_SSP3: u32 = 0x1d3; constant MSR_IA32_FRED_CONFIG (line 36) | pub const MSR_IA32_FRED_CONFIG: u32 = 0x1d4; constant MSR_TEST_CTRL (line 37) | pub const MSR_TEST_CTRL: u32 = 0x33; constant MSR_TEST_CTRL_SPLIT_LOCK_DETECT_BIT (line 38) | pub const MSR_TEST_CTRL_SPLIT_LOCK_DETECT_BIT: u32 = 0x1d; constant MSR_IA32_SPEC_CTRL (line 39) | pub const MSR_IA32_SPEC_CTRL: u32 = 0x48; constant MSR_IA32_PRED_CMD (line 40) | pub const MSR_IA32_PRED_CMD: u32 = 0x49; constant MSR_PPIN_CTL (line 41) | pub const MSR_PPIN_CTL: u32 = 0x4e; constant MSR_PPIN (line 42) | pub const MSR_PPIN: u32 = 0x4f; constant MSR_IA32_PERFCTR0 (line 43) | pub const MSR_IA32_PERFCTR0: u32 = 0xc1; constant MSR_IA32_PERFCTR1 (line 44) | pub const MSR_IA32_PERFCTR1: u32 = 0xc2; constant MSR_FSB_FREQ (line 45) | pub const MSR_FSB_FREQ: u32 = 0xcd; constant MSR_PLATFORM_INFO (line 46) | pub const MSR_PLATFORM_INFO: u32 = 0xce; constant MSR_PLATFORM_INFO_CPUID_FAULT_BIT (line 47) | pub const MSR_PLATFORM_INFO_CPUID_FAULT_BIT: u32 = 0x1f; constant MSR_IA32_UMWAIT_CONTROL (line 48) | pub const MSR_IA32_UMWAIT_CONTROL: u32 = 0xe1; constant MSR_IA32_UMWAIT_CONTROL_TIME_MASK (line 49) | pub const MSR_IA32_UMWAIT_CONTROL_TIME_MASK: i32 = -4; constant MSR_IA32_CORE_CAPS (line 50) | pub const MSR_IA32_CORE_CAPS: u32 = 0xcf; constant MSR_IA32_CORE_CAPS_INTEGRITY_CAPS_BIT (line 51) | pub const MSR_IA32_CORE_CAPS_INTEGRITY_CAPS_BIT: u32 = 0x2; constant MSR_IA32_CORE_CAPS_SPLIT_LOCK_DETECT_BIT (line 52) | pub const MSR_IA32_CORE_CAPS_SPLIT_LOCK_DETECT_BIT: u32 = 0x5; constant MSR_PKG_CST_CONFIG_CONTROL (line 53) | pub const MSR_PKG_CST_CONFIG_CONTROL: u32 = 0xe2; constant MSR_MTRRcap (line 54) | pub const MSR_MTRRcap: u32 = 0xfe; constant MSR_IA32_ARCH_CAPABILITIES (line 55) | pub const MSR_IA32_ARCH_CAPABILITIES: u32 = 0x10a; constant MSR_IA32_FLUSH_CMD (line 56) | pub const MSR_IA32_FLUSH_CMD: u32 = 0x10b; constant MSR_IA32_BBL_CR_CTL (line 57) | pub const MSR_IA32_BBL_CR_CTL: u32 = 0x119; constant MSR_IA32_BBL_CR_CTL3 (line 58) | pub const MSR_IA32_BBL_CR_CTL3: u32 = 0x11e; constant MSR_IA32_TSX_CTRL (line 59) | pub const MSR_IA32_TSX_CTRL: u32 = 0x122; constant MSR_IA32_MCU_OPT_CTRL (line 60) | pub const MSR_IA32_MCU_OPT_CTRL: u32 = 0x123; constant MSR_IA32_SYSENTER_CS (line 61) | pub const MSR_IA32_SYSENTER_CS: u32 = 0x174; constant MSR_IA32_SYSENTER_ESP (line 62) | pub const MSR_IA32_SYSENTER_ESP: u32 = 0x175; constant MSR_IA32_SYSENTER_EIP (line 63) | pub const MSR_IA32_SYSENTER_EIP: u32 = 0x176; constant MSR_IA32_MCG_CAP (line 64) | pub const MSR_IA32_MCG_CAP: u32 = 0x179; constant MSR_IA32_MCG_STATUS (line 65) | pub const MSR_IA32_MCG_STATUS: u32 = 0x17a; constant MSR_IA32_MCG_CTL (line 66) | pub const MSR_IA32_MCG_CTL: u32 = 0x17b; constant MSR_ERROR_CONTROL (line 67) | pub const MSR_ERROR_CONTROL: u32 = 0x17f; constant MSR_IA32_MCG_EXT_CTL (line 68) | pub const MSR_IA32_MCG_EXT_CTL: u32 = 0x4d0; constant MSR_OFFCORE_RSP_0 (line 69) | pub const MSR_OFFCORE_RSP_0: u32 = 0x1a6; constant MSR_OFFCORE_RSP_1 (line 70) | pub const MSR_OFFCORE_RSP_1: u32 = 0x1a7; constant MSR_TURBO_RATIO_LIMIT (line 71) | pub const MSR_TURBO_RATIO_LIMIT: u32 = 0x1ad; constant MSR_TURBO_RATIO_LIMIT1 (line 72) | pub const MSR_TURBO_RATIO_LIMIT1: u32 = 0x1ae; constant MSR_TURBO_RATIO_LIMIT2 (line 73) | pub const MSR_TURBO_RATIO_LIMIT2: u32 = 0x1af; constant MSR_SNOOP_RSP_0 (line 74) | pub const MSR_SNOOP_RSP_0: u32 = 0x1328; constant MSR_SNOOP_RSP_1 (line 75) | pub const MSR_SNOOP_RSP_1: u32 = 0x1329; constant MSR_LBR_SELECT (line 76) | pub const MSR_LBR_SELECT: u32 = 0x1c8; constant MSR_LBR_TOS (line 77) | pub const MSR_LBR_TOS: u32 = 0x1c9; constant MSR_IA32_POWER_CTL (line 78) | pub const MSR_IA32_POWER_CTL: u32 = 0x1fc; constant MSR_IA32_POWER_CTL_BIT_EE (line 79) | pub const MSR_IA32_POWER_CTL_BIT_EE: u32 = 0x13; constant MSR_INTEGRITY_CAPS (line 80) | pub const MSR_INTEGRITY_CAPS: u32 = 0x2d9; constant MSR_INTEGRITY_CAPS_ARRAY_BIST_BIT (line 81) | pub const MSR_INTEGRITY_CAPS_ARRAY_BIST_BIT: u32 = 0x2; constant MSR_INTEGRITY_CAPS_PERIODIC_BIST_BIT (line 82) | pub const MSR_INTEGRITY_CAPS_PERIODIC_BIST_BIT: u32 = 0x4; constant MSR_INTEGRITY_CAPS_SBAF_BIT (line 83) | pub const MSR_INTEGRITY_CAPS_SBAF_BIT: u32 = 0x8; constant MSR_LBR_NHM_FROM (line 84) | pub const MSR_LBR_NHM_FROM: u32 = 0x680; constant MSR_LBR_NHM_TO (line 85) | pub const MSR_LBR_NHM_TO: u32 = 0x6c0; constant MSR_LBR_CORE_FROM (line 86) | pub const MSR_LBR_CORE_FROM: u32 = 0x40; constant MSR_LBR_CORE_TO (line 87) | pub const MSR_LBR_CORE_TO: u32 = 0x60; constant MSR_LBR_INFO_0 (line 88) | pub const MSR_LBR_INFO_0: u32 = 0xdc0; constant MSR_ARCH_LBR_CTL (line 89) | pub const MSR_ARCH_LBR_CTL: u32 = 0x14ce; constant MSR_ARCH_LBR_DEPTH (line 90) | pub const MSR_ARCH_LBR_DEPTH: u32 = 0x14cf; constant MSR_ARCH_LBR_FROM_0 (line 91) | pub const MSR_ARCH_LBR_FROM_0: u32 = 0x1500; constant MSR_ARCH_LBR_TO_0 (line 92) | pub const MSR_ARCH_LBR_TO_0: u32 = 0x1600; constant MSR_ARCH_LBR_INFO_0 (line 93) | pub const MSR_ARCH_LBR_INFO_0: u32 = 0x1200; constant MSR_IA32_PEBS_ENABLE (line 94) | pub const MSR_IA32_PEBS_ENABLE: u32 = 0x3f1; constant MSR_PEBS_DATA_CFG (line 95) | pub const MSR_PEBS_DATA_CFG: u32 = 0x3f2; constant MSR_IA32_DS_AREA (line 96) | pub const MSR_IA32_DS_AREA: u32 = 0x600; constant MSR_IA32_PERF_CAPABILITIES (line 97) | pub const MSR_IA32_PERF_CAPABILITIES: u32 = 0x345; constant MSR_PEBS_LD_LAT_THRESHOLD (line 98) | pub const MSR_PEBS_LD_LAT_THRESHOLD: u32 = 0x3f6; constant MSR_IA32_RTIT_CTL (line 99) | pub const MSR_IA32_RTIT_CTL: u32 = 0x570; constant MSR_IA32_RTIT_STATUS (line 100) | pub const MSR_IA32_RTIT_STATUS: u32 = 0x571; constant MSR_IA32_RTIT_ADDR0_A (line 101) | pub const MSR_IA32_RTIT_ADDR0_A: u32 = 0x580; constant MSR_IA32_RTIT_ADDR0_B (line 102) | pub const MSR_IA32_RTIT_ADDR0_B: u32 = 0x581; constant MSR_IA32_RTIT_ADDR1_A (line 103) | pub const MSR_IA32_RTIT_ADDR1_A: u32 = 0x582; constant MSR_IA32_RTIT_ADDR1_B (line 104) | pub const MSR_IA32_RTIT_ADDR1_B: u32 = 0x583; constant MSR_IA32_RTIT_ADDR2_A (line 105) | pub const MSR_IA32_RTIT_ADDR2_A: u32 = 0x584; constant MSR_IA32_RTIT_ADDR2_B (line 106) | pub const MSR_IA32_RTIT_ADDR2_B: u32 = 0x585; constant MSR_IA32_RTIT_ADDR3_A (line 107) | pub const MSR_IA32_RTIT_ADDR3_A: u32 = 0x586; constant MSR_IA32_RTIT_ADDR3_B (line 108) | pub const MSR_IA32_RTIT_ADDR3_B: u32 = 0x587; constant MSR_IA32_RTIT_CR3_MATCH (line 109) | pub const MSR_IA32_RTIT_CR3_MATCH: u32 = 0x572; constant MSR_IA32_RTIT_OUTPUT_BASE (line 110) | pub const MSR_IA32_RTIT_OUTPUT_BASE: u32 = 0x560; constant MSR_IA32_RTIT_OUTPUT_MASK (line 111) | pub const MSR_IA32_RTIT_OUTPUT_MASK: u32 = 0x561; constant MSR_MTRRfix64K_00000 (line 112) | pub const MSR_MTRRfix64K_00000: u32 = 0x250; constant MSR_MTRRfix16K_80000 (line 113) | pub const MSR_MTRRfix16K_80000: u32 = 0x258; constant MSR_MTRRfix16K_A0000 (line 114) | pub const MSR_MTRRfix16K_A0000: u32 = 0x259; constant MSR_MTRRfix4K_C0000 (line 115) | pub const MSR_MTRRfix4K_C0000: u32 = 0x268; constant MSR_MTRRfix4K_C8000 (line 116) | pub const MSR_MTRRfix4K_C8000: u32 = 0x269; constant MSR_MTRRfix4K_D0000 (line 117) | pub const MSR_MTRRfix4K_D0000: u32 = 0x26a; constant MSR_MTRRfix4K_D8000 (line 118) | pub const MSR_MTRRfix4K_D8000: u32 = 0x26b; constant MSR_MTRRfix4K_E0000 (line 119) | pub const MSR_MTRRfix4K_E0000: u32 = 0x26c; constant MSR_MTRRfix4K_E8000 (line 120) | pub const MSR_MTRRfix4K_E8000: u32 = 0x26d; constant MSR_MTRRfix4K_F0000 (line 121) | pub const MSR_MTRRfix4K_F0000: u32 = 0x26e; constant MSR_MTRRfix4K_F8000 (line 122) | pub const MSR_MTRRfix4K_F8000: u32 = 0x26f; constant MSR_MTRRdefType (line 123) | pub const MSR_MTRRdefType: u32 = 0x2ff; constant MSR_IA32_CR_PAT (line 124) | pub const MSR_IA32_CR_PAT: u32 = 0x277; constant MSR_IA32_DEBUGCTLMSR (line 125) | pub const MSR_IA32_DEBUGCTLMSR: u32 = 0x1d9; constant MSR_IA32_LASTBRANCHFROMIP (line 126) | pub const MSR_IA32_LASTBRANCHFROMIP: u32 = 0x1db; constant MSR_IA32_LASTBRANCHTOIP (line 127) | pub const MSR_IA32_LASTBRANCHTOIP: u32 = 0x1dc; constant MSR_IA32_LASTINTFROMIP (line 128) | pub const MSR_IA32_LASTINTFROMIP: u32 = 0x1dd; constant MSR_IA32_LASTINTTOIP (line 129) | pub const MSR_IA32_LASTINTTOIP: u32 = 0x1de; constant MSR_IA32_PASID (line 130) | pub const MSR_IA32_PASID: u32 = 0xd93; constant MSR_PEBS_FRONTEND (line 131) | pub const MSR_PEBS_FRONTEND: u32 = 0x3f7; constant MSR_IA32_MC0_CTL (line 132) | pub const MSR_IA32_MC0_CTL: u32 = 0x400; constant MSR_IA32_MC0_STATUS (line 133) | pub const MSR_IA32_MC0_STATUS: u32 = 0x401; constant MSR_IA32_MC0_ADDR (line 134) | pub const MSR_IA32_MC0_ADDR: u32 = 0x402; constant MSR_IA32_MC0_MISC (line 135) | pub const MSR_IA32_MC0_MISC: u32 = 0x403; constant MSR_PKG_C3_RESIDENCY (line 136) | pub const MSR_PKG_C3_RESIDENCY: u32 = 0x3f8; constant MSR_PKG_C6_RESIDENCY (line 137) | pub const MSR_PKG_C6_RESIDENCY: u32 = 0x3f9; constant MSR_ATOM_PKG_C6_RESIDENCY (line 138) | pub const MSR_ATOM_PKG_C6_RESIDENCY: u32 = 0x3fa; constant MSR_PKG_C7_RESIDENCY (line 139) | pub const MSR_PKG_C7_RESIDENCY: u32 = 0x3fa; constant MSR_CORE_C3_RESIDENCY (line 140) | pub const MSR_CORE_C3_RESIDENCY: u32 = 0x3fc; constant MSR_CORE_C6_RESIDENCY (line 141) | pub const MSR_CORE_C6_RESIDENCY: u32 = 0x3fd; constant MSR_CORE_C7_RESIDENCY (line 142) | pub const MSR_CORE_C7_RESIDENCY: u32 = 0x3fe; constant MSR_KNL_CORE_C6_RESIDENCY (line 143) | pub const MSR_KNL_CORE_C6_RESIDENCY: u32 = 0x3ff; constant MSR_PKG_C2_RESIDENCY (line 144) | pub const MSR_PKG_C2_RESIDENCY: u32 = 0x60d; constant MSR_PKG_C8_RESIDENCY (line 145) | pub const MSR_PKG_C8_RESIDENCY: u32 = 0x630; constant MSR_PKG_C9_RESIDENCY (line 146) | pub const MSR_PKG_C9_RESIDENCY: u32 = 0x631; constant MSR_PKG_C10_RESIDENCY (line 147) | pub const MSR_PKG_C10_RESIDENCY: u32 = 0x632; constant MSR_PKGC3_IRTL (line 148) | pub const MSR_PKGC3_IRTL: u32 = 0x60a; constant MSR_PKGC6_IRTL (line 149) | pub const MSR_PKGC6_IRTL: u32 = 0x60b; constant MSR_PKGC7_IRTL (line 150) | pub const MSR_PKGC7_IRTL: u32 = 0x60c; constant MSR_PKGC8_IRTL (line 151) | pub const MSR_PKGC8_IRTL: u32 = 0x633; constant MSR_PKGC9_IRTL (line 152) | pub const MSR_PKGC9_IRTL: u32 = 0x634; constant MSR_PKGC10_IRTL (line 153) | pub const MSR_PKGC10_IRTL: u32 = 0x635; constant MSR_VR_CURRENT_CONFIG (line 154) | pub const MSR_VR_CURRENT_CONFIG: u32 = 0x601; constant MSR_RAPL_POWER_UNIT (line 155) | pub const MSR_RAPL_POWER_UNIT: u32 = 0x606; constant MSR_PKG_POWER_LIMIT (line 156) | pub const MSR_PKG_POWER_LIMIT: u32 = 0x610; constant MSR_PKG_ENERGY_STATUS (line 157) | pub const MSR_PKG_ENERGY_STATUS: u32 = 0x611; constant MSR_PKG_PERF_STATUS (line 158) | pub const MSR_PKG_PERF_STATUS: u32 = 0x613; constant MSR_PKG_POWER_INFO (line 159) | pub const MSR_PKG_POWER_INFO: u32 = 0x614; constant MSR_DRAM_POWER_LIMIT (line 160) | pub const MSR_DRAM_POWER_LIMIT: u32 = 0x618; constant MSR_DRAM_ENERGY_STATUS (line 161) | pub const MSR_DRAM_ENERGY_STATUS: u32 = 0x619; constant MSR_DRAM_PERF_STATUS (line 162) | pub const MSR_DRAM_PERF_STATUS: u32 = 0x61b; constant MSR_DRAM_POWER_INFO (line 163) | pub const MSR_DRAM_POWER_INFO: u32 = 0x61c; constant MSR_PP0_POWER_LIMIT (line 164) | pub const MSR_PP0_POWER_LIMIT: u32 = 0x638; constant MSR_PP0_ENERGY_STATUS (line 165) | pub const MSR_PP0_ENERGY_STATUS: u32 = 0x639; constant MSR_PP0_POLICY (line 166) | pub const MSR_PP0_POLICY: u32 = 0x63a; constant MSR_PP0_PERF_STATUS (line 167) | pub const MSR_PP0_PERF_STATUS: u32 = 0x63b; constant MSR_PP1_POWER_LIMIT (line 168) | pub const MSR_PP1_POWER_LIMIT: u32 = 0x640; constant MSR_PP1_ENERGY_STATUS (line 169) | pub const MSR_PP1_ENERGY_STATUS: u32 = 0x641; constant MSR_PP1_POLICY (line 170) | pub const MSR_PP1_POLICY: u32 = 0x642; constant MSR_AMD_RAPL_POWER_UNIT (line 171) | pub const MSR_AMD_RAPL_POWER_UNIT: u32 = 0xc0010299; constant MSR_AMD_CORE_ENERGY_STATUS (line 172) | pub const MSR_AMD_CORE_ENERGY_STATUS: u32 = 0xc001029a; constant MSR_AMD_PKG_ENERGY_STATUS (line 173) | pub const MSR_AMD_PKG_ENERGY_STATUS: u32 = 0xc001029b; constant MSR_CONFIG_TDP_NOMINAL (line 174) | pub const MSR_CONFIG_TDP_NOMINAL: u32 = 0x648; constant MSR_CONFIG_TDP_LEVEL_1 (line 175) | pub const MSR_CONFIG_TDP_LEVEL_1: u32 = 0x649; constant MSR_CONFIG_TDP_LEVEL_2 (line 176) | pub const MSR_CONFIG_TDP_LEVEL_2: u32 = 0x64a; constant MSR_CONFIG_TDP_CONTROL (line 177) | pub const MSR_CONFIG_TDP_CONTROL: u32 = 0x64b; constant MSR_TURBO_ACTIVATION_RATIO (line 178) | pub const MSR_TURBO_ACTIVATION_RATIO: u32 = 0x64c; constant MSR_PLATFORM_ENERGY_STATUS (line 179) | pub const MSR_PLATFORM_ENERGY_STATUS: u32 = 0x64d; constant MSR_SECONDARY_TURBO_RATIO_LIMIT (line 180) | pub const MSR_SECONDARY_TURBO_RATIO_LIMIT: u32 = 0x650; constant MSR_PKG_WEIGHTED_CORE_C0_RES (line 181) | pub const MSR_PKG_WEIGHTED_CORE_C0_RES: u32 = 0x658; constant MSR_PKG_ANY_CORE_C0_RES (line 182) | pub const MSR_PKG_ANY_CORE_C0_RES: u32 = 0x659; constant MSR_PKG_ANY_GFXE_C0_RES (line 183) | pub const MSR_PKG_ANY_GFXE_C0_RES: u32 = 0x65a; constant MSR_PKG_BOTH_CORE_GFXE_C0_RES (line 184) | pub const MSR_PKG_BOTH_CORE_GFXE_C0_RES: u32 = 0x65b; constant MSR_CORE_C1_RES (line 185) | pub const MSR_CORE_C1_RES: u32 = 0x660; constant MSR_MODULE_C6_RES_MS (line 186) | pub const MSR_MODULE_C6_RES_MS: u32 = 0x664; constant MSR_CC6_DEMOTION_POLICY_CONFIG (line 187) | pub const MSR_CC6_DEMOTION_POLICY_CONFIG: u32 = 0x668; constant MSR_MC6_DEMOTION_POLICY_CONFIG (line 188) | pub const MSR_MC6_DEMOTION_POLICY_CONFIG: u32 = 0x669; constant MSR_ATOM_CORE_RATIOS (line 189) | pub const MSR_ATOM_CORE_RATIOS: u32 = 0x66a; constant MSR_ATOM_CORE_VIDS (line 190) | pub const MSR_ATOM_CORE_VIDS: u32 = 0x66b; constant MSR_ATOM_CORE_TURBO_RATIOS (line 191) | pub const MSR_ATOM_CORE_TURBO_RATIOS: u32 = 0x66c; constant MSR_ATOM_CORE_TURBO_VIDS (line 192) | pub const MSR_ATOM_CORE_TURBO_VIDS: u32 = 0x66d; constant MSR_CORE_PERF_LIMIT_REASONS (line 193) | pub const MSR_CORE_PERF_LIMIT_REASONS: u32 = 0x690; constant MSR_GFX_PERF_LIMIT_REASONS (line 194) | pub const MSR_GFX_PERF_LIMIT_REASONS: u32 = 0x6b0; constant MSR_RING_PERF_LIMIT_REASONS (line 195) | pub const MSR_RING_PERF_LIMIT_REASONS: u32 = 0x6b1; constant MSR_IA32_U_CET (line 196) | pub const MSR_IA32_U_CET: u32 = 0x6a0; constant MSR_IA32_S_CET (line 197) | pub const MSR_IA32_S_CET: u32 = 0x6a2; constant MSR_IA32_PL0_SSP (line 198) | pub const MSR_IA32_PL0_SSP: u32 = 0x6a4; constant MSR_IA32_PL1_SSP (line 199) | pub const MSR_IA32_PL1_SSP: u32 = 0x6a5; constant MSR_IA32_PL2_SSP (line 200) | pub const MSR_IA32_PL2_SSP: u32 = 0x6a6; constant MSR_IA32_PL3_SSP (line 201) | pub const MSR_IA32_PL3_SSP: u32 = 0x6a7; constant MSR_IA32_INT_SSP_TAB (line 202) | pub const MSR_IA32_INT_SSP_TAB: u32 = 0x6a8; constant MSR_PPERF (line 203) | pub const MSR_PPERF: u32 = 0x64e; constant MSR_PERF_LIMIT_REASONS (line 204) | pub const MSR_PERF_LIMIT_REASONS: u32 = 0x64f; constant MSR_PM_ENABLE (line 205) | pub const MSR_PM_ENABLE: u32 = 0x770; constant MSR_HWP_CAPABILITIES (line 206) | pub const MSR_HWP_CAPABILITIES: u32 = 0x771; constant MSR_HWP_REQUEST_PKG (line 207) | pub const MSR_HWP_REQUEST_PKG: u32 = 0x772; constant MSR_HWP_INTERRUPT (line 208) | pub const MSR_HWP_INTERRUPT: u32 = 0x773; constant MSR_HWP_REQUEST (line 209) | pub const MSR_HWP_REQUEST: u32 = 0x774; constant MSR_HWP_STATUS (line 210) | pub const MSR_HWP_STATUS: u32 = 0x777; constant MSR_AMD64_MC0_MASK (line 211) | pub const MSR_AMD64_MC0_MASK: u32 = 0xc0010044; constant MSR_IA32_MC0_CTL2 (line 212) | pub const MSR_IA32_MC0_CTL2: u32 = 0x280; constant MSR_P6_PERFCTR0 (line 213) | pub const MSR_P6_PERFCTR0: u32 = 0xc1; constant MSR_P6_PERFCTR1 (line 214) | pub const MSR_P6_PERFCTR1: u32 = 0xc2; constant MSR_P6_EVNTSEL0 (line 215) | pub const MSR_P6_EVNTSEL0: u32 = 0x186; constant MSR_P6_EVNTSEL1 (line 216) | pub const MSR_P6_EVNTSEL1: u32 = 0x187; constant MSR_KNC_PERFCTR0 (line 217) | pub const MSR_KNC_PERFCTR0: u32 = 0x20; constant MSR_KNC_PERFCTR1 (line 218) | pub const MSR_KNC_PERFCTR1: u32 = 0x21; constant MSR_KNC_EVNTSEL0 (line 219) | pub const MSR_KNC_EVNTSEL0: u32 = 0x28; constant MSR_KNC_EVNTSEL1 (line 220) | pub const MSR_KNC_EVNTSEL1: u32 = 0x29; constant MSR_IA32_PMC0 (line 221) | pub const MSR_IA32_PMC0: u32 = 0x4c1; constant MSR_RELOAD_PMC0 (line 222) | pub const MSR_RELOAD_PMC0: u32 = 0x14c1; constant MSR_RELOAD_FIXED_CTR0 (line 223) | pub const MSR_RELOAD_FIXED_CTR0: u32 = 0x1309; constant MSR_IA32_PMC_V6_GP0_CTR (line 224) | pub const MSR_IA32_PMC_V6_GP0_CTR: u32 = 0x1900; constant MSR_IA32_PMC_V6_GP0_CFG_A (line 225) | pub const MSR_IA32_PMC_V6_GP0_CFG_A: u32 = 0x1901; constant MSR_IA32_PMC_V6_FX0_CTR (line 226) | pub const MSR_IA32_PMC_V6_FX0_CTR: u32 = 0x1980; constant MSR_IA32_PMC_V6_STEP (line 227) | pub const MSR_IA32_PMC_V6_STEP: u32 = 0x4; constant MSR_IA32_MKTME_KEYID_PARTITIONING (line 228) | pub const MSR_IA32_MKTME_KEYID_PARTITIONING: u32 = 0x87; constant MSR_AMD64_PATCH_LEVEL (line 229) | pub const MSR_AMD64_PATCH_LEVEL: u32 = 0x8b; constant MSR_AMD64_TSC_RATIO (line 230) | pub const MSR_AMD64_TSC_RATIO: u32 = 0xc0000104; constant MSR_AMD64_NB_CFG (line 231) | pub const MSR_AMD64_NB_CFG: u32 = 0xc001001f; constant MSR_AMD64_PATCH_LOADER (line 232) | pub const MSR_AMD64_PATCH_LOADER: u32 = 0xc0010020; constant MSR_AMD_PERF_CTL (line 233) | pub const MSR_AMD_PERF_CTL: u32 = 0xc0010062; constant MSR_AMD_PERF_STATUS (line 234) | pub const MSR_AMD_PERF_STATUS: u32 = 0xc0010063; constant MSR_AMD_PSTATE_DEF_BASE (line 235) | pub const MSR_AMD_PSTATE_DEF_BASE: u32 = 0xc0010064; constant MSR_AMD64_OSVW_ID_LENGTH (line 236) | pub const MSR_AMD64_OSVW_ID_LENGTH: u32 = 0xc0010140; constant MSR_AMD64_OSVW_STATUS (line 237) | pub const MSR_AMD64_OSVW_STATUS: u32 = 0xc0010141; constant MSR_AMD_PPIN_CTL (line 238) | pub const MSR_AMD_PPIN_CTL: u32 = 0xc00102f0; constant MSR_AMD_PPIN (line 239) | pub const MSR_AMD_PPIN: u32 = 0xc00102f1; constant MSR_AMD64_CPUID_FN_1 (line 240) | pub const MSR_AMD64_CPUID_FN_1: u32 = 0xc0011004; constant MSR_AMD64_LS_CFG (line 241) | pub const MSR_AMD64_LS_CFG: u32 = 0xc0011020; constant MSR_AMD64_DC_CFG (line 242) | pub const MSR_AMD64_DC_CFG: u32 = 0xc0011022; constant MSR_AMD64_TW_CFG (line 243) | pub const MSR_AMD64_TW_CFG: u32 = 0xc0011023; constant MSR_AMD64_DE_CFG (line 244) | pub const MSR_AMD64_DE_CFG: u32 = 0xc0011029; constant MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT (line 245) | pub const MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT: u32 = 0x1; constant MSR_AMD64_DE_CFG_ZEN2_FP_BACKUP_FIX_BIT (line 246) | pub const MSR_AMD64_DE_CFG_ZEN2_FP_BACKUP_FIX_BIT: u32 = 0x9; constant MSR_AMD64_BU_CFG2 (line 247) | pub const MSR_AMD64_BU_CFG2: u32 = 0xc001102a; constant MSR_AMD64_IBSFETCHCTL (line 248) | pub const MSR_AMD64_IBSFETCHCTL: u32 = 0xc0011030; constant MSR_AMD64_IBSFETCHLINAD (line 249) | pub const MSR_AMD64_IBSFETCHLINAD: u32 = 0xc0011031; constant MSR_AMD64_IBSFETCHPHYSAD (line 250) | pub const MSR_AMD64_IBSFETCHPHYSAD: u32 = 0xc0011032; constant MSR_AMD64_IBSFETCH_REG_COUNT (line 251) | pub const MSR_AMD64_IBSFETCH_REG_COUNT: u32 = 0x3; constant MSR_AMD64_IBSFETCH_REG_MASK (line 252) | pub const MSR_AMD64_IBSFETCH_REG_MASK: u32 = 0x7; constant MSR_AMD64_IBSOPCTL (line 253) | pub const MSR_AMD64_IBSOPCTL: u32 = 0xc0011033; constant MSR_AMD64_IBSOPRIP (line 254) | pub const MSR_AMD64_IBSOPRIP: u32 = 0xc0011034; constant MSR_AMD64_IBSOPDATA (line 255) | pub const MSR_AMD64_IBSOPDATA: u32 = 0xc0011035; constant MSR_AMD64_IBSOPDATA2 (line 256) | pub const MSR_AMD64_IBSOPDATA2: u32 = 0xc0011036; constant MSR_AMD64_IBSOPDATA3 (line 257) | pub const MSR_AMD64_IBSOPDATA3: u32 = 0xc0011037; constant MSR_AMD64_IBSDCLINAD (line 258) | pub const MSR_AMD64_IBSDCLINAD: u32 = 0xc0011038; constant MSR_AMD64_IBSDCPHYSAD (line 259) | pub const MSR_AMD64_IBSDCPHYSAD: u32 = 0xc0011039; constant MSR_AMD64_IBSOP_REG_COUNT (line 260) | pub const MSR_AMD64_IBSOP_REG_COUNT: u32 = 0x7; constant MSR_AMD64_IBSOP_REG_MASK (line 261) | pub const MSR_AMD64_IBSOP_REG_MASK: u32 = 0x7f; constant MSR_AMD64_IBSCTL (line 262) | pub const MSR_AMD64_IBSCTL: u32 = 0xc001103a; constant MSR_AMD64_IBSBRTARGET (line 263) | pub const MSR_AMD64_IBSBRTARGET: u32 = 0xc001103b; constant MSR_AMD64_ICIBSEXTDCTL (line 264) | pub const MSR_AMD64_ICIBSEXTDCTL: u32 = 0xc001103c; constant MSR_AMD64_IBSOPDATA4 (line 265) | pub const MSR_AMD64_IBSOPDATA4: u32 = 0xc001103d; constant MSR_AMD64_IBS_REG_COUNT_MAX (line 266) | pub const MSR_AMD64_IBS_REG_COUNT_MAX: u32 = 0x8; constant MSR_AMD64_SVM_AVIC_DOORBELL (line 267) | pub const MSR_AMD64_SVM_AVIC_DOORBELL: u32 = 0xc001011b; constant MSR_AMD64_VM_PAGE_FLUSH (line 268) | pub const MSR_AMD64_VM_PAGE_FLUSH: u32 = 0xc001011e; constant MSR_AMD64_SEV_ES_GHCB (line 269) | pub const MSR_AMD64_SEV_ES_GHCB: u32 = 0xc0010130; constant MSR_AMD64_SEV (line 270) | pub const MSR_AMD64_SEV: u32 = 0xc0010131; constant MSR_AMD64_SEV_ENABLED_BIT (line 271) | pub const MSR_AMD64_SEV_ENABLED_BIT: u32 = 0x0; constant MSR_AMD64_SEV_ES_ENABLED_BIT (line 272) | pub const MSR_AMD64_SEV_ES_ENABLED_BIT: u32 = 0x1; constant MSR_AMD64_SEV_SNP_ENABLED_BIT (line 273) | pub const MSR_AMD64_SEV_SNP_ENABLED_BIT: u32 = 0x2; constant MSR_AMD64_SNP_VTOM_BIT (line 274) | pub const MSR_AMD64_SNP_VTOM_BIT: u32 = 0x3; constant MSR_AMD64_SNP_REFLECT_VC_BIT (line 275) | pub const MSR_AMD64_SNP_REFLECT_VC_BIT: u32 = 0x4; constant MSR_AMD64_SNP_RESTRICTED_INJ_BIT (line 276) | pub const MSR_AMD64_SNP_RESTRICTED_INJ_BIT: u32 = 0x5; constant MSR_AMD64_SNP_ALT_INJ_BIT (line 277) | pub const MSR_AMD64_SNP_ALT_INJ_BIT: u32 = 0x6; constant MSR_AMD64_SNP_DEBUG_SWAP_BIT (line 278) | pub const MSR_AMD64_SNP_DEBUG_SWAP_BIT: u32 = 0x7; constant MSR_AMD64_SNP_PREVENT_HOST_IBS_BIT (line 279) | pub const MSR_AMD64_SNP_PREVENT_HOST_IBS_BIT: u32 = 0x8; constant MSR_AMD64_SNP_BTB_ISOLATION_BIT (line 280) | pub const MSR_AMD64_SNP_BTB_ISOLATION_BIT: u32 = 0x9; constant MSR_AMD64_SNP_VMPL_SSS_BIT (line 281) | pub const MSR_AMD64_SNP_VMPL_SSS_BIT: u32 = 0xa; constant MSR_AMD64_SNP_SECURE_TSC_BIT (line 282) | pub const MSR_AMD64_SNP_SECURE_TSC_BIT: u32 = 0xb; constant MSR_AMD64_SNP_VMGEXIT_PARAM_BIT (line 283) | pub const MSR_AMD64_SNP_VMGEXIT_PARAM_BIT: u32 = 0xc; constant MSR_AMD64_SNP_IBS_VIRT_BIT (line 284) | pub const MSR_AMD64_SNP_IBS_VIRT_BIT: u32 = 0xe; constant MSR_AMD64_SNP_VMSA_REG_PROT_BIT (line 285) | pub const MSR_AMD64_SNP_VMSA_REG_PROT_BIT: u32 = 0x10; constant MSR_AMD64_SNP_SMT_PROT_BIT (line 286) | pub const MSR_AMD64_SNP_SMT_PROT_BIT: u32 = 0x11; constant MSR_AMD64_SNP_RESV_BIT (line 287) | pub const MSR_AMD64_SNP_RESV_BIT: u32 = 0x12; constant MSR_AMD64_VIRT_SPEC_CTRL (line 288) | pub const MSR_AMD64_VIRT_SPEC_CTRL: u32 = 0xc001011f; constant MSR_AMD64_RMP_BASE (line 289) | pub const MSR_AMD64_RMP_BASE: u32 = 0xc0010132; constant MSR_AMD64_RMP_END (line 290) | pub const MSR_AMD64_RMP_END: u32 = 0xc0010133; constant MSR_SVSM_CAA (line 291) | pub const MSR_SVSM_CAA: u32 = 0xc001f000; constant MSR_AMD_CPPC_CAP1 (line 292) | pub const MSR_AMD_CPPC_CAP1: u32 = 0xc00102b0; constant MSR_AMD_CPPC_ENABLE (line 293) | pub const MSR_AMD_CPPC_ENABLE: u32 = 0xc00102b1; constant MSR_AMD_CPPC_CAP2 (line 294) | pub const MSR_AMD_CPPC_CAP2: u32 = 0xc00102b2; constant MSR_AMD_CPPC_REQ (line 295) | pub const MSR_AMD_CPPC_REQ: u32 = 0xc00102b3; constant MSR_AMD_CPPC_STATUS (line 296) | pub const MSR_AMD_CPPC_STATUS: u32 = 0xc00102b4; constant MSR_AMD64_PERF_CNTR_GLOBAL_STATUS (line 297) | pub const MSR_AMD64_PERF_CNTR_GLOBAL_STATUS: u32 = 0xc0000300; constant MSR_AMD64_PERF_CNTR_GLOBAL_CTL (line 298) | pub const MSR_AMD64_PERF_CNTR_GLOBAL_CTL: u32 = 0xc0000301; constant MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_CLR (line 299) | pub const MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_CLR: u32 = 0xc0000302; constant MSR_AMD64_LBR_SELECT (line 300) | pub const MSR_AMD64_LBR_SELECT: u32 = 0xc000010e; constant MSR_ZEN4_BP_CFG (line 301) | pub const MSR_ZEN4_BP_CFG: u32 = 0xc001102e; constant MSR_ZEN4_BP_CFG_SHARED_BTB_FIX_BIT (line 302) | pub const MSR_ZEN4_BP_CFG_SHARED_BTB_FIX_BIT: u32 = 0x5; constant MSR_F19H_UMC_PERF_CTL (line 303) | pub const MSR_F19H_UMC_PERF_CTL: u32 = 0xc0010800; constant MSR_F19H_UMC_PERF_CTR (line 304) | pub const MSR_F19H_UMC_PERF_CTR: u32 = 0xc0010801; constant MSR_ZEN2_SPECTRAL_CHICKEN (line 305) | pub const MSR_ZEN2_SPECTRAL_CHICKEN: u32 = 0xc00110e3; constant MSR_F17H_IRPERF (line 306) | pub const MSR_F17H_IRPERF: u32 = 0xc00000e9; constant MSR_F16H_L2I_PERF_CTL (line 307) | pub const MSR_F16H_L2I_PERF_CTL: u32 = 0xc0010230; constant MSR_F16H_L2I_PERF_CTR (line 308) | pub const MSR_F16H_L2I_PERF_CTR: u32 = 0xc0010231; constant MSR_F16H_DR1_ADDR_MASK (line 309) | pub const MSR_F16H_DR1_ADDR_MASK: u32 = 0xc0011019; constant MSR_F16H_DR2_ADDR_MASK (line 310) | pub const MSR_F16H_DR2_ADDR_MASK: u32 = 0xc001101a; constant MSR_F16H_DR3_ADDR_MASK (line 311) | pub const MSR_F16H_DR3_ADDR_MASK: u32 = 0xc001101b; constant MSR_F16H_DR0_ADDR_MASK (line 312) | pub const MSR_F16H_DR0_ADDR_MASK: u32 = 0xc0011027; constant MSR_F15H_CU_PWR_ACCUMULATOR (line 313) | pub const MSR_F15H_CU_PWR_ACCUMULATOR: u32 = 0xc001007a; constant MSR_F15H_CU_MAX_PWR_ACCUMULATOR (line 314) | pub const MSR_F15H_CU_MAX_PWR_ACCUMULATOR: u32 = 0xc001007b; constant MSR_F15H_PERF_CTL (line 315) | pub const MSR_F15H_PERF_CTL: u32 = 0xc0010200; constant MSR_F15H_PERF_CTL0 (line 316) | pub const MSR_F15H_PERF_CTL0: u32 = 0xc0010200; constant MSR_F15H_PERF_CTL1 (line 317) | pub const MSR_F15H_PERF_CTL1: u32 = 0xc0010202; constant MSR_F15H_PERF_CTL2 (line 318) | pub const MSR_F15H_PERF_CTL2: u32 = 0xc0010204; constant MSR_F15H_PERF_CTL3 (line 319) | pub const MSR_F15H_PERF_CTL3: u32 = 0xc0010206; constant MSR_F15H_PERF_CTL4 (line 320) | pub const MSR_F15H_PERF_CTL4: u32 = 0xc0010208; constant MSR_F15H_PERF_CTL5 (line 321) | pub const MSR_F15H_PERF_CTL5: u32 = 0xc001020a; constant MSR_F15H_PERF_CTR (line 322) | pub const MSR_F15H_PERF_CTR: u32 = 0xc0010201; constant MSR_F15H_PERF_CTR0 (line 323) | pub const MSR_F15H_PERF_CTR0: u32 = 0xc0010201; constant MSR_F15H_PERF_CTR1 (line 324) | pub const MSR_F15H_PERF_CTR1: u32 = 0xc0010203; constant MSR_F15H_PERF_CTR2 (line 325) | pub const MSR_F15H_PERF_CTR2: u32 = 0xc0010205; constant MSR_F15H_PERF_CTR3 (line 326) | pub const MSR_F15H_PERF_CTR3: u32 = 0xc0010207; constant MSR_F15H_PERF_CTR4 (line 327) | pub const MSR_F15H_PERF_CTR4: u32 = 0xc0010209; constant MSR_F15H_PERF_CTR5 (line 328) | pub const MSR_F15H_PERF_CTR5: u32 = 0xc001020b; constant MSR_F15H_NB_PERF_CTL (line 329) | pub const MSR_F15H_NB_PERF_CTL: u32 = 0xc0010240; constant MSR_F15H_NB_PERF_CTR (line 330) | pub const MSR_F15H_NB_PERF_CTR: u32 = 0xc0010241; constant MSR_F15H_PTSC (line 331) | pub const MSR_F15H_PTSC: u32 = 0xc0010280; constant MSR_F15H_IC_CFG (line 332) | pub const MSR_F15H_IC_CFG: u32 = 0xc0011021; constant MSR_F15H_EX_CFG (line 333) | pub const MSR_F15H_EX_CFG: u32 = 0xc001102c; constant MSR_FAM10H_MMIO_CONF_BASE (line 334) | pub const MSR_FAM10H_MMIO_CONF_BASE: u32 = 0xc0010058; constant MSR_FAM10H_NODE_ID (line 335) | pub const MSR_FAM10H_NODE_ID: u32 = 0xc001100c; constant MSR_K8_TOP_MEM1 (line 336) | pub const MSR_K8_TOP_MEM1: u32 = 0xc001001a; constant MSR_K8_TOP_MEM2 (line 337) | pub const MSR_K8_TOP_MEM2: u32 = 0xc001001d; constant MSR_AMD64_SYSCFG (line 338) | pub const MSR_AMD64_SYSCFG: u32 = 0xc0010010; constant MSR_AMD64_SYSCFG_MEM_ENCRYPT_BIT (line 339) | pub const MSR_AMD64_SYSCFG_MEM_ENCRYPT_BIT: u32 = 0x17; constant MSR_AMD64_SYSCFG_SNP_EN_BIT (line 340) | pub const MSR_AMD64_SYSCFG_SNP_EN_BIT: u32 = 0x18; constant MSR_AMD64_SYSCFG_SNP_VMPL_EN_BIT (line 341) | pub const MSR_AMD64_SYSCFG_SNP_VMPL_EN_BIT: u32 = 0x19; constant MSR_AMD64_SYSCFG_MFDM_BIT (line 342) | pub const MSR_AMD64_SYSCFG_MFDM_BIT: u32 = 0x13; constant MSR_K8_INT_PENDING_MSG (line 343) | pub const MSR_K8_INT_PENDING_MSG: u32 = 0xc0010055; constant MSR_K8_TSEG_ADDR (line 344) | pub const MSR_K8_TSEG_ADDR: u32 = 0xc0010112; constant MSR_K8_TSEG_MASK (line 345) | pub const MSR_K8_TSEG_MASK: u32 = 0xc0010113; constant MSR_K7_EVNTSEL0 (line 346) | pub const MSR_K7_EVNTSEL0: u32 = 0xc0010000; constant MSR_K7_PERFCTR0 (line 347) | pub const MSR_K7_PERFCTR0: u32 = 0xc0010004; constant MSR_K7_EVNTSEL1 (line 348) | pub const MSR_K7_EVNTSEL1: u32 = 0xc0010001; constant MSR_K7_PERFCTR1 (line 349) | pub const MSR_K7_PERFCTR1: u32 = 0xc0010005; constant MSR_K7_EVNTSEL2 (line 350) | pub const MSR_K7_EVNTSEL2: u32 = 0xc0010002; constant MSR_K7_PERFCTR2 (line 351) | pub const MSR_K7_PERFCTR2: u32 = 0xc0010006; constant MSR_K7_EVNTSEL3 (line 352) | pub const MSR_K7_EVNTSEL3: u32 = 0xc0010003; constant MSR_K7_PERFCTR3 (line 353) | pub const MSR_K7_PERFCTR3: u32 = 0xc0010007; constant MSR_K7_CLK_CTL (line 354) | pub const MSR_K7_CLK_CTL: u32 = 0xc001001b; constant MSR_K7_HWCR (line 355) | pub const MSR_K7_HWCR: u32 = 0xc0010015; constant MSR_K7_HWCR_SMMLOCK_BIT (line 356) | pub const MSR_K7_HWCR_SMMLOCK_BIT: u32 = 0x0; constant MSR_K7_HWCR_IRPERF_EN_BIT (line 357) | pub const MSR_K7_HWCR_IRPERF_EN_BIT: u32 = 0x1e; constant MSR_K7_FID_VID_CTL (line 358) | pub const MSR_K7_FID_VID_CTL: u32 = 0xc0010041; constant MSR_K7_FID_VID_STATUS (line 359) | pub const MSR_K7_FID_VID_STATUS: u32 = 0xc0010042; constant MSR_K7_HWCR_CPB_DIS_BIT (line 360) | pub const MSR_K7_HWCR_CPB_DIS_BIT: u32 = 0x19; constant MSR_K6_WHCR (line 361) | pub const MSR_K6_WHCR: u32 = 0xc0000082; constant MSR_K6_UWCCR (line 362) | pub const MSR_K6_UWCCR: u32 = 0xc0000085; constant MSR_K6_EPMR (line 363) | pub const MSR_K6_EPMR: u32 = 0xc0000086; constant MSR_K6_PSOR (line 364) | pub const MSR_K6_PSOR: u32 = 0xc0000087; constant MSR_K6_PFIR (line 365) | pub const MSR_K6_PFIR: u32 = 0xc0000088; constant MSR_IDT_FCR1 (line 366) | pub const MSR_IDT_FCR1: u32 = 0x107; constant MSR_IDT_FCR2 (line 367) | pub const MSR_IDT_FCR2: u32 = 0x108; constant MSR_IDT_FCR3 (line 368) | pub const MSR_IDT_FCR3: u32 = 0x109; constant MSR_IDT_FCR4 (line 369) | pub const MSR_IDT_FCR4: u32 = 0x10a; constant MSR_IDT_MCR0 (line 370) | pub const MSR_IDT_MCR0: u32 = 0x110; constant MSR_IDT_MCR1 (line 371) | pub const MSR_IDT_MCR1: u32 = 0x111; constant MSR_IDT_MCR2 (line 372) | pub const MSR_IDT_MCR2: u32 = 0x112; constant MSR_IDT_MCR3 (line 373) | pub const MSR_IDT_MCR3: u32 = 0x113; constant MSR_IDT_MCR4 (line 374) | pub const MSR_IDT_MCR4: u32 = 0x114; constant MSR_IDT_MCR5 (line 375) | pub const MSR_IDT_MCR5: u32 = 0x115; constant MSR_IDT_MCR6 (line 376) | pub const MSR_IDT_MCR6: u32 = 0x116; constant MSR_IDT_MCR7 (line 377) | pub const MSR_IDT_MCR7: u32 = 0x117; constant MSR_IDT_MCR_CTRL (line 378) | pub const MSR_IDT_MCR_CTRL: u32 = 0x120; constant MSR_VIA_FCR (line 379) | pub const MSR_VIA_FCR: u32 = 0x1107; constant MSR_VIA_LONGHAUL (line 380) | pub const MSR_VIA_LONGHAUL: u32 = 0x110a; constant MSR_VIA_RNG (line 381) | pub const MSR_VIA_RNG: u32 = 0x110b; constant MSR_VIA_BCR2 (line 382) | pub const MSR_VIA_BCR2: u32 = 0x1147; constant MSR_TMTA_LONGRUN_CTRL (line 383) | pub const MSR_TMTA_LONGRUN_CTRL: u32 = 0x80868010; constant MSR_TMTA_LONGRUN_FLAGS (line 384) | pub const MSR_TMTA_LONGRUN_FLAGS: u32 = 0x80868011; constant MSR_TMTA_LRTI_READOUT (line 385) | pub const MSR_TMTA_LRTI_READOUT: u32 = 0x80868018; constant MSR_TMTA_LRTI_VOLT_MHZ (line 386) | pub const MSR_TMTA_LRTI_VOLT_MHZ: u32 = 0x8086801a; constant MSR_IA32_P5_MC_ADDR (line 387) | pub const MSR_IA32_P5_MC_ADDR: u32 = 0x0; constant MSR_IA32_P5_MC_TYPE (line 388) | pub const MSR_IA32_P5_MC_TYPE: u32 = 0x1; constant MSR_IA32_TSC (line 389) | pub const MSR_IA32_TSC: u32 = 0x10; constant MSR_IA32_PLATFORM_ID (line 390) | pub const MSR_IA32_PLATFORM_ID: u32 = 0x17; constant MSR_IA32_EBL_CR_POWERON (line 391) | pub const MSR_IA32_EBL_CR_POWERON: u32 = 0x2a; constant MSR_EBC_FREQUENCY_ID (line 392) | pub const MSR_EBC_FREQUENCY_ID: u32 = 0x2c; constant MSR_SMI_COUNT (line 393) | pub const MSR_SMI_COUNT: u32 = 0x34; constant MSR_IA32_FEAT_CTL (line 394) | pub const MSR_IA32_FEAT_CTL: u32 = 0x3a; constant MSR_IA32_TSC_ADJUST (line 395) | pub const MSR_IA32_TSC_ADJUST: u32 = 0x3b; constant MSR_IA32_BNDCFGS (line 396) | pub const MSR_IA32_BNDCFGS: u32 = 0xd90; constant MSR_IA32_BNDCFGS_RSVD (line 397) | pub const MSR_IA32_BNDCFGS_RSVD: u32 = 0xffc; constant MSR_IA32_XFD (line 398) | pub const MSR_IA32_XFD: u32 = 0x1c4; constant MSR_IA32_XFD_ERR (line 399) | pub const MSR_IA32_XFD_ERR: u32 = 0x1c5; constant MSR_IA32_XSS (line 400) | pub const MSR_IA32_XSS: u32 = 0xda0; constant MSR_IA32_APICBASE (line 401) | pub const MSR_IA32_APICBASE: u32 = 0x1b; constant MSR_IA32_APICBASE_BSP (line 402) | pub const MSR_IA32_APICBASE_BSP: u32 = 0x100; constant MSR_IA32_APICBASE_ENABLE (line 403) | pub const MSR_IA32_APICBASE_ENABLE: u32 = 0x800; constant MSR_IA32_APICBASE_BASE (line 404) | pub const MSR_IA32_APICBASE_BASE: u32 = 0xfffff000; constant MSR_IA32_UCODE_WRITE (line 405) | pub const MSR_IA32_UCODE_WRITE: u32 = 0x79; constant MSR_IA32_UCODE_REV (line 406) | pub const MSR_IA32_UCODE_REV: u32 = 0x8b; constant MSR_IA32_SGXLEPUBKEYHASH0 (line 407) | pub const MSR_IA32_SGXLEPUBKEYHASH0: u32 = 0x8c; constant MSR_IA32_SGXLEPUBKEYHASH1 (line 408) | pub const MSR_IA32_SGXLEPUBKEYHASH1: u32 = 0x8d; constant MSR_IA32_SGXLEPUBKEYHASH2 (line 409) | pub const MSR_IA32_SGXLEPUBKEYHASH2: u32 = 0x8e; constant MSR_IA32_SGXLEPUBKEYHASH3 (line 410) | pub const MSR_IA32_SGXLEPUBKEYHASH3: u32 = 0x8f; constant MSR_IA32_SMM_MONITOR_CTL (line 411) | pub const MSR_IA32_SMM_MONITOR_CTL: u32 = 0x9b; constant MSR_IA32_SMBASE (line 412) | pub const MSR_IA32_SMBASE: u32 = 0x9e; constant MSR_IA32_PERF_STATUS (line 413) | pub const MSR_IA32_PERF_STATUS: u32 = 0x198; constant MSR_IA32_PERF_CTL (line 414) | pub const MSR_IA32_PERF_CTL: u32 = 0x199; constant MSR_AMD_DBG_EXTN_CFG (line 415) | pub const MSR_AMD_DBG_EXTN_CFG: u32 = 0xc000010f; constant MSR_AMD_SAMP_BR_FROM (line 416) | pub const MSR_AMD_SAMP_BR_FROM: u32 = 0xc0010300; constant MSR_IA32_MPERF (line 417) | pub const MSR_IA32_MPERF: u32 = 0xe7; constant MSR_IA32_APERF (line 418) | pub const MSR_IA32_APERF: u32 = 0xe8; constant MSR_IA32_THERM_CONTROL (line 419) | pub const MSR_IA32_THERM_CONTROL: u32 = 0x19a; constant MSR_IA32_THERM_INTERRUPT (line 420) | pub const MSR_IA32_THERM_INTERRUPT: u32 = 0x19b; constant MSR_IA32_THERM_STATUS (line 421) | pub const MSR_IA32_THERM_STATUS: u32 = 0x19c; constant MSR_THERM2_CTL (line 422) | pub const MSR_THERM2_CTL: u32 = 0x19d; constant MSR_THERM2_CTL_TM_SELECT (line 423) | pub const MSR_THERM2_CTL_TM_SELECT: u32 = 0x10000; constant MSR_IA32_MISC_ENABLE (line 424) | pub const MSR_IA32_MISC_ENABLE: u32 = 0x1a0; constant MSR_IA32_TEMPERATURE_TARGET (line 425) | pub const MSR_IA32_TEMPERATURE_TARGET: u32 = 0x1a2; constant MSR_MISC_FEATURE_CONTROL (line 426) | pub const MSR_MISC_FEATURE_CONTROL: u32 = 0x1a4; constant MSR_MISC_PWR_MGMT (line 427) | pub const MSR_MISC_PWR_MGMT: u32 = 0x1aa; constant MSR_IA32_ENERGY_PERF_BIAS (line 428) | pub const MSR_IA32_ENERGY_PERF_BIAS: u32 = 0x1b0; constant MSR_IA32_PACKAGE_THERM_STATUS (line 429) | pub const MSR_IA32_PACKAGE_THERM_STATUS: u32 = 0x1b1; constant MSR_IA32_PACKAGE_THERM_INTERRUPT (line 430) | pub const MSR_IA32_PACKAGE_THERM_INTERRUPT: u32 = 0x1b2; constant MSR_IA32_MISC_ENABLE_FAST_STRING_BIT (line 431) | pub const MSR_IA32_MISC_ENABLE_FAST_STRING_BIT: u32 = 0x0; constant MSR_IA32_MISC_ENABLE_FAST_STRING (line 432) | pub const MSR_IA32_MISC_ENABLE_FAST_STRING: u32 = 0x1; constant MSR_IA32_MISC_ENABLE_TCC_BIT (line 433) | pub const MSR_IA32_MISC_ENABLE_TCC_BIT: u32 = 0x1; constant MSR_IA32_MISC_ENABLE_TCC (line 434) | pub const MSR_IA32_MISC_ENABLE_TCC: u32 = 0x2; constant MSR_IA32_MISC_ENABLE_EMON_BIT (line 435) | pub const MSR_IA32_MISC_ENABLE_EMON_BIT: u32 = 0x7; constant MSR_IA32_MISC_ENABLE_EMON (line 436) | pub const MSR_IA32_MISC_ENABLE_EMON: u32 = 0x80; constant MSR_IA32_MISC_ENABLE_BTS_UNAVAIL_BIT (line 437) | pub const MSR_IA32_MISC_ENABLE_BTS_UNAVAIL_BIT: u32 = 0xb; constant MSR_IA32_MISC_ENABLE_BTS_UNAVAIL (line 438) | pub const MSR_IA32_MISC_ENABLE_BTS_UNAVAIL: u32 = 0x800; constant MSR_IA32_MISC_ENABLE_PEBS_UNAVAIL_BIT (line 439) | pub const MSR_IA32_MISC_ENABLE_PEBS_UNAVAIL_BIT: u32 = 0xc; constant MSR_IA32_MISC_ENABLE_PEBS_UNAVAIL (line 440) | pub const MSR_IA32_MISC_ENABLE_PEBS_UNAVAIL: u32 = 0x1000; constant MSR_IA32_MISC_ENABLE_ENHANCED_SPEEDSTEP_BIT (line 441) | pub const MSR_IA32_MISC_ENABLE_ENHANCED_SPEEDSTEP_BIT: u32 = 0x10; constant MSR_IA32_MISC_ENABLE_ENHANCED_SPEEDSTEP (line 442) | pub const MSR_IA32_MISC_ENABLE_ENHANCED_SPEEDSTEP: u32 = 0x10000; constant MSR_IA32_MISC_ENABLE_MWAIT_BIT (line 443) | pub const MSR_IA32_MISC_ENABLE_MWAIT_BIT: u32 = 0x12; constant MSR_IA32_MISC_ENABLE_MWAIT (line 444) | pub const MSR_IA32_MISC_ENABLE_MWAIT: u32 = 0x40000; constant MSR_IA32_MISC_ENABLE_LIMIT_CPUID_BIT (line 445) | pub const MSR_IA32_MISC_ENABLE_LIMIT_CPUID_BIT: u32 = 0x16; constant MSR_IA32_MISC_ENABLE_LIMIT_CPUID (line 446) | pub const MSR_IA32_MISC_ENABLE_LIMIT_CPUID: u32 = 0x400000; constant MSR_IA32_MISC_ENABLE_XTPR_DISABLE_BIT (line 447) | pub const MSR_IA32_MISC_ENABLE_XTPR_DISABLE_BIT: u32 = 0x17; constant MSR_IA32_MISC_ENABLE_XTPR_DISABLE (line 448) | pub const MSR_IA32_MISC_ENABLE_XTPR_DISABLE: u32 = 0x800000; constant MSR_IA32_MISC_ENABLE_XD_DISABLE_BIT (line 449) | pub const MSR_IA32_MISC_ENABLE_XD_DISABLE_BIT: u32 = 0x22; constant MSR_IA32_MISC_ENABLE_XD_DISABLE (line 450) | pub const MSR_IA32_MISC_ENABLE_XD_DISABLE: u64 = 0x400000000; constant MSR_IA32_MISC_ENABLE_X87_COMPAT_BIT (line 451) | pub const MSR_IA32_MISC_ENABLE_X87_COMPAT_BIT: u32 = 0x2; constant MSR_IA32_MISC_ENABLE_X87_COMPAT (line 452) | pub const MSR_IA32_MISC_ENABLE_X87_COMPAT: u32 = 0x4; constant MSR_IA32_MISC_ENABLE_TM1_BIT (line 453) | pub const MSR_IA32_MISC_ENABLE_TM1_BIT: u32 = 0x3; constant MSR_IA32_MISC_ENABLE_TM1 (line 454) | pub const MSR_IA32_MISC_ENABLE_TM1: u32 = 0x8; constant MSR_IA32_MISC_ENABLE_SPLIT_LOCK_DISABLE_BIT (line 455) | pub const MSR_IA32_MISC_ENABLE_SPLIT_LOCK_DISABLE_BIT: u32 = 0x4; constant MSR_IA32_MISC_ENABLE_SPLIT_LOCK_DISABLE (line 456) | pub const MSR_IA32_MISC_ENABLE_SPLIT_LOCK_DISABLE: u32 = 0x10; constant MSR_IA32_MISC_ENABLE_L3CACHE_DISABLE_BIT (line 457) | pub const MSR_IA32_MISC_ENABLE_L3CACHE_DISABLE_BIT: u32 = 0x6; constant MSR_IA32_MISC_ENABLE_L3CACHE_DISABLE (line 458) | pub const MSR_IA32_MISC_ENABLE_L3CACHE_DISABLE: u32 = 0x40; constant MSR_IA32_MISC_ENABLE_SUPPRESS_LOCK_BIT (line 459) | pub const MSR_IA32_MISC_ENABLE_SUPPRESS_LOCK_BIT: u32 = 0x8; constant MSR_IA32_MISC_ENABLE_SUPPRESS_LOCK (line 460) | pub const MSR_IA32_MISC_ENABLE_SUPPRESS_LOCK: u32 = 0x100; constant MSR_IA32_MISC_ENABLE_PREFETCH_DISABLE_BIT (line 461) | pub const MSR_IA32_MISC_ENABLE_PREFETCH_DISABLE_BIT: u32 = 0x9; constant MSR_IA32_MISC_ENABLE_PREFETCH_DISABLE (line 462) | pub const MSR_IA32_MISC_ENABLE_PREFETCH_DISABLE: u32 = 0x200; constant MSR_IA32_MISC_ENABLE_FERR_BIT (line 463) | pub const MSR_IA32_MISC_ENABLE_FERR_BIT: u32 = 0xa; constant MSR_IA32_MISC_ENABLE_FERR (line 464) | pub const MSR_IA32_MISC_ENABLE_FERR: u32 = 0x400; constant MSR_IA32_MISC_ENABLE_FERR_MULTIPLEX_BIT (line 465) | pub const MSR_IA32_MISC_ENABLE_FERR_MULTIPLEX_BIT: u32 = 0xa; constant MSR_IA32_MISC_ENABLE_FERR_MULTIPLEX (line 466) | pub const MSR_IA32_MISC_ENABLE_FERR_MULTIPLEX: u32 = 0x400; constant MSR_IA32_MISC_ENABLE_TM2_BIT (line 467) | pub const MSR_IA32_MISC_ENABLE_TM2_BIT: u32 = 0xd; constant MSR_IA32_MISC_ENABLE_TM2 (line 468) | pub const MSR_IA32_MISC_ENABLE_TM2: u32 = 0x2000; constant MSR_IA32_MISC_ENABLE_ADJ_PREF_DISABLE_BIT (line 469) | pub const MSR_IA32_MISC_ENABLE_ADJ_PREF_DISABLE_BIT: u32 = 0x13; constant MSR_IA32_MISC_ENABLE_ADJ_PREF_DISABLE (line 470) | pub const MSR_IA32_MISC_ENABLE_ADJ_PREF_DISABLE: u32 = 0x80000; constant MSR_IA32_MISC_ENABLE_SPEEDSTEP_LOCK_BIT (line 471) | pub const MSR_IA32_MISC_ENABLE_SPEEDSTEP_LOCK_BIT: u32 = 0x14; constant MSR_IA32_MISC_ENABLE_SPEEDSTEP_LOCK (line 472) | pub const MSR_IA32_MISC_ENABLE_SPEEDSTEP_LOCK: u32 = 0x100000; constant MSR_IA32_MISC_ENABLE_L1D_CONTEXT_BIT (line 473) | pub const MSR_IA32_MISC_ENABLE_L1D_CONTEXT_BIT: u32 = 0x18; constant MSR_IA32_MISC_ENABLE_L1D_CONTEXT (line 474) | pub const MSR_IA32_MISC_ENABLE_L1D_CONTEXT: u32 = 0x1000000; constant MSR_IA32_MISC_ENABLE_DCU_PREF_DISABLE_BIT (line 475) | pub const MSR_IA32_MISC_ENABLE_DCU_PREF_DISABLE_BIT: u32 = 0x25; constant MSR_IA32_MISC_ENABLE_DCU_PREF_DISABLE (line 476) | pub const MSR_IA32_MISC_ENABLE_DCU_PREF_DISABLE: u64 = 0x2000000000; constant MSR_IA32_MISC_ENABLE_TURBO_DISABLE_BIT (line 477) | pub const MSR_IA32_MISC_ENABLE_TURBO_DISABLE_BIT: u32 = 0x26; constant MSR_IA32_MISC_ENABLE_TURBO_DISABLE (line 478) | pub const MSR_IA32_MISC_ENABLE_TURBO_DISABLE: u64 = 0x4000000000; constant MSR_IA32_MISC_ENABLE_IP_PREF_DISABLE_BIT (line 479) | pub const MSR_IA32_MISC_ENABLE_IP_PREF_DISABLE_BIT: u32 = 0x27; constant MSR_IA32_MISC_ENABLE_IP_PREF_DISABLE (line 480) | pub const MSR_IA32_MISC_ENABLE_IP_PREF_DISABLE: u64 = 0x8000000000; constant MSR_MISC_FEATURES_ENABLES (line 481) | pub const MSR_MISC_FEATURES_ENABLES: u32 = 0x140; constant MSR_MISC_FEATURES_ENABLES_CPUID_FAULT_BIT (line 482) | pub const MSR_MISC_FEATURES_ENABLES_CPUID_FAULT_BIT: u32 = 0x0; constant MSR_MISC_FEATURES_ENABLES_RING3MWAIT_BIT (line 483) | pub const MSR_MISC_FEATURES_ENABLES_RING3MWAIT_BIT: u32 = 0x1; constant MSR_IA32_TSC_DEADLINE (line 484) | pub const MSR_IA32_TSC_DEADLINE: u32 = 0x6e0; constant MSR_TSX_FORCE_ABORT (line 485) | pub const MSR_TSX_FORCE_ABORT: u32 = 0x10f; constant MSR_TFA_RTM_FORCE_ABORT_BIT (line 486) | pub const MSR_TFA_RTM_FORCE_ABORT_BIT: u32 = 0x0; constant MSR_TFA_TSX_CPUID_CLEAR_BIT (line 487) | pub const MSR_TFA_TSX_CPUID_CLEAR_BIT: u32 = 0x1; constant MSR_TFA_SDV_ENABLE_RTM_BIT (line 488) | pub const MSR_TFA_SDV_ENABLE_RTM_BIT: u32 = 0x2; constant MSR_IA32_MCG_EAX (line 489) | pub const MSR_IA32_MCG_EAX: u32 = 0x180; constant MSR_IA32_MCG_EBX (line 490) | pub const MSR_IA32_MCG_EBX: u32 = 0x181; constant MSR_IA32_MCG_ECX (line 491) | pub const MSR_IA32_MCG_ECX: u32 = 0x182; constant MSR_IA32_MCG_EDX (line 492) | pub const MSR_IA32_MCG_EDX: u32 = 0x183; constant MSR_IA32_MCG_ESI (line 493) | pub const MSR_IA32_MCG_ESI: u32 = 0x184; constant MSR_IA32_MCG_EDI (line 494) | pub const MSR_IA32_MCG_EDI: u32 = 0x185; constant MSR_IA32_MCG_EBP (line 495) | pub const MSR_IA32_MCG_EBP: u32 = 0x186; constant MSR_IA32_MCG_ESP (line 496) | pub const MSR_IA32_MCG_ESP: u32 = 0x187; constant MSR_IA32_MCG_EFLAGS (line 497) | pub const MSR_IA32_MCG_EFLAGS: u32 = 0x188; constant MSR_IA32_MCG_EIP (line 498) | pub const MSR_IA32_MCG_EIP: u32 = 0x189; constant MSR_IA32_MCG_RESERVED (line 499) | pub const MSR_IA32_MCG_RESERVED: u32 = 0x18a; constant MSR_P4_BPU_PERFCTR0 (line 500) | pub const MSR_P4_BPU_PERFCTR0: u32 = 0x300; constant MSR_P4_BPU_PERFCTR1 (line 501) | pub const MSR_P4_BPU_PERFCTR1: u32 = 0x301; constant MSR_P4_BPU_PERFCTR2 (line 502) | pub const MSR_P4_BPU_PERFCTR2: u32 = 0x302; constant MSR_P4_BPU_PERFCTR3 (line 503) | pub const MSR_P4_BPU_PERFCTR3: u32 = 0x303; constant MSR_P4_MS_PERFCTR0 (line 504) | pub const MSR_P4_MS_PERFCTR0: u32 = 0x304; constant MSR_P4_MS_PERFCTR1 (line 505) | pub const MSR_P4_MS_PERFCTR1: u32 = 0x305; constant MSR_P4_MS_PERFCTR2 (line 506) | pub const MSR_P4_MS_PERFCTR2: u32 = 0x306; constant MSR_P4_MS_PERFCTR3 (line 507) | pub const MSR_P4_MS_PERFCTR3: u32 = 0x307; constant MSR_P4_FLAME_PERFCTR0 (line 508) | pub const MSR_P4_FLAME_PERFCTR0: u32 = 0x308; constant MSR_P4_FLAME_PERFCTR1 (line 509) | pub const MSR_P4_FLAME_PERFCTR1: u32 = 0x309; constant MSR_P4_FLAME_PERFCTR2 (line 510) | pub const MSR_P4_FLAME_PERFCTR2: u32 = 0x30a; constant MSR_P4_FLAME_PERFCTR3 (line 511) | pub const MSR_P4_FLAME_PERFCTR3: u32 = 0x30b; constant MSR_P4_IQ_PERFCTR0 (line 512) | pub const MSR_P4_IQ_PERFCTR0: u32 = 0x30c; constant MSR_P4_IQ_PERFCTR1 (line 513) | pub const MSR_P4_IQ_PERFCTR1: u32 = 0x30d; constant MSR_P4_IQ_PERFCTR2 (line 514) | pub const MSR_P4_IQ_PERFCTR2: u32 = 0x30e; constant MSR_P4_IQ_PERFCTR3 (line 515) | pub const MSR_P4_IQ_PERFCTR3: u32 = 0x30f; constant MSR_P4_IQ_PERFCTR4 (line 516) | pub const MSR_P4_IQ_PERFCTR4: u32 = 0x310; constant MSR_P4_IQ_PERFCTR5 (line 517) | pub const MSR_P4_IQ_PERFCTR5: u32 = 0x311; constant MSR_P4_BPU_CCCR0 (line 518) | pub const MSR_P4_BPU_CCCR0: u32 = 0x360; constant MSR_P4_BPU_CCCR1 (line 519) | pub const MSR_P4_BPU_CCCR1: u32 = 0x361; constant MSR_P4_BPU_CCCR2 (line 520) | pub const MSR_P4_BPU_CCCR2: u32 = 0x362; constant MSR_P4_BPU_CCCR3 (line 521) | pub const MSR_P4_BPU_CCCR3: u32 = 0x363; constant MSR_P4_MS_CCCR0 (line 522) | pub const MSR_P4_MS_CCCR0: u32 = 0x364; constant MSR_P4_MS_CCCR1 (line 523) | pub const MSR_P4_MS_CCCR1: u32 = 0x365; constant MSR_P4_MS_CCCR2 (line 524) | pub const MSR_P4_MS_CCCR2: u32 = 0x366; constant MSR_P4_MS_CCCR3 (line 525) | pub const MSR_P4_MS_CCCR3: u32 = 0x367; constant MSR_P4_FLAME_CCCR0 (line 526) | pub const MSR_P4_FLAME_CCCR0: u32 = 0x368; constant MSR_P4_FLAME_CCCR1 (line 527) | pub const MSR_P4_FLAME_CCCR1: u32 = 0x369; constant MSR_P4_FLAME_CCCR2 (line 528) | pub const MSR_P4_FLAME_CCCR2: u32 = 0x36a; constant MSR_P4_FLAME_CCCR3 (line 529) | pub const MSR_P4_FLAME_CCCR3: u32 = 0x36b; constant MSR_P4_IQ_CCCR0 (line 530) | pub const MSR_P4_IQ_CCCR0: u32 = 0x36c; constant MSR_P4_IQ_CCCR1 (line 531) | pub const MSR_P4_IQ_CCCR1: u32 = 0x36d; constant MSR_P4_IQ_CCCR2 (line 532) | pub const MSR_P4_IQ_CCCR2: u32 = 0x36e; constant MSR_P4_IQ_CCCR3 (line 533) | pub const MSR_P4_IQ_CCCR3: u32 = 0x36f; constant MSR_P4_IQ_CCCR4 (line 534) | pub const MSR_P4_IQ_CCCR4: u32 = 0x370; constant MSR_P4_IQ_CCCR5 (line 535) | pub const MSR_P4_IQ_CCCR5: u32 = 0x371; constant MSR_P4_ALF_ESCR0 (line 536) | pub const MSR_P4_ALF_ESCR0: u32 = 0x3ca; constant MSR_P4_ALF_ESCR1 (line 537) | pub const MSR_P4_ALF_ESCR1: u32 = 0x3cb; constant MSR_P4_BPU_ESCR0 (line 538) | pub const MSR_P4_BPU_ESCR0: u32 = 0x3b2; constant MSR_P4_BPU_ESCR1 (line 539) | pub const MSR_P4_BPU_ESCR1: u32 = 0x3b3; constant MSR_P4_BSU_ESCR0 (line 540) | pub const MSR_P4_BSU_ESCR0: u32 = 0x3a0; constant MSR_P4_BSU_ESCR1 (line 541) | pub const MSR_P4_BSU_ESCR1: u32 = 0x3a1; constant MSR_P4_CRU_ESCR0 (line 542) | pub const MSR_P4_CRU_ESCR0: u32 = 0x3b8; constant MSR_P4_CRU_ESCR1 (line 543) | pub const MSR_P4_CRU_ESCR1: u32 = 0x3b9; constant MSR_P4_CRU_ESCR2 (line 544) | pub const MSR_P4_CRU_ESCR2: u32 = 0x3cc; constant MSR_P4_CRU_ESCR3 (line 545) | pub const MSR_P4_CRU_ESCR3: u32 = 0x3cd; constant MSR_P4_CRU_ESCR4 (line 546) | pub const MSR_P4_CRU_ESCR4: u32 = 0x3e0; constant MSR_P4_CRU_ESCR5 (line 547) | pub const MSR_P4_CRU_ESCR5: u32 = 0x3e1; constant MSR_P4_DAC_ESCR0 (line 548) | pub const MSR_P4_DAC_ESCR0: u32 = 0x3a8; constant MSR_P4_DAC_ESCR1 (line 549) | pub const MSR_P4_DAC_ESCR1: u32 = 0x3a9; constant MSR_P4_FIRM_ESCR0 (line 550) | pub const MSR_P4_FIRM_ESCR0: u32 = 0x3a4; constant MSR_P4_FIRM_ESCR1 (line 551) | pub const MSR_P4_FIRM_ESCR1: u32 = 0x3a5; constant MSR_P4_FLAME_ESCR0 (line 552) | pub const MSR_P4_FLAME_ESCR0: u32 = 0x3a6; constant MSR_P4_FLAME_ESCR1 (line 553) | pub const MSR_P4_FLAME_ESCR1: u32 = 0x3a7; constant MSR_P4_FSB_ESCR0 (line 554) | pub const MSR_P4_FSB_ESCR0: u32 = 0x3a2; constant MSR_P4_FSB_ESCR1 (line 555) | pub const MSR_P4_FSB_ESCR1: u32 = 0x3a3; constant MSR_P4_IQ_ESCR0 (line 556) | pub const MSR_P4_IQ_ESCR0: u32 = 0x3ba; constant MSR_P4_IQ_ESCR1 (line 557) | pub const MSR_P4_IQ_ESCR1: u32 = 0x3bb; constant MSR_P4_IS_ESCR0 (line 558) | pub const MSR_P4_IS_ESCR0: u32 = 0x3b4; constant MSR_P4_IS_ESCR1 (line 559) | pub const MSR_P4_IS_ESCR1: u32 = 0x3b5; constant MSR_P4_ITLB_ESCR0 (line 560) | pub const MSR_P4_ITLB_ESCR0: u32 = 0x3b6; constant MSR_P4_ITLB_ESCR1 (line 561) | pub const MSR_P4_ITLB_ESCR1: u32 = 0x3b7; constant MSR_P4_IX_ESCR0 (line 562) | pub const MSR_P4_IX_ESCR0: u32 = 0x3c8; constant MSR_P4_IX_ESCR1 (line 563) | pub const MSR_P4_IX_ESCR1: u32 = 0x3c9; constant MSR_P4_MOB_ESCR0 (line 564) | pub const MSR_P4_MOB_ESCR0: u32 = 0x3aa; constant MSR_P4_MOB_ESCR1 (line 565) | pub const MSR_P4_MOB_ESCR1: u32 = 0x3ab; constant MSR_P4_MS_ESCR0 (line 566) | pub const MSR_P4_MS_ESCR0: u32 = 0x3c0; constant MSR_P4_MS_ESCR1 (line 567) | pub const MSR_P4_MS_ESCR1: u32 = 0x3c1; constant MSR_P4_PMH_ESCR0 (line 568) | pub const MSR_P4_PMH_ESCR0: u32 = 0x3ac; constant MSR_P4_PMH_ESCR1 (line 569) | pub const MSR_P4_PMH_ESCR1: u32 = 0x3ad; constant MSR_P4_RAT_ESCR0 (line 570) | pub const MSR_P4_RAT_ESCR0: u32 = 0x3bc; constant MSR_P4_RAT_ESCR1 (line 571) | pub const MSR_P4_RAT_ESCR1: u32 = 0x3bd; constant MSR_P4_SAAT_ESCR0 (line 572) | pub const MSR_P4_SAAT_ESCR0: u32 = 0x3ae; constant MSR_P4_SAAT_ESCR1 (line 573) | pub const MSR_P4_SAAT_ESCR1: u32 = 0x3af; constant MSR_P4_SSU_ESCR0 (line 574) | pub const MSR_P4_SSU_ESCR0: u32 = 0x3be; constant MSR_P4_SSU_ESCR1 (line 575) | pub const MSR_P4_SSU_ESCR1: u32 = 0x3bf; constant MSR_P4_TBPU_ESCR0 (line 576) | pub const MSR_P4_TBPU_ESCR0: u32 = 0x3c2; constant MSR_P4_TBPU_ESCR1 (line 577) | pub const MSR_P4_TBPU_ESCR1: u32 = 0x3c3; constant MSR_P4_TC_ESCR0 (line 578) | pub const MSR_P4_TC_ESCR0: u32 = 0x3c4; constant MSR_P4_TC_ESCR1 (line 579) | pub const MSR_P4_TC_ESCR1: u32 = 0x3c5; constant MSR_P4_U2L_ESCR0 (line 580) | pub const MSR_P4_U2L_ESCR0: u32 = 0x3b0; constant MSR_P4_U2L_ESCR1 (line 581) | pub const MSR_P4_U2L_ESCR1: u32 = 0x3b1; constant MSR_P4_PEBS_MATRIX_VERT (line 582) | pub const MSR_P4_PEBS_MATRIX_VERT: u32 = 0x3f2; constant MSR_CORE_PERF_FIXED_CTR0 (line 583) | pub const MSR_CORE_PERF_FIXED_CTR0: u32 = 0x309; constant MSR_CORE_PERF_FIXED_CTR1 (line 584) | pub const MSR_CORE_PERF_FIXED_CTR1: u32 = 0x30a; constant MSR_CORE_PERF_FIXED_CTR2 (line 585) | pub const MSR_CORE_PERF_FIXED_CTR2: u32 = 0x30b; constant MSR_CORE_PERF_FIXED_CTR3 (line 586) | pub const MSR_CORE_PERF_FIXED_CTR3: u32 = 0x30c; constant MSR_CORE_PERF_FIXED_CTR_CTRL (line 587) | pub const MSR_CORE_PERF_FIXED_CTR_CTRL: u32 = 0x38d; constant MSR_CORE_PERF_GLOBAL_STATUS (line 588) | pub const MSR_CORE_PERF_GLOBAL_STATUS: u32 = 0x38e; constant MSR_CORE_PERF_GLOBAL_CTRL (line 589) | pub const MSR_CORE_PERF_GLOBAL_CTRL: u32 = 0x38f; constant MSR_CORE_PERF_GLOBAL_OVF_CTRL (line 590) | pub const MSR_CORE_PERF_GLOBAL_OVF_CTRL: u32 = 0x390; constant MSR_PERF_METRICS (line 591) | pub const MSR_PERF_METRICS: u32 = 0x329; constant MSR_CORE_PERF_GLOBAL_OVF_CTRL_TRACE_TOPA_PMI_BIT (line 592) | pub const MSR_CORE_PERF_GLOBAL_OVF_CTRL_TRACE_TOPA_PMI_BIT: u32 = 0x37; constant MSR_CORE_PERF_GLOBAL_OVF_CTRL_TRACE_TOPA_PMI (line 593) | pub const MSR_CORE_PERF_GLOBAL_OVF_CTRL_TRACE_TOPA_PMI: u64 = 0x80000000... constant MSR_CORE_PERF_GLOBAL_OVF_CTRL_OVF_BUF_BIT (line 594) | pub const MSR_CORE_PERF_GLOBAL_OVF_CTRL_OVF_BUF_BIT: u32 = 0x3e; constant MSR_CORE_PERF_GLOBAL_OVF_CTRL_OVF_BUF (line 595) | pub const MSR_CORE_PERF_GLOBAL_OVF_CTRL_OVF_BUF: u64 = 0x4000000000000000; constant MSR_CORE_PERF_GLOBAL_OVF_CTRL_COND_CHGD_BIT (line 596) | pub const MSR_CORE_PERF_GLOBAL_OVF_CTRL_COND_CHGD_BIT: u32 = 0x3f; constant MSR_CORE_PERF_GLOBAL_OVF_CTRL_COND_CHGD (line 597) | pub const MSR_CORE_PERF_GLOBAL_OVF_CTRL_COND_CHGD: i64 = -92233720368547... constant MSR_GEODE_BUSCONT_CONF0 (line 598) | pub const MSR_GEODE_BUSCONT_CONF0: u32 = 0x1900; constant MSR_IA32_VMX_BASIC (line 599) | pub const MSR_IA32_VMX_BASIC: u32 = 0x480; constant MSR_IA32_VMX_PINBASED_CTLS (line 600) | pub const MSR_IA32_VMX_PINBASED_CTLS: u32 = 0x481; constant MSR_IA32_VMX_PROCBASED_CTLS (line 601) | pub const MSR_IA32_VMX_PROCBASED_CTLS: u32 = 0x482; constant MSR_IA32_VMX_EXIT_CTLS (line 602) | pub const MSR_IA32_VMX_EXIT_CTLS: u32 = 0x483; constant MSR_IA32_VMX_ENTRY_CTLS (line 603) | pub const MSR_IA32_VMX_ENTRY_CTLS: u32 = 0x484; constant MSR_IA32_VMX_MISC (line 604) | pub const MSR_IA32_VMX_MISC: u32 = 0x485; constant MSR_IA32_VMX_CR0_FIXED0 (line 605) | pub const MSR_IA32_VMX_CR0_FIXED0: u32 = 0x486; constant MSR_IA32_VMX_CR0_FIXED1 (line 606) | pub const MSR_IA32_VMX_CR0_FIXED1: u32 = 0x487; constant MSR_IA32_VMX_CR4_FIXED0 (line 607) | pub const MSR_IA32_VMX_CR4_FIXED0: u32 = 0x488; constant MSR_IA32_VMX_CR4_FIXED1 (line 608) | pub const MSR_IA32_VMX_CR4_FIXED1: u32 = 0x489; constant MSR_IA32_VMX_VMCS_ENUM (line 609) | pub const MSR_IA32_VMX_VMCS_ENUM: u32 = 0x48a; constant MSR_IA32_VMX_PROCBASED_CTLS2 (line 610) | pub const MSR_IA32_VMX_PROCBASED_CTLS2: u32 = 0x48b; constant MSR_IA32_VMX_EPT_VPID_CAP (line 611) | pub const MSR_IA32_VMX_EPT_VPID_CAP: u32 = 0x48c; constant MSR_IA32_VMX_TRUE_PINBASED_CTLS (line 612) | pub const MSR_IA32_VMX_TRUE_PINBASED_CTLS: u32 = 0x48d; constant MSR_IA32_VMX_TRUE_PROCBASED_CTLS (line 613) | pub const MSR_IA32_VMX_TRUE_PROCBASED_CTLS: u32 = 0x48e; constant MSR_IA32_VMX_TRUE_EXIT_CTLS (line 614) | pub const MSR_IA32_VMX_TRUE_EXIT_CTLS: u32 = 0x48f; constant MSR_IA32_VMX_TRUE_ENTRY_CTLS (line 615) | pub const MSR_IA32_VMX_TRUE_ENTRY_CTLS: u32 = 0x490; constant MSR_IA32_VMX_VMFUNC (line 616) | pub const MSR_IA32_VMX_VMFUNC: u32 = 0x491; constant MSR_IA32_VMX_PROCBASED_CTLS3 (line 617) | pub const MSR_IA32_VMX_PROCBASED_CTLS3: u32 = 0x492; constant MSR_IA32_L3_QOS_CFG (line 618) | pub const MSR_IA32_L3_QOS_CFG: u32 = 0xc81; constant MSR_IA32_L2_QOS_CFG (line 619) | pub const MSR_IA32_L2_QOS_CFG: u32 = 0xc82; constant MSR_IA32_QM_EVTSEL (line 620) | pub const MSR_IA32_QM_EVTSEL: u32 = 0xc8d; constant MSR_IA32_QM_CTR (line 621) | pub const MSR_IA32_QM_CTR: u32 = 0xc8e; constant MSR_IA32_PQR_ASSOC (line 622) | pub const MSR_IA32_PQR_ASSOC: u32 = 0xc8f; constant MSR_IA32_L3_CBM_BASE (line 623) | pub const MSR_IA32_L3_CBM_BASE: u32 = 0xc90; constant MSR_RMID_SNC_CONFIG (line 624) | pub const MSR_RMID_SNC_CONFIG: u32 = 0xca0; constant MSR_IA32_L2_CBM_BASE (line 625) | pub const MSR_IA32_L2_CBM_BASE: u32 = 0xd10; constant MSR_IA32_MBA_THRTL_BASE (line 626) | pub const MSR_IA32_MBA_THRTL_BASE: u32 = 0xd50; constant MSR_IA32_MBA_BW_BASE (line 627) | pub const MSR_IA32_MBA_BW_BASE: u32 = 0xc0000200; constant MSR_IA32_SMBA_BW_BASE (line 628) | pub const MSR_IA32_SMBA_BW_BASE: u32 = 0xc0000280; constant MSR_IA32_EVT_CFG_BASE (line 629) | pub const MSR_IA32_EVT_CFG_BASE: u32 = 0xc0000400; constant MSR_VM_CR (line 630) | pub const MSR_VM_CR: u32 = 0xc0010114; constant MSR_VM_IGNNE (line 631) | pub const MSR_VM_IGNNE: u32 = 0xc0010115; constant MSR_VM_HSAVE_PA (line 632) | pub const MSR_VM_HSAVE_PA: u32 = 0xc0010117; constant MSR_IA32_HW_FEEDBACK_PTR (line 633) | pub const MSR_IA32_HW_FEEDBACK_PTR: u32 = 0x17d0; constant MSR_IA32_HW_FEEDBACK_CONFIG (line 634) | pub const MSR_IA32_HW_FEEDBACK_CONFIG: u32 = 0x17d1; constant MSR_IA32_XAPIC_DISABLE_STATUS (line 635) | pub const MSR_IA32_XAPIC_DISABLE_STATUS: u32 = 0xbd; FILE: src/vmm/src/arch/x86_64/generated/perf_event.rs constant MSR_ARCH_PERFMON_PERFCTR0 (line 19) | pub const MSR_ARCH_PERFMON_PERFCTR0: u32 = 0xc1; constant MSR_ARCH_PERFMON_PERFCTR1 (line 20) | pub const MSR_ARCH_PERFMON_PERFCTR1: u32 = 0xc2; constant MSR_ARCH_PERFMON_EVENTSEL0 (line 21) | pub const MSR_ARCH_PERFMON_EVENTSEL0: u32 = 0x186; constant MSR_ARCH_PERFMON_EVENTSEL1 (line 22) | pub const MSR_ARCH_PERFMON_EVENTSEL1: u32 = 0x187; constant MSR_ARCH_PERFMON_FIXED_CTR_CTRL (line 23) | pub const MSR_ARCH_PERFMON_FIXED_CTR_CTRL: u32 = 0x38d; constant MSR_ARCH_PERFMON_FIXED_CTR0 (line 24) | pub const MSR_ARCH_PERFMON_FIXED_CTR0: u32 = 0x309; constant MSR_ARCH_PERFMON_FIXED_CTR1 (line 25) | pub const MSR_ARCH_PERFMON_FIXED_CTR1: u32 = 0x30a; constant MSR_ARCH_PERFMON_FIXED_CTR2 (line 26) | pub const MSR_ARCH_PERFMON_FIXED_CTR2: u32 = 0x30b; constant MSR_ARCH_PERFMON_FIXED_CTR3 (line 27) | pub const MSR_ARCH_PERFMON_FIXED_CTR3: u32 = 0x30c; FILE: src/vmm/src/arch/x86_64/interrupts.rs type InterruptError (line 16) | pub enum InterruptError { constant APIC_LVT0 (line 24) | const APIC_LVT0: usize = 0x350; constant APIC_LVT1 (line 25) | const APIC_LVT1: usize = 0x360; constant APIC_MODE_NMI (line 26) | const APIC_MODE_NMI: u32 = 0x4; constant APIC_MODE_EXTINT (line 27) | const APIC_MODE_EXTINT: u32 = 0x7; function get_klapic_reg (line 29) | fn get_klapic_reg(klapic: &kvm_lapic_state, reg_offset: usize) -> u32 { function set_klapic_reg (line 35) | fn set_klapic_reg(klapic: &mut kvm_lapic_state, reg_offset: usize, value... function set_apic_delivery_mode (line 41) | fn set_apic_delivery_mode(reg: u32, mode: u32) -> u32 { function set_lint (line 49) | pub fn set_lint(vcpu: &VcpuFd) -> Result<(), InterruptError> { constant KVM_APIC_REG_SIZE (line 74) | const KVM_APIC_REG_SIZE: usize = 0x400; function test_set_and_get_klapic_reg (line 77) | fn test_set_and_get_klapic_reg() { function test_set_and_get_klapic_reg_overflow (line 86) | fn test_set_and_get_klapic_reg_overflow() { function test_set_and_get_klapic_out_of_bounds (line 100) | fn test_set_and_get_klapic_out_of_bounds() { function test_apic_delivery_mode (line 107) | fn test_apic_delivery_mode() { function test_setlint (line 119) | fn test_setlint() { function test_setlint_fails (line 145) | fn test_setlint_fails() { FILE: src/vmm/src/arch/x86_64/kvm.rs type KvmArchError (line 12) | pub enum KvmArchError { type Kvm (line 21) | pub struct Kvm { constant DEFAULT_CAPABILITIES (line 31) | pub(crate) const DEFAULT_CAPABILITIES: [u32; 14] = [ method init_arch (line 49) | pub fn init_arch( method msrs_to_save (line 67) | pub fn msrs_to_save(&self) -> Result Vec<(GuestAddress, usize)> { function get_kernel_start (line 155) | pub fn get_kernel_start() -> u64 { function initrd_load_addr (line 160) | pub fn initrd_load_addr(guest_mem: &GuestMemoryMmap, initrd_size: usize)... function configure_system_for_boot (line 176) | pub fn configure_system_for_boot( function configure_pvh (line 251) | fn configure_pvh( function configure_64bit_boot (line 343) | fn configure_64bit_boot( function add_e820_entry (line 413) | fn add_e820_entry( function load_kernel (line 432) | pub fn load_kernel( function verify_arch_memory_regions (line 478) | fn verify_arch_memory_regions() { function regions_lt_4gb (line 545) | fn regions_lt_4gb() { function regions_gt_4gb (line 553) | fn regions_gt_4gb() { function test_system_configuration (line 571) | fn test_system_configuration() { function test_add_e820_entry (line 607) | fn test_add_e820_entry() { FILE: src/vmm/src/arch/x86_64/mptable.rs type MptableError (line 40) | pub enum MptableError { constant MAX_SUPPORTED_CPUS (line 72) | pub const MAX_SUPPORTED_CPUS: u8 = 254; constant SMP_MAGIC_IDENT (line 80) | const SMP_MAGIC_IDENT: [c_char; 4] = char_array!(c_char; '_', 'M', 'P', ... constant MPC_SIGNATURE (line 81) | const MPC_SIGNATURE: [c_char; 4] = char_array!(c_char; 'P', 'C', 'M', 'P'); constant MPC_SPEC (line 82) | const MPC_SPEC: i8 = 4; constant MPC_OEM (line 83) | const MPC_OEM: [c_char; 8] = char_array!(c_char; 'F', 'C', ' ', ' ', ' '... constant MPC_PRODUCT_ID (line 84) | const MPC_PRODUCT_ID: [c_char; 12] = ['0' as c_char; 12]; constant BUS_TYPE_ISA (line 85) | const BUS_TYPE_ISA: [u8; 6] = [b'I', b'S', b'A', b' ', b' ', b' ']; constant IO_APIC_DEFAULT_PHYS_BASE (line 86) | const IO_APIC_DEFAULT_PHYS_BASE: u32 = 0xfec0_0000; constant APIC_DEFAULT_PHYS_BASE (line 87) | const APIC_DEFAULT_PHYS_BASE: u32 = 0xfee0_0000; constant APIC_VERSION (line 88) | const APIC_VERSION: u8 = 0x14; constant CPU_STEPPING (line 89) | const CPU_STEPPING: u32 = 0x600; constant CPU_FEATURE_APIC (line 90) | const CPU_FEATURE_APIC: u32 = 0x200; constant CPU_FEATURE_FPU (line 91) | const CPU_FEATURE_FPU: u32 = 0x001; function compute_checksum (line 93) | fn compute_checksum(v: &T) -> u8 { function mpf_intel_compute_checksum (line 101) | fn mpf_intel_compute_checksum(v: &mpspec::mpf_intel) -> u8 { function compute_mp_size (line 106) | fn compute_mp_size(num_cpus: u8) -> usize { function setup_mptable (line 117) | pub fn setup_mptable( function table_entry_size (line 322) | fn table_entry_size(type_: u8) -> usize { function bounds_check (line 334) | fn bounds_check() { function bounds_check_fails (line 343) | fn bounds_check_fails() { function mpf_intel_checksum (line 352) | fn mpf_intel_checksum() { function mpc_table_checksum (line 365) | fn mpc_table_checksum() { function mpc_entry_count (line 388) | fn mpc_entry_count() { function cpu_entry_count (line 418) | fn cpu_entry_count() { function cpu_entry_count_max (line 451) | fn cpu_entry_count_max() { FILE: src/vmm/src/arch/x86_64/msr.rs type MsrError (line 17) | pub enum MsrError { type MsrRange (line 32) | pub struct MsrRange { method contains (line 41) | pub fn contains(&self, msr: u32) -> bool { constant APIC_BASE_MSR (line 47) | const APIC_BASE_MSR: u32 = 0x800; constant APIC_MSR_INDEXES (line 50) | const APIC_MSR_INDEXES: u32 = 0x400; constant MSR_KVM_WALL_CLOCK_NEW (line 53) | const MSR_KVM_WALL_CLOCK_NEW: u32 = 0x4b56_4d00; constant MSR_KVM_SYSTEM_TIME_NEW (line 54) | const MSR_KVM_SYSTEM_TIME_NEW: u32 = 0x4b56_4d01; constant MSR_KVM_ASYNC_PF_EN (line 55) | const MSR_KVM_ASYNC_PF_EN: u32 = 0x4b56_4d02; constant MSR_KVM_STEAL_TIME (line 56) | const MSR_KVM_STEAL_TIME: u32 = 0x4b56_4d03; constant MSR_KVM_PV_EOI_EN (line 57) | const MSR_KVM_PV_EOI_EN: u32 = 0x4b56_4d04; constant MSR_KVM_POLL_CONTROL (line 58) | const MSR_KVM_POLL_CONTROL: u32 = 0x4b56_4d05; constant MSR_KVM_ASYNC_PF_INT (line 59) | const MSR_KVM_ASYNC_PF_INT: u32 = 0x4b56_4d06; constant MSR_IA32_SPEC_CTRL (line 63) | pub const MSR_IA32_SPEC_CTRL: u32 = 0x0000_0048; constant MSR_IA32_ARCH_CAPABILITIES (line 65) | pub const MSR_IA32_ARCH_CAPABILITIES: u32 = 0x0000_010a; constant MSR_IA32_PRED_CMD (line 67) | const MSR_IA32_PRED_CMD: u32 = 0x0000_0049; function msr_should_serialize (line 247) | pub fn msr_should_serialize(index: u32) -> bool { function get_msrs_to_save (line 267) | pub fn get_msrs_to_save(kvm_fd: &Kvm) -> Result { constant UNDUMPABLE_MSR_RANGES (line 286) | const UNDUMPABLE_MSR_RANGES: [MsrRange; 17] = [ function msr_is_dumpable (line 372) | pub fn msr_is_dumpable(index: u32) -> bool { function get_msrs_to_dump (line 388) | pub fn get_msrs_to_dump(kvm_fd: &Kvm) -> Result { function create_boot_msr_entries (line 398) | pub fn create_boot_msr_entries() -> Vec { function set_msrs (line 446) | pub fn set_msrs(vcpu: &VcpuFd, msr_entries: &[kvm_msr_entry]) -> Result<... function create_vcpu (line 465) | fn create_vcpu() -> VcpuFd { function test_msr_list_to_serialize (line 472) | fn test_msr_list_to_serialize() { function test_msr_list_to_dump (line 482) | fn test_msr_list_to_dump() { function test_setup_msrs (line 492) | fn test_setup_msrs() { function test_set_valid_msrs (line 519) | fn test_set_valid_msrs() { function test_set_invalid_msrs (line 532) | fn test_set_invalid_msrs() { FILE: src/vmm/src/arch/x86_64/regs.rs constant PML4_START (line 19) | const PML4_START: u64 = 0x9000; constant PDPTE_START (line 20) | const PDPTE_START: u64 = 0xa000; constant PDE_START (line 21) | const PDE_START: u64 = 0xb000; type RegsError (line 25) | pub enum RegsError { type SetupFpuError (line 49) | pub struct SetupFpuError(vmm_sys_util::errno::Error); function setup_fpu (line 60) | pub fn setup_fpu(vcpu: &VcpuFd) -> Result<(), SetupFpuError> { type SetupRegistersError (line 73) | pub struct SetupRegistersError(vmm_sys_util::errno::Error); function setup_regs (line 85) | pub fn setup_regs(vcpu: &VcpuFd, entry_point: EntryPoint) -> Result<(), ... type SetupSpecialRegistersError (line 116) | pub enum SetupSpecialRegistersError { function setup_sregs (line 142) | pub fn setup_sregs( constant BOOT_GDT_OFFSET (line 162) | const BOOT_GDT_OFFSET: u64 = 0x500; constant BOOT_IDT_OFFSET (line 163) | const BOOT_IDT_OFFSET: u64 = 0x520; constant BOOT_GDT_MAX (line 165) | const BOOT_GDT_MAX: usize = 4; constant EFER_LMA (line 167) | const EFER_LMA: u64 = 0x400; constant EFER_LME (line 168) | const EFER_LME: u64 = 0x100; constant X86_CR0_PE (line 170) | const X86_CR0_PE: u64 = 0x1; constant X86_CR0_ET (line 171) | const X86_CR0_ET: u64 = 0x10; constant X86_CR0_PG (line 172) | const X86_CR0_PG: u64 = 0x8000_0000; constant X86_CR4_PAE (line 173) | const X86_CR4_PAE: u64 = 0x20; function write_gdt_table (line 175) | fn write_gdt_table(table: &[u64], guest_mem: &GuestMemoryMmap) -> Result... function write_idt_value (line 188) | fn write_idt_value(val: u64, guest_mem: &GuestMemoryMmap) -> Result<(), ... function configure_segments_and_sregs (line 195) | fn configure_segments_and_sregs( function setup_page_tables (line 257) | fn setup_page_tables(mem: &GuestMemoryMmap, sregs: &mut kvm_sregs) -> Re... function read_u64 (line 293) | fn read_u64(gm: &GuestMemoryMmap, offset: u64) -> u64 { function validate_segments_and_sregs (line 298) | fn validate_segments_and_sregs( function validate_page_tables (line 339) | fn validate_page_tables(gm: &GuestMemoryMmap, sregs: &kvm_sregs) { function test_setup_fpu (line 352) | fn test_setup_fpu() { function test_setup_regs (line 374) | fn test_setup_regs() { function test_setup_sregs (line 400) | fn test_setup_sregs() { function test_write_gdt_table (line 425) | fn test_write_gdt_table() { function test_write_idt_table (line 450) | fn test_write_idt_table() { function test_configure_segments_and_sregs (line 462) | fn test_configure_segments_and_sregs() { function test_setup_page_tables (line 475) | fn test_setup_page_tables() { FILE: src/vmm/src/arch/x86_64/vcpu.rs constant TSC_KHZ_TOL_NUMERATOR (line 37) | const TSC_KHZ_TOL_NUMERATOR: i64 = 250; constant TSC_KHZ_TOL_DENOMINATOR (line 38) | const TSC_KHZ_TOL_DENOMINATOR: i64 = 1_000_000; constant DEFERRED_MSRS (line 41) | const DEFERRED_MSRS: [u32; 1] = [ type KvmVcpuError (line 52) | pub enum KvmVcpuError { type GetTscError (line 114) | pub struct GetTscError(vmm_sys_util::errno::Error); type SetTscError (line 119) | pub struct SetTscError(#[from] kvm_ioctls::Error); type KvmVcpuConfigureError (line 123) | pub enum KvmVcpuConfigureError { type KvmVcpu (line 144) | pub struct KvmVcpu { method new (line 176) | pub fn new(index: u8, vm: &Vm) -> Result { method configure (line 200) | pub fn configure( method set_pio_bus (line 271) | pub fn set_pio_bus(&mut self, pio_bus: Arc) { method kvmclock_ctrl (line 277) | pub fn kvmclock_ctrl(&self) { method get_xsave (line 316) | fn get_xsave(&self) -> Result { method get_tsc_khz (line 353) | pub fn get_tsc_khz(&self) -> Result { method get_cpuid (line 367) | fn get_cpuid(&self) -> Result { method fix_zero_tsc_deadline_msr (line 391) | fn fix_zero_tsc_deadline_msr(msr_chunks: &mut [Msrs]) { method extract_deferred_msrs (line 420) | fn extract_deferred_msrs(msr_chunks: &mut [Msrs]) -> Result Result { method dump_cpu_config (line 621) | pub fn dump_cpu_config(&self) -> Result { method is_tsc_scaling_required (line 634) | pub fn is_tsc_scaling_required(&self, state_tsc_freq: u32) -> Result Result<(), SetTscError> { method restore_state (line 652) | pub fn restore_state(&self, state: &VcpuState) -> Result<(), KvmVcpuEr... type Peripherals (line 162) | pub struct Peripherals { method run_arch_emulation (line 725) | pub fn run_arch_emulation(&self, exit: VcpuExit) -> Result) -> std::fmt::Result { method default (line 830) | fn default() -> Self { function setup_vcpu (line 847) | fn setup_vcpu(mem_size: usize) -> (Kvm, Vm, KvmVcpu) { function create_vcpu_config (line 854) | fn create_vcpu_config( function test_configure_vcpu (line 874) | fn test_configure_vcpu() { function test_vcpu_cpuid_restore (line 978) | fn test_vcpu_cpuid_restore() { function test_empty_cpuid_entries_removed (line 1015) | fn test_empty_cpuid_entries_removed() { function test_dump_cpu_config_with_non_configured_vcpu (line 1067) | fn test_dump_cpu_config_with_non_configured_vcpu() { function test_dump_cpu_config_with_configured_vcpu (line 1084) | fn test_dump_cpu_config_with_configured_vcpu() { function test_is_tsc_scaling_required (line 1110) | fn test_is_tsc_scaling_required() { function test_set_tsc (line 1154) | fn test_set_tsc() { function test_get_msrs_with_msrs_to_save (line 1177) | fn test_get_msrs_with_msrs_to_save() { function test_get_msrs_with_msrs_to_dump (line 1185) | fn test_get_msrs_with_msrs_to_dump() { function test_get_msrs_with_invalid_msr_index (line 1197) | fn test_get_msrs_with_invalid_msr_index() { function msrs_from_entries (line 1212) | fn msrs_from_entries(msr_entries: &[(u32, u64)]) -> Msrs { function assert_msrs (line 1226) | fn assert_msrs(msr_chunks: &[Msrs], expected_msr_entries: &[(u32, u64)]) { function test_defer_msrs (line 1235) | fn test_defer_msrs() { function test_fix_zero_tsc_deadline_msr_zero_same_chunk (line 1254) | fn test_fix_zero_tsc_deadline_msr_zero_same_chunk() { function test_fix_zero_tsc_deadline_msr_zero_separate_chunks (line 1271) | fn test_fix_zero_tsc_deadline_msr_zero_separate_chunks() { function test_fix_zero_tsc_deadline_msr_non_zero (line 1288) | fn test_fix_zero_tsc_deadline_msr_non_zero() { function test_get_msr_chunks_preserved_order (line 1305) | fn test_get_msr_chunks_preserved_order() { FILE: src/vmm/src/arch/x86_64/vm.rs type ArchVmError (line 26) | pub enum ArchVmError { type ArchVm (line 55) | pub struct ArchVm { method new (line 69) | pub fn new(kvm: &crate::vstate::kvm::Kvm) -> Result { method arch_pre_create_vcpus (line 110) | pub fn arch_pre_create_vcpus(&mut self, _: u8) -> Result<(), ArchVmErr... method arch_post_create_vcpus (line 116) | pub fn arch_post_create_vcpus(&mut self, _: u8) -> Result<(), ArchVmEr... method restore_state (line 130) | pub fn restore_state(&mut self, state: &VmState) -> Result<(), ArchVmE... method setup_irqchip (line 151) | pub fn setup_irqchip(&self) -> Result<(), ArchVmError> { method save_state (line 167) | pub fn save_state(&self) -> Result { method msrs_to_save (line 210) | pub fn msrs_to_save(&self) -> &[u32] { method xsave2_size (line 215) | pub fn xsave2_size(&self) -> Option { type VmState (line 222) | pub struct VmState { method fmt (line 237) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { function test_vm_save_restore_state (line 260) | fn test_vm_save_restore_state() { function test_vm_save_restore_state_bad_irqchip (line 286) | fn test_vm_save_restore_state_bad_irqchip() { function test_vmstate_serde (line 315) | fn test_vmstate_serde() { FILE: src/vmm/src/arch/x86_64/xstate.rs constant INTEL_AMX_MASK (line 9) | const INTEL_AMX_MASK: u64 = 1u64 << arch_prctl::ARCH_XCOMP_TILEDATA; type XstateError (line 13) | pub enum XstateError { function request_dynamic_xstate_features (line 32) | pub fn request_dynamic_xstate_features() -> Result<(), XstateError> { function get_supported_xfeatures (line 60) | fn get_supported_xfeatures() -> Result, std::io::Error> { function request_xfeature_permission (line 93) | fn request_xfeature_permission(xfeature: u32) -> Result<(), std::io::Err... function get_permitted_xstate_features (line 132) | fn get_permitted_xstate_features() -> Result { function test_request_xstate_feature_permission (line 150) | fn test_request_xstate_feature_permission() { FILE: src/vmm/src/builder.rs type StartMicrovmError (line 62) | pub enum StartMicrovmError { method from (line 132) | fn from(err: linux_loader::cmdline::Error) -> StartMicrovmError { function build_microvm_for_boot (line 142) | pub fn build_microvm_for_boot( function build_and_boot_microvm (line 377) | pub fn build_and_boot_microvm( type BuildMicrovmFromSnapshotError (line 395) | pub enum BuildMicrovmFromSnapshotError { function build_microvm_from_snapshot (line 435) | pub fn build_microvm_from_snapshot( constant STEALTIME_STRUCT_MEM_SIZE (line 553) | const STEALTIME_STRUCT_MEM_SIZE: u64 = 64; function allocate_pvtime_region (line 557) | fn allocate_pvtime_region( function setup_pvtime (line 571) | fn setup_pvtime( function attach_entropy_device (line 594) | fn attach_entropy_device( function allocate_virtio_mem_address (line 617) | fn allocate_virtio_mem_address( function attach_virtio_mem_device (line 633) | fn attach_virtio_mem_device( function attach_block_devices (line 664) | fn attach_block_devices<'a, I: Iterator>> + ... function attach_net_devices (line 699) | fn attach_net_devices<'a, I: Iterator>> + Debug>( function attach_pmem_devices (line 721) | fn attach_pmem_devices<'a, I: Iterator>> + De... function attach_unixsock_vsock_device (line 755) | fn attach_unixsock_vsock_device( function attach_balloon_device (line 767) | fn attach_balloon_device( type CustomBlockConfig (line 806) | pub(crate) struct CustomBlockConfig { method new (line 815) | pub(crate) fn new( function cmdline_contains (line 832) | fn cmdline_contains(cmdline: &Cmdline, slug: &str) -> bool { function default_kernel_cmdline (line 850) | pub(crate) fn default_kernel_cmdline() -> Cmdline { function default_vmm (line 858) | pub(crate) fn default_vmm() -> Vmm { function insert_block_devices (line 877) | pub(crate) fn insert_block_devices( function insert_net_device (line 926) | pub(crate) fn insert_net_device( function insert_net_device_with_mmds (line 945) | pub(crate) fn insert_net_device_with_mmds( function insert_vsock_device (line 972) | pub(crate) fn insert_vsock_device( function insert_entropy_device (line 998) | pub(crate) fn insert_entropy_device( function insert_pmem_devices (line 1023) | pub(crate) fn insert_pmem_devices( function insert_vmgenid_device (line 1052) | pub(crate) fn insert_vmgenid_device(vmm: &mut Vmm) { function insert_vmclock_device (line 1057) | pub(crate) fn insert_vmclock_device(vmm: &mut Vmm) { function insert_balloon_device (line 1061) | pub(crate) fn insert_balloon_device( function test_attach_net_devices (line 1088) | fn test_attach_net_devices() { function test_attach_block_devices (line 1114) | fn test_attach_block_devices() { function test_attach_pmem_devices (line 1301) | fn test_attach_pmem_devices() { function test_attach_boot_timer_device (line 1323) | fn test_attach_boot_timer_device() { function test_attach_balloon_device (line 1335) | fn test_attach_balloon_device() { function test_attach_entropy_device (line 1358) | fn test_attach_entropy_device() { function test_attach_vsock_device (line 1375) | fn test_attach_vsock_device() { function insert_virtio_mem_device (line 1393) | pub(crate) fn insert_virtio_mem_device( function test_attach_virtio_mem_device (line 1411) | fn test_attach_virtio_mem_device() { FILE: src/vmm/src/cpu_config/aarch64/custom_cpu_template.rs method get_cpu_template (line 20) | fn get_cpu_template(&self) -> Result, GetCpuT... type CustomCpuTemplate (line 38) | pub struct CustomCpuTemplate { method reg_list (line 53) | pub fn reg_list(&self) -> Vec { method validate (line 61) | pub fn validate(&self) -> Result<(), serde_json::Error> { type VcpuFeatures (line 92) | pub struct VcpuFeatures { type RegisterModifier (line 102) | pub struct RegisterModifier { function test_get_cpu_template_with_no_template (line 122) | fn test_get_cpu_template_with_no_template() { function test_get_cpu_template_with_v1n1_static_template (line 133) | fn test_get_cpu_template_with_v1n1_static_template() { function test_get_cpu_tempalte_with_none_static_template (line 144) | fn test_get_cpu_tempalte_with_none_static_template() { function test_get_cpu_template_with_custom_template (line 156) | fn test_get_cpu_template_with_custom_template() { function test_correct_json (line 168) | fn test_correct_json() { function test_malformed_json (line 185) | fn test_malformed_json() { function test_deserialization_lifecycle (line 275) | fn test_deserialization_lifecycle() { function test_serialization_lifecycle (line 282) | fn test_serialization_lifecycle() { function test_bitmap_width (line 294) | fn test_bitmap_width() { function test_cpu_template_validate (line 322) | fn test_cpu_template_validate() { FILE: src/vmm/src/cpu_config/aarch64/mod.rs type CpuConfigurationError (line 19) | pub enum CpuConfigurationError { type CpuConfiguration (line 28) | pub struct CpuConfiguration { method new (line 35) | pub fn new( method apply_template (line 49) | pub fn apply_template(mut self, template: &CustomCpuTemplate) -> Self { method register_ids (line 75) | pub fn register_ids(&self) -> Vec { FILE: src/vmm/src/cpu_config/aarch64/static_cpu_templates/mod.rs type StaticCpuTemplate (line 11) | pub enum StaticCpuTemplate { method is_none (line 21) | pub fn is_none(&self) -> bool { method fmt (line 27) | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { function verify_consistency_with_json_templates (line 41) | fn verify_consistency_with_json_templates() { FILE: src/vmm/src/cpu_config/aarch64/static_cpu_templates/v1n1.rs function v1n1 (line 16) | pub fn v1n1() -> CustomCpuTemplate { FILE: src/vmm/src/cpu_config/aarch64/test_utils.rs constant TEST_TEMPLATE_JSON (line 9) | pub const TEST_TEMPLATE_JSON: &str = r#"{ constant TEST_INVALID_TEMPLATE_JSON (line 25) | pub const TEST_INVALID_TEMPLATE_JSON: &str = r#"{ function build_test_template (line 35) | pub fn build_test_template() -> CustomCpuTemplate { FILE: src/vmm/src/cpu_config/templates.rs type GetCpuTemplateError (line 31) | pub enum GetCpuTemplateError { type GetCpuTemplate (line 50) | pub trait GetCpuTemplate { method get_cpu_template (line 52) | fn get_cpu_template(&self) -> Result, GetCp... type CpuTemplateType (line 57) | pub enum CpuTemplateType { method from (line 67) | fn from(value: &Option) -> Self { method from (line 78) | fn from(value: &CpuTemplateType) -> Self { type Error (line 87) | type Error = serde_json::Error; method try_from (line 89) | fn try_from(value: &[u8]) -> Result { type Error (line 97) | type Error = serde_json::Error; method try_from (line 99) | fn try_from(value: &str) -> Result { type KvmCapability (line 108) | pub enum KvmCapability { method deserialize (line 131) | fn deserialize(deserializer: D) -> Result method serialize (line 117) | fn serialize(&self, serializer: S) -> Result type RegisterValueFilter (line 159) | pub struct RegisterValueFilter function apply (line 175) | pub fn apply(&self, value: V) -> V { method serialize (line 185) | fn serialize(&self, serializer: S) -> Result function deserialize (line 221) | fn deserialize(deserializer: D) -> Result type Numeric (line 263) | pub trait Numeric: constant BITS (line 277) | const BITS: u32; method bit (line 279) | fn bit(&self, pos: u32) -> bool; method zero (line 281) | fn zero() -> Self; method one (line 283) | fn one() -> Self; function test_kvm_capability_serde (line 314) | fn test_kvm_capability_serde() { function test_register_value_filter_serde (line 337) | fn test_register_value_filter_serde() { FILE: src/vmm/src/cpu_config/templates_serde.rs function serialize_to_hex_str (line 10) | pub fn serialize_to_hex_str(number: &N, serializer: S) -> Result CustomCpuTemplate { FILE: src/vmm/src/cpu_config/x86_64/cpuid/amd/mod.rs type AmdCpuid (line 19) | pub struct AmdCpuid(pub std::collections::BTreeMap); method from (line 37) | fn from(kvm_cpuid: kvm_bindings::CpuId) -> Self { method get (line 24) | fn get(&self, key: &CpuidKey) -> Option<&CpuidEntry> { method get_mut (line 30) | fn get_mut(&mut self, key: &CpuidKey) -> Option<&mut CpuidEntry> { function get (line 68) | fn get() { function get_mut (line 80) | fn get_mut() { FILE: src/vmm/src/cpu_config/x86_64/cpuid/amd/normalize.rs type NormalizeCpuidError (line 16) | pub enum NormalizeCpuidError { type PassthroughCacheTopologyError (line 39) | pub enum PassthroughCacheTopologyError { type FeatureEntryError (line 48) | pub enum FeatureEntryError { type ExtendedCacheTopologyError (line 59) | pub enum ExtendedCacheTopologyError { type ExtendedApicIdError (line 72) | pub enum ExtendedApicIdError { constant DEFAULT_BRAND_STRING (line 88) | const DEFAULT_BRAND_STRING: &'static [u8; BRAND_STRING_LENGTH] = function normalize (line 98) | pub fn normalize( function passthrough_cache_topology (line 125) | fn passthrough_cache_topology(&mut self) -> Result<(), PassthroughCacheT... function update_extended_feature_fn_entry (line 185) | fn update_extended_feature_fn_entry(&mut self) -> Result<(), NormalizeCp... function update_structured_extended_entry (line 198) | fn update_structured_extended_entry(&mut self) -> Result<(), NormalizeCp... function update_amd_feature_entry (line 213) | fn update_amd_feature_entry(&mut self, cpu_count: u8) -> Result<(), Feat... function update_extended_cache_topology_entry (line 248) | fn update_extended_cache_topology_entry( function update_extended_apic_id_entry (line 309) | fn update_extended_apic_id_entry( function update_brand_string_entry (line 380) | fn update_brand_string_entry(&mut self) -> Result<(), NormalizeCpuidErro... function test_update_structured_extended_entry_invalid (line 396) | fn test_update_structured_extended_entry_invalid() { function test_update_structured_extended_entry_valid (line 407) | fn test_update_structured_extended_entry_valid() { FILE: src/vmm/src/cpu_config/x86_64/cpuid/common.rs type GetCpuidError (line 14) | pub enum GetCpuidError { function get_cpuid (line 27) | pub fn get_cpuid(leaf: u32, subleaf: u32) -> Result Result<[u8; 12], GetCpuidError> { function msrs_to_save_by_cpuid (line 63) | pub(crate) fn msrs_to_save_by_cpuid(cpuid: &kvm_bindings::CpuId) -> Vec<... function get_cpuid_unsupported_leaf (line 146) | fn get_cpuid_unsupported_leaf() { FILE: src/vmm/src/cpu_config/x86_64/cpuid/intel/mod.rs type IntelCpuid (line 21) | pub struct IntelCpuid(pub std::collections::BTreeMap Self { method get (line 26) | fn get(&self, key: &CpuidKey) -> Option<&CpuidEntry> { method get_mut (line 32) | fn get_mut(&mut self, key: &CpuidKey) -> Option<&mut CpuidEntry> { function get (line 70) | fn get() { function get_mut (line 82) | fn get_mut() { FILE: src/vmm/src/cpu_config/x86_64/cpuid/intel/normalize.rs type NormalizeCpuidError (line 14) | pub enum NormalizeCpuidError { type DeterministicCacheError (line 36) | pub enum DeterministicCacheError { constant DEFAULT_BRAND_STRING (line 48) | pub const DEFAULT_BRAND_STRING: &[u8; BRAND_STRING_LENGTH] = constant DEFAULT_BRAND_STRING_BASE (line 50) | pub const DEFAULT_BRAND_STRING_BASE: &[u8; 28] = b"Intel(R) Xeon(R) Proc... function normalize (line 63) | pub fn normalize( function update_deterministic_cache_entry (line 84) | fn update_deterministic_cache_entry( function update_power_management_entry (line 164) | fn update_power_management_entry(&mut self) -> Result<(), NormalizeCpuid... function update_extended_feature_flags_entry (line 184) | fn update_extended_feature_flags_entry(&mut self) -> Result<(), Normaliz... function update_performance_monitoring_entry (line 243) | fn update_performance_monitoring_entry(&mut self) -> Result<(), Normaliz... function update_extended_topology_v2_entry (line 263) | fn update_extended_topology_v2_entry(&mut self) { function update_brand_string_entry (line 279) | fn update_brand_string_entry(&mut self) -> Result<(), NormalizeCpuidErro... type DefaultBrandStringError (line 294) | pub enum DefaultBrandStringError { function default_brand_string (line 319) | fn default_brand_string( function default_brand_string_test (line 406) | fn default_brand_string_test() { function default_brand_string_test_missing_frequency (line 413) | fn default_brand_string_test_missing_frequency() { function default_brand_string_test_missing_space (line 420) | fn default_brand_string_test_missing_space() { function default_brand_string_test_overflow (line 427) | fn default_brand_string_test_overflow() { function test_update_extended_feature_flags_entry (line 441) | fn test_update_extended_feature_flags_entry() { function test_update_extended_topology_v2_entry_no_leaf_0x1f (line 467) | fn test_update_extended_topology_v2_entry_no_leaf_0x1f() { function test_update_extended_topology_v2_entry (line 492) | fn test_update_extended_topology_v2_entry() { FILE: src/vmm/src/cpu_config/x86_64/cpuid/mod.rs constant VENDOR_ID_INTEL (line 55) | pub const VENDOR_ID_INTEL: &[u8; 12] = b"GenuineIntel"; constant VENDOR_ID_AMD (line 58) | pub const VENDOR_ID_AMD: &[u8; 12] = b"AuthenticAMD"; constant VENDOR_ID_INTEL_STR (line 62) | pub const VENDOR_ID_INTEL_STR: &str = unsafe { std::str::from_utf8_unche... constant VENDOR_ID_AMD_STR (line 66) | pub const VENDOR_ID_AMD_STR: &str = unsafe { std::str::from_utf8_uncheck... constant BRAND_STRING_LENGTH (line 69) | pub const BRAND_STRING_LENGTH: usize = 3 * 4 * 4; function cpuid (line 72) | fn cpuid(leaf: u32) -> std::arch::x86_64::CpuidResult { function cpuid_count (line 77) | fn cpuid_count(leaf: u32, subleaf: u32) -> std::arch::x86_64::CpuidResult { function host_brand_string (line 97) | pub fn host_brand_string() -> [u8; BRAND_STRING_LENGTH] { type CpuidTrait (line 113) | pub trait CpuidTrait { method vendor_id (line 118) | fn vendor_id(&self) -> Option<[u8; 12]> { method get (line 135) | fn get(&self, key: &CpuidKey) -> Option<&CpuidEntry>; method get_mut (line 138) | fn get_mut(&mut self, key: &CpuidKey) -> Option<&mut CpuidEntry>; method apply_brand_string (line 146) | fn apply_brand_string( method get (line 251) | fn get(&self, CpuidKey { leaf, subleaf }: &CpuidKey) -> Option<&CpuidE... method get_mut (line 271) | fn get_mut(&mut self, CpuidKey { leaf, subleaf }: &CpuidKey) -> Option... method get (line 378) | fn get(&self, key: &CpuidKey) -> Option<&CpuidEntry> { method get_mut (line 387) | fn get_mut(&mut self, key: &CpuidKey) -> Option<&mut CpuidEntry> { type MissingBrandStringLeaves (line 292) | pub struct MissingBrandStringLeaves; type CpuidTryFromKvmCpuid (line 297) | pub enum CpuidTryFromKvmCpuid { type Cpuid (line 306) | pub enum Cpuid { method intel_mut (line 317) | pub fn intel_mut(&mut self) -> Option<&mut IntelCpuid> { method intel (line 327) | pub fn intel(&self) -> Option<&IntelCpuid> { method amd (line 337) | pub fn amd(&self) -> Option<&AmdCpuid> { method amd_mut (line 347) | pub fn amd_mut(&mut self) -> Option<&mut AmdCpuid> { method inner (line 357) | pub fn inner(&self) -> &std::collections::BTreeMap &mut std::collections::BTreeMap Result Result { type CpuidKey (line 437) | pub struct CpuidKey { method leaf (line 448) | pub fn leaf(leaf: u32) -> Self { method subleaf (line 455) | pub fn subleaf(leaf: u32, subleaf: u32) -> Self { method partial_cmp (line 462) | fn partial_cmp(&self, other: &Self) -> Option { method cmp (line 469) | fn cmp(&self, other: &Self) -> std::cmp::Ordering { type KvmCpuidFlags (line 480) | pub struct KvmCpuidFlags(pub u32); constant EMPTY (line 483) | pub const EMPTY: Self = Self(0); constant SIGNIFICANT_INDEX (line 486) | pub const SIGNIFICANT_INDEX: Self = Self(1 << 0); constant STATEFUL_FUNC (line 488) | pub const STATEFUL_FUNC: Self = Self(1 << 1); constant STATE_READ_NEXT (line 490) | pub const STATE_READ_NEXT: Self = Self(1 << 2); method default (line 496) | fn default() -> Self { type CpuidEntry (line 504) | pub struct CpuidEntry { type CpuidRegisters (line 560) | pub struct CpuidRegisters { method from (line 573) | fn from( function build_intel_leaf0_for_cpuid (line 586) | fn build_intel_leaf0_for_cpuid() -> (CpuidKey, CpuidEntry) { function build_intel_leaf0_for_kvmcpuid (line 605) | fn build_intel_leaf0_for_kvmcpuid() -> kvm_bindings::kvm_cpuid_entry2 { function build_amd_leaf0_for_cpuid (line 619) | fn build_amd_leaf0_for_cpuid() -> (CpuidKey, CpuidEntry) { function build_amd_leaf0_for_kvmcpuid (line 638) | fn build_amd_leaf0_for_kvmcpuid() -> kvm_bindings::kvm_cpuid_entry2 { function build_sample_leaf_for_cpuid (line 652) | fn build_sample_leaf_for_cpuid() -> (CpuidKey, CpuidEntry) { function build_sample_leaf_for_kvmcpuid (line 670) | fn build_sample_leaf_for_kvmcpuid() -> kvm_bindings::kvm_cpuid_entry2 { function build_sample_intel_cpuid (line 683) | fn build_sample_intel_cpuid() -> Cpuid { function build_sample_intel_kvmcpuid (line 690) | fn build_sample_intel_kvmcpuid() -> kvm_bindings::CpuId { function build_sample_amd_cpuid (line 698) | fn build_sample_amd_cpuid() -> Cpuid { function build_sample_amd_kvmcpuid (line 705) | fn build_sample_amd_kvmcpuid() -> kvm_bindings::CpuId { function get (line 714) | fn get() { function get_mut (line 734) | fn get_mut() { function test_kvmcpuid_to_cpuid (line 754) | fn test_kvmcpuid_to_cpuid() { function test_cpuid_to_kvmcpuid (line 765) | fn test_cpuid_to_kvmcpuid() { function test_invalid_kvmcpuid_to_cpuid (line 776) | fn test_invalid_kvmcpuid_to_cpuid() { FILE: src/vmm/src/cpu_config/x86_64/cpuid/normalize.rs type NormalizeCpuidError (line 13) | pub enum NormalizeCpuidError { type VendorIdError (line 32) | pub enum VendorIdError { type FeatureInformationError (line 39) | pub enum FeatureInformationError { type GetMaxCpusPerPackageError (line 54) | pub enum GetMaxCpusPerPackageError { type ExtendedTopologyError (line 64) | pub enum ExtendedTopologyError { type ExtendedCacheFeaturesError (line 77) | pub enum ExtendedCacheFeaturesError { type CheckedAssignError (line 87) | pub struct CheckedAssignError; function set_bit (line 91) | pub fn set_bit(x: &mut u32, bit: u8, y: bool) { function set_range (line 97) | pub fn set_range( function get_range (line 124) | pub fn get_range(x: u32, range: std::ops::RangeInclusive) -> u32 { function get_mask (line 136) | const fn get_mask(range: std::ops::RangeInclusive) -> u32 { function normalize (line 160) | pub fn normalize( function update_vendor_id (line 192) | fn update_vendor_id(&mut self) -> Result<(), VendorIdError> { function update_feature_info_entry (line 207) | fn update_feature_info_entry( function update_extended_topology_entry (line 266) | fn update_extended_topology_entry( function update_extended_cache_features (line 395) | fn update_extended_cache_features(&mut self) -> Result<(), ExtendedCache... function get_max_cpus_per_package (line 414) | const fn get_max_cpus_per_package(cpu_count: u8) -> Result Result, GetCpuT... type CpuidRegister (line 73) | pub enum CpuidRegister { type CpuidRegisterModifier (line 82) | pub struct CpuidRegisterModifier { type CpuidLeafModifier (line 98) | pub struct CpuidLeafModifier { type CustomCpuTemplate (line 121) | pub struct CustomCpuTemplate { method msr_index_iter (line 136) | pub fn msr_index_iter(&self) -> impl ExactSizeIterator + '_ { method validate (line 141) | pub fn validate(&self) -> Result<(), serde_json::Error> { type RegisterModifier (line 149) | pub struct RegisterModifier { function deserialize_kvm_cpuid_flags (line 161) | fn deserialize_kvm_cpuid_flags<'de, D>(deserializer: D) -> Result(deserializer: D) -> Result(cpuid_reg: &CpuidRegister, serializer: S)... function test_get_cpu_template_with_no_template (line 208) | fn test_get_cpu_template_with_no_template() { function test_get_cpu_template_with_c3_static_template (line 219) | fn test_get_cpu_template_with_c3_static_template() { function test_get_cpu_template_with_t2_static_template (line 249) | fn test_get_cpu_template_with_t2_static_template() { function test_get_cpu_template_with_t2s_static_template (line 279) | fn test_get_cpu_template_with_t2s_static_template() { function test_t2cl_template_equality (line 309) | fn test_t2cl_template_equality() { function test_get_cpu_template_with_t2cl_static_template (line 324) | fn test_get_cpu_template_with_t2cl_static_template() { function test_get_cpu_template_with_t2a_static_template (line 354) | fn test_get_cpu_template_with_t2a_static_template() { function test_get_cpu_template_with_none_static_template (line 383) | fn test_get_cpu_template_with_none_static_template() { function test_get_cpu_template_with_custom_template (line 398) | fn test_get_cpu_template_with_custom_template() { function test_malformed_json (line 410) | fn test_malformed_json() { function test_deserialization_lifecycle (line 513) | fn test_deserialization_lifecycle() { function test_serialization_lifecycle (line 521) | fn test_serialization_lifecycle() { function test_bitmap_width (line 533) | fn test_bitmap_width() { FILE: src/vmm/src/cpu_config/x86_64/mod.rs type CpuConfigurationError (line 24) | pub enum CpuConfigurationError { type CpuConfiguration (line 37) | pub struct CpuConfiguration { method new (line 48) | pub fn new( method apply_template (line 61) | pub fn apply_template( function build_test_template (line 129) | fn build_test_template() -> CustomCpuTemplate { function build_supported_cpuid (line 186) | fn build_supported_cpuid() -> Cpuid { function empty_cpu_config (line 196) | fn empty_cpu_config() -> CpuConfiguration { function supported_cpu_config (line 203) | fn supported_cpu_config() -> CpuConfiguration { function unsupported_cpu_config (line 210) | fn unsupported_cpu_config() -> CpuConfiguration { function test_empty_template (line 218) | fn test_empty_template() { function test_apply_template (line 235) | fn test_apply_template() { function test_invalid_template (line 251) | fn test_invalid_template() { FILE: src/vmm/src/cpu_config/x86_64/static_cpu_templates/c3.rs function c3 (line 62) | pub fn c3() -> CustomCpuTemplate { FILE: src/vmm/src/cpu_config/x86_64/static_cpu_templates/mod.rs type StaticCpuTemplate (line 26) | pub enum StaticCpuTemplate { method is_none (line 50) | pub fn is_none(&self) -> bool { method get_supported_vendor (line 55) | pub fn get_supported_vendor(&self) -> &'static [u8; 12] { method get_supported_cpu_models (line 67) | pub fn get_supported_cpu_models(&self) -> &'static [CpuModel] { function verify_consistency_with_json_templates (line 85) | fn verify_consistency_with_json_templates() { FILE: src/vmm/src/cpu_config/x86_64/static_cpu_templates/t2.rs function t2 (line 62) | pub fn t2() -> CustomCpuTemplate { FILE: src/vmm/src/cpu_config/x86_64/static_cpu_templates/t2a.rs function t2a (line 19) | pub fn t2a() -> CustomCpuTemplate { FILE: src/vmm/src/cpu_config/x86_64/static_cpu_templates/t2cl.rs function t2cl (line 20) | pub fn t2cl() -> CustomCpuTemplate { FILE: src/vmm/src/cpu_config/x86_64/static_cpu_templates/t2s.rs function t2s (line 19) | pub fn t2s() -> CustomCpuTemplate { FILE: src/vmm/src/cpu_config/x86_64/test_utils.rs constant TEST_TEMPLATE_JSON (line 11) | pub const TEST_TEMPLATE_JSON: &str = r#"{ constant TEST_INVALID_TEMPLATE_JSON (line 103) | pub const TEST_INVALID_TEMPLATE_JSON: &str = r#"{ function build_test_template (line 113) | pub fn build_test_template() -> CustomCpuTemplate { FILE: src/vmm/src/device_manager/acpi.rs type ACPIDeviceError (line 13) | pub enum ACPIDeviceError { type ACPIDeviceManager (line 25) | pub struct ACPIDeviceManager { method new (line 34) | pub fn new(vmgenid: VmGenId, vmclock: VmClock) -> Self { method attach_vmgenid (line 41) | pub fn attach_vmgenid(&mut self, vm: &Vm) -> Result<(), ACPIDeviceErro... method attach_vmclock (line 46) | pub fn attach_vmclock(&mut self, vm: &Vm) -> Result<(), ACPIDeviceErro... method vmgenid (line 51) | pub fn vmgenid(&self) -> &VmGenId { method vmclock (line 55) | pub fn vmclock(&self) -> &VmClock { method activate_vmgenid (line 59) | pub fn activate_vmgenid(&self, vm: &Vm) -> Result<(), ACPIDeviceError> { method activate_vmclock (line 65) | pub fn activate_vmclock(&self, vm: &Vm) -> Result<(), ACPIDeviceError> { method do_post_restore_vmgenid (line 71) | pub fn do_post_restore_vmgenid(&self) -> Result<(), ACPIDeviceError> { method do_post_restore_vmclock (line 76) | pub fn do_post_restore_vmclock( method append_aml_bytes (line 90) | fn append_aml_bytes(&self, v: &mut Vec) -> Result<(), aml::AmlError> { FILE: src/vmm/src/device_manager/legacy.rs type LegacyDeviceError (line 20) | pub enum LegacyDeviceError { type PortIODeviceManager (line 30) | pub struct PortIODeviceManager { constant COM1_GSI (line 39) | const COM1_GSI: u32 = 4; constant KBD_EVT_GSI (line 42) | const KBD_EVT_GSI: u32 = 1; constant SERIAL_PORT_ADDRESS (line 45) | const SERIAL_PORT_ADDRESS: u64 = 0x3f8; constant SERIAL_PORT_SIZE (line 47) | const SERIAL_PORT_SIZE: u64 = 0x8; constant I8042_KDB_DATA_REGISTER_ADDRESS (line 50) | const I8042_KDB_DATA_REGISTER_ADDRESS: u64 = 0x060; constant I8042_KDB_DATA_REGISTER_SIZE (line 52) | const I8042_KDB_DATA_REGISTER_SIZE: u64 = 0x5; method register_devices (line 55) | pub fn register_devices(&mut self, vm: &Vm) -> Result<(), LegacyDevice... method append_aml_bytes (line 87) | pub(crate) fn append_aml_bytes(bytes: &mut Vec) -> Result<(), AmlE... function test_register_legacy_devices (line 157) | fn test_register_legacy_devices() { FILE: src/vmm/src/device_manager/mmio.rs type MmioError (line 38) | pub enum MmioError { constant MMIO_LEN (line 63) | pub const MMIO_LEN: u64 = 0x1000; type MMIODeviceInfo (line 67) | pub struct MMIODeviceInfo { function add_virtio_aml (line 77) | fn add_virtio_aml( type MMIODevice (line 112) | pub struct MMIODevice { type MMIODeviceManager (line 123) | pub struct MMIODeviceManager { method new (line 147) | pub fn new() -> MMIODeviceManager { method allocate_mmio_resources (line 152) | fn allocate_mmio_resources( method register_mmio_virtio (line 176) | pub fn register_mmio_virtio( method add_virtio_device_to_cmdline (line 220) | pub fn add_virtio_device_to_cmdline( method register_mmio_virtio_for_boot (line 241) | pub fn register_mmio_virtio_for_boot( method register_mmio_serial (line 274) | pub fn register_mmio_serial( method add_mmio_serial_to_cmdline (line 319) | pub fn add_mmio_serial_to_cmdline( method register_mmio_rtc (line 334) | pub fn register_mmio_rtc( method register_mmio_boot_timer (line 369) | pub fn register_mmio_boot_timer( method get_virtio_device (line 398) | pub fn get_virtio_device( method for_each_virtio_mmio_device (line 408) | pub fn for_each_virtio_mmio_device(&self, mut f: F) -> Re... method for_each_virtio_device (line 418) | pub fn for_each_virtio_device(&self, mut f: impl FnMut(VirtioDeviceTyp... method virtio_device_info (line 427) | pub fn virtio_device_info(&self) -> Vec<&MMIODeviceInfo> { method rtc_device_info (line 436) | pub fn rtc_device_info(&self) -> Option<&MMIODeviceInfo> { method serial_device_info (line 441) | pub fn serial_device_info(&self) -> Option<&MMIODeviceInfo> { method register_virtio_test_device (line 469) | pub(crate) fn register_virtio_test_device( method used_irqs_count (line 496) | pub fn used_irqs_count(&self) -> usize { constant QUEUE_SIZES (line 466) | const QUEUE_SIZES: &[u16] = &[64]; type DummyDevice (line 506) | pub(crate) struct DummyDevice { method new (line 514) | pub fn new() -> Self { method process (line 525) | fn process(&mut self, _: Events, _: &mut EventOps) {} method init (line 526) | fn init(&mut self, _: &mut EventOps) {} method id (line 532) | fn id(&self) -> &str { method avail_features (line 536) | fn avail_features(&self) -> u64 { method acked_features (line 540) | fn acked_features(&self) -> u64 { method set_acked_features (line 544) | fn set_acked_features(&mut self, _: u64) {} method queues (line 546) | fn queues(&self) -> &[Queue] { method queues_mut (line 550) | fn queues_mut(&mut self) -> &mut [Queue] { method queue_events (line 554) | fn queue_events(&self) -> &[EventFd] { method interrupt_trigger (line 558) | fn interrupt_trigger(&self) -> &dyn VirtioInterrupt { method ack_features_by_page (line 562) | fn ack_features_by_page(&mut self, page: u32, value: u32) { method read_config (line 567) | fn read_config(&self, offset: u64, data: &mut [u8]) { method write_config (line 572) | fn write_config(&mut self, offset: u64, data: &[u8]) { method activate (line 577) | fn activate( method is_activated (line 585) | fn is_activated(&self) -> bool { function test_register_virtio_device (line 592) | fn test_register_virtio_device() { function test_register_too_many_devices (line 646) | fn test_register_too_many_devices() { function test_dummy_device (line 694) | fn test_dummy_device() { function test_device_info (line 702) | fn test_device_info() { function test_no_irq_allocation (line 780) | fn test_no_irq_allocation() { function test_irq_allocation (line 791) | fn test_irq_allocation() { function test_allocation_failure (line 802) | fn test_allocation_failure() { FILE: src/vmm/src/device_manager/mod.rs type DeviceManagerCreateError (line 65) | pub enum DeviceManagerCreateError { type AttachDeviceError (line 77) | pub enum AttachDeviceError { type FindDeviceError (line 96) | pub enum FindDeviceError { type DeviceManager (line 103) | pub struct DeviceManager { method set_stdout_nonblocking (line 117) | fn set_stdout_nonblocking() { method setup_serial_device (line 132) | fn setup_serial_device( method create_legacy_devices (line 151) | fn create_legacy_devices( method new (line 175) | pub fn new( method attach_mmio_virtio_device (line 195) | pub(crate) fn attach_mmio_virtio_device< method attach_virtio_device (line 217) | pub(crate) fn attach_virtio_device Result<(), ... method attach_vmclock_device (line 256) | pub(crate) fn attach_vmclock_device(&mut self, vm: &Vm) -> Result<(), ... method attach_legacy_devices_aarch64 (line 263) | pub(crate) fn attach_legacy_devices_aarch64( method enable_pci (line 290) | pub fn enable_pci(&mut self, vm: &Arc) -> Result<(), PciManagerErr... method kick_virtio_devices (line 295) | pub fn kick_virtio_devices(&self) { method do_mark_virtio_queue_memory_dirty (line 321) | fn do_mark_virtio_queue_memory_dirty( method mark_virtio_queue_memory_dirty (line 335) | pub fn mark_virtio_queue_memory_dirty(&self, mem: &GuestMemoryMmap) { method get_virtio_device (line 353) | pub fn get_virtio_device( method with_virtio_device (line 383) | pub fn with_virtio_device(&self, id: &str, f: F) -> Result bool { type State (line 498) | type State = DevicesState; type ConstructorArgs (line 499) | type ConstructorArgs = DeviceRestoreArgs<'a>; type Error (line 500) | type Error = DeviceManagerPersistError; method save (line 502) | fn save(&self) -> Self::State { method restore (line 510) | fn restore( method emulate_serial_init (line 566) | pub fn emulate_serial_init(&self) -> Result<(), EmulateSerialInitError> { type DevicesState (line 415) | pub struct DevicesState { type DevicePersistError (line 426) | pub enum DevicePersistError { type DeviceManagerPersistError (line 462) | pub enum DeviceManagerPersistError { type DeviceRestoreArgs (line 477) | pub struct DeviceRestoreArgs<'a> { function fmt (line 487) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function default_device_manager (line 613) | pub(crate) fn default_device_manager() -> DeviceManager { function test_attach_legacy_serial (line 643) | fn test_attach_legacy_serial() { FILE: src/vmm/src/device_manager/pci_mngr.rs type PciDevices (line 47) | pub struct PciDevices { method new (line 71) | pub fn new() -> Self { method attach_pci_segment (line 75) | pub fn attach_pci_segment(&mut self, vm: &Arc) -> Result<(), PciMa... method register_bars_with_bus (line 88) | fn register_bars_with_bus( method attach_common (line 107) | fn attach_common( method attach_pci_virtio_device (line 139) | pub(crate) fn attach_pci_virtio_device< method restore_pci_device (line 189) | fn restore_pci_device; type Error (line 293) | type Error = DevicePersistError; method save (line 295) | fn save(&self) -> Self::State { method restore (line 440) | fn restore( type PciManagerError (line 55) | pub enum PciManagerError { type VirtioDeviceState (line 238) | pub struct VirtioDeviceState { type PciDevicesState (line 250) | pub struct PciDevicesState { type PciDevicesConstructorArgs (line 271) | pub struct PciDevicesConstructorArgs<'a> { method fmt (line 280) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function test_device_manager_persistence (line 652) | fn test_device_manager_persistence() { FILE: src/vmm/src/device_manager/persist.rs type VirtioDeviceState (line 50) | pub struct VirtioDeviceState { type ConnectedLegacyState (line 64) | pub struct ConnectedLegacyState { type MmdsState (line 72) | pub struct MmdsState { type DeviceStates (line 79) | pub struct DeviceStates { type MMIODevManagerConstructorArgs (line 101) | pub struct MMIODevManagerConstructorArgs<'a> { function fmt (line 109) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type ACPIDeviceManagerState (line 122) | pub struct ACPIDeviceManagerState { type State (line 128) | type State = ACPIDeviceManagerState; type ConstructorArgs (line 129) | type ConstructorArgs = &'a Vm; type Error (line 130) | type Error = ACPIDeviceError; method save (line 132) | fn save(&self) -> Self::State { method restore (line 139) | fn restore(vm: Self::ConstructorArgs, state: &Self::State) -> Result; type Error (line 160) | type Error = DevicePersistError; method save (line 162) | fn save(&self) -> Self::State { method restore (line 309) | fn restore( method eq (line 581) | fn eq(&self, other: &VirtioDeviceState) -> bool { method eq (line 588) | fn eq(&self, other: &DeviceStates) -> bool { method eq (line 599) | fn eq(&self, other: &Self) -> bool { method eq (line 605) | fn eq(&self, other: &MMIODeviceManager) -> bool { function test_device_manager_persistence (line 622) | fn test_device_manager_persistence() { FILE: src/vmm/src/devices/acpi/generated/vmclock_abi.rs constant __BITS_PER_LONG (line 21) | pub const __BITS_PER_LONG: u32 = 64; constant __BITS_PER_LONG_LONG (line 22) | pub const __BITS_PER_LONG_LONG: u32 = 64; constant __FD_SETSIZE (line 23) | pub const __FD_SETSIZE: u32 = 1024; constant VMCLOCK_MAGIC (line 24) | pub const VMCLOCK_MAGIC: u32 = 1263289174; constant VMCLOCK_COUNTER_ARM_VCNT (line 25) | pub const VMCLOCK_COUNTER_ARM_VCNT: u8 = 0; constant VMCLOCK_COUNTER_X86_TSC (line 26) | pub const VMCLOCK_COUNTER_X86_TSC: u8 = 1; constant VMCLOCK_COUNTER_INVALID (line 27) | pub const VMCLOCK_COUNTER_INVALID: u8 = 255; constant VMCLOCK_TIME_UTC (line 28) | pub const VMCLOCK_TIME_UTC: u8 = 0; constant VMCLOCK_TIME_TAI (line 29) | pub const VMCLOCK_TIME_TAI: u8 = 1; constant VMCLOCK_TIME_MONOTONIC (line 30) | pub const VMCLOCK_TIME_MONOTONIC: u8 = 2; constant VMCLOCK_TIME_INVALID_SMEARED (line 31) | pub const VMCLOCK_TIME_INVALID_SMEARED: u8 = 3; constant VMCLOCK_TIME_INVALID_MAYBE_SMEARED (line 32) | pub const VMCLOCK_TIME_INVALID_MAYBE_SMEARED: u8 = 4; constant VMCLOCK_FLAG_TAI_OFFSET_VALID (line 33) | pub const VMCLOCK_FLAG_TAI_OFFSET_VALID: u64 = 1; constant VMCLOCK_FLAG_DISRUPTION_SOON (line 34) | pub const VMCLOCK_FLAG_DISRUPTION_SOON: u64 = 2; constant VMCLOCK_FLAG_DISRUPTION_IMMINENT (line 35) | pub const VMCLOCK_FLAG_DISRUPTION_IMMINENT: u64 = 4; constant VMCLOCK_FLAG_PERIOD_ESTERROR_VALID (line 36) | pub const VMCLOCK_FLAG_PERIOD_ESTERROR_VALID: u64 = 8; constant VMCLOCK_FLAG_PERIOD_MAXERROR_VALID (line 37) | pub const VMCLOCK_FLAG_PERIOD_MAXERROR_VALID: u64 = 16; constant VMCLOCK_FLAG_TIME_ESTERROR_VALID (line 38) | pub const VMCLOCK_FLAG_TIME_ESTERROR_VALID: u64 = 32; constant VMCLOCK_FLAG_TIME_MAXERROR_VALID (line 39) | pub const VMCLOCK_FLAG_TIME_MAXERROR_VALID: u64 = 64; constant VMCLOCK_FLAG_TIME_MONOTONIC (line 40) | pub const VMCLOCK_FLAG_TIME_MONOTONIC: u64 = 128; constant VMCLOCK_FLAG_VM_GEN_COUNTER_PRESENT (line 41) | pub const VMCLOCK_FLAG_VM_GEN_COUNTER_PRESENT: u64 = 256; constant VMCLOCK_FLAG_NOTIFICATION_PRESENT (line 42) | pub const VMCLOCK_FLAG_NOTIFICATION_PRESENT: u64 = 512; constant VMCLOCK_STATUS_UNKNOWN (line 43) | pub const VMCLOCK_STATUS_UNKNOWN: u8 = 0; constant VMCLOCK_STATUS_INITIALIZING (line 44) | pub const VMCLOCK_STATUS_INITIALIZING: u8 = 1; constant VMCLOCK_STATUS_SYNCHRONIZED (line 45) | pub const VMCLOCK_STATUS_SYNCHRONIZED: u8 = 2; constant VMCLOCK_STATUS_FREERUNNING (line 46) | pub const VMCLOCK_STATUS_FREERUNNING: u8 = 3; constant VMCLOCK_STATUS_UNRELIABLE (line 47) | pub const VMCLOCK_STATUS_UNRELIABLE: u8 = 4; constant VMCLOCK_SMEARING_STRICT (line 48) | pub const VMCLOCK_SMEARING_STRICT: u8 = 0; constant VMCLOCK_SMEARING_NOON_LINEAR (line 49) | pub const VMCLOCK_SMEARING_NOON_LINEAR: u8 = 1; constant VMCLOCK_SMEARING_UTC_SLS (line 50) | pub const VMCLOCK_SMEARING_UTC_SLS: u8 = 2; constant VMCLOCK_LEAP_NONE (line 51) | pub const VMCLOCK_LEAP_NONE: u8 = 0; constant VMCLOCK_LEAP_PRE_POS (line 52) | pub const VMCLOCK_LEAP_PRE_POS: u8 = 1; constant VMCLOCK_LEAP_PRE_NEG (line 53) | pub const VMCLOCK_LEAP_PRE_NEG: u8 = 2; constant VMCLOCK_LEAP_POS (line 54) | pub const VMCLOCK_LEAP_POS: u8 = 3; constant VMCLOCK_LEAP_POST_POS (line 55) | pub const VMCLOCK_LEAP_POST_POS: u8 = 4; constant VMCLOCK_LEAP_POST_NEG (line 56) | pub const VMCLOCK_LEAP_POST_NEG: u8 = 5; type __s8 (line 57) | pub type __s8 = ::std::os::raw::c_schar; type __u8 (line 58) | pub type __u8 = ::std::os::raw::c_uchar; type __s16 (line 59) | pub type __s16 = ::std::os::raw::c_short; type __u16 (line 60) | pub type __u16 = ::std::os::raw::c_ushort; type __s32 (line 61) | pub type __s32 = ::std::os::raw::c_int; type __u32 (line 62) | pub type __u32 = ::std::os::raw::c_uint; type __s64 (line 63) | pub type __s64 = ::std::os::raw::c_longlong; type __u64 (line 64) | pub type __u64 = ::std::os::raw::c_ulonglong; type __kernel_fd_set (line 67) | pub struct __kernel_fd_set { constant _ (line 71) | const _: () = { type __kernel_sighandler_t (line 77) | pub type __kernel_sighandler_t = type __kernel_key_t (line 79) | pub type __kernel_key_t = ::std::os::raw::c_int; type __kernel_mqd_t (line 80) | pub type __kernel_mqd_t = ::std::os::raw::c_int; type __kernel_old_uid_t (line 81) | pub type __kernel_old_uid_t = ::std::os::raw::c_ushort; type __kernel_old_gid_t (line 82) | pub type __kernel_old_gid_t = ::std::os::raw::c_ushort; type __kernel_old_dev_t (line 83) | pub type __kernel_old_dev_t = ::std::os::raw::c_ulong; type __kernel_long_t (line 84) | pub type __kernel_long_t = ::std::os::raw::c_long; type __kernel_ulong_t (line 85) | pub type __kernel_ulong_t = ::std::os::raw::c_ulong; type __kernel_ino_t (line 86) | pub type __kernel_ino_t = __kernel_ulong_t; type __kernel_mode_t (line 87) | pub type __kernel_mode_t = ::std::os::raw::c_uint; type __kernel_pid_t (line 88) | pub type __kernel_pid_t = ::std::os::raw::c_int; type __kernel_ipc_pid_t (line 89) | pub type __kernel_ipc_pid_t = ::std::os::raw::c_int; type __kernel_uid_t (line 90) | pub type __kernel_uid_t = ::std::os::raw::c_uint; type __kernel_gid_t (line 91) | pub type __kernel_gid_t = ::std::os::raw::c_uint; type __kernel_suseconds_t (line 92) | pub type __kernel_suseconds_t = __kernel_long_t; type __kernel_daddr_t (line 93) | pub type __kernel_daddr_t = ::std::os::raw::c_int; type __kernel_uid32_t (line 94) | pub type __kernel_uid32_t = ::std::os::raw::c_uint; type __kernel_gid32_t (line 95) | pub type __kernel_gid32_t = ::std::os::raw::c_uint; type __kernel_size_t (line 96) | pub type __kernel_size_t = __kernel_ulong_t; type __kernel_ssize_t (line 97) | pub type __kernel_ssize_t = __kernel_long_t; type __kernel_ptrdiff_t (line 98) | pub type __kernel_ptrdiff_t = __kernel_long_t; type __kernel_fsid_t (line 101) | pub struct __kernel_fsid_t { constant _ (line 105) | const _: () = { type __kernel_off_t (line 111) | pub type __kernel_off_t = __kernel_long_t; type __kernel_loff_t (line 112) | pub type __kernel_loff_t = ::std::os::raw::c_longlong; type __kernel_old_time_t (line 113) | pub type __kernel_old_time_t = __kernel_long_t; type __kernel_time_t (line 114) | pub type __kernel_time_t = __kernel_long_t; type __kernel_time64_t (line 115) | pub type __kernel_time64_t = ::std::os::raw::c_longlong; type __kernel_clock_t (line 116) | pub type __kernel_clock_t = __kernel_long_t; type __kernel_timer_t (line 117) | pub type __kernel_timer_t = ::std::os::raw::c_int; type __kernel_clockid_t (line 118) | pub type __kernel_clockid_t = ::std::os::raw::c_int; type __kernel_caddr_t (line 119) | pub type __kernel_caddr_t = *mut ::std::os::raw::c_char; type __kernel_uid16_t (line 120) | pub type __kernel_uid16_t = ::std::os::raw::c_ushort; type __kernel_gid16_t (line 121) | pub type __kernel_gid16_t = ::std::os::raw::c_ushort; type __s128 (line 122) | pub type __s128 = i128; type __u128 (line 123) | pub type __u128 = u128; type __le16 (line 124) | pub type __le16 = __u16; type __be16 (line 125) | pub type __be16 = __u16; type __le32 (line 126) | pub type __le32 = __u32; type __be32 (line 127) | pub type __be32 = __u32; type __le64 (line 128) | pub type __le64 = __u64; type __be64 (line 129) | pub type __be64 = __u64; type __sum16 (line 130) | pub type __sum16 = __u16; type __wsum (line 131) | pub type __wsum = __u32; type __poll_t (line 132) | pub type __poll_t = ::std::os::raw::c_uint; type vmclock_abi (line 135) | pub struct vmclock_abi { constant _ (line 161) | const _: () = { FILE: src/vmm/src/devices/acpi/vmclock.rs constant VMCLOCK_SIZE (line 30) | pub const VMCLOCK_SIZE: u32 = 0x1000; type VmClockError (line 47) | pub enum VmClockError { type VmClock (line 66) | pub struct VmClock { method new (line 79) | pub fn new(resource_allocator: &mut ResourceAllocator) -> Result Result<(), VmClockErr... method do_post_restore (line 121) | pub fn do_post_restore(&mut self, mem: &GuestMemoryMmap) -> Result<(),... type State (line 169) | type State = VmClockState; type ConstructorArgs (line 170) | type ConstructorArgs = (); type Error (line 171) | type Error = VmClockError; method save (line 173) | fn save(&self) -> Self::State { method restore (line 181) | fn restore(vm: Self::ConstructorArgs, state: &Self::State) -> Result) -> Result<(), aml::AmlError> { constant VMCLOCK_TEST_GUEST_ADDR (line 242) | const VMCLOCK_TEST_GUEST_ADDR: GuestAddress = function default_vmclock (line 245) | fn default_vmclock() -> VmClock { function test_new_device (line 251) | fn test_new_device() { function test_device_save_restore (line 267) | fn test_device_save_restore() { FILE: src/vmm/src/devices/acpi/vmgenid.rs constant VMGENID_MEM_SIZE (line 21) | pub const VMGENID_MEM_SIZE: u64 = 16; type VmGenIdError (line 24) | pub enum VmGenIdError { type VmGenId (line 46) | pub struct VmGenId { method from_parts (line 60) | pub fn from_parts(guest_address: GuestAddress, gsi: u32) -> Result Result u128 { method do_post_restore (line 104) | pub fn do_post_restore(&self) -> Result<(), VmGenIdError> { method activate (line 113) | pub fn activate(&self, mem: &GuestMemoryMmap) -> Result<(), VmGenIdErr... type State (line 136) | type State = VMGenIDState; type ConstructorArgs (line 137) | type ConstructorArgs = (); type Error (line 138) | type Error = VmGenIdError; method save (line 140) | fn save(&self) -> Self::State { method restore (line 147) | fn restore(_: Self::ConstructorArgs, state: &Self::State) -> Result) -> Result<(), aml::AmlError> { FILE: src/vmm/src/devices/legacy/i8042.rs type I8042Error (line 21) | pub enum I8042Error { type I8042DeviceMetrics (line 32) | pub(super) struct I8042DeviceMetrics { method new (line 48) | const fn new() -> Self { constant OFS_STATUS (line 64) | const OFS_STATUS: u64 = 4; constant OFS_DATA (line 67) | const OFS_DATA: u64 = 0; constant CMD_READ_CTR (line 71) | const CMD_READ_CTR: u8 = 0x20; constant CMD_WRITE_CTR (line 72) | const CMD_WRITE_CTR: u8 = 0x60; constant CMD_READ_OUTP (line 73) | const CMD_READ_OUTP: u8 = 0xD0; constant CMD_WRITE_OUTP (line 74) | const CMD_WRITE_OUTP: u8 = 0xD1; constant CMD_RESET_CPU (line 75) | const CMD_RESET_CPU: u8 = 0xFE; constant SB_OUT_DATA_AVAIL (line 78) | const SB_OUT_DATA_AVAIL: u8 = 0x0001; constant SB_I8042_CMD_DATA (line 79) | const SB_I8042_CMD_DATA: u8 = 0x0008; constant SB_KBD_ENABLED (line 80) | const SB_KBD_ENABLED: u8 = 0x0010; constant CB_KBD_INT (line 83) | const CB_KBD_INT: u8 = 0x0001; constant CB_POST_OK (line 84) | const CB_POST_OK: u8 = 0x0004; constant KEY_CTRL (line 87) | const KEY_CTRL: u16 = 0x0014; constant KEY_ALT (line 88) | const KEY_ALT: u16 = 0x0011; constant KEY_DEL (line 89) | const KEY_DEL: u16 = 0xE071; constant BUF_SIZE (line 92) | const BUF_SIZE: usize = 16; type I8042Device (line 96) | pub struct I8042Device { method new (line 123) | pub fn new(reset_evt: EventFd) -> Result { method trigger_ctrl_alt_del (line 139) | pub fn trigger_ctrl_alt_del(&mut self) -> Result<(), I8042Error> { method trigger_kbd_interrupt (line 151) | fn trigger_kbd_interrupt(&self) -> Result<(), I8042Error> { method trigger_key (line 161) | fn trigger_key(&mut self, key: u16) -> Result<(), I8042Error> { method push_byte (line 178) | fn push_byte(&mut self, byte: u8) -> Result<(), I8042Error> { method pop_byte (line 189) | fn pop_byte(&mut self) -> Option { method flush_buf (line 202) | fn flush_buf(&mut self) { method buf_len (line 209) | fn buf_len(&self) -> usize { method read (line 215) | fn read(&mut self, _base: u64, offset: u64, data: &mut [u8]) { method write (line 249) | fn write(&mut self, _base: u64, offset: u64, data: &[u8]) -> Option bool { function test_i8042_read_write_and_event (line 356) | fn test_i8042_read_write_and_event() { function test_i8042_commands (line 393) | fn test_i8042_commands() { function test_i8042_buffer (line 430) | fn test_i8042_buffer() { function test_i8042_kbd (line 454) | fn test_i8042_kbd() { FILE: src/vmm/src/devices/legacy/mod.rs type EventFdTrigger (line 33) | pub struct EventFdTrigger(EventFd); method try_clone (line 52) | pub fn try_clone(&self) -> io::Result { method new (line 57) | pub fn new(evt: EventFd) -> Self { method get_event (line 62) | pub fn get_event(&self) -> EventFd { type E (line 36) | type E = io::Error; method trigger (line 38) | fn trigger(&self) -> io::Result<()> { type Target (line 44) | type Target = EventFd; method deref (line 45) | fn deref(&self) -> &Self::Target { function flush_metrics (line 68) | pub fn flush_metrics(serializer: S) -> Result Self { method invalid_read (line 35) | fn invalid_read(&self) { method invalid_write (line 41) | fn invalid_write(&self) { method invalid_read (line 49) | fn invalid_read(&self) { method invalid_write (line 53) | fn invalid_write(&self) { type RTCDevice (line 63) | pub struct RTCDevice(vm_superio::Rtc<&'static RTCDeviceMetrics>); method new (line 72) | pub fn new() -> RTCDevice { type Target (line 78) | type Target = vm_superio::Rtc<&'static RTCDeviceMetrics>; method deref (line 80) | fn deref(&self) -> &Self::Target { method deref_mut (line 86) | fn deref_mut(&mut self) -> &mut Self::Target { method bus_read (line 93) | pub fn bus_read(&mut self, offset: u64, data: &mut [u8]) { method bus_write (line 108) | pub fn bus_write(&mut self, offset: u64, data: &[u8]) { method read (line 126) | fn read(&mut self, _base: u64, offset: u64, data: &mut [u8]) { method write (line 130) | fn write( method default (line 66) | fn default() -> Self { function test_rtc_device (line 149) | fn test_rtc_device() { function test_rtc_invalid_buf_len (line 166) | fn test_rtc_invalid_buf_len() { FILE: src/vmm/src/devices/legacy/serial.rs constant IER_RDA_BIT (line 30) | pub const IER_RDA_BIT: u8 = 0b0000_0001; constant IER_RDA_OFFSET (line 32) | pub const IER_RDA_OFFSET: u8 = 1; type SerialDeviceMetrics (line 36) | pub struct SerialDeviceMetrics { method new (line 52) | pub const fn new() -> Self { type RawIOError (line 68) | pub enum RawIOError { type RawIOHandler (line 73) | pub trait RawIOHandler { method raw_input (line 75) | fn raw_input(&mut self, _data: &[u8]) -> Result<(), RawIOError>; method raw_input (line 80) | fn raw_input(&mut self, data: &[u8]) -> Result<(), RawIOError> { type SerialEventsWrapper (line 97) | pub struct SerialEventsWrapper { method buffer_read (line 103) | fn buffer_read(&self) { method out_byte (line 107) | fn out_byte(&self) { method tx_lost_byte (line 111) | fn tx_lost_byte(&self) { method in_buffer_empty (line 115) | fn in_buffer_empty(&self) { type SerialOut (line 131) | pub enum SerialOut { method write (line 137) | fn write(&mut self, buf: &[u8]) -> std::io::Result { method flush (line 144) | fn flush(&mut self) -> std::io::Result<()> { type SerialWrapper (line 155) | pub struct SerialWrapper io::Result { function buffer_ready_evt_fd (line 207) | fn buffer_ready_evt_fd(&self) -> RawFd { function serial_input_fd (line 216) | fn serial_input_fd(&self) -> RawFd { function consume_buffer_ready_event (line 220) | fn consume_buffer_ready_event(&self) -> io::Result { type SerialDevice (line 230) | pub type SerialDevice = SerialWrapper, serial_out: SerialOut) -> Result<... method process (line 256) | fn process(&mut self, event: Events, ops: &mut EventOps) { method init (line 326) | fn init(&mut self, ops: &mut EventOps) { function is_fifo (line 350) | fn is_fifo(fd: RawFd) -> bool { method read (line 371) | fn read(&mut self, _base: u64, offset: u64, data: &mut [u8]) { method write (line 379) | fn write(&mut self, _base: u64, offset: u64, data: &[u8]) -> Option) -> std::fmt::Result { method build (line 72) | fn build(id: u16, vm: &Arc, pci_irq_slots: &[u8; 32]) -> Result Result { type PciDevSlot (line 184) | struct PciDevSlot { method append_aml_bytes (line 190) | fn append_aml_bytes(&self, v: &mut Vec) -> Result<(), aml::AmlError> { type PciDevSlotNotify (line 214) | struct PciDevSlotNotify { method append_aml_bytes (line 220) | fn append_aml_bytes(&self, v: &mut Vec) -> Result<(), aml::AmlError> { type PciDevSlotMethods (line 233) | struct PciDevSlotMethods {} method append_aml_bytes (line 237) | fn append_aml_bytes(&self, v: &mut Vec) -> Result<(), aml::AmlError> { type PciDsmMethod (line 275) | struct PciDsmMethod {} method append_aml_bytes (line 279) | fn append_aml_bytes(&self, v: &mut Vec) -> Result<(), aml::AmlError> { method append_aml_bytes (line 339) | fn append_aml_bytes(&self, v: &mut Vec) -> Result<(), aml::AmlError> { function test_pci_segment_build (line 471) | fn test_pci_segment_build() { function test_io_bus (line 502) | fn test_io_bus() { function test_mmio_bus (line 517) | fn test_mmio_bus() { function test_next_device_bdf (line 540) | fn test_next_device_bdf() { FILE: src/vmm/src/devices/pseudo/boot_timer.rs constant MAGIC_VALUE_SIGNAL_GUEST_BOOT_COMPLETE (line 11) | const MAGIC_VALUE_SIGNAL_GUEST_BOOT_COMPLETE: u8 = 123; type BootTimer (line 15) | pub struct BootTimer { method new (line 48) | pub fn new(start_ts: TimestampUs) -> BootTimer { method write (line 20) | fn write(&mut self, _base: u64, offset: u64, data: &[u8]) -> Option(); constant SIZE_OF_STAT (line 43) | const SIZE_OF_STAT: usize = std::mem::size_of::(); function mib_to_pages (line 45) | fn mib_to_pages(amount_mib: u32) -> Result { function pages_to_mib (line 53) | fn pages_to_mib(amount_pages: u32) -> u32 { type ConfigSpace (line 59) | pub(crate) struct ConfigSpace { type HintingState (line 70) | pub(crate) struct HintingState { function default_ack_on_stop (line 82) | fn default_ack_on_stop() -> bool { type StartHintingCmd (line 88) | pub struct StartHintingCmd { method default (line 95) | fn default() -> Self { type HintingStatus (line 104) | pub struct HintingStatus { type BalloonStat (line 115) | struct BalloonStat { type BalloonConfig (line 125) | pub struct BalloonConfig { type BalloonStats (line 143) | pub struct BalloonStats { method update_with_stat (line 209) | fn update_with_stat(&mut self, stat: &BalloonStat) { type Balloon (line 238) | pub struct Balloon { method new (line 266) | pub fn new( method process_inflate_queue_event (line 328) | pub(crate) fn process_inflate_queue_event(&mut self) -> Result<(), Bal... method process_deflate_queue_event (line 335) | pub(crate) fn process_deflate_queue_event(&mut self) -> Result<(), Bal... method process_stats_queue_event (line 342) | pub(crate) fn process_stats_queue_event(&mut self) -> Result<(), Ballo... method process_stats_timer_event (line 349) | pub(crate) fn process_stats_timer_event(&mut self) -> Result<(), Ballo... method process_free_page_hinting_queue_event (line 354) | pub(crate) fn process_free_page_hinting_queue_event(&mut self) -> Resu... method process_free_page_reporting_queue_event (line 361) | pub(crate) fn process_free_page_reporting_queue_event(&mut self) -> Re... method process_inflate (line 368) | pub(crate) fn process_inflate(&mut self) -> Result<(), BalloonError> { method process_deflate_queue (line 461) | pub(crate) fn process_deflate_queue(&mut self) -> Result<(), BalloonEr... method process_stats_queue (line 480) | pub(crate) fn process_stats_queue(&mut self) -> Result<(), BalloonErro... method process_free_page_hinting_queue (line 513) | pub(crate) fn process_free_page_hinting_queue(&mut self) -> Result<(),... method process_free_page_reporting_queue (line 595) | pub(crate) fn process_free_page_reporting_queue(&mut self) -> Result<(... method signal_used_queue (line 634) | pub(crate) fn signal_used_queue(&self, qidx: usize) -> Result<(), Ball... method process_virtio_queues (line 647) | pub fn process_virtio_queues(&mut self) -> Result<(), InvalidAvailIdx> { method trigger_stats_update (line 671) | fn trigger_stats_update(&mut self) -> Result<(), BalloonError> { method update_size (line 685) | pub fn update_size(&mut self, amount_mib: u32) -> Result<(), BalloonEr... method free_page_hinting (line 702) | pub fn free_page_hinting(&self) -> bool { method free_page_hinting_idx (line 706) | pub fn free_page_hinting_idx(&self) -> usize { method free_page_reporting (line 716) | pub fn free_page_reporting(&self) -> bool { method free_page_reporting_idx (line 720) | pub fn free_page_reporting_idx(&self) -> usize { method update_stats_polling_interval (line 735) | pub fn update_stats_polling_interval(&mut self, interval_s: u16) -> Re... method update_timer_state (line 751) | pub fn update_timer_state(&mut self) { method num_pages (line 757) | pub fn num_pages(&self) -> u32 { method size_mb (line 762) | pub fn size_mb(&self) -> u32 { method deflate_on_oom (line 766) | pub fn deflate_on_oom(&self) -> bool { method stats_polling_interval_s (line 770) | pub fn stats_polling_interval_s(&self) -> u16 { method latest_stats (line 775) | pub fn latest_stats(&mut self) -> Result { method update_free_page_hint_cmd (line 788) | pub fn update_free_page_hint_cmd(&mut self, cmd_id: u32) -> Result<(),... method start_hinting (line 801) | pub(crate) fn start_hinting(&mut self, cmd: StartHintingCmd) -> Result... method get_hinting_status (line 819) | pub(crate) fn get_hinting_status(&self) -> Result Result<(), BalloonError> { method config (line 840) | pub fn config(&self) -> BalloonConfig { method stats_enabled (line 850) | pub(crate) fn stats_enabled(&self) -> bool { method set_stats_desc_index (line 854) | pub(crate) fn set_stats_desc_index(&mut self, stats_desc_index: Option... method set_queue (line 1011) | pub(crate) fn set_queue(&mut self, idx: usize, q: Queue) { method actual_pages (line 1015) | pub(crate) fn actual_pages(&self) -> u32 { method update_num_pages (line 1019) | pub fn update_num_pages(&mut self, num_pages: u32) { method update_actual_pages (line 1023) | pub fn update_actual_pages(&mut self, actual_pages: u32) { method id (line 862) | fn id(&self) -> &str { method avail_features (line 866) | fn avail_features(&self) -> u64 { method acked_features (line 870) | fn acked_features(&self) -> u64 { method set_acked_features (line 874) | fn set_acked_features(&mut self, acked_features: u64) { method queues (line 878) | fn queues(&self) -> &[Queue] { method queues_mut (line 882) | fn queues_mut(&mut self) -> &mut [Queue] { method queue_events (line 886) | fn queue_events(&self) -> &[EventFd] { method interrupt_trigger (line 890) | fn interrupt_trigger(&self) -> &dyn VirtioInterrupt { method read_config (line 898) | fn read_config(&self, offset: u64, data: &mut [u8]) { method write_config (line 907) | fn write_config(&mut self, offset: u64, data: &[u8]) { method activate (line 922) | fn activate( method is_activated (line 946) | fn is_activated(&self) -> bool { method kick (line 950) | fn kick(&mut self) { method set_queues (line 987) | fn set_queues(&mut self, queues: Vec) { method num_queues (line 991) | fn num_queues(&self) -> usize { function test_balloon_stat_size (line 1029) | fn test_balloon_stat_size() { function test_update_balloon_stats (line 1034) | fn test_update_balloon_stats() { function test_virtio_features (line 1114) | fn test_virtio_features() { function test_virtio_read_config (line 1152) | fn test_virtio_read_config() { function test_virtio_write_config (line 1190) | fn test_virtio_write_config() { function test_free_page_hinting_config (line 1219) | fn test_free_page_hinting_config() { function test_invalid_request (line 1270) | fn test_invalid_request() { function test_inflate (line 1331) | fn test_inflate() { function test_deflate (line 1403) | fn test_deflate() { function test_stats (line 1453) | fn test_stats() { function test_process_reporting (line 1545) | fn test_process_reporting() { type HintingTestHelper (line 1595) | struct HintingTestHelper<'a> { function new (line 1605) | fn new(mem: &'a GuestMemoryMmap) -> Self { function start_hinting (line 1633) | fn start_hinting(&mut self, cmd: Option) { function send_stop (line 1648) | fn send_stop(&mut self, cmd: Option) { function test_hinting (line 1684) | fn test_hinting(&mut self, cmd: Option, expected: u64) { function test_hinting_no_cmd_set (line 1719) | fn test_hinting_no_cmd_set() { function test_hinting_normal_path (line 1728) | fn test_hinting_normal_path() { function test_hinting_invalid_cmd (line 1742) | fn test_hinting_invalid_cmd() { function test_hinting_stale_inflight_requests (line 1758) | fn test_hinting_stale_inflight_requests() { function test_hinting_stale_post_stop (line 1780) | fn test_hinting_stale_post_stop() { function test_hinting_no_ack_on_stop (line 1801) | fn test_hinting_no_ack_on_stop() { function test_hinting_misaligned_value (line 1824) | fn test_hinting_misaligned_value() { function test_process_balloon_queues (line 1849) | fn test_process_balloon_queues() { function test_update_stats_interval (line 1868) | fn test_update_stats_interval() { function test_cannot_update_inactive_device (line 1899) | fn test_cannot_update_inactive_device() { function test_num_pages (line 1909) | fn test_num_pages() { FILE: src/vmm/src/devices/virtio/balloon/event_handler.rs constant PROCESS_ACTIVATE (line 13) | const PROCESS_ACTIVATE: u32 = 0; constant PROCESS_VIRTQ_INFLATE (line 14) | const PROCESS_VIRTQ_INFLATE: u32 = 1; constant PROCESS_VIRTQ_DEFLATE (line 15) | const PROCESS_VIRTQ_DEFLATE: u32 = 2; constant PROCESS_VIRTQ_STATS (line 16) | const PROCESS_VIRTQ_STATS: u32 = 3; constant PROCESS_STATS_TIMER (line 17) | const PROCESS_STATS_TIMER: u32 = 4; constant PROCESS_VIRTQ_FREE_PAGE_HINTING (line 18) | const PROCESS_VIRTQ_FREE_PAGE_HINTING: u32 = 5; constant PROCESS_VIRTQ_FREE_PAGE_REPORTING (line 19) | const PROCESS_VIRTQ_FREE_PAGE_REPORTING: u32 = 6; method register_runtime_events (line 21) | fn register_runtime_events(&self, ops: &mut EventOps) { method register_activate_event (line 77) | fn register_activate_event(&self, ops: &mut EventOps) { method process_activate_event (line 87) | fn process_activate_event(&self, ops: &mut EventOps) { method process (line 103) | fn process(&mut self, event: Events, ops: &mut EventOps) { method init (line 149) | fn init(&mut self, ops: &mut EventOps) { function test_event_handler (line 174) | fn test_event_handler() { FILE: src/vmm/src/devices/virtio/balloon/metrics.rs function flush_metrics (line 45) | pub fn flush_metrics(serializer: S) -> Result Self { function test_balloon_dev_metrics (line 105) | fn test_balloon_dev_metrics() { FILE: src/vmm/src/devices/virtio/balloon/mod.rs constant BALLOON_DEV_ID (line 24) | pub const BALLOON_DEV_ID: &str = "balloon"; constant BALLOON_CONFIG_SPACE_SIZE (line 26) | pub const BALLOON_CONFIG_SPACE_SIZE: usize = 12; constant BALLOON_MIN_NUM_QUEUES (line 28) | pub const BALLOON_MIN_NUM_QUEUES: usize = 2; constant BALLOON_QUEUE_SIZE (line 30) | pub const BALLOON_QUEUE_SIZE: u16 = FIRECRACKER_MAX_QUEUE_SIZE; constant MIB_TO_4K_PAGES (line 32) | pub const MIB_TO_4K_PAGES: u32 = 256; constant MAX_PAGES_IN_DESC (line 34) | pub const MAX_PAGES_IN_DESC: usize = 256; constant MAX_PAGE_COMPACT_BUFFER (line 37) | pub const MAX_PAGE_COMPACT_BUFFER: usize = 2048; constant VIRTIO_BALLOON_PFN_SHIFT (line 39) | pub const VIRTIO_BALLOON_PFN_SHIFT: u32 = 12; constant INFLATE_INDEX (line 41) | pub const INFLATE_INDEX: usize = 0; constant DEFLATE_INDEX (line 43) | pub const DEFLATE_INDEX: usize = 1; constant STATS_INDEX (line 45) | pub const STATS_INDEX: usize = 2; constant FREE_PAGE_HINT_STOP (line 48) | pub const FREE_PAGE_HINT_STOP: u32 = 0; constant FREE_PAGE_HINT_DONE (line 50) | pub const FREE_PAGE_HINT_DONE: u32 = 1; constant VIRTIO_BALLOON_F_STATS_VQ (line 53) | const VIRTIO_BALLOON_F_STATS_VQ: u32 = 1; constant VIRTIO_BALLOON_F_DEFLATE_ON_OOM (line 54) | const VIRTIO_BALLOON_F_DEFLATE_ON_OOM: u32 = 2; constant VIRTIO_BALLOON_F_FREE_PAGE_HINTING (line 55) | const VIRTIO_BALLOON_F_FREE_PAGE_HINTING: u32 = 3; constant VIRTIO_BALLOON_F_FREE_PAGE_REPORTING (line 56) | const VIRTIO_BALLOON_F_FREE_PAGE_REPORTING: u32 = 5; constant VIRTIO_BALLOON_S_SWAP_IN (line 59) | const VIRTIO_BALLOON_S_SWAP_IN: u16 = 0; constant VIRTIO_BALLOON_S_SWAP_OUT (line 60) | const VIRTIO_BALLOON_S_SWAP_OUT: u16 = 1; constant VIRTIO_BALLOON_S_MAJFLT (line 61) | const VIRTIO_BALLOON_S_MAJFLT: u16 = 2; constant VIRTIO_BALLOON_S_MINFLT (line 62) | const VIRTIO_BALLOON_S_MINFLT: u16 = 3; constant VIRTIO_BALLOON_S_MEMFREE (line 63) | const VIRTIO_BALLOON_S_MEMFREE: u16 = 4; constant VIRTIO_BALLOON_S_MEMTOT (line 64) | const VIRTIO_BALLOON_S_MEMTOT: u16 = 5; constant VIRTIO_BALLOON_S_AVAIL (line 65) | const VIRTIO_BALLOON_S_AVAIL: u16 = 6; constant VIRTIO_BALLOON_S_CACHES (line 66) | const VIRTIO_BALLOON_S_CACHES: u16 = 7; constant VIRTIO_BALLOON_S_HTLB_PGALLOC (line 67) | const VIRTIO_BALLOON_S_HTLB_PGALLOC: u16 = 8; constant VIRTIO_BALLOON_S_HTLB_PGFAIL (line 68) | const VIRTIO_BALLOON_S_HTLB_PGFAIL: u16 = 9; constant VIRTIO_BALLOON_S_OOM_KILL (line 69) | const VIRTIO_BALLOON_S_OOM_KILL: u16 = 10; constant VIRTIO_BALLOON_S_ALLOC_STALL (line 70) | const VIRTIO_BALLOON_S_ALLOC_STALL: u16 = 11; constant VIRTIO_BALLOON_S_ASYNC_SCAN (line 71) | const VIRTIO_BALLOON_S_ASYNC_SCAN: u16 = 12; constant VIRTIO_BALLOON_S_DIRECT_SCAN (line 72) | const VIRTIO_BALLOON_S_DIRECT_SCAN: u16 = 13; constant VIRTIO_BALLOON_S_ASYNC_RECLAIM (line 73) | const VIRTIO_BALLOON_S_ASYNC_RECLAIM: u16 = 14; constant VIRTIO_BALLOON_S_DIRECT_RECLAIM (line 74) | const VIRTIO_BALLOON_S_DIRECT_RECLAIM: u16 = 15; type BalloonError (line 78) | pub enum BalloonError { type RemoveRegionError (line 106) | pub enum RemoveRegionError { function report_balloon_event_fail (line 119) | pub(super) fn report_balloon_event_fail(err: BalloonError) { FILE: src/vmm/src/devices/virtio/balloon/persist.rs type BalloonConfigSpaceState (line 23) | pub struct BalloonConfigSpaceState { type BalloonStatsState (line 31) | pub struct BalloonStatsState { method from_stats (line 51) | fn from_stats(stats: &BalloonStats) -> Self { method create_stats (line 72) | fn create_stats(&self) -> BalloonStats { type BalloonState (line 101) | pub struct BalloonState { type BalloonConstructorArgs (line 112) | pub struct BalloonConstructorArgs { type State (line 118) | type State = BalloonState; type ConstructorArgs (line 119) | type ConstructorArgs = BalloonConstructorArgs; type Error (line 120) | type Error = super::BalloonError; method save (line 122) | fn save(&self) -> Self::State { method restore (line 136) | fn restore( function test_persistence (line 211) | fn test_persistence() { FILE: src/vmm/src/devices/virtio/balloon/test_utils.rs constant BALLOON_MAX_NUM_QUEUES (line 14) | const BALLOON_MAX_NUM_QUEUES: usize = 5; function invoke_handler_for_queue_event (line 17) | pub fn invoke_handler_for_queue_event(b: &mut Balloon, queue_index: usiz... function set_request (line 50) | pub fn set_request(queue: &VirtQueue, idx: u16, addr: u64, len: u32, fla... function check_request_completion (line 59) | pub fn check_request_completion(queue: &VirtQueue, idx: usize) { FILE: src/vmm/src/devices/virtio/balloon/util.rs function compact_page_frame_numbers (line 14) | pub(crate) fn compact_page_frame_numbers(v: &mut [u32]) -> Vec<(u32, u32... function test_compact_page_indices (line 81) | fn test_compact_page_indices() { function random_pfn_u32_max (line 133) | fn random_pfn_u32_max() -> impl Strategy> { function random_pfn_100 (line 140) | fn random_pfn_100() -> impl Strategy> { function uncompact (line 148) | fn uncompact(compacted: Vec<(u32, u32)>) -> Vec { function sort_and_dedup (line 156) | fn sort_and_dedup(v: &[T]) -> Vec { function test_pfn_compact (line 168) | fn test_pfn_compact() { FILE: src/vmm/src/devices/virtio/block/device.rs type Block (line 27) | pub enum Block { method new (line 33) | pub fn new(config: BlockDeviceConfig) -> Result { method config (line 47) | pub fn config(&self) -> BlockDeviceConfig { method update_disk_image (line 54) | pub fn update_disk_image(&mut self, disk_image_path: String) -> Result... method update_rate_limiter (line 63) | pub fn update_rate_limiter( method update_config (line 77) | pub fn update_config(&mut self) -> Result<(), BlockError> { method process_virtio_queues (line 84) | pub fn process_virtio_queues(&mut self) -> Result<(), InvalidAvailIdx> { method root_device (line 91) | pub fn root_device(&self) -> bool { method read_only (line 98) | pub fn read_only(&self) -> bool { method partuuid (line 105) | pub fn partuuid(&self) -> &Option { method is_vhost_user (line 112) | pub fn is_vhost_user(&self) -> bool { type State (line 236) | type State = BlockState; type ConstructorArgs (line 237) | type ConstructorArgs = BlockConstructorArgs; type Error (line 238) | type Error = BlockError; method save (line 240) | fn save(&self) -> Self::State { method restore (line 247) | fn restore( method id (line 123) | fn id(&self) -> &str { method avail_features (line 130) | fn avail_features(&self) -> u64 { method acked_features (line 137) | fn acked_features(&self) -> u64 { method set_acked_features (line 144) | fn set_acked_features(&mut self, acked_features: u64) { method queues (line 151) | fn queues(&self) -> &[Queue] { method queues_mut (line 158) | fn queues_mut(&mut self) -> &mut [Queue] { method queue_events (line 165) | fn queue_events(&self) -> &[EventFd] { method interrupt_trigger (line 172) | fn interrupt_trigger(&self) -> &dyn VirtioInterrupt { method read_config (line 179) | fn read_config(&self, offset: u64, data: &mut [u8]) { method write_config (line 186) | fn write_config(&mut self, offset: u64, data: &[u8]) { method activate (line 193) | fn activate( method is_activated (line 204) | fn is_activated(&self) -> bool { method prepare_save (line 211) | fn prepare_save(&mut self) { method process (line 220) | fn process(&mut self, event: Events, ops: &mut EventOps) { method init (line 227) | fn init(&mut self, ops: &mut EventOps) { FILE: src/vmm/src/devices/virtio/block/mod.rs type CacheType (line 15) | pub enum CacheType { type BlockError (line 27) | pub enum BlockError { FILE: src/vmm/src/devices/virtio/block/persist.rs type BlockState (line 15) | pub enum BlockState { method is_activated (line 21) | pub fn is_activated(&self) -> bool { type BlockConstructorArgs (line 31) | pub struct BlockConstructorArgs { FILE: src/vmm/src/devices/virtio/block/vhost_user/device.rs constant BLOCK_CONFIG_SPACE_SIZE (line 37) | const BLOCK_CONFIG_SPACE_SIZE: u32 = 60; constant AVAILABLE_FEATURES (line 39) | const AVAILABLE_FEATURES: u64 = (1 << VIRTIO_F_VERSION_1) type VhostUserBlockConfig (line 50) | pub struct VhostUserBlockConfig { type Error (line 69) | type Error = VhostUserBlockError; method try_from (line 71) | fn try_from(value: &BlockDeviceConfig) -> Result { method from (line 94) | fn from(value: VhostUserBlockConfig) -> Self { type VhostUserBlock (line 111) | pub type VhostUserBlock = VhostUserBlockImpl; type VhostUserBlockImpl (line 114) | pub struct VhostUserBlockImpl { function fmt (line 141) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function new (line 166) | pub fn new(config: VhostUserBlockConfig) -> Result VhostUserBlockConfig { function config_update (line 258) | pub fn config_update(&mut self) -> Result<(), VhostUserBlockError> { method id (line 297) | fn id(&self) -> &str { method avail_features (line 301) | fn avail_features(&self) -> u64 { method acked_features (line 305) | fn acked_features(&self) -> u64 { method set_acked_features (line 309) | fn set_acked_features(&mut self, acked_features: u64) { method queues (line 313) | fn queues(&self) -> &[Queue] { method queues_mut (line 317) | fn queues_mut(&mut self) -> &mut [Queue] { method queue_events (line 321) | fn queue_events(&self) -> &[EventFd] { method interrupt_trigger (line 325) | fn interrupt_trigger(&self) -> &dyn VirtioInterrupt { method read_config (line 333) | fn read_config(&self, offset: u64, data: &mut [u8]) { method write_config (line 343) | fn write_config(&mut self, _offset: u64, _data: &[u8]) { method activate (line 349) | fn activate( method is_activated (line 381) | fn is_activated(&self) -> bool { function test_from_config (line 406) | fn test_from_config() { function test_new_no_features (line 454) | fn test_new_no_features() { function test_new_all_features (line 548) | fn test_new_all_features() { function test_activate (line 700) | fn test_activate() { FILE: src/vmm/src/devices/virtio/block/vhost_user/event_handler.rs constant PROCESS_ACTIVATE (line 11) | const PROCESS_ACTIVATE: u32 = 0; method register_activate_event (line 13) | fn register_activate_event(&self, ops: &mut EventOps) { method process_activate_event (line 23) | fn process_activate_event(&self, ops: &mut EventOps) { method process (line 39) | fn process(&mut self, event: Events, ops: &mut EventOps) { method init (line 66) | fn init(&mut self, ops: &mut EventOps) { FILE: src/vmm/src/devices/virtio/block/vhost_user/mod.rs constant NUM_QUEUES (line 13) | pub const NUM_QUEUES: u64 = 1; constant QUEUE_SIZE (line 16) | pub const QUEUE_SIZE: u16 = 256; type VhostUserBlockError (line 20) | pub enum VhostUserBlockError { FILE: src/vmm/src/devices/virtio/block/vhost_user/persist.rs type VhostUserBlockState (line 17) | pub struct VhostUserBlockState { type State (line 29) | type State = VhostUserBlockState; type ConstructorArgs (line 30) | type ConstructorArgs = BlockConstructorArgs; type Error (line 31) | type Error = VhostUserBlockError; method save (line 33) | fn save(&self) -> Self::State { method restore (line 37) | fn restore( FILE: src/vmm/src/devices/virtio/block/virtio/device.rs type FileEngineType (line 46) | pub enum FileEngineType { type DiskProperties (line 56) | pub struct DiskProperties { method open_file (line 65) | fn open_file(disk_image_path: &str, is_disk_read_only: bool) -> Result... method file_size (line 74) | fn file_size(disk_image_path: &str, disk_image: &mut File) -> Result Result [u8; VIRTIO_BLK_ID_BYTES a... type ConfigSpace (line 164) | pub struct ConfigSpace { type VirtioBlockConfig (line 174) | pub struct VirtioBlockConfig { type Error (line 203) | type Error = VirtioBlockError; method try_from (line 205) | fn try_from(value: &BlockDeviceConfig) -> Result { method from (line 225) | fn from(value: VirtioBlockConfig) -> Self { type VirtioBlock (line 244) | pub struct VirtioBlock { method new (line 286) | pub fn new(config: VirtioBlockConfig) -> Result VirtioBlockConfig { method process_queue_event (line 360) | pub(crate) fn process_queue_event(&mut self) { method process_virtio_queues (line 375) | pub fn process_virtio_queues(&mut self) -> Result<(), InvalidAvailIdx> { method process_rate_limiter_event (line 379) | pub(crate) fn process_rate_limiter_event(&mut self) { method process_queue (line 389) | pub fn process_queue(&mut self, queue_index: usize) -> Result<(), Inva... method process_async_completion_queue (line 470) | fn process_async_completion_queue(&mut self) { method process_async_completion_event (line 521) | pub fn process_async_completion_event(&mut self) { method update_disk_image (line 537) | pub fn update_disk_image(&mut self, disk_image_path: String) -> Result... method update_rate_limiter (line 553) | pub fn update_rate_limiter(&mut self, bytes: BucketUpdate, ops: Bucket... method file_engine_type (line 558) | pub fn file_engine_type(&self) -> FileEngineType { method drain_and_flush (line 565) | fn drain_and_flush(&mut self, discard: bool) { method prepare_save (line 572) | pub fn prepare_save(&mut self) { method id (line 587) | fn id(&self) -> &str { method avail_features (line 591) | fn avail_features(&self) -> u64 { method acked_features (line 595) | fn acked_features(&self) -> u64 { method set_acked_features (line 599) | fn set_acked_features(&mut self, acked_features: u64) { method queues (line 603) | fn queues(&self) -> &[Queue] { method queues_mut (line 607) | fn queues_mut(&mut self) -> &mut [Queue] { method queue_events (line 611) | fn queue_events(&self) -> &[EventFd] { method interrupt_trigger (line 615) | fn interrupt_trigger(&self) -> &dyn VirtioInterrupt { method read_config (line 623) | fn read_config(&self, offset: u64, data: &mut [u8]) { method write_config (line 633) | fn write_config(&mut self, offset: u64, data: &[u8]) { method activate (line 649) | fn activate( method is_activated (line 674) | fn is_activated(&self) -> bool { method drop (line 680) | fn drop(&mut self) { function test_from_config (line 718) | fn test_from_config() { function test_disk_backing_file_helper (line 766) | fn test_disk_backing_file_helper() { function test_virtio_features (line 792) | fn test_virtio_features() { function test_virtio_read_config (line 818) | fn test_virtio_read_config() { function test_virtio_write_config (line 844) | fn test_virtio_write_config() { function test_invalid_request (line 884) | fn test_invalid_request() { function test_addr_out_of_bounds (line 912) | fn test_addr_out_of_bounds() { function test_request_parse_failures (line 977) | fn test_request_parse_failures() { function test_unsupported_request_type (line 1029) | fn test_unsupported_request_type() { function test_end_of_region (line 1062) | fn test_end_of_region() { function test_read_write (line 1099) | fn test_read_write() { function test_flush (line 1429) | fn test_flush() { function test_get_device_id (line 1476) | fn test_get_device_id() { function add_flush_requests_batch (line 1540) | fn add_flush_requests_batch(block: &mut VirtioBlock, vq: &VirtQueue, cou... function check_flush_requests_batch (line 1579) | fn check_flush_requests_batch(count: u16, vq: &VirtQueue) { function test_io_engine_throttling (line 1599) | fn test_io_engine_throttling() { function test_prepare_save (line 1666) | fn test_prepare_save() { function test_bandwidth_rate_limiter (line 1687) | fn test_bandwidth_rate_limiter() { function test_ops_rate_limiter (line 1757) | fn test_ops_rate_limiter() { function test_update_disk_image (line 1841) | fn test_update_disk_image() { FILE: src/vmm/src/devices/virtio/block/virtio/event_handler.rs constant PROCESS_ACTIVATE (line 12) | const PROCESS_ACTIVATE: u32 = 0; constant PROCESS_QUEUE (line 13) | const PROCESS_QUEUE: u32 = 1; constant PROCESS_RATE_LIMITER (line 14) | const PROCESS_RATE_LIMITER: u32 = 2; constant PROCESS_ASYNC_COMPLETION (line 15) | const PROCESS_ASYNC_COMPLETION: u32 = 3; method register_runtime_events (line 17) | fn register_runtime_events(&self, ops: &mut EventOps) { method register_activate_event (line 43) | fn register_activate_event(&self, ops: &mut EventOps) { method process_activate_event (line 53) | fn process_activate_event(&self, ops: &mut EventOps) { method process (line 70) | fn process(&mut self, event: Events, ops: &mut EventOps) { method init (line 101) | fn init(&mut self, ops: &mut EventOps) { function test_event_handler (line 131) | fn test_event_handler() { FILE: src/vmm/src/devices/virtio/block/virtio/io/async_io.rs type AsyncIoError (line 21) | pub enum AsyncIoError { type AsyncFileEngine (line 37) | pub struct AsyncFileEngine { method new_ring (line 71) | fn new_ring( method from_file (line 90) | pub fn from_file(file: File) -> Result { method update_file (line 104) | pub fn update_file(&mut self, file: File) -> Result<(), AsyncIoError> { method file (line 114) | pub fn file(&self) -> &File { method completion_evt (line 118) | pub fn completion_evt(&self) -> &EventFd { method push_read (line 122) | pub fn push_read( method push_write (line 156) | pub fn push_write( method push_flush (line 190) | pub fn push_flush(&mut self, req: PendingRequest) -> Result<(), Reques... method kick_submission_queue (line 201) | pub fn kick_submission_queue(&mut self) -> Result<(), AsyncIoError> { method drain (line 208) | pub fn drain(&mut self, discard_cqes: bool) -> Result<(), AsyncIoError> { method drain_and_flush (line 222) | pub fn drain_and_flush(&mut self, discard_cqes: bool) -> Result<(), As... method do_pop (line 233) | fn do_pop(&mut self) -> Result>, AsyncIoErr... method pop (line 237) | pub fn pop( type WrappedRequest (line 44) | pub struct WrappedRequest { method new (line 50) | fn new(req: PendingRequest) -> Self { method new_with_dirty_tracking (line 54) | fn new_with_dirty_tracking(addr: GuestAddress, req: PendingRequest) ->... method mark_dirty_mem_and_unwrap (line 61) | fn mark_dirty_mem_and_unwrap(self, mem: &GuestMemoryMmap, count: u32) ... FILE: src/vmm/src/devices/virtio/block/virtio/io/mod.rs type RequestOk (line 17) | pub struct RequestOk { type FileEngineOk (line 23) | pub enum FileEngineOk { type BlockIoError (line 29) | pub enum BlockIoError { method is_throttling_err (line 37) | pub fn is_throttling_err(&self) -> bool { type RequestError (line 46) | pub struct RequestError { type FileEngine (line 53) | pub enum FileEngine { method from_file (line 60) | pub fn from_file(file: File, engine_type: FileEngineType) -> Result Result<(), BlockIoEr... method file (line 79) | pub fn file(&self) -> &File { method read (line 86) | pub fn read( method write (line 112) | pub fn write( method flush (line 138) | pub fn flush( method drain (line 160) | pub fn drain(&mut self, discard: bool) -> Result<(), BlockIoError> { method drain_and_flush (line 167) | pub fn drain_and_flush(&mut self, discard: bool) -> Result<(), BlockIo... constant FILE_LEN (line 192) | const FILE_LEN: u32 = 1024; constant MEM_LEN (line 194) | const MEM_LEN: usize = 8192; function assert_async_execution (line 217) | fn assert_async_execution(mem: &GuestMemoryMmap, engine: &mut FileEngine... function create_mem (line 224) | fn create_mem() -> GuestMemoryMmap { function check_dirty_mem (line 239) | fn check_dirty_mem(mem: &GuestMemoryMmap, addr: GuestAddress, len: u32) { function check_clean_mem (line 246) | fn check_clean_mem(mem: &GuestMemoryMmap, addr: GuestAddress, len: u32) { function test_sync (line 254) | fn test_sync() { function test_async (line 339) | fn test_async() { FILE: src/vmm/src/devices/virtio/block/virtio/io/sync_io.rs type SyncIoError (line 12) | pub enum SyncIoError { type SyncFileEngine (line 24) | pub struct SyncFileEngine { method from_file (line 32) | pub fn from_file(file: File) -> SyncFileEngine { method file (line 37) | pub fn file(&self) -> &File { method update_file (line 42) | pub fn update_file(&mut self, file: File) { method read (line 46) | pub fn read( method write (line 62) | pub fn write( method flush (line 78) | pub fn flush(&mut self) -> Result<(), SyncIoError> { FILE: src/vmm/src/devices/virtio/block/virtio/metrics.rs type BlockMetricsPerDevice (line 92) | pub struct BlockMetricsPerDevice { method alloc (line 103) | pub fn alloc(drive_id: String) -> Arc { function flush_metrics (line 124) | pub fn flush_metrics(serializer: S) -> Result Self { method aggregate (line 204) | pub fn aggregate(&mut self, other: &Self) { function test_max_block_dev_metrics (line 241) | fn test_max_block_dev_metrics() { function test_single_block_dev_metrics (line 294) | fn test_single_block_dev_metrics() { FILE: src/vmm/src/devices/virtio/block/virtio/mod.rs constant SECTOR_SHIFT (line 22) | pub const SECTOR_SHIFT: u8 = 9; constant SECTOR_SIZE (line 24) | pub const SECTOR_SIZE: u32 = (0x01_u32) << SECTOR_SHIFT; constant BLOCK_NUM_QUEUES (line 26) | pub const BLOCK_NUM_QUEUES: usize = 1; constant BLOCK_QUEUE_SIZES (line 27) | pub const BLOCK_QUEUE_SIZES: [u16; BLOCK_NUM_QUEUES] = [FIRECRACKER_MAX_... constant IO_URING_NUM_ENTRIES (line 31) | pub const IO_URING_NUM_ENTRIES: u16 = 128; type VirtioBlockError (line 35) | pub enum VirtioBlockError { FILE: src/vmm/src/devices/virtio/block/virtio/persist.rs type FileEngineTypeState (line 24) | pub enum FileEngineTypeState { method from (line 35) | fn from(file_engine_type: FileEngineType) -> Self { method from (line 44) | fn from(file_engine_type_state: FileEngineTypeState) -> Self { type VirtioBlockState (line 54) | pub struct VirtioBlockState { type State (line 66) | type State = VirtioBlockState; type ConstructorArgs (line 67) | type ConstructorArgs = BlockConstructorArgs; type Error (line 68) | type Error = VirtioBlockError; method save (line 70) | fn save(&self) -> Self::State { method restore (line 84) | fn restore( function test_cache_semantic_ser (line 151) | fn test_cache_semantic_ser() { function test_file_engine_type (line 175) | fn test_file_engine_type() { function test_persistence (line 192) | fn test_persistence() { FILE: src/vmm/src/devices/virtio/block/virtio/request.rs type IoErr (line 25) | pub enum IoErr { type RequestType (line 32) | pub enum RequestType { method from (line 41) | fn from(value: u32) -> Self { type ProcessingResult (line 53) | pub enum ProcessingResult { type FinishedRequest (line 60) | pub struct FinishedRequest { type Status (line 66) | enum Status { method from_data (line 73) | fn from_data(data_len: u32, transferred_data_len: u32, data_to_mem: bo... type PendingRequest (line 93) | pub struct PendingRequest { method write_status_and_finish (line 101) | fn write_status_and_finish( method finish (line 147) | pub fn finish( type RequestHeader (line 201) | pub struct RequestHeader { method new (line 211) | pub fn new(request_type: u32, sector: u64) -> RequestHeader { method read_from (line 226) | fn read_from(memory: &GuestMemoryMmap, addr: GuestAddress) -> Result bool { method offset (line 353) | fn offset(&self) -> u64 { method to_pending_request (line 357) | fn to_pending_request(&self, desc_idx: u16) -> PendingRequest { method process (line 366) | pub(crate) fn process( constant NUM_DISK_SECTORS (line 427) | const NUM_DISK_SECTORS: u64 = 1024; method default (line 430) | fn default() -> Self { function test_read_request_header (line 441) | fn test_read_request_header() { function test_request_type_from (line 470) | fn test_request_type_from() { function check_parse_err (line 482) | fn check_parse_err(&self, _e: VirtioBlockError) { function check_parse (line 492) | fn check_parse(&self, check_data: bool) { function test_parse_generic (line 515) | fn test_parse_generic() { function test_parse_in (line 567) | fn test_parse_in() { function test_parse_out (line 600) | fn test_parse_out() { function test_parse_flush (line 633) | fn test_parse_flush() { function test_parse_get_id (line 649) | fn test_parse_get_id() { type Parameters (line 691) | type Parameters = ::Parameters; type Strategy (line 695) | type Strategy = TupleUnion<( method arbitrary_with (line 706) | fn arbitrary_with(_: Self::Parameters) -> Self::Strategy { function from (line 728) | fn from(request_type: RequestType) -> u32 { function request_type_flags (line 740) | fn request_type_flags(request_type: RequestType) -> u16 { function random_request_parse (line 751) | fn random_request_parse() function do_random_request_parse (line 789) | fn do_random_request_parse( function parse_random_requests (line 960) | fn parse_random_requests() { FILE: src/vmm/src/devices/virtio/block/virtio/test_utils.rs function default_block (line 30) | pub fn default_block(file_engine_type: FileEngineType) -> VirtioBlock { function default_block_with_path (line 39) | pub fn default_block_with_path(path: String, file_engine_type: FileEngin... function set_queue (line 67) | pub fn set_queue(blk: &mut VirtioBlock, idx: usize, q: Queue) { function set_rate_limiter (line 71) | pub fn set_rate_limiter(blk: &mut VirtioBlock, rl: RateLimiter) { function rate_limiter (line 75) | pub fn rate_limiter(blk: &mut VirtioBlock) -> &RateLimiter { function simulate_queue_event (line 80) | pub fn simulate_queue_event(b: &mut VirtioBlock, maybe_expected_irq: Opt... function simulate_async_completion_event (line 97) | pub fn simulate_async_completion_event(b: &mut VirtioBlock, expected_irq... function simulate_queue_and_async_completion_events (line 116) | pub fn simulate_queue_and_async_completion_events(b: &mut VirtioBlock, e... type RequestDescriptorChain (line 130) | pub struct RequestDescriptorChain<'a, 'b> { function new (line 146) | pub fn new(vq: &'b VirtQueue<'a>) -> Self { function header (line 157) | pub fn header(&self) -> RequestHeader { function set_header (line 164) | pub fn set_header(&self, header: RequestHeader) { function read_blk_req_descriptors (line 181) | pub fn read_blk_req_descriptors(vq: &VirtQueue) { FILE: src/vmm/src/devices/virtio/device.rs type ActiveState (line 26) | pub struct ActiveState { type DeviceState (line 34) | pub enum DeviceState { method is_activated (line 41) | pub fn is_activated(&self) -> bool { method active_state (line 49) | pub fn active_state(&self) -> Option<&ActiveState> { type VirtioDeviceType (line 63) | pub enum VirtioDeviceType { type VirtioDevice (line 79) | pub trait VirtioDevice: AsAny + MutEventSubscriber + Send { method avail_features (line 81) | fn avail_features(&self) -> u64; method acked_features (line 84) | fn acked_features(&self) -> u64; method set_acked_features (line 89) | fn set_acked_features(&mut self, acked_features: u64); method has_feature (line 92) | fn has_feature(&self, feature: u64) -> bool { method const_device_type (line 97) | fn const_device_type() -> VirtioDeviceType method device_type (line 104) | fn device_type(&self) -> VirtioDeviceType; method id (line 107) | fn id(&self) -> &str; method queues (line 110) | fn queues(&self) -> &[Queue]; method queues_mut (line 113) | fn queues_mut(&mut self) -> &mut [Queue]; method queue_events (line 116) | fn queue_events(&self) -> &[EventFd]; method interrupt_status (line 119) | fn interrupt_status(&self) -> Arc { method interrupt_trigger (line 123) | fn interrupt_trigger(&self) -> &dyn VirtioInterrupt; method avail_features_by_page (line 126) | fn avail_features_by_page(&self, page: u32) -> u32 { method ack_features_by_page (line 141) | fn ack_features_by_page(&mut self, page: u32, value: u32) { method read_config (line 163) | fn read_config(&self, offset: u64, data: &mut [u8]); method write_config (line 166) | fn write_config(&mut self, offset: u64, data: &[u8]); method activate (line 169) | fn activate( method is_activated (line 176) | fn is_activated(&self) -> bool; method reset (line 180) | fn reset(&mut self) -> Option<(Arc, Vec)> { method mark_queue_memory_dirty (line 185) | fn mark_queue_memory_dirty(&mut self, mem: &GuestMemoryMmap) -> Result... method notify_queue_events (line 193) | fn notify_queue_events(&mut self) { method kick (line 209) | fn kick(&mut self) { method prepare_save (line 216) | fn prepare_save(&mut self) {} method id (line 259) | fn id(&self) -> &str { method avail_features (line 263) | fn avail_features(&self) -> u64 { method acked_features (line 267) | fn acked_features(&self) -> u64 { method set_acked_features (line 271) | fn set_acked_features(&mut self, acked_features: u64) { method queues (line 275) | fn queues(&self) -> &[Queue] { method queues_mut (line 279) | fn queues_mut(&mut self) -> &mut [Queue] { method queue_events (line 283) | fn queue_events(&self) -> &[EventFd] { method interrupt_trigger (line 287) | fn interrupt_trigger(&self) -> &dyn VirtioInterrupt { method read_config (line 291) | fn read_config(&self, _offset: u64, _data: &mut [u8]) { method write_config (line 295) | fn write_config(&mut self, _offset: u64, _data: &[u8]) { method activate (line 299) | fn activate( method is_activated (line 307) | fn is_activated(&self) -> bool { function fmt (line 220) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { type MockVirtioDevice (line 246) | struct MockVirtioDevice { method process (line 252) | fn process(&mut self, _: Events, _: &mut EventOps) {} method init (line 253) | fn init(&mut self, _: &mut EventOps) {} function test_has_feature (line 313) | fn test_has_feature() { function test_features (line 332) | fn test_features() { FILE: src/vmm/src/devices/virtio/generated/virtio_blk.rs constant VIRTIO_BLK_F_SIZE_MAX (line 19) | pub const VIRTIO_BLK_F_SIZE_MAX: u32 = 1; constant VIRTIO_BLK_F_SEG_MAX (line 20) | pub const VIRTIO_BLK_F_SEG_MAX: u32 = 2; constant VIRTIO_BLK_F_GEOMETRY (line 21) | pub const VIRTIO_BLK_F_GEOMETRY: u32 = 4; constant VIRTIO_BLK_F_RO (line 22) | pub const VIRTIO_BLK_F_RO: u32 = 5; constant VIRTIO_BLK_F_BLK_SIZE (line 23) | pub const VIRTIO_BLK_F_BLK_SIZE: u32 = 6; constant VIRTIO_BLK_F_TOPOLOGY (line 24) | pub const VIRTIO_BLK_F_TOPOLOGY: u32 = 10; constant VIRTIO_BLK_F_MQ (line 25) | pub const VIRTIO_BLK_F_MQ: u32 = 12; constant VIRTIO_BLK_F_DISCARD (line 26) | pub const VIRTIO_BLK_F_DISCARD: u32 = 13; constant VIRTIO_BLK_F_WRITE_ZEROES (line 27) | pub const VIRTIO_BLK_F_WRITE_ZEROES: u32 = 14; constant VIRTIO_BLK_F_SECURE_ERASE (line 28) | pub const VIRTIO_BLK_F_SECURE_ERASE: u32 = 16; constant VIRTIO_BLK_F_ZONED (line 29) | pub const VIRTIO_BLK_F_ZONED: u32 = 17; constant VIRTIO_BLK_F_BARRIER (line 30) | pub const VIRTIO_BLK_F_BARRIER: u32 = 0; constant VIRTIO_BLK_F_SCSI (line 31) | pub const VIRTIO_BLK_F_SCSI: u32 = 7; constant VIRTIO_BLK_F_FLUSH (line 32) | pub const VIRTIO_BLK_F_FLUSH: u32 = 9; constant VIRTIO_BLK_F_CONFIG_WCE (line 33) | pub const VIRTIO_BLK_F_CONFIG_WCE: u32 = 11; constant VIRTIO_BLK_F_WCE (line 34) | pub const VIRTIO_BLK_F_WCE: u32 = 9; constant VIRTIO_BLK_ID_BYTES (line 35) | pub const VIRTIO_BLK_ID_BYTES: u32 = 20; constant VIRTIO_BLK_T_IN (line 36) | pub const VIRTIO_BLK_T_IN: u32 = 0; constant VIRTIO_BLK_T_OUT (line 37) | pub const VIRTIO_BLK_T_OUT: u32 = 1; constant VIRTIO_BLK_T_SCSI_CMD (line 38) | pub const VIRTIO_BLK_T_SCSI_CMD: u32 = 2; constant VIRTIO_BLK_T_FLUSH (line 39) | pub const VIRTIO_BLK_T_FLUSH: u32 = 4; constant VIRTIO_BLK_T_GET_ID (line 40) | pub const VIRTIO_BLK_T_GET_ID: u32 = 8; constant VIRTIO_BLK_T_DISCARD (line 41) | pub const VIRTIO_BLK_T_DISCARD: u32 = 11; constant VIRTIO_BLK_T_WRITE_ZEROES (line 42) | pub const VIRTIO_BLK_T_WRITE_ZEROES: u32 = 13; constant VIRTIO_BLK_T_SECURE_ERASE (line 43) | pub const VIRTIO_BLK_T_SECURE_ERASE: u32 = 14; constant VIRTIO_BLK_T_ZONE_APPEND (line 44) | pub const VIRTIO_BLK_T_ZONE_APPEND: u32 = 15; constant VIRTIO_BLK_T_ZONE_REPORT (line 45) | pub const VIRTIO_BLK_T_ZONE_REPORT: u32 = 16; constant VIRTIO_BLK_T_ZONE_OPEN (line 46) | pub const VIRTIO_BLK_T_ZONE_OPEN: u32 = 18; constant VIRTIO_BLK_T_ZONE_CLOSE (line 47) | pub const VIRTIO_BLK_T_ZONE_CLOSE: u32 = 20; constant VIRTIO_BLK_T_ZONE_FINISH (line 48) | pub const VIRTIO_BLK_T_ZONE_FINISH: u32 = 22; constant VIRTIO_BLK_T_ZONE_RESET (line 49) | pub const VIRTIO_BLK_T_ZONE_RESET: u32 = 24; constant VIRTIO_BLK_T_ZONE_RESET_ALL (line 50) | pub const VIRTIO_BLK_T_ZONE_RESET_ALL: u32 = 26; constant VIRTIO_BLK_T_BARRIER (line 51) | pub const VIRTIO_BLK_T_BARRIER: u32 = 2147483648; constant VIRTIO_BLK_Z_NONE (line 52) | pub const VIRTIO_BLK_Z_NONE: u32 = 0; constant VIRTIO_BLK_Z_HM (line 53) | pub const VIRTIO_BLK_Z_HM: u32 = 1; constant VIRTIO_BLK_Z_HA (line 54) | pub const VIRTIO_BLK_Z_HA: u32 = 2; constant VIRTIO_BLK_ZT_CONV (line 55) | pub const VIRTIO_BLK_ZT_CONV: u32 = 1; constant VIRTIO_BLK_ZT_SWR (line 56) | pub const VIRTIO_BLK_ZT_SWR: u32 = 2; constant VIRTIO_BLK_ZT_SWP (line 57) | pub const VIRTIO_BLK_ZT_SWP: u32 = 3; constant VIRTIO_BLK_ZS_NOT_WP (line 58) | pub const VIRTIO_BLK_ZS_NOT_WP: u32 = 0; constant VIRTIO_BLK_ZS_EMPTY (line 59) | pub const VIRTIO_BLK_ZS_EMPTY: u32 = 1; constant VIRTIO_BLK_ZS_IOPEN (line 60) | pub const VIRTIO_BLK_ZS_IOPEN: u32 = 2; constant VIRTIO_BLK_ZS_EOPEN (line 61) | pub const VIRTIO_BLK_ZS_EOPEN: u32 = 3; constant VIRTIO_BLK_ZS_CLOSED (line 62) | pub const VIRTIO_BLK_ZS_CLOSED: u32 = 4; constant VIRTIO_BLK_ZS_RDONLY (line 63) | pub const VIRTIO_BLK_ZS_RDONLY: u32 = 13; constant VIRTIO_BLK_ZS_FULL (line 64) | pub const VIRTIO_BLK_ZS_FULL: u32 = 14; constant VIRTIO_BLK_ZS_OFFLINE (line 65) | pub const VIRTIO_BLK_ZS_OFFLINE: u32 = 15; constant VIRTIO_BLK_WRITE_ZEROES_FLAG_UNMAP (line 66) | pub const VIRTIO_BLK_WRITE_ZEROES_FLAG_UNMAP: u32 = 1; constant VIRTIO_BLK_S_OK (line 67) | pub const VIRTIO_BLK_S_OK: u32 = 0; constant VIRTIO_BLK_S_IOERR (line 68) | pub const VIRTIO_BLK_S_IOERR: u32 = 1; constant VIRTIO_BLK_S_UNSUPP (line 69) | pub const VIRTIO_BLK_S_UNSUPP: u32 = 2; constant VIRTIO_BLK_S_ZONE_INVALID_CMD (line 70) | pub const VIRTIO_BLK_S_ZONE_INVALID_CMD: u32 = 3; constant VIRTIO_BLK_S_ZONE_UNALIGNED_WP (line 71) | pub const VIRTIO_BLK_S_ZONE_UNALIGNED_WP: u32 = 4; constant VIRTIO_BLK_S_ZONE_OPEN_RESOURCE (line 72) | pub const VIRTIO_BLK_S_ZONE_OPEN_RESOURCE: u32 = 5; constant VIRTIO_BLK_S_ZONE_ACTIVE_RESOURCE (line 73) | pub const VIRTIO_BLK_S_ZONE_ACTIVE_RESOURCE: u32 = 6; FILE: src/vmm/src/devices/virtio/generated/virtio_config.rs constant VIRTIO_F_NOTIFY_ON_EMPTY (line 19) | pub const VIRTIO_F_NOTIFY_ON_EMPTY: u32 = 24; constant VIRTIO_F_ANY_LAYOUT (line 20) | pub const VIRTIO_F_ANY_LAYOUT: u32 = 27; constant VIRTIO_F_VERSION_1 (line 21) | pub const VIRTIO_F_VERSION_1: u32 = 32; constant VIRTIO_F_ACCESS_PLATFORM (line 22) | pub const VIRTIO_F_ACCESS_PLATFORM: u32 = 33; constant VIRTIO_F_IOMMU_PLATFORM (line 23) | pub const VIRTIO_F_IOMMU_PLATFORM: u32 = 33; constant VIRTIO_F_RING_PACKED (line 24) | pub const VIRTIO_F_RING_PACKED: u32 = 34; constant VIRTIO_F_IN_ORDER (line 25) | pub const VIRTIO_F_IN_ORDER: u32 = 35; constant VIRTIO_F_ORDER_PLATFORM (line 26) | pub const VIRTIO_F_ORDER_PLATFORM: u32 = 36; constant VIRTIO_F_SR_IOV (line 27) | pub const VIRTIO_F_SR_IOV: u32 = 37; constant VIRTIO_F_NOTIFICATION_DATA (line 28) | pub const VIRTIO_F_NOTIFICATION_DATA: u32 = 38; constant VIRTIO_F_NOTIF_CONFIG_DATA (line 29) | pub const VIRTIO_F_NOTIF_CONFIG_DATA: u32 = 39; constant VIRTIO_F_RING_RESET (line 30) | pub const VIRTIO_F_RING_RESET: u32 = 40; constant VIRTIO_F_ADMIN_VQ (line 31) | pub const VIRTIO_F_ADMIN_VQ: u32 = 41; FILE: src/vmm/src/devices/virtio/generated/virtio_ids.rs constant VIRTIO_ID_NET (line 19) | pub const VIRTIO_ID_NET: u32 = 1; constant VIRTIO_ID_BLOCK (line 20) | pub const VIRTIO_ID_BLOCK: u32 = 2; constant VIRTIO_ID_CONSOLE (line 21) | pub const VIRTIO_ID_CONSOLE: u32 = 3; constant VIRTIO_ID_RNG (line 22) | pub const VIRTIO_ID_RNG: u32 = 4; constant VIRTIO_ID_BALLOON (line 23) | pub const VIRTIO_ID_BALLOON: u32 = 5; constant VIRTIO_ID_IOMEM (line 24) | pub const VIRTIO_ID_IOMEM: u32 = 6; constant VIRTIO_ID_RPMSG (line 25) | pub const VIRTIO_ID_RPMSG: u32 = 7; constant VIRTIO_ID_SCSI (line 26) | pub const VIRTIO_ID_SCSI: u32 = 8; constant VIRTIO_ID_9P (line 27) | pub const VIRTIO_ID_9P: u32 = 9; constant VIRTIO_ID_MAC80211_WLAN (line 28) | pub const VIRTIO_ID_MAC80211_WLAN: u32 = 10; constant VIRTIO_ID_RPROC_SERIAL (line 29) | pub const VIRTIO_ID_RPROC_SERIAL: u32 = 11; constant VIRTIO_ID_CAIF (line 30) | pub const VIRTIO_ID_CAIF: u32 = 12; constant VIRTIO_ID_MEMORY_BALLOON (line 31) | pub const VIRTIO_ID_MEMORY_BALLOON: u32 = 13; constant VIRTIO_ID_GPU (line 32) | pub const VIRTIO_ID_GPU: u32 = 16; constant VIRTIO_ID_CLOCK (line 33) | pub const VIRTIO_ID_CLOCK: u32 = 17; constant VIRTIO_ID_INPUT (line 34) | pub const VIRTIO_ID_INPUT: u32 = 18; constant VIRTIO_ID_VSOCK (line 35) | pub const VIRTIO_ID_VSOCK: u32 = 19; constant VIRTIO_ID_CRYPTO (line 36) | pub const VIRTIO_ID_CRYPTO: u32 = 20; constant VIRTIO_ID_SIGNAL_DIST (line 37) | pub const VIRTIO_ID_SIGNAL_DIST: u32 = 21; constant VIRTIO_ID_PSTORE (line 38) | pub const VIRTIO_ID_PSTORE: u32 = 22; constant VIRTIO_ID_IOMMU (line 39) | pub const VIRTIO_ID_IOMMU: u32 = 23; constant VIRTIO_ID_MEM (line 40) | pub const VIRTIO_ID_MEM: u32 = 24; constant VIRTIO_ID_SOUND (line 41) | pub const VIRTIO_ID_SOUND: u32 = 25; constant VIRTIO_ID_FS (line 42) | pub const VIRTIO_ID_FS: u32 = 26; constant VIRTIO_ID_PMEM (line 43) | pub const VIRTIO_ID_PMEM: u32 = 27; constant VIRTIO_ID_RPMB (line 44) | pub const VIRTIO_ID_RPMB: u32 = 28; constant VIRTIO_ID_MAC80211_HWSIM (line 45) | pub const VIRTIO_ID_MAC80211_HWSIM: u32 = 29; constant VIRTIO_ID_VIDEO_ENCODER (line 46) | pub const VIRTIO_ID_VIDEO_ENCODER: u32 = 30; constant VIRTIO_ID_VIDEO_DECODER (line 47) | pub const VIRTIO_ID_VIDEO_DECODER: u32 = 31; constant VIRTIO_ID_SCMI (line 48) | pub const VIRTIO_ID_SCMI: u32 = 32; constant VIRTIO_ID_NITRO_SEC_MOD (line 49) | pub const VIRTIO_ID_NITRO_SEC_MOD: u32 = 33; constant VIRTIO_ID_I2C_ADAPTER (line 50) | pub const VIRTIO_ID_I2C_ADAPTER: u32 = 34; constant VIRTIO_ID_WATCHDOG (line 51) | pub const VIRTIO_ID_WATCHDOG: u32 = 35; constant VIRTIO_ID_CAN (line 52) | pub const VIRTIO_ID_CAN: u32 = 36; constant VIRTIO_ID_DMABUF (line 53) | pub const VIRTIO_ID_DMABUF: u32 = 37; constant VIRTIO_ID_PARAM_SERV (line 54) | pub const VIRTIO_ID_PARAM_SERV: u32 = 38; constant VIRTIO_ID_AUDIO_POLICY (line 55) | pub const VIRTIO_ID_AUDIO_POLICY: u32 = 39; constant VIRTIO_ID_BT (line 56) | pub const VIRTIO_ID_BT: u32 = 40; constant VIRTIO_ID_GPIO (line 57) | pub const VIRTIO_ID_GPIO: u32 = 41; FILE: src/vmm/src/devices/virtio/generated/virtio_mem.rs constant VIRTIO_MEM_F_ACPI_PXM (line 19) | pub const VIRTIO_MEM_F_ACPI_PXM: u32 = 0; constant VIRTIO_MEM_F_UNPLUGGED_INACCESSIBLE (line 20) | pub const VIRTIO_MEM_F_UNPLUGGED_INACCESSIBLE: u32 = 1; constant VIRTIO_MEM_F_PERSISTENT_SUSPEND (line 21) | pub const VIRTIO_MEM_F_PERSISTENT_SUSPEND: u32 = 2; constant VIRTIO_MEM_REQ_PLUG (line 22) | pub const VIRTIO_MEM_REQ_PLUG: u32 = 0; constant VIRTIO_MEM_REQ_UNPLUG (line 23) | pub const VIRTIO_MEM_REQ_UNPLUG: u32 = 1; constant VIRTIO_MEM_REQ_UNPLUG_ALL (line 24) | pub const VIRTIO_MEM_REQ_UNPLUG_ALL: u32 = 2; constant VIRTIO_MEM_REQ_STATE (line 25) | pub const VIRTIO_MEM_REQ_STATE: u32 = 3; constant VIRTIO_MEM_RESP_ACK (line 26) | pub const VIRTIO_MEM_RESP_ACK: u32 = 0; constant VIRTIO_MEM_RESP_NACK (line 27) | pub const VIRTIO_MEM_RESP_NACK: u32 = 1; constant VIRTIO_MEM_RESP_BUSY (line 28) | pub const VIRTIO_MEM_RESP_BUSY: u32 = 2; constant VIRTIO_MEM_RESP_ERROR (line 29) | pub const VIRTIO_MEM_RESP_ERROR: u32 = 3; constant VIRTIO_MEM_STATE_PLUGGED (line 30) | pub const VIRTIO_MEM_STATE_PLUGGED: u32 = 0; constant VIRTIO_MEM_STATE_UNPLUGGED (line 31) | pub const VIRTIO_MEM_STATE_UNPLUGGED: u32 = 1; constant VIRTIO_MEM_STATE_MIXED (line 32) | pub const VIRTIO_MEM_STATE_MIXED: u32 = 2; type __u8 (line 33) | pub type __u8 = ::std::os::raw::c_uchar; type __u16 (line 34) | pub type __u16 = ::std::os::raw::c_ushort; type __u64 (line 35) | pub type __u64 = ::std::os::raw::c_ulonglong; type __le16 (line 36) | pub type __le16 = __u16; type __le64 (line 37) | pub type __le64 = __u64; type __virtio16 (line 38) | pub type __virtio16 = __u16; type __virtio64 (line 39) | pub type __virtio64 = __u64; type virtio_mem_req_plug (line 42) | pub struct virtio_mem_req_plug { constant _ (line 48) | const _: () = { type virtio_mem_req_unplug (line 60) | pub struct virtio_mem_req_unplug { constant _ (line 66) | const _: () = { type virtio_mem_req_state (line 79) | pub struct virtio_mem_req_state { constant _ (line 85) | const _: () = { type virtio_mem_req (line 97) | pub struct virtio_mem_req { constant _ (line 110) | const _: () = { method default (line 123) | fn default() -> Self { constant _ (line 132) | const _: () = { method default (line 142) | fn default() -> Self { type virtio_mem_resp_state (line 152) | pub struct virtio_mem_resp_state { constant _ (line 156) | const _: () = { type virtio_mem_resp (line 165) | pub struct virtio_mem_resp { constant _ (line 176) | const _: () = { method default (line 185) | fn default() -> Self { constant _ (line 194) | const _: () = { method default (line 204) | fn default() -> Self { type virtio_mem_config (line 214) | pub struct virtio_mem_config { constant _ (line 225) | const _: () = { FILE: src/vmm/src/devices/virtio/generated/virtio_net.rs constant VIRTIO_NET_F_CSUM (line 19) | pub const VIRTIO_NET_F_CSUM: u32 = 0; constant VIRTIO_NET_F_GUEST_CSUM (line 20) | pub const VIRTIO_NET_F_GUEST_CSUM: u32 = 1; constant VIRTIO_NET_F_CTRL_GUEST_OFFLOADS (line 21) | pub const VIRTIO_NET_F_CTRL_GUEST_OFFLOADS: u32 = 2; constant VIRTIO_NET_F_MTU (line 22) | pub const VIRTIO_NET_F_MTU: u32 = 3; constant VIRTIO_NET_F_MAC (line 23) | pub const VIRTIO_NET_F_MAC: u32 = 5; constant VIRTIO_NET_F_GUEST_TSO4 (line 24) | pub const VIRTIO_NET_F_GUEST_TSO4: u32 = 7; constant VIRTIO_NET_F_GUEST_TSO6 (line 25) | pub const VIRTIO_NET_F_GUEST_TSO6: u32 = 8; constant VIRTIO_NET_F_GUEST_ECN (line 26) | pub const VIRTIO_NET_F_GUEST_ECN: u32 = 9; constant VIRTIO_NET_F_GUEST_UFO (line 27) | pub const VIRTIO_NET_F_GUEST_UFO: u32 = 10; constant VIRTIO_NET_F_HOST_TSO4 (line 28) | pub const VIRTIO_NET_F_HOST_TSO4: u32 = 11; constant VIRTIO_NET_F_HOST_TSO6 (line 29) | pub const VIRTIO_NET_F_HOST_TSO6: u32 = 12; constant VIRTIO_NET_F_HOST_ECN (line 30) | pub const VIRTIO_NET_F_HOST_ECN: u32 = 13; constant VIRTIO_NET_F_HOST_UFO (line 31) | pub const VIRTIO_NET_F_HOST_UFO: u32 = 14; constant VIRTIO_NET_F_MRG_RXBUF (line 32) | pub const VIRTIO_NET_F_MRG_RXBUF: u32 = 15; constant VIRTIO_NET_F_STATUS (line 33) | pub const VIRTIO_NET_F_STATUS: u32 = 16; constant VIRTIO_NET_F_CTRL_VQ (line 34) | pub const VIRTIO_NET_F_CTRL_VQ: u32 = 17; constant VIRTIO_NET_F_CTRL_RX (line 35) | pub const VIRTIO_NET_F_CTRL_RX: u32 = 18; constant VIRTIO_NET_F_CTRL_VLAN (line 36) | pub const VIRTIO_NET_F_CTRL_VLAN: u32 = 19; constant VIRTIO_NET_F_CTRL_RX_EXTRA (line 37) | pub const VIRTIO_NET_F_CTRL_RX_EXTRA: u32 = 20; constant VIRTIO_NET_F_GUEST_ANNOUNCE (line 38) | pub const VIRTIO_NET_F_GUEST_ANNOUNCE: u32 = 21; constant VIRTIO_NET_F_MQ (line 39) | pub const VIRTIO_NET_F_MQ: u32 = 22; constant VIRTIO_NET_F_CTRL_MAC_ADDR (line 40) | pub const VIRTIO_NET_F_CTRL_MAC_ADDR: u32 = 23; constant VIRTIO_NET_F_DEVICE_STATS (line 41) | pub const VIRTIO_NET_F_DEVICE_STATS: u32 = 50; constant VIRTIO_NET_F_VQ_NOTF_COAL (line 42) | pub const VIRTIO_NET_F_VQ_NOTF_COAL: u32 = 52; constant VIRTIO_NET_F_NOTF_COAL (line 43) | pub const VIRTIO_NET_F_NOTF_COAL: u32 = 53; constant VIRTIO_NET_F_GUEST_USO4 (line 44) | pub const VIRTIO_NET_F_GUEST_USO4: u32 = 54; constant VIRTIO_NET_F_GUEST_USO6 (line 45) | pub const VIRTIO_NET_F_GUEST_USO6: u32 = 55; constant VIRTIO_NET_F_HOST_USO (line 46) | pub const VIRTIO_NET_F_HOST_USO: u32 = 56; constant VIRTIO_NET_F_HASH_REPORT (line 47) | pub const VIRTIO_NET_F_HASH_REPORT: u32 = 57; constant VIRTIO_NET_F_GUEST_HDRLEN (line 48) | pub const VIRTIO_NET_F_GUEST_HDRLEN: u32 = 59; constant VIRTIO_NET_F_RSS (line 49) | pub const VIRTIO_NET_F_RSS: u32 = 60; constant VIRTIO_NET_F_RSC_EXT (line 50) | pub const VIRTIO_NET_F_RSC_EXT: u32 = 61; constant VIRTIO_NET_F_STANDBY (line 51) | pub const VIRTIO_NET_F_STANDBY: u32 = 62; constant VIRTIO_NET_F_SPEED_DUPLEX (line 52) | pub const VIRTIO_NET_F_SPEED_DUPLEX: u32 = 63; constant VIRTIO_NET_F_GSO (line 53) | pub const VIRTIO_NET_F_GSO: u32 = 6; type __u8 (line 54) | pub type __u8 = ::std::os::raw::c_uchar; type __u16 (line 55) | pub type __u16 = ::std::os::raw::c_ushort; type __le16 (line 56) | pub type __le16 = __u16; type __virtio16 (line 57) | pub type __virtio16 = __u16; type virtio_net_hdr_v1 (line 60) | pub struct virtio_net_hdr_v1 { type virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_1 (line 77) | pub struct virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_1 { constant _ (line 82) | const _: () = { type virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_2 (line 98) | pub struct virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_2 { constant _ (line 103) | const _: () = { type virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_3 (line 115) | pub struct virtio_net_hdr_v1__bindgen_ty_1__bindgen_ty_3 { constant _ (line 120) | const _: () = { constant _ (line 131) | const _: () = { method default (line 142) | fn default() -> Self { constant _ (line 151) | const _: () = { method default (line 166) | fn default() -> Self { FILE: src/vmm/src/devices/virtio/generated/virtio_ring.rs constant VIRTIO_RING_F_EVENT_IDX (line 19) | pub const VIRTIO_RING_F_EVENT_IDX: u32 = 29; FILE: src/vmm/src/devices/virtio/iov_deque.rs type IovDequeError (line 12) | pub enum IovDequeError { type IovDeque (line 84) | pub struct IovDeque { function create_memfd (line 96) | fn create_memfd(pages_bytes: usize) -> Result Result<*mut c_void... function pages_bytes (line 154) | fn pages_bytes() -> usize { function new (line 162) | pub fn new() -> Result { function len (line 221) | pub fn len(&self) -> u16 { function is_full (line 227) | pub fn is_full(&self) -> bool { function clear (line 233) | pub fn clear(&mut self) { function push_back (line 241) | pub fn push_back(&mut self, iov: iovec) { function pop_front (line 265) | pub fn pop_front(&mut self, nr_iovecs: u16) { function pop_back (line 282) | pub fn pop_back(&mut self, nr_iovecs: u16) { function as_slice (line 292) | pub fn as_slice(&self) -> &[iovec] { function as_mut_slice (line 311) | pub fn as_mut_slice(&mut self) -> &mut [iovec] { method drop (line 331) | fn drop(&mut self) { type IovDeque (line 345) | type IovDeque = super::IovDeque<256>; function test_new (line 348) | fn test_new() { function test_new_less_than_page (line 354) | fn test_new_less_than_page() { function test_new_more_than_page (line 360) | fn test_new_more_than_page() { function make_iovec (line 365) | fn make_iovec(id: u16, len: u16) -> iovec { function test_push_back_too_many (line 374) | fn test_push_back_too_many() { function test_pop_front_from_empty (line 388) | fn test_pop_front_from_empty() { function test_pop_front_too_many (line 395) | fn test_pop_front_too_many() { function test_pop_font (line 402) | fn test_pop_font() { function test_pop_back (line 443) | fn test_pop_back() { function test_pop_many (line 484) | fn test_pop_many() { function test_as_slice (line 510) | fn test_as_slice() { function test_as_mut_slice (line 527) | fn test_as_mut_slice() { function test_size_less_than_capacity (line 549) | fn test_size_less_than_capacity() { FILE: src/vmm/src/devices/virtio/iovec.rs type IoVecError (line 19) | pub enum IoVecError { type IoVecBuffer (line 40) | pub struct IoVecBuffer { method load_descriptor_chain (line 57) | pub unsafe fn load_descriptor_chain( method from_descriptor_chain (line 98) | pub unsafe fn from_descriptor_chain( method len (line 111) | pub(crate) fn len(&self) -> u32 { method as_iovec_ptr (line 116) | pub fn as_iovec_ptr(&self) -> *const iovec { method iovec_count (line 121) | pub fn iovec_count(&self) -> usize { method clear (line 126) | pub fn clear(&mut self) { method read_exact_volatile_at (line 141) | pub fn read_exact_volatile_at( method read_volatile_at (line 167) | pub fn read_volatile_at( method from (line 507) | fn from(buf: &'a [u8]) -> Self { method from (line 519) | fn from(buffer: Vec<&'a [u8]>) -> Self { method any_of_length (line 913) | fn any_of_length(nr_descs: usize) -> Self { type ParsedDescriptorChain (line 221) | pub struct ParsedDescriptorChain { type IoVecBufferMut (line 234) | pub struct IoVecBufferMut { function append_descriptor_chain (line 254) | pub unsafe fn append_descriptor_chain( function new (line 317) | pub fn new() -> Result { function load_descriptor_chain (line 330) | pub unsafe fn load_descriptor_chain( function drop_chain_front (line 344) | pub fn drop_chain_front(&mut self, parse_descriptor: &ParsedDescriptorCh... function drop_chain_back (line 352) | pub fn drop_chain_back(&mut self, parse_descriptor: &ParsedDescriptorCha... function from_descriptor_chain (line 362) | pub unsafe fn from_descriptor_chain( function len (line 376) | pub fn len(&self) -> u32 { function is_empty (line 382) | pub fn is_empty(&self) -> bool { function as_iovec_mut_slice (line 387) | pub fn as_iovec_mut_slice(&mut self) -> &mut [iovec] { function clear (line 392) | pub fn clear(&mut self) { function write_all_volatile_at (line 408) | pub fn write_all_volatile_at( function write_volatile_at (line 434) | pub fn write_volatile_at( type IoVecBufferMutDefault (line 496) | type IoVecBufferMutDefault = super::IoVecBufferMut Self { function from (line 537) | fn from(buf: &mut [u8]) -> Self { function from (line 552) | fn from(buffer: Vec<&mut [u8]>) -> Self { function default_mem (line 568) | fn default_mem() -> GuestMemoryMmap { function chain (line 576) | fn chain(m: &GuestMemoryMmap, is_write_only: bool) -> (Queue, VirtQueue<... function read_only_chain (line 600) | fn read_only_chain(mem: &GuestMemoryMmap) -> (Queue, VirtQueue<'_>) { function write_only_chain (line 607) | fn write_only_chain(mem: &GuestMemoryMmap) -> (Queue, VirtQueue<'_>) { function test_access_mode (line 615) | fn test_access_mode() { function test_iovec_length (line 639) | fn test_iovec_length() { function test_iovec_mut_length (line 650) | fn test_iovec_mut_length() { function test_iovec_read_at (line 673) | fn test_iovec_read_at() { function test_iovec_mut_write_at (line 726) | fn test_iovec_mut_write_at() { type IoVecBufferMutDefault (line 833) | type IoVecBufferMutDefault = super::IoVecBufferMut Self { type IovDequeDefault (line 834) | type IovDequeDefault = IovDeque; constant GUEST_MEMORY_SIZE (line 839) | const GUEST_MEMORY_SIZE: usize = 1 << 10; constant MAX_DESC_LENGTH (line 846) | const MAX_DESC_LENGTH: usize = 4; function push_back (line 866) | pub fn push_back(deque: &mut IovDeque, iov: iovec) { function create_iovecs (line 892) | fn create_iovecs(mem: *mut u8, size: usize, nr_descs: usize) -> (Vec IovDequeDefault { function create_iovecs_mut (line 938) | fn create_iovecs_mut(mem: *mut u8, size: usize, nr_descs: usize) -> (Iov... type KaniBuffer (line 979) | struct KaniBuffer<'a>(&'a mut [u8]); function read_volatile (line 982) | fn read_volatile( function write_volatile (line 996) | fn write_volatile( function verify_read_from_iovec (line 1016) | fn verify_read_from_iovec() { function verify_write_to_iovec (line 1049) | fn verify_write_to_iovec() { FILE: src/vmm/src/devices/virtio/mem/device.rs type VirtioMemError (line 45) | pub enum VirtioMemError { type VirtioMem (line 85) | pub struct VirtioMem { method new (line 121) | pub fn new( method from_state (line 146) | pub fn from_state( method guest_address (line 172) | pub fn guest_address(&self) -> GuestAddress { method total_size_mib (line 177) | pub fn total_size_mib(&self) -> usize { method block_size_mib (line 182) | pub fn block_size_mib(&self) -> usize { method slot_size_mib (line 187) | pub fn slot_size_mib(&self) -> usize { method plugged_size_mib (line 192) | pub fn plugged_size_mib(&self) -> usize { method requested_size_mib (line 197) | pub fn requested_size_mib(&self) -> usize { method status (line 201) | pub fn status(&self) -> VirtioMemStatus { method signal_used_queue (line 211) | fn signal_used_queue(&self) -> Result<(), VirtioMemError> { method guest_memory (line 217) | fn guest_memory(&self) -> &GuestMemoryMmap { method nb_blocks_to_len (line 221) | fn nb_blocks_to_len(&self, nb_blocks: usize) -> usize { method range_state (line 229) | fn range_state(&self, range: &RequestedRange) -> BlockRangeState { method parse_request (line 239) | fn parse_request( method write_response (line 273) | fn write_response( method validate_range (line 293) | fn validate_range(&self, range: &RequestedRange) -> Result<(), VirtioM... method unchecked_block_range (line 323) | fn unchecked_block_range(&self, range: &RequestedRange) -> Range { method process_plug_request (line 329) | fn process_plug_request(&mut self, range: &RequestedRange) -> Result<(... method handle_plug_request (line 345) | fn handle_plug_request( method process_unplug_request (line 370) | fn process_unplug_request(&mut self, range: &RequestedRange) -> Result... method handle_unplug_request (line 380) | fn handle_unplug_request( method handle_unplug_all_request (line 404) | fn handle_unplug_all_request( method handle_state_request (line 429) | fn handle_state_request( method process_mem_queue (line 449) | fn process_mem_queue(&mut self) -> Result<(), VirtioMemError> { method process_mem_queue_event (line 473) | pub(crate) fn process_mem_queue_event(&mut self) { method process_virtio_queues (line 487) | pub fn process_virtio_queues(&mut self) -> Result<(), VirtioMemError> { method set_avail_features (line 491) | pub(crate) fn set_avail_features(&mut self, features: u64) { method set_acked_features (line 495) | pub(crate) fn set_acked_features(&mut self, features: u64) { method activate_event (line 499) | pub(crate) fn activate_event(&self) -> &EventFd { method update_kvm_slots (line 503) | fn update_kvm_slots(&self, updated_range: &RequestedRange) -> Result<(... method update_range (line 533) | fn update_range(&mut self, range: &RequestedRange, plug: bool) -> Resu... method update_requested_size (line 559) | pub fn update_requested_size( type VirtioMemStatus (line 107) | pub struct VirtioMemStatus { method id (line 602) | fn id(&self) -> &str { method queues (line 606) | fn queues(&self) -> &[Queue] { method queues_mut (line 610) | fn queues_mut(&mut self) -> &mut [Queue] { method queue_events (line 614) | fn queue_events(&self) -> &[EventFd] { method interrupt_trigger (line 618) | fn interrupt_trigger(&self) -> &dyn VirtioInterrupt { method avail_features (line 626) | fn avail_features(&self) -> u64 { method acked_features (line 630) | fn acked_features(&self) -> u64 { method set_acked_features (line 634) | fn set_acked_features(&mut self, acked_features: u64) { method read_config (line 638) | fn read_config(&self, offset: u64, data: &mut [u8]) { method write_config (line 652) | fn write_config(&mut self, offset: u64, _data: &[u8]) { method is_activated (line 656) | fn is_activated(&self) -> bool { method activate (line 660) | fn activate( method kick (line 690) | fn kick(&mut self) { method set_queues (line 708) | fn set_queues(&mut self, queues: Vec) { method num_queues (line 712) | fn num_queues(&self) -> usize { function default_virtio_mem (line 717) | pub(crate) fn default_virtio_mem() -> VirtioMem { function test_new (line 752) | fn test_new() { function test_from_state (line 772) | fn test_from_state() { function test_read_config (line 811) | fn test_read_config() { function test_read_config_out_of_bounds (line 832) | fn test_read_config_out_of_bounds() { function test_write_config (line 846) | fn test_write_config() { function test_set_features (line 859) | fn test_set_features() { function test_status (line 868) | fn test_status() { constant REQ_SIZE (line 884) | const REQ_SIZE: u32 = std::mem::size_of::() ... constant RESP_SIZE (line 886) | const RESP_SIZE: u32 = std::mem::size_of::(... function test_helper (line 888) | fn test_helper<'a>( function emulate_request (line 899) | fn emulate_request( function test_event_fail_descriptor_chain_too_short (line 921) | fn test_event_fail_descriptor_chain_too_short() { function test_event_fail_descriptor_length_too_small (line 937) | fn test_event_fail_descriptor_length_too_small() { function test_event_fail_unexpected_writeonly_descriptor (line 953) | fn test_event_fail_unexpected_writeonly_descriptor() { function test_event_fail_unexpected_readonly_descriptor (line 969) | fn test_event_fail_unexpected_readonly_descriptor() { function test_event_fail_response_descriptor_length_too_small (line 985) | fn test_event_fail_response_descriptor_length_too_small() { function test_update_requested_size_device_not_active (line 1005) | fn test_update_requested_size_device_not_active() { function test_update_requested_size_invalid_size (line 1012) | fn test_update_requested_size_invalid_size() { function test_update_requested_size_success (line 1027) | fn test_update_requested_size_success() { function test_plug_request_success (line 1037) | fn test_plug_request_success() { function test_plug_request_too_big (line 1066) | fn test_plug_request_too_big() { function test_plug_request_already_plugged (line 1090) | fn test_plug_request_already_plugged() { function test_unplug_request_success (line 1115) | fn test_unplug_request_success() { function test_unplug_request_not_plugged (line 1150) | fn test_unplug_request_not_plugged() { function test_unplug_all_request (line 1174) | fn test_unplug_all_request() { function test_state_request_unplugged (line 1203) | fn test_state_request_unplugged() { function test_state_request_plugged (line 1225) | fn test_state_request_plugged() { function test_state_request_mixed (line 1250) | fn test_state_request_mixed() { function test_invalid_range_unaligned (line 1275) | fn test_invalid_range_unaligned() { function test_invalid_range_zero_blocks (line 1297) | fn test_invalid_range_zero_blocks() { function test_invalid_range_out_of_bounds (line 1313) | fn test_invalid_range_out_of_bounds() { function test_unsupported_request (line 1332) | fn test_unsupported_request() { FILE: src/vmm/src/devices/virtio/mem/event_handler.rs constant PROCESS_ACTIVATE (line 13) | const PROCESS_ACTIVATE: u32 = 0; constant PROCESS_MEM_QUEUE (line 14) | const PROCESS_MEM_QUEUE: u32 = 1; method register_runtime_events (line 16) | fn register_runtime_events(&self, ops: &mut EventOps) { method register_activate_event (line 26) | fn register_activate_event(&self, ops: &mut EventOps) { method process_activate_event (line 36) | fn process_activate_event(&self, ops: &mut EventOps) { method init (line 56) | fn init(&mut self, ops: &mut event_manager::EventOps) { method process (line 68) | fn process(&mut self, events: event_manager::Events, ops: &mut event_man... function test_event_handler_activation (line 108) | fn test_event_handler_activation() { function test_process_mem_queue_event (line 148) | fn test_process_mem_queue_event() { function test_spurious_event_before_activation (line 177) | fn test_spurious_event_before_activation() { FILE: src/vmm/src/devices/virtio/mem/metrics.rs function flush_metrics (line 34) | pub fn flush_metrics(serializer: S) -> Result Self { function test_memory_hotplug_metrics (line 112) | fn test_memory_hotplug_metrics() { FILE: src/vmm/src/devices/virtio/mem/mod.rs constant MEM_NUM_QUEUES (line 15) | pub(crate) const MEM_NUM_QUEUES: usize = 1; constant MEM_QUEUE (line 17) | pub(crate) const MEM_QUEUE: usize = 0; constant VIRTIO_MEM_DEFAULT_BLOCK_SIZE_MIB (line 19) | pub const VIRTIO_MEM_DEFAULT_BLOCK_SIZE_MIB: usize = 2; constant VIRTIO_MEM_DEFAULT_SLOT_SIZE_MIB (line 20) | pub const VIRTIO_MEM_DEFAULT_SLOT_SIZE_MIB: usize = 128; constant VIRTIO_MEM_DEV_ID (line 22) | pub const VIRTIO_MEM_DEV_ID: &str = "mem"; FILE: src/vmm/src/devices/virtio/mem/persist.rs type VirtioMemState (line 24) | pub struct VirtioMemState { type VirtioMemConstructorArgs (line 36) | pub struct VirtioMemConstructorArgs { method new (line 41) | pub fn new(vm: Arc) -> Self { type VirtioMemPersistError (line 47) | pub enum VirtioMemPersistError { type State (line 55) | type State = VirtioMemState; type ConstructorArgs (line 56) | type ConstructorArgs = VirtioMemConstructorArgs; type Error (line 57) | type Error = VirtioMemPersistError; method save (line 59) | fn save(&self) -> Self::State { method restore (line 72) | fn restore( function test_save_state (line 117) | fn test_save_state() { function test_save_restore_state (line 134) | fn test_save_restore_state() { FILE: src/vmm/src/devices/virtio/mem/request.rs type RequestedRange (line 9) | pub struct RequestedRange { type Request (line 15) | pub(crate) enum Request { method from (line 27) | fn from(req: virtio_mem::virtio_mem_req) -> Self { type ResponseType (line 59) | pub enum ResponseType { type BlockRangeState (line 69) | pub enum BlockRangeState { type Response (line 76) | pub struct Response { method error (line 83) | pub(crate) fn error() -> Self { method ack (line 90) | pub(crate) fn ack() -> Self { method ack_with_state (line 97) | pub(crate) fn ack_with_state(state: BlockRangeState) -> Self { method is_ack (line 104) | pub(crate) fn is_ack(&self) -> bool { method is_error (line 108) | pub(crate) fn is_error(&self) -> bool { method from (line 184) | fn from(resp: virtio_mem::virtio_mem_resp) -> Self { function from (line 117) | fn from(resp: Response) -> Self { function from (line 136) | fn from(req: Request) -> virtio_mem::virtio_mem_req { FILE: src/vmm/src/devices/virtio/mod.rs constant INIT (line 42) | pub const INIT: u32 = 0; constant ACKNOWLEDGE (line 43) | pub const ACKNOWLEDGE: u32 = 1; constant DRIVER (line 44) | pub const DRIVER: u32 = 2; constant FAILED (line 45) | pub const FAILED: u32 = 128; constant FEATURES_OK (line 46) | pub const FEATURES_OK: u32 = 8; constant DRIVER_OK (line 47) | pub const DRIVER_OK: u32 = 4; constant DEVICE_NEEDS_RESET (line 48) | pub const DEVICE_NEEDS_RESET: u32 = 64; constant NOTIFY_REG_OFFSET (line 53) | pub const NOTIFY_REG_OFFSET: u32 = 0x50; type ActivateError (line 57) | pub enum ActivateError { type AsAny (line 73) | pub trait AsAny { method as_any (line 75) | fn as_any(&self) -> &dyn Any; method as_mut_any (line 78) | fn as_mut_any(&mut self) -> &mut dyn Any; method as_any (line 82) | fn as_any(&self) -> &dyn Any { method as_mut_any (line 86) | fn as_mut_any(&mut self) -> &mut dyn Any { FILE: src/vmm/src/devices/virtio/net/device.rs constant FRAME_HEADER_MAX_LEN (line 51) | const FRAME_HEADER_MAX_LEN: usize = PAYLOAD_OFFSET + ETH_IPV4_FRAME_LEN; function vnet_hdr_len (line 53) | pub(crate) const fn vnet_hdr_len() -> usize { function frame_hdr_len (line 60) | const fn frame_hdr_len() -> usize { function frame_bytes_from_buf (line 66) | fn frame_bytes_from_buf(buf: &[u8]) -> Result<&[u8], NetError> { function frame_bytes_from_buf_mut (line 74) | fn frame_bytes_from_buf_mut(buf: &mut [u8]) -> Result<&mut [u8], NetErro... function init_vnet_hdr (line 83) | fn init_vnet_hdr(buf: &mut [u8]) { type ConfigSpace (line 90) | pub struct ConfigSpace { type AddRxBufferError (line 98) | enum AddRxBufferError { type RxBuffers (line 107) | pub struct RxBuffers { method new (line 122) | fn new() -> Result { method add_buffer (line 137) | unsafe fn add_buffer( method capacity (line 154) | fn capacity(&self) -> u32 { method mark_used (line 165) | unsafe fn mark_used(&mut self, mut bytes_written: u32, rx_queue: &mut ... method header_set_num_buffers (line 198) | fn header_set_num_buffers(&mut self, nr_descs: u16) { method finish_frame (line 213) | fn finish_frame(&mut self, rx_queue: &mut Queue) { method single_chain_slice_mut (line 221) | fn single_chain_slice_mut(&mut self) -> &mut [iovec] { method all_chains_slice_mut (line 227) | fn all_chains_slice_mut(&mut self) -> &mut [iovec] { type Net (line 237) | pub struct Net { method new_with_tap (line 273) | pub fn new_with_tap( method new (line 330) | pub fn new( method guest_mac (line 347) | pub fn guest_mac(&self) -> Option<&MacAddr> { method iface_name (line 352) | pub fn iface_name(&self) -> String { method mmds_ns (line 357) | pub fn mmds_ns(&self) -> Option<&MmdsNetworkStack> { method configure_mmds_network_stack (line 363) | pub fn configure_mmds_network_stack(&mut self, ipv4_addr: Ipv4Addr, mm... method disable_mmds_network_stack (line 372) | pub fn disable_mmds_network_stack(&mut self) { method rx_rate_limiter (line 377) | pub fn rx_rate_limiter(&self) -> &RateLimiter { method tx_rate_limiter (line 382) | pub fn tx_rate_limiter(&self) -> &RateLimiter { method try_signal_queue (line 390) | fn try_signal_queue(&mut self, queue_type: NetQueue) -> Result<(), Dev... method rate_limiter_consume_op (line 410) | fn rate_limiter_consume_op(rate_limiter: &mut RateLimiter, size: u64) ... method rate_limiter_replenish_op (line 424) | fn rate_limiter_replenish_op(rate_limiter: &mut RateLimiter, size: u64) { method rate_limited_rx_single_frame (line 432) | pub fn rate_limited_rx_single_frame(&mut self, frame_size: u32) -> bool { method minimum_rx_buffer_size (line 445) | fn minimum_rx_buffer_size(&self) -> u32 { method parse_rx_descriptors (line 461) | pub fn parse_rx_descriptors(&mut self) -> Result<(), InvalidAvailIdx> { method write_to_mmds_or_tap (line 498) | fn write_to_mmds_or_tap( method read_from_mmds_or_tap (line 569) | fn read_from_mmds_or_tap(&mut self) -> Result, NetError> { method process_rx (line 629) | fn process_rx(&mut self) -> Result<(), DeviceError> { method resume_rx (line 669) | fn resume_rx(&mut self) -> Result<(), DeviceError> { method process_tx (line 682) | fn process_tx(&mut self) -> Result<(), DeviceError> { method build_tap_offload_features (line 763) | pub fn build_tap_offload_features(guest_supported_features: u64) -> u32 { method patch_rate_limiters (line 802) | pub fn patch_rate_limiters( method read_tap (line 818) | pub unsafe fn read_tap(&mut self) -> std::io::Result { method write_tap (line 827) | fn write_tap(tap: &mut Tap, buf: &IoVecBuffer) -> std::io::Result Result<(), InvalidAvailIdx> { method finish_frame (line 1098) | pub fn finish_frame(&mut self) { method id (line 940) | fn id(&self) -> &str { method avail_features (line 944) | fn avail_features(&self) -> u64 { method acked_features (line 948) | fn acked_features(&self) -> u64 { method set_acked_features (line 952) | fn set_acked_features(&mut self, acked_features: u64) { method queues (line 956) | fn queues(&self) -> &[Queue] { method queues_mut (line 960) | fn queues_mut(&mut self) -> &mut [Queue] { method queue_events (line 964) | fn queue_events(&self) -> &[EventFd] { method interrupt_trigger (line 968) | fn interrupt_trigger(&self) -> &dyn VirtioInterrupt { method read_config (line 976) | fn read_config(&self, offset: u64, data: &mut [u8]) { method write_config (line 986) | fn write_config(&mut self, offset: u64, data: &[u8]) { method activate (line 1004) | fn activate( method is_activated (line 1036) | fn is_activated(&self) -> bool { method prepare_save (line 1041) | fn prepare_save(&mut self) { function header_set_num_buffers (line 1105) | fn header_set_num_buffers(frame: &mut [u8], nr_descs: u16) { function test_vnet_helpers (line 1113) | fn test_vnet_helpers() { function test_virtio_device_type (line 1140) | fn test_virtio_device_type() { function test_build_tap_offload_features_all (line 1149) | fn test_build_tap_offload_features_all() { function test_build_tap_offload_features_one_by_one (line 1165) | fn test_build_tap_offload_features_one_by_one() { function test_virtio_device_read_config (line 1178) | fn test_virtio_device_read_config() { function test_virtio_device_rewrite_config (line 1195) | fn test_virtio_device_rewrite_config() { function test_rx_missing_queue_signal (line 1234) | fn test_rx_missing_queue_signal() { function rx_read_only_descriptor (line 1251) | fn rx_read_only_descriptor(mut th: TestHelper) { function test_rx_read_only_descriptor (line 1275) | fn test_rx_read_only_descriptor() { function test_rx_read_only_descriptor_mrg (line 1282) | fn test_rx_read_only_descriptor_mrg() { function rx_short_descriptor (line 1290) | fn rx_short_descriptor(mut th: TestHelper) { function test_rx_short_descriptor (line 1302) | fn test_rx_short_descriptor() { function test_rx_short_descriptor_mrg (line 1309) | fn test_rx_short_descriptor_mrg() { function rx_invalid_descriptor (line 1317) | fn rx_invalid_descriptor(mut th: TestHelper) { function test_rx_invalid_descriptor (line 1340) | fn test_rx_invalid_descriptor() { function test_rx_invalid_descriptor_mrg (line 1347) | fn test_rx_invalid_descriptor_mrg() { function rx_retry (line 1355) | fn rx_retry(mut th: TestHelper) { function test_rx_retry (line 1415) | fn test_rx_retry() { function test_rx_retry_mrg (line 1422) | fn test_rx_retry_mrg() { function rx_complex_desc_chain (line 1430) | fn rx_complex_desc_chain(mut th: TestHelper) { function test_rx_complex_desc_chain (line 1472) | fn test_rx_complex_desc_chain() { function test_rx_complex_desc_chain_mrg (line 1479) | fn test_rx_complex_desc_chain_mrg() { function rx_multiple_frames (line 1487) | fn rx_multiple_frames(mut th: TestHelper) { function test_rx_multiple_frames (line 1546) | fn test_rx_multiple_frames() { function test_rx_multiple_frames_mrg (line 1553) | fn test_rx_multiple_frames_mrg() { function rx_mrg_rxbuf_only (line 1561) | fn rx_mrg_rxbuf_only(mut th: TestHelper) { function test_rx_mrg_rxbuf_only (line 1605) | fn test_rx_mrg_rxbuf_only() { function test_rx_mrg_rxbuf_only_mrg (line 1612) | fn test_rx_mrg_rxbuf_only_mrg() { function test_tx_missing_queue_signal (line 1621) | fn test_tx_missing_queue_signal() { function test_tx_writeable_descriptor (line 1642) | fn test_tx_writeable_descriptor() { function test_tx_short_frame (line 1666) | fn test_tx_short_frame() { function test_tx_big_frame (line 1693) | fn test_tx_big_frame() { function test_tx_empty_frame (line 1724) | fn test_tx_empty_frame() { function test_tx_retry (line 1751) | fn test_tx_retry() { function test_tx_complex_descriptor (line 1798) | fn test_tx_complex_descriptor() { function test_tx_tap_failure (line 1831) | fn test_tx_tap_failure() { function test_tx_multiple_frame (line 1863) | fn test_tx_multiple_frame() { function create_arp_request (line 1903) | fn create_arp_request( function test_mmds_detour_and_injection (line 1936) | fn test_mmds_detour_and_injection() { function test_mac_spoofing_detection (line 1995) | fn test_mac_spoofing_detection() { function test_process_error_cases (line 2040) | fn test_process_error_cases() { function test_read_tap_fail_event_handler (line 2066) | fn test_read_tap_fail_event_handler() { function test_rx_rate_limiter_handling (line 2105) | fn test_rx_rate_limiter_handling() { function test_tx_rate_limiter_handling (line 2120) | fn test_tx_rate_limiter_handling() { function test_bandwidth_rate_limiter (line 2136) | fn test_bandwidth_rate_limiter() { function test_ops_rate_limiter (line 2290) | fn test_ops_rate_limiter() { function test_patch_rate_limiters (line 2419) | fn test_patch_rate_limiters() { function test_virtio_device (line 2461) | fn test_virtio_device() { function test_queues_notification_suppression (line 2488) | fn test_queues_notification_suppression() { FILE: src/vmm/src/devices/virtio/net/event_handler.rs constant PROCESS_ACTIVATE (line 13) | const PROCESS_ACTIVATE: u32 = 0; constant PROCESS_VIRTQ_RX (line 14) | const PROCESS_VIRTQ_RX: u32 = 1; constant PROCESS_VIRTQ_TX (line 15) | const PROCESS_VIRTQ_TX: u32 = 2; constant PROCESS_TAP_RX (line 16) | const PROCESS_TAP_RX: u32 = 3; constant PROCESS_RX_RATE_LIMITER (line 17) | const PROCESS_RX_RATE_LIMITER: u32 = 4; constant PROCESS_TX_RATE_LIMITER (line 18) | const PROCESS_TX_RATE_LIMITER: u32 = 5; method register_runtime_events (line 20) | fn register_runtime_events(&self, ops: &mut EventOps) { method register_activate_event (line 58) | fn register_activate_event(&self, ops: &mut EventOps) { method process_activate_event (line 68) | fn process_activate_event(&self, ops: &mut EventOps) { method process (line 84) | fn process(&mut self, event: Events, ops: &mut EventOps) { method init (line 120) | fn init(&mut self, ops: &mut EventOps) { function test_event_handler (line 141) | fn test_event_handler() { FILE: src/vmm/src/devices/virtio/net/generated/if_tun.rs constant ETH_ALEN (line 19) | pub const ETH_ALEN: u32 = 6; constant ETH_TLEN (line 20) | pub const ETH_TLEN: u32 = 2; constant ETH_HLEN (line 21) | pub const ETH_HLEN: u32 = 14; constant ETH_ZLEN (line 22) | pub const ETH_ZLEN: u32 = 60; constant ETH_DATA_LEN (line 23) | pub const ETH_DATA_LEN: u32 = 1500; constant ETH_FRAME_LEN (line 24) | pub const ETH_FRAME_LEN: u32 = 1514; constant ETH_FCS_LEN (line 25) | pub const ETH_FCS_LEN: u32 = 4; constant ETH_MIN_MTU (line 26) | pub const ETH_MIN_MTU: u32 = 68; constant ETH_MAX_MTU (line 27) | pub const ETH_MAX_MTU: u32 = 65535; constant ETH_P_LOOP (line 28) | pub const ETH_P_LOOP: u32 = 96; constant ETH_P_PUP (line 29) | pub const ETH_P_PUP: u32 = 512; constant ETH_P_PUPAT (line 30) | pub const ETH_P_PUPAT: u32 = 513; constant ETH_P_TSN (line 31) | pub const ETH_P_TSN: u32 = 8944; constant ETH_P_ERSPAN2 (line 32) | pub const ETH_P_ERSPAN2: u32 = 8939; constant ETH_P_IP (line 33) | pub const ETH_P_IP: u32 = 2048; constant ETH_P_X25 (line 34) | pub const ETH_P_X25: u32 = 2053; constant ETH_P_ARP (line 35) | pub const ETH_P_ARP: u32 = 2054; constant ETH_P_BPQ (line 36) | pub const ETH_P_BPQ: u32 = 2303; constant ETH_P_IEEEPUP (line 37) | pub const ETH_P_IEEEPUP: u32 = 2560; constant ETH_P_IEEEPUPAT (line 38) | pub const ETH_P_IEEEPUPAT: u32 = 2561; constant ETH_P_BATMAN (line 39) | pub const ETH_P_BATMAN: u32 = 17157; constant ETH_P_DEC (line 40) | pub const ETH_P_DEC: u32 = 24576; constant ETH_P_DNA_DL (line 41) | pub const ETH_P_DNA_DL: u32 = 24577; constant ETH_P_DNA_RC (line 42) | pub const ETH_P_DNA_RC: u32 = 24578; constant ETH_P_DNA_RT (line 43) | pub const ETH_P_DNA_RT: u32 = 24579; constant ETH_P_LAT (line 44) | pub const ETH_P_LAT: u32 = 24580; constant ETH_P_DIAG (line 45) | pub const ETH_P_DIAG: u32 = 24581; constant ETH_P_CUST (line 46) | pub const ETH_P_CUST: u32 = 24582; constant ETH_P_SCA (line 47) | pub const ETH_P_SCA: u32 = 24583; constant ETH_P_TEB (line 48) | pub const ETH_P_TEB: u32 = 25944; constant ETH_P_RARP (line 49) | pub const ETH_P_RARP: u32 = 32821; constant ETH_P_ATALK (line 50) | pub const ETH_P_ATALK: u32 = 32923; constant ETH_P_AARP (line 51) | pub const ETH_P_AARP: u32 = 33011; constant ETH_P_8021Q (line 52) | pub const ETH_P_8021Q: u32 = 33024; constant ETH_P_ERSPAN (line 53) | pub const ETH_P_ERSPAN: u32 = 35006; constant ETH_P_IPX (line 54) | pub const ETH_P_IPX: u32 = 33079; constant ETH_P_IPV6 (line 55) | pub const ETH_P_IPV6: u32 = 34525; constant ETH_P_PAUSE (line 56) | pub const ETH_P_PAUSE: u32 = 34824; constant ETH_P_SLOW (line 57) | pub const ETH_P_SLOW: u32 = 34825; constant ETH_P_WCCP (line 58) | pub const ETH_P_WCCP: u32 = 34878; constant ETH_P_MPLS_UC (line 59) | pub const ETH_P_MPLS_UC: u32 = 34887; constant ETH_P_MPLS_MC (line 60) | pub const ETH_P_MPLS_MC: u32 = 34888; constant ETH_P_ATMMPOA (line 61) | pub const ETH_P_ATMMPOA: u32 = 34892; constant ETH_P_PPP_DISC (line 62) | pub const ETH_P_PPP_DISC: u32 = 34915; constant ETH_P_PPP_SES (line 63) | pub const ETH_P_PPP_SES: u32 = 34916; constant ETH_P_LINK_CTL (line 64) | pub const ETH_P_LINK_CTL: u32 = 34924; constant ETH_P_ATMFATE (line 65) | pub const ETH_P_ATMFATE: u32 = 34948; constant ETH_P_PAE (line 66) | pub const ETH_P_PAE: u32 = 34958; constant ETH_P_PROFINET (line 67) | pub const ETH_P_PROFINET: u32 = 34962; constant ETH_P_REALTEK (line 68) | pub const ETH_P_REALTEK: u32 = 34969; constant ETH_P_AOE (line 69) | pub const ETH_P_AOE: u32 = 34978; constant ETH_P_ETHERCAT (line 70) | pub const ETH_P_ETHERCAT: u32 = 34980; constant ETH_P_8021AD (line 71) | pub const ETH_P_8021AD: u32 = 34984; constant ETH_P_802_EX1 (line 72) | pub const ETH_P_802_EX1: u32 = 34997; constant ETH_P_PREAUTH (line 73) | pub const ETH_P_PREAUTH: u32 = 35015; constant ETH_P_TIPC (line 74) | pub const ETH_P_TIPC: u32 = 35018; constant ETH_P_LLDP (line 75) | pub const ETH_P_LLDP: u32 = 35020; constant ETH_P_MRP (line 76) | pub const ETH_P_MRP: u32 = 35043; constant ETH_P_MACSEC (line 77) | pub const ETH_P_MACSEC: u32 = 35045; constant ETH_P_8021AH (line 78) | pub const ETH_P_8021AH: u32 = 35047; constant ETH_P_MVRP (line 79) | pub const ETH_P_MVRP: u32 = 35061; constant ETH_P_1588 (line 80) | pub const ETH_P_1588: u32 = 35063; constant ETH_P_NCSI (line 81) | pub const ETH_P_NCSI: u32 = 35064; constant ETH_P_PRP (line 82) | pub const ETH_P_PRP: u32 = 35067; constant ETH_P_CFM (line 83) | pub const ETH_P_CFM: u32 = 35074; constant ETH_P_FCOE (line 84) | pub const ETH_P_FCOE: u32 = 35078; constant ETH_P_IBOE (line 85) | pub const ETH_P_IBOE: u32 = 35093; constant ETH_P_TDLS (line 86) | pub const ETH_P_TDLS: u32 = 35085; constant ETH_P_FIP (line 87) | pub const ETH_P_FIP: u32 = 35092; constant ETH_P_80221 (line 88) | pub const ETH_P_80221: u32 = 35095; constant ETH_P_HSR (line 89) | pub const ETH_P_HSR: u32 = 35119; constant ETH_P_NSH (line 90) | pub const ETH_P_NSH: u32 = 35151; constant ETH_P_LOOPBACK (line 91) | pub const ETH_P_LOOPBACK: u32 = 36864; constant ETH_P_QINQ1 (line 92) | pub const ETH_P_QINQ1: u32 = 37120; constant ETH_P_QINQ2 (line 93) | pub const ETH_P_QINQ2: u32 = 37376; constant ETH_P_QINQ3 (line 94) | pub const ETH_P_QINQ3: u32 = 37632; constant ETH_P_EDSA (line 95) | pub const ETH_P_EDSA: u32 = 56026; constant ETH_P_DSA_8021Q (line 96) | pub const ETH_P_DSA_8021Q: u32 = 56027; constant ETH_P_DSA_A5PSW (line 97) | pub const ETH_P_DSA_A5PSW: u32 = 57345; constant ETH_P_IFE (line 98) | pub const ETH_P_IFE: u32 = 60734; constant ETH_P_AF_IUCV (line 99) | pub const ETH_P_AF_IUCV: u32 = 64507; constant ETH_P_802_3_MIN (line 100) | pub const ETH_P_802_3_MIN: u32 = 1536; constant ETH_P_802_3 (line 101) | pub const ETH_P_802_3: u32 = 1; constant ETH_P_AX25 (line 102) | pub const ETH_P_AX25: u32 = 2; constant ETH_P_ALL (line 103) | pub const ETH_P_ALL: u32 = 3; constant ETH_P_802_2 (line 104) | pub const ETH_P_802_2: u32 = 4; constant ETH_P_SNAP (line 105) | pub const ETH_P_SNAP: u32 = 5; constant ETH_P_DDCMP (line 106) | pub const ETH_P_DDCMP: u32 = 6; constant ETH_P_WAN_PPP (line 107) | pub const ETH_P_WAN_PPP: u32 = 7; constant ETH_P_PPP_MP (line 108) | pub const ETH_P_PPP_MP: u32 = 8; constant ETH_P_LOCALTALK (line 109) | pub const ETH_P_LOCALTALK: u32 = 9; constant ETH_P_CAN (line 110) | pub const ETH_P_CAN: u32 = 12; constant ETH_P_CANFD (line 111) | pub const ETH_P_CANFD: u32 = 13; constant ETH_P_CANXL (line 112) | pub const ETH_P_CANXL: u32 = 14; constant ETH_P_PPPTALK (line 113) | pub const ETH_P_PPPTALK: u32 = 16; constant ETH_P_TR_802_2 (line 114) | pub const ETH_P_TR_802_2: u32 = 17; constant ETH_P_MOBITEX (line 115) | pub const ETH_P_MOBITEX: u32 = 21; constant ETH_P_CONTROL (line 116) | pub const ETH_P_CONTROL: u32 = 22; constant ETH_P_IRDA (line 117) | pub const ETH_P_IRDA: u32 = 23; constant ETH_P_ECONET (line 118) | pub const ETH_P_ECONET: u32 = 24; constant ETH_P_HDLC (line 119) | pub const ETH_P_HDLC: u32 = 25; constant ETH_P_ARCNET (line 120) | pub const ETH_P_ARCNET: u32 = 26; constant ETH_P_DSA (line 121) | pub const ETH_P_DSA: u32 = 27; constant ETH_P_TRAILER (line 122) | pub const ETH_P_TRAILER: u32 = 28; constant ETH_P_PHONET (line 123) | pub const ETH_P_PHONET: u32 = 245; constant ETH_P_IEEE802154 (line 124) | pub const ETH_P_IEEE802154: u32 = 246; constant ETH_P_CAIF (line 125) | pub const ETH_P_CAIF: u32 = 247; constant ETH_P_XDSA (line 126) | pub const ETH_P_XDSA: u32 = 248; constant ETH_P_MAP (line 127) | pub const ETH_P_MAP: u32 = 249; constant ETH_P_MCTP (line 128) | pub const ETH_P_MCTP: u32 = 250; constant TUN_READQ_SIZE (line 129) | pub const TUN_READQ_SIZE: u32 = 500; constant TUN_TYPE_MASK (line 130) | pub const TUN_TYPE_MASK: u32 = 15; constant IFF_TAP (line 131) | pub const IFF_TAP: u32 = 2; constant IFF_NO_PI (line 132) | pub const IFF_NO_PI: u32 = 4096; constant IFF_VNET_HDR (line 133) | pub const IFF_VNET_HDR: u32 = 16384; constant IFF_MULTI_QUEUE (line 134) | pub const IFF_MULTI_QUEUE: u32 = 256; constant TUN_TX_TIMESTAMP (line 135) | pub const TUN_TX_TIMESTAMP: u32 = 1; constant TUN_F_CSUM (line 136) | pub const TUN_F_CSUM: u32 = 1; constant TUN_F_TSO4 (line 137) | pub const TUN_F_TSO4: u32 = 2; constant TUN_F_TSO6 (line 138) | pub const TUN_F_TSO6: u32 = 4; constant TUN_F_TSO_ECN (line 139) | pub const TUN_F_TSO_ECN: u32 = 8; constant TUN_F_UFO (line 140) | pub const TUN_F_UFO: u32 = 16; constant TUN_F_USO4 (line 141) | pub const TUN_F_USO4: u32 = 32; constant TUN_F_USO6 (line 142) | pub const TUN_F_USO6: u32 = 64; constant TUN_PKT_STRIP (line 143) | pub const TUN_PKT_STRIP: u32 = 1; constant TUN_FLT_ALLMULTI (line 144) | pub const TUN_FLT_ALLMULTI: u32 = 1; type __u8 (line 145) | pub type __u8 = ::std::os::raw::c_uchar; type __u16 (line 146) | pub type __u16 = ::std::os::raw::c_ushort; type __u32 (line 147) | pub type __u32 = ::std::os::raw::c_uint; type sock_filter (line 150) | pub struct sock_filter { constant _ (line 157) | const _: () = { type sock_fprog (line 167) | pub struct sock_fprog { constant _ (line 172) | const _: () = { method default (line 179) | fn default() -> Self { FILE: src/vmm/src/devices/virtio/net/generated/iff.rs constant IFNAMSIZ (line 19) | pub const IFNAMSIZ: u32 = 16; constant IFALIASZ (line 20) | pub const IFALIASZ: u32 = 256; constant IF_GET_IFACE (line 21) | pub const IF_GET_IFACE: u32 = 1; constant IF_GET_PROTO (line 22) | pub const IF_GET_PROTO: u32 = 2; constant IF_IFACE_V35 (line 23) | pub const IF_IFACE_V35: u32 = 4096; constant IF_IFACE_V24 (line 24) | pub const IF_IFACE_V24: u32 = 4097; constant IF_IFACE_X21 (line 25) | pub const IF_IFACE_X21: u32 = 4098; constant IF_IFACE_T1 (line 26) | pub const IF_IFACE_T1: u32 = 4099; constant IF_IFACE_E1 (line 27) | pub const IF_IFACE_E1: u32 = 4100; constant IF_IFACE_SYNC_SERIAL (line 28) | pub const IF_IFACE_SYNC_SERIAL: u32 = 4101; constant IF_IFACE_X21D (line 29) | pub const IF_IFACE_X21D: u32 = 4102; constant IF_PROTO_HDLC (line 30) | pub const IF_PROTO_HDLC: u32 = 8192; constant IF_PROTO_PPP (line 31) | pub const IF_PROTO_PPP: u32 = 8193; constant IF_PROTO_CISCO (line 32) | pub const IF_PROTO_CISCO: u32 = 8194; constant IF_PROTO_FR (line 33) | pub const IF_PROTO_FR: u32 = 8195; constant IF_PROTO_FR_ADD_PVC (line 34) | pub const IF_PROTO_FR_ADD_PVC: u32 = 8196; constant IF_PROTO_FR_DEL_PVC (line 35) | pub const IF_PROTO_FR_DEL_PVC: u32 = 8197; constant IF_PROTO_X25 (line 36) | pub const IF_PROTO_X25: u32 = 8198; constant IF_PROTO_HDLC_ETH (line 37) | pub const IF_PROTO_HDLC_ETH: u32 = 8199; constant IF_PROTO_FR_ADD_ETH_PVC (line 38) | pub const IF_PROTO_FR_ADD_ETH_PVC: u32 = 8200; constant IF_PROTO_FR_DEL_ETH_PVC (line 39) | pub const IF_PROTO_FR_DEL_ETH_PVC: u32 = 8201; constant IF_PROTO_FR_PVC (line 40) | pub const IF_PROTO_FR_PVC: u32 = 8202; constant IF_PROTO_FR_ETH_PVC (line 41) | pub const IF_PROTO_FR_ETH_PVC: u32 = 8203; constant IF_PROTO_RAW (line 42) | pub const IF_PROTO_RAW: u32 = 8204; constant IFHWADDRLEN (line 43) | pub const IFHWADDRLEN: u32 = 6; type sa_family_t (line 44) | pub type sa_family_t = ::std::os::raw::c_ushort; type sockaddr (line 47) | pub struct sockaddr { constant _ (line 52) | const _: () = { type sync_serial_settings (line 60) | pub struct sync_serial_settings { constant _ (line 66) | const _: () = { type te1_settings (line 78) | pub struct te1_settings { constant _ (line 85) | const _: () = { type raw_hdlc_proto (line 99) | pub struct raw_hdlc_proto { constant _ (line 104) | const _: () = { type fr_proto (line 114) | pub struct fr_proto { constant _ (line 124) | const _: () = { type fr_proto_pvc (line 137) | pub struct fr_proto_pvc { constant _ (line 141) | const _: () = { type fr_proto_pvc_info (line 148) | pub struct fr_proto_pvc_info { constant _ (line 153) | const _: () = { type cisco_proto (line 163) | pub struct cisco_proto { constant _ (line 168) | const _: () = { type x25_hdlc_proto (line 178) | pub struct x25_hdlc_proto { constant _ (line 187) | const _: () = { type Type (line 200) | pub type Type = ::std::os::raw::c_uint; constant IFF_UP (line 201) | pub const IFF_UP: Type = 1; constant IFF_BROADCAST (line 202) | pub const IFF_BROADCAST: Type = 2; constant IFF_DEBUG (line 203) | pub const IFF_DEBUG: Type = 4; constant IFF_LOOPBACK (line 204) | pub const IFF_LOOPBACK: Type = 8; constant IFF_POINTOPOINT (line 205) | pub const IFF_POINTOPOINT: Type = 16; constant IFF_NOTRAILERS (line 206) | pub const IFF_NOTRAILERS: Type = 32; constant IFF_RUNNING (line 207) | pub const IFF_RUNNING: Type = 64; constant IFF_NOARP (line 208) | pub const IFF_NOARP: Type = 128; constant IFF_PROMISC (line 209) | pub const IFF_PROMISC: Type = 256; constant IFF_ALLMULTI (line 210) | pub const IFF_ALLMULTI: Type = 512; constant IFF_MASTER (line 211) | pub const IFF_MASTER: Type = 1024; constant IFF_SLAVE (line 212) | pub const IFF_SLAVE: Type = 2048; constant IFF_MULTICAST (line 213) | pub const IFF_MULTICAST: Type = 4096; constant IFF_PORTSEL (line 214) | pub const IFF_PORTSEL: Type = 8192; constant IFF_AUTOMEDIA (line 215) | pub const IFF_AUTOMEDIA: Type = 16384; constant IFF_DYNAMIC (line 216) | pub const IFF_DYNAMIC: Type = 32768; constant IFF_LOWER_UP (line 217) | pub const IFF_LOWER_UP: Type = 65536; constant IFF_DORMANT (line 218) | pub const IFF_DORMANT: Type = 131072; constant IFF_ECHO (line 219) | pub const IFF_ECHO: Type = 262144; type Type (line 222) | pub type Type = ::std::os::raw::c_uint; constant IF_OPER_UNKNOWN (line 223) | pub const IF_OPER_UNKNOWN: Type = 0; constant IF_OPER_NOTPRESENT (line 224) | pub const IF_OPER_NOTPRESENT: Type = 1; constant IF_OPER_DOWN (line 225) | pub const IF_OPER_DOWN: Type = 2; constant IF_OPER_LOWERLAYERDOWN (line 226) | pub const IF_OPER_LOWERLAYERDOWN: Type = 3; constant IF_OPER_TESTING (line 227) | pub const IF_OPER_TESTING: Type = 4; constant IF_OPER_DORMANT (line 228) | pub const IF_OPER_DORMANT: Type = 5; constant IF_OPER_UP (line 229) | pub const IF_OPER_UP: Type = 6; type Type (line 232) | pub type Type = ::std::os::raw::c_uint; constant IF_LINK_MODE_DEFAULT (line 233) | pub const IF_LINK_MODE_DEFAULT: Type = 0; constant IF_LINK_MODE_DORMANT (line 234) | pub const IF_LINK_MODE_DORMANT: Type = 1; constant IF_LINK_MODE_TESTING (line 235) | pub const IF_LINK_MODE_TESTING: Type = 2; type ifmap (line 239) | pub struct ifmap { constant _ (line 248) | const _: () = { type if_settings (line 260) | pub struct if_settings { constant _ (line 278) | const _: () = { method default (line 301) | fn default() -> Self { constant _ (line 310) | const _: () = { method default (line 319) | fn default() -> Self { type ifreq (line 329) | pub struct ifreq { constant _ (line 339) | const _: () = { method default (line 346) | fn default() -> Self { constant _ (line 372) | const _: () = { method default (line 403) | fn default() -> Self { constant _ (line 412) | const _: () = { method default (line 419) | fn default() -> Self { type ifconf (line 429) | pub struct ifconf { constant _ (line 440) | const _: () = { method default (line 449) | fn default() -> Self { constant _ (line 458) | const _: () = { method default (line 465) | fn default() -> Self { FILE: src/vmm/src/devices/virtio/net/generated/sockios.rs constant __BITS_PER_LONG (line 19) | pub const __BITS_PER_LONG: u32 = 64; constant __BITS_PER_LONG_LONG (line 20) | pub const __BITS_PER_LONG_LONG: u32 = 64; constant FIOSETOWN (line 21) | pub const FIOSETOWN: u32 = 35073; constant SIOCSPGRP (line 22) | pub const SIOCSPGRP: u32 = 35074; constant FIOGETOWN (line 23) | pub const FIOGETOWN: u32 = 35075; constant SIOCGPGRP (line 24) | pub const SIOCGPGRP: u32 = 35076; constant SIOCATMARK (line 25) | pub const SIOCATMARK: u32 = 35077; constant SIOCGSTAMP_OLD (line 26) | pub const SIOCGSTAMP_OLD: u32 = 35078; constant SIOCGSTAMPNS_OLD (line 27) | pub const SIOCGSTAMPNS_OLD: u32 = 35079; constant SOCK_IOC_TYPE (line 28) | pub const SOCK_IOC_TYPE: u32 = 137; constant SIOCGSTAMP (line 29) | pub const SIOCGSTAMP: u32 = 35078; constant SIOCGSTAMPNS (line 30) | pub const SIOCGSTAMPNS: u32 = 35079; constant SIOCADDRT (line 31) | pub const SIOCADDRT: u32 = 35083; constant SIOCDELRT (line 32) | pub const SIOCDELRT: u32 = 35084; constant SIOCRTMSG (line 33) | pub const SIOCRTMSG: u32 = 35085; constant SIOCGIFNAME (line 34) | pub const SIOCGIFNAME: u32 = 35088; constant SIOCSIFLINK (line 35) | pub const SIOCSIFLINK: u32 = 35089; constant SIOCGIFCONF (line 36) | pub const SIOCGIFCONF: u32 = 35090; constant SIOCGIFFLAGS (line 37) | pub const SIOCGIFFLAGS: u32 = 35091; constant SIOCSIFFLAGS (line 38) | pub const SIOCSIFFLAGS: u32 = 35092; constant SIOCGIFADDR (line 39) | pub const SIOCGIFADDR: u32 = 35093; constant SIOCSIFADDR (line 40) | pub const SIOCSIFADDR: u32 = 35094; constant SIOCGIFDSTADDR (line 41) | pub const SIOCGIFDSTADDR: u32 = 35095; constant SIOCSIFDSTADDR (line 42) | pub const SIOCSIFDSTADDR: u32 = 35096; constant SIOCGIFBRDADDR (line 43) | pub const SIOCGIFBRDADDR: u32 = 35097; constant SIOCSIFBRDADDR (line 44) | pub const SIOCSIFBRDADDR: u32 = 35098; constant SIOCGIFNETMASK (line 45) | pub const SIOCGIFNETMASK: u32 = 35099; constant SIOCSIFNETMASK (line 46) | pub const SIOCSIFNETMASK: u32 = 35100; constant SIOCGIFMETRIC (line 47) | pub const SIOCGIFMETRIC: u32 = 35101; constant SIOCSIFMETRIC (line 48) | pub const SIOCSIFMETRIC: u32 = 35102; constant SIOCGIFMEM (line 49) | pub const SIOCGIFMEM: u32 = 35103; constant SIOCSIFMEM (line 50) | pub const SIOCSIFMEM: u32 = 35104; constant SIOCGIFMTU (line 51) | pub const SIOCGIFMTU: u32 = 35105; constant SIOCSIFMTU (line 52) | pub const SIOCSIFMTU: u32 = 35106; constant SIOCSIFNAME (line 53) | pub const SIOCSIFNAME: u32 = 35107; constant SIOCSIFHWADDR (line 54) | pub const SIOCSIFHWADDR: u32 = 35108; constant SIOCGIFENCAP (line 55) | pub const SIOCGIFENCAP: u32 = 35109; constant SIOCSIFENCAP (line 56) | pub const SIOCSIFENCAP: u32 = 35110; constant SIOCGIFHWADDR (line 57) | pub const SIOCGIFHWADDR: u32 = 35111; constant SIOCGIFSLAVE (line 58) | pub const SIOCGIFSLAVE: u32 = 35113; constant SIOCSIFSLAVE (line 59) | pub const SIOCSIFSLAVE: u32 = 35120; constant SIOCADDMULTI (line 60) | pub const SIOCADDMULTI: u32 = 35121; constant SIOCDELMULTI (line 61) | pub const SIOCDELMULTI: u32 = 35122; constant SIOCGIFINDEX (line 62) | pub const SIOCGIFINDEX: u32 = 35123; constant SIOGIFINDEX (line 63) | pub const SIOGIFINDEX: u32 = 35123; constant SIOCSIFPFLAGS (line 64) | pub const SIOCSIFPFLAGS: u32 = 35124; constant SIOCGIFPFLAGS (line 65) | pub const SIOCGIFPFLAGS: u32 = 35125; constant SIOCDIFADDR (line 66) | pub const SIOCDIFADDR: u32 = 35126; constant SIOCSIFHWBROADCAST (line 67) | pub const SIOCSIFHWBROADCAST: u32 = 35127; constant SIOCGIFCOUNT (line 68) | pub const SIOCGIFCOUNT: u32 = 35128; constant SIOCGIFBR (line 69) | pub const SIOCGIFBR: u32 = 35136; constant SIOCSIFBR (line 70) | pub const SIOCSIFBR: u32 = 35137; constant SIOCGIFTXQLEN (line 71) | pub const SIOCGIFTXQLEN: u32 = 35138; constant SIOCSIFTXQLEN (line 72) | pub const SIOCSIFTXQLEN: u32 = 35139; constant SIOCETHTOOL (line 73) | pub const SIOCETHTOOL: u32 = 35142; constant SIOCGMIIPHY (line 74) | pub const SIOCGMIIPHY: u32 = 35143; constant SIOCGMIIREG (line 75) | pub const SIOCGMIIREG: u32 = 35144; constant SIOCSMIIREG (line 76) | pub const SIOCSMIIREG: u32 = 35145; constant SIOCWANDEV (line 77) | pub const SIOCWANDEV: u32 = 35146; constant SIOCOUTQNSD (line 78) | pub const SIOCOUTQNSD: u32 = 35147; constant SIOCGSKNS (line 79) | pub const SIOCGSKNS: u32 = 35148; constant SIOCDARP (line 80) | pub const SIOCDARP: u32 = 35155; constant SIOCGARP (line 81) | pub const SIOCGARP: u32 = 35156; constant SIOCSARP (line 82) | pub const SIOCSARP: u32 = 35157; constant SIOCDRARP (line 83) | pub const SIOCDRARP: u32 = 35168; constant SIOCGRARP (line 84) | pub const SIOCGRARP: u32 = 35169; constant SIOCSRARP (line 85) | pub const SIOCSRARP: u32 = 35170; constant SIOCGIFMAP (line 86) | pub const SIOCGIFMAP: u32 = 35184; constant SIOCSIFMAP (line 87) | pub const SIOCSIFMAP: u32 = 35185; constant SIOCADDDLCI (line 88) | pub const SIOCADDDLCI: u32 = 35200; constant SIOCDELDLCI (line 89) | pub const SIOCDELDLCI: u32 = 35201; constant SIOCGIFVLAN (line 90) | pub const SIOCGIFVLAN: u32 = 35202; constant SIOCSIFVLAN (line 91) | pub const SIOCSIFVLAN: u32 = 35203; constant SIOCBONDENSLAVE (line 92) | pub const SIOCBONDENSLAVE: u32 = 35216; constant SIOCBONDRELEASE (line 93) | pub const SIOCBONDRELEASE: u32 = 35217; constant SIOCBONDSETHWADDR (line 94) | pub const SIOCBONDSETHWADDR: u32 = 35218; constant SIOCBONDSLAVEINFOQUERY (line 95) | pub const SIOCBONDSLAVEINFOQUERY: u32 = 35219; constant SIOCBONDINFOQUERY (line 96) | pub const SIOCBONDINFOQUERY: u32 = 35220; constant SIOCBONDCHANGEACTIVE (line 97) | pub const SIOCBONDCHANGEACTIVE: u32 = 35221; constant SIOCBRADDBR (line 98) | pub const SIOCBRADDBR: u32 = 35232; constant SIOCBRDELBR (line 99) | pub const SIOCBRDELBR: u32 = 35233; constant SIOCBRADDIF (line 100) | pub const SIOCBRADDIF: u32 = 35234; constant SIOCBRDELIF (line 101) | pub const SIOCBRDELIF: u32 = 35235; constant SIOCSHWTSTAMP (line 102) | pub const SIOCSHWTSTAMP: u32 = 35248; constant SIOCGHWTSTAMP (line 103) | pub const SIOCGHWTSTAMP: u32 = 35249; constant SIOCDEVPRIVATE (line 104) | pub const SIOCDEVPRIVATE: u32 = 35312; constant SIOCPROTOPRIVATE (line 105) | pub const SIOCPROTOPRIVATE: u32 = 35296; FILE: src/vmm/src/devices/virtio/net/metrics.rs type NetMetricsPerDevice (line 94) | pub struct NetMetricsPerDevice { method alloc (line 105) | pub fn alloc(iface_id: String) -> Arc { function flush_metrics (line 126) | pub fn flush_metrics(serializer: S) -> Result Self { method aggregate (line 218) | pub fn aggregate(&mut self, other: &Self) { function test_max_net_dev_metrics (line 271) | fn test_max_net_dev_metrics() { function test_signle_net_dev_metrics (line 348) | fn test_signle_net_dev_metrics() { FILE: src/vmm/src/devices/virtio/net/mod.rs constant NET_QUEUE_MAX_SIZE (line 9) | pub const NET_QUEUE_MAX_SIZE: u16 = 256; constant MAX_BUFFER_SIZE (line 11) | pub const MAX_BUFFER_SIZE: usize = 65562; constant NET_NUM_QUEUES (line 13) | pub const NET_NUM_QUEUES: usize = 2; constant NET_QUEUE_SIZES (line 14) | pub const NET_QUEUE_SIZES: [u16; NET_NUM_QUEUES] = [NET_QUEUE_MAX_SIZE; ... constant RX_INDEX (line 16) | pub const RX_INDEX: usize = 0; constant TX_INDEX (line 18) | pub const TX_INDEX: usize = 1; type NetQueue (line 38) | pub enum NetQueue { type NetError (line 47) | pub enum NetError { FILE: src/vmm/src/devices/virtio/net/persist.rs type NetConfigSpaceState (line 28) | pub struct NetConfigSpaceState { type NetState (line 35) | pub struct NetState { type NetConstructorArgs (line 48) | pub struct NetConstructorArgs { type NetPersistError (line 57) | pub enum NetPersistError { type State (line 71) | type State = NetState; type ConstructorArgs (line 72) | type ConstructorArgs = NetConstructorArgs; type Error (line 73) | type Error = NetPersistError; method save (line 75) | fn save(&self) -> Self::State { method restore (line 89) | fn restore( function validate_save_and_restore (line 142) | fn validate_save_and_restore(net: Net, mmds_ds: Option>>) { function test_persistence (line 201) | fn test_persistence() { FILE: src/vmm/src/devices/virtio/net/tap.rs constant IFACE_NAME_MAX_LEN (line 22) | const IFACE_NAME_MAX_LEN: usize = 16; type TapError (line 27) | pub enum TapError { constant TUNTAP (line 40) | const TUNTAP: ::std::os::raw::c_uint = 84; type Tap (line 51) | pub struct Tap { method open_named (line 120) | pub fn open_named(if_name: &str) -> Result { method if_name_as_str (line 154) | pub fn if_name_as_str(&self) -> &str { method set_offload (line 164) | pub fn set_offload(&self, flags: c_uint) -> Result<(), TapError> { method set_vnet_hdr_size (line 174) | pub fn set_vnet_hdr_size(&self, size: c_int) -> Result<(), TapError> { method write_iovec (line 184) | pub(crate) fn write_iovec(&mut self, buffer: &IoVecBuffer) -> Result Res... function build_terminated_if_name (line 58) | fn build_terminated_if_name(if_name: &str) -> Result<[u8; IFACE_NAME_MAX... type IfReqBuilder (line 74) | pub struct IfReqBuilder(generated::ifreq); method fmt (line 77) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method new (line 83) | pub fn new() -> Self { method if_name (line 87) | pub fn if_name(mut self, if_name: &[u8; IFACE_NAME_MAX_LEN]) -> Self { method flags (line 96) | pub(crate) fn flags(mut self, flags: i16) -> Self { method execute (line 101) | pub(crate) fn execute( method as_raw_fd (line 213) | fn as_raw_fd(&self) -> RawFd { type IoVecBufferMut (line 230) | type IoVecBufferMut = crate::devices::virtio::iovec::IoVecBufferMut<256>; constant VNET_HDR_SIZE (line 233) | const VNET_HDR_SIZE: usize = 10; constant PAYLOAD_SIZE (line 235) | const PAYLOAD_SIZE: usize = 512; function test_tap_name (line 238) | fn test_tap_name() { function test_tap_exclusive_open (line 278) | fn test_tap_exclusive_open() { function test_set_options (line 285) | fn test_set_options() { function test_raw_fd (line 293) | fn test_raw_fd() { function test_write_iovec (line 299) | fn test_write_iovec() { function test_read_iovec (line 336) | fn test_read_iovec() { FILE: src/vmm/src/devices/virtio/net/test_utils.rs function default_net (line 30) | pub fn default_net() -> Net { function default_net_no_mmds (line 59) | pub fn default_net_no_mmds() -> Net { type NetQueue (line 79) | pub enum NetQueue { type NetEvent (line 85) | pub enum NetEvent { type TapTrafficSimulator (line 94) | pub struct TapTrafficSimulator { method new (line 100) | pub fn new(tap_index: i32) -> Self { method push_tx_packet (line 154) | pub fn push_tx_packet(&self, buf: &[u8]) { method pop_rx_packet (line 171) | pub fn pop_rx_packet(&self, buf: &mut [u8]) -> bool { function create_socket (line 190) | pub fn create_socket() -> File { function virtqueues (line 202) | pub fn virtqueues(mem: &GuestMemoryMmap) -> (VirtQueue<'_>, VirtQueue<'_... function if_index (line 210) | pub fn if_index(tap: &Tap) -> i32 { function enable (line 225) | pub fn enable(tap: &Tap) { function inject_tap_tx_frame (line 254) | pub(crate) fn inject_tap_tx_frame(net: &Net, len: usize) -> Vec { function default_guest_mac (line 268) | pub fn default_guest_mac() -> MacAddr { function set_mac (line 272) | pub fn set_mac(net: &mut Net, mac: MacAddr) { function assign_queues (line 278) | pub fn assign_queues(net: &mut Net, rxq: Queue, txq: Queue) { type TestHelper (line 308) | pub struct TestHelper<'a> { function fmt (line 318) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { constant QUEUE_SIZE (line 331) | const QUEUE_SIZE: u16 = 16; function get_default (line 333) | pub fn get_default(mem: &'a GuestMemoryMmap) -> TestHelper<'a> { function net (line 358) | pub fn net(&mut self) -> MutexGuard<'_, Net> { function activate_net (line 362) | pub fn activate_net(&mut self) { function simulate_event (line 374) | pub fn simulate_event(&mut self, event: NetEvent) { function data_addr (line 384) | pub fn data_addr(&self) -> u64 { function add_desc_chain (line 388) | pub fn add_desc_chain( function check_rx_discarded_buffer (line 429) | pub fn check_rx_discarded_buffer(&mut self, frame_len: usize) -> Vec { function check_rx_queue_resume (line 456) | pub fn check_rx_queue_resume(&mut self, expected_frame: &[u8]) { function write_tx_frame (line 487) | pub fn write_tx_frame(&self, desc_list: &[(u16, u32, u16)], frame_len: u... FILE: src/vmm/src/devices/virtio/persist.rs type PersistError (line 23) | pub enum PersistError { type QueueState (line 34) | pub struct QueueState { type QueueConstructorArgs (line 62) | pub struct QueueConstructorArgs { type State (line 70) | type State = QueueState; type ConstructorArgs (line 71) | type ConstructorArgs = QueueConstructorArgs; type Error (line 72) | type Error = QueueError; method save (line 74) | fn save(&self) -> Self::State { method restore (line 88) | fn restore( type VirtioDeviceState (line 118) | pub struct VirtioDeviceState { method from_device (line 133) | pub fn from_device(device: &dyn VirtioDevice) -> Self { method build_queues_checked (line 145) | pub fn build_queues_checked( type MmioTransportState (line 195) | pub struct MmioTransportState { type MmioTransportConstructorArgs (line 208) | pub struct MmioTransportConstructorArgs { type State (line 220) | type State = MmioTransportState; type ConstructorArgs (line 221) | type ConstructorArgs = MmioTransportConstructorArgs; type Error (line 222) | type Error = (); method save (line 224) | fn save(&self) -> Self::State { method restore (line 235) | fn restore( constant DEFAULT_QUEUE_MAX_SIZE (line 272) | const DEFAULT_QUEUE_MAX_SIZE: u16 = 256; method default (line 274) | fn default() -> QueueState { function test_virtiodev_sanity_checks (line 290) | fn test_virtiodev_sanity_checks() { function test_queue_persistence (line 364) | fn test_queue_persistence() { function test_virtio_device_state_serde (line 386) | fn test_virtio_device_state_serde() { method eq (line 397) | fn eq(&self, other: &MmioTransport) -> bool { function generic_mmiotransport_persistence_test (line 411) | fn generic_mmiotransport_persistence_test( function create_default_block (line 433) | fn create_default_block() -> ( function create_default_net (line 456) | fn create_default_net() -> ( function default_vsock (line 470) | fn default_vsock() -> ( function test_block_over_mmiotransport_persistence (line 494) | fn test_block_over_mmiotransport_persistence() { function test_net_over_mmiotransport_persistence (line 500) | fn test_net_over_mmiotransport_persistence() { function test_vsock_over_mmiotransport_persistence (line 506) | fn test_vsock_over_mmiotransport_persistence() { FILE: src/vmm/src/devices/virtio/pmem/device.rs type PmemError (line 32) | pub enum PmemError { constant VIRTIO_PMEM_REQ_TYPE_FLUSH (line 59) | const VIRTIO_PMEM_REQ_TYPE_FLUSH: u32 = 0; constant SUCCESS (line 60) | const SUCCESS: i32 = 0; constant FAILURE (line 61) | const FAILURE: i32 = -1; type ConfigSpace (line 65) | pub struct ConfigSpace { type Pmem (line 76) | pub struct Pmem { constant ALIGNMENT (line 111) | pub const ALIGNMENT: u64 = 2 * 1024 * 1024; method new (line 114) | pub fn new(config: PmemConfig) -> Result { method new_with_queues (line 120) | pub fn new_with_queues(config: PmemConfig, queues: Vec) -> Resu... method mmap_backing_file (line 143) | fn mmap_backing_file(path: &str, read_only: bool) -> Result<(File, u64... method alloc_region (line 216) | pub fn alloc_region(&mut self, vm: &Vm) { method set_mem_region (line 231) | pub fn set_mem_region(&mut self, vm: &Vm) -> Result<(), PmemError> { method handle_queue (line 249) | pub fn handle_queue(&mut self) -> Result<(), PmemError> { method process_chain (line 282) | fn process_chain(&self, head: DescriptorChain) -> Result<(), PmemError> { method process_queue (line 317) | pub fn process_queue(&mut self) { method drop (line 98) | fn drop(&mut self) { method id (line 335) | fn id(&self) -> &str { method avail_features (line 339) | fn avail_features(&self) -> u64 { method acked_features (line 343) | fn acked_features(&self) -> u64 { method set_acked_features (line 347) | fn set_acked_features(&mut self, acked_features: u64) { method queues (line 351) | fn queues(&self) -> &[Queue] { method queues_mut (line 355) | fn queues_mut(&mut self) -> &mut [Queue] { method queue_events (line 359) | fn queue_events(&self) -> &[EventFd] { method interrupt_trigger (line 363) | fn interrupt_trigger(&self) -> &dyn VirtioInterrupt { method read_config (line 371) | fn read_config(&self, offset: u64, data: &mut [u8]) { method write_config (line 381) | fn write_config(&mut self, _offset: u64, _data: &[u8]) {} method activate (line 383) | fn activate( method is_activated (line 401) | fn is_activated(&self) -> bool { method kick (line 405) | fn kick(&mut self) { function test_from_config (line 422) | fn test_from_config() { function test_process_chain (line 458) | fn test_process_chain() { FILE: src/vmm/src/devices/virtio/pmem/event_handler.rs constant PROCESS_ACTIVATE (line 11) | const PROCESS_ACTIVATE: u32 = 0; constant PROCESS_PMEM_QUEUE (line 12) | const PROCESS_PMEM_QUEUE: u32 = 1; method register_runtime_events (line 14) | fn register_runtime_events(&self, ops: &mut EventOps) { method register_activate_event (line 24) | fn register_activate_event(&self, ops: &mut EventOps) { method process_activate_event (line 34) | fn process_activate_event(&self, ops: &mut EventOps) { method init (line 54) | fn init(&mut self, ops: &mut EventOps) { method process (line 62) | fn process(&mut self, events: Events, ops: &mut EventOps) { FILE: src/vmm/src/devices/virtio/pmem/metrics.rs type PmemMetricsPerDevice (line 92) | pub struct PmemMetricsPerDevice { method alloc (line 103) | pub fn alloc(drive_id: String) -> Arc { function flush_metrics (line 124) | pub fn flush_metrics(serializer: S) -> Result Self { method aggregate (line 169) | pub fn aggregate(&mut self, other: &Self) { function test_max_pmem_dev_metrics (line 183) | fn test_max_pmem_dev_metrics() { function test_single_pmem_dev_metrics (line 226) | fn test_single_pmem_dev_metrics() { FILE: src/vmm/src/devices/virtio/pmem/mod.rs constant PMEM_NUM_QUEUES (line 9) | pub const PMEM_NUM_QUEUES: usize = 1; constant PMEM_QUEUE_SIZE (line 10) | pub const PMEM_QUEUE_SIZE: u16 = 256; FILE: src/vmm/src/devices/virtio/pmem/persist.rs type PmemState (line 18) | pub struct PmemState { type PmemConstructorArgs (line 25) | pub struct PmemConstructorArgs<'a> { type PmemPersistError (line 31) | pub enum PmemPersistError { type State (line 41) | type State = PmemState; type ConstructorArgs (line 42) | type ConstructorArgs = PmemConstructorArgs<'a>; type Error (line 43) | type Error = PmemPersistError; method save (line 45) | fn save(&self) -> Self::State { method restore (line 53) | fn restore( function test_persistence (line 85) | fn test_persistence() { FILE: src/vmm/src/devices/virtio/queue.rs constant VIRTQ_DESC_F_NEXT (line 15) | pub const VIRTQ_DESC_F_NEXT: u16 = 0x1; constant VIRTQ_DESC_F_WRITE (line 16) | pub const VIRTQ_DESC_F_WRITE: u16 = 0x2; constant FIRECRACKER_MAX_QUEUE_SIZE (line 19) | pub(super) const FIRECRACKER_MAX_QUEUE_SIZE: u16 = 256; type QueueError (line 30) | pub enum QueueError { type InvalidAvailIdx (line 54) | pub struct InvalidAvailIdx { type Descriptor (line 65) | pub struct Descriptor { method any (line 909) | fn any() -> Descriptor { type UsedElement (line 81) | pub struct UsedElement { type DescriptorChain (line 91) | pub struct DescriptorChain { method checked_new (line 118) | fn checked_new(desc_table_ptr: *const Descriptor, queue_size: u16, ind... method is_valid (line 140) | fn is_valid(&self) -> bool { method has_next (line 145) | pub fn has_next(&self) -> bool { method is_write_only (line 153) | pub fn is_write_only(&self) -> bool { method next_descriptor (line 161) | pub fn next_descriptor(&self) -> Option { type DescriptorIterator (line 176) | pub struct DescriptorIterator(Option); type Item (line 179) | type Item = DescriptorChain; type IntoIter (line 180) | type IntoIter = DescriptorIterator; method into_iter (line 182) | fn into_iter(self) -> Self::IntoIter { type Item (line 188) | type Item = DescriptorChain; method next (line 190) | fn next(&mut self) -> Option { type Queue (line 199) | pub struct Queue { method new (line 280) | pub fn new(max_size: u16) -> Queue { method desc_table_size (line 300) | fn desc_table_size(&self) -> usize { method avail_ring_size (line 304) | fn avail_ring_size(&self) -> usize { method used_ring_size (line 311) | fn used_ring_size(&self) -> usize { method get_aligned_slice_ptr (line 318) | fn get_aligned_slice_ptr( method initialize (line 342) | pub fn initialize(&mut self, mem: &M) -> Result<(), Qu... method avail_ring_idx_get (line 376) | pub fn avail_ring_idx_get(&self) -> u16 { method avail_ring_ring_get (line 385) | unsafe fn avail_ring_ring_get(&self, index: usize) -> u16 { method avail_ring_used_event_get (line 392) | pub fn avail_ring_used_event_get(&self) -> u16 { method used_ring_idx_set (line 403) | pub fn used_ring_idx_set(&mut self, val: u16) { method used_ring_ring_set (line 417) | unsafe fn used_ring_ring_set(&mut self, index: usize, val: UsedElement) { method used_ring_avail_event_get (line 430) | pub fn used_ring_avail_event_get(&mut self) -> u16 { method used_ring_avail_event_set (line 445) | pub fn used_ring_avail_event_set(&mut self, val: u16) { method len (line 459) | pub fn len(&self) -> u16 { method is_empty (line 464) | pub fn is_empty(&self) -> bool { method pop (line 478) | pub fn pop(&mut self) -> Result, InvalidAvailI... method pop_or_enable_notification (line 511) | pub fn pop_or_enable_notification( method pop_unchecked (line 530) | fn pop_unchecked(&mut self) -> Option { method undo_pop (line 553) | pub fn undo_pop(&mut self) { method write_used_element (line 560) | pub fn write_used_element( method advance_next_used (line 588) | pub fn advance_next_used(&mut self, n: u16) { method advance_used_ring_idx (line 595) | pub fn advance_used_ring_idx(&mut self) { method add_used (line 602) | pub fn add_used(&mut self, desc_index: u16, len: u32) -> Result<(), Qu... method try_enable_notification (line 612) | fn try_enable_notification(&mut self) -> Result { method enable_notif_suppression (line 644) | pub fn enable_notif_suppression(&mut self) { method prepare_kick (line 655) | pub fn prepare_kick(&mut self) -> bool { method reset (line 674) | pub(crate) fn reset(&mut self) { method any (line 890) | fn any() -> Queue { type ProofGuestMemory (line 705) | pub struct ProofGuestMemory { type R (line 710) | type R = vm_memory::GuestRegionMmap; method num_regions (line 712) | fn num_regions(&self) -> usize { method find_region (line 716) | fn find_region(&self, addr: GuestAddress) -> Option<&Self::R> { method iter (line 722) | fn iter(&self) -> impl Iterator { method try_access (line 726) | fn try_access( type ProofContext (line 754) | pub struct ProofContext(pub Queue, pub ProofGuestMemory); method bounded_queue (line 869) | pub fn bounded_queue() -> Self { method any (line 879) | fn any() -> Self { type MmapRegionStub (line 756) | pub struct MmapRegionStub { constant GUEST_MEMORY_BASE (line 769) | const GUEST_MEMORY_BASE: u64 = 512; constant GUEST_MEMORY_SIZE (line 776) | const GUEST_MEMORY_SIZE: usize = (QUEUE_END - QUEUE_BASE_ADDRESS) as usi... function guest_memory (line 778) | fn guest_memory(memory: *mut u8) -> ProofGuestMemory { function setup_kani_guest_memory (line 818) | fn setup_kani_guest_memory() -> ProofGuestMemory { constant QUEUE_BASE_ADDRESS (line 835) | const QUEUE_BASE_ADDRESS: u64 = GUEST_MEMORY_BASE; constant AVAIL_RING_BASE_ADDRESS (line 838) | const AVAIL_RING_BASE_ADDRESS: u64 = constant USED_RING_BASE_ADDRESS (line 843) | const USED_RING_BASE_ADDRESS: u64 = constant QUEUE_END (line 848) | const QUEUE_END: u64 = USED_RING_BASE_ADDRESS + 6 + 8 * FIRECRACKER_MAX_... function less_arbitrary_queue (line 850) | fn less_arbitrary_queue() -> Queue { function verify_spec_2_6_7_2 (line 923) | fn verify_spec_2_6_7_2() { function verify_prepare_kick (line 965) | fn verify_prepare_kick() { function verify_add_used (line 1005) | fn verify_add_used() { function verify_is_empty (line 1041) | fn verify_is_empty() { function verify_initialize (line 1050) | fn verify_initialize() { function verify_avail_ring_idx_get (line 1072) | fn verify_avail_ring_idx_get() { function verify_avail_ring_ring_get (line 1079) | fn verify_avail_ring_ring_get() { function verify_avail_ring_used_event_get (line 1087) | fn verify_avail_ring_used_event_get() { function verify_used_ring_idx_set (line 1094) | fn verify_used_ring_idx_set() { function verify_used_ring_ring_set (line 1101) | fn verify_used_ring_ring_set() { function verify_used_ring_avail_event (line 1113) | fn verify_used_ring_avail_event() { function verify_pop (line 1123) | fn verify_pop() { function verify_undo_pop (line 1146) | fn verify_undo_pop() { function verify_try_enable_notification (line 1163) | fn verify_try_enable_notification() { function verify_checked_new (line 1180) | fn verify_checked_new() { function test_checked_new_descriptor_chain (line 1222) | fn test_checked_new_descriptor_chain() { function test_queue_validation (line 1266) | fn test_queue_validation() { function test_queue_processing (line 1350) | fn test_queue_processing() { function test_invalid_avail_idx_no_notification (line 1443) | fn test_invalid_avail_idx_no_notification() { function test_invalid_avail_idx_with_notification (line 1491) | fn test_invalid_avail_idx_with_notification() { function test_add_used (line 1525) | fn test_add_used() { function test_used_event (line 1551) | fn test_used_event() { function test_set_used_ring_avail_event (line 1566) | fn test_set_used_ring_avail_event() { function test_needs_kick (line 1581) | fn test_needs_kick() { function test_try_enable_notification (line 1629) | fn test_try_enable_notification() { function test_initialize_with_aligned_pointer (line 1660) | fn test_initialize_with_aligned_pointer() { function test_initialize_with_misaligned_pointer (line 1678) | fn test_initialize_with_misaligned_pointer() { function test_queue_error_display (line 1721) | fn test_queue_error_display() { FILE: src/vmm/src/devices/virtio/rng/device.rs constant ENTROPY_DEV_ID (line 28) | pub const ENTROPY_DEV_ID: &str = "rng"; constant MAX_ENTROPY_BYTES (line 36) | const MAX_ENTROPY_BYTES: u32 = 64 * 1024; type EntropyError (line 39) | pub enum EntropyError { type Entropy (line 51) | pub struct Entropy { method new (line 69) | pub fn new(rate_limiter: RateLimiter) -> Result { method new_with_queues (line 74) | pub fn new_with_queues( method signal_used_queue (line 95) | fn signal_used_queue(&self) -> Result<(), DeviceError> { method rate_limit_request (line 101) | fn rate_limit_request(&mut self, bytes: u64) -> bool { method rate_limit_replenish_request (line 114) | fn rate_limit_replenish_request(rate_limiter: &mut RateLimiter, bytes:... method handle_one (line 119) | fn handle_one(&mut self) -> Result { method process_entropy_queue (line 140) | fn process_entropy_queue(&mut self) -> Result<(), InvalidAvailIdx> { method process_entropy_queue_event (line 209) | pub(crate) fn process_entropy_queue_event(&mut self) { method process_rate_limiter_event (line 221) | pub(crate) fn process_rate_limiter_event(&mut self) { method process_virtio_queues (line 235) | pub fn process_virtio_queues(&mut self) -> Result<(), InvalidAvailIdx> { method rate_limiter (line 239) | pub fn rate_limiter(&self) -> &RateLimiter { method set_avail_features (line 243) | pub(crate) fn set_avail_features(&mut self, features: u64) { method set_acked_features (line 247) | pub(crate) fn set_acked_features(&mut self, features: u64) { method set_activated (line 251) | pub(crate) fn set_activated( method activate_event (line 259) | pub(crate) fn activate_event(&self) -> &EventFd { method id (line 267) | fn id(&self) -> &str { method queues (line 271) | fn queues(&self) -> &[Queue] { method queues_mut (line 275) | fn queues_mut(&mut self) -> &mut [Queue] { method queue_events (line 279) | fn queue_events(&self) -> &[EventFd] { method interrupt_trigger (line 283) | fn interrupt_trigger(&self) -> &dyn VirtioInterrupt { method avail_features (line 291) | fn avail_features(&self) -> u64 { method acked_features (line 295) | fn acked_features(&self) -> u64 { method set_acked_features (line 299) | fn set_acked_features(&mut self, acked_features: u64) { method read_config (line 303) | fn read_config(&self, _offset: u64, mut _data: &mut [u8]) {} method write_config (line 305) | fn write_config(&mut self, _offset: u64, _data: &[u8]) {} method is_activated (line 307) | fn is_activated(&self) -> bool { method activate (line 311) | fn activate( method set_queues (line 343) | fn set_queues(&mut self, queues: Vec) { method num_queues (line 347) | fn num_queues(&self) -> usize { function default_entropy (line 352) | fn default_entropy() -> Entropy { function test_new (line 357) | fn test_new() { function test_id (line 366) | fn test_id() { function test_device_type (line 372) | fn test_device_type() { function test_read_config (line 378) | fn test_read_config() { function test_write_config (line 396) | fn test_write_config() { function test_handle_one (line 419) | fn test_handle_one() { function test_entropy_event (line 453) | fn test_entropy_event() { function test_bad_rate_limiter_event (line 508) | fn test_bad_rate_limiter_event() { function test_bandwidth_rate_limiter (line 523) | fn test_bandwidth_rate_limiter() { function test_ops_rate_limiter (line 570) | fn test_ops_rate_limiter() { function test_handle_one_caps_overlapping_descriptors (line 623) | fn test_handle_one_caps_overlapping_descriptors() { function test_handle_one_caps_large_inflated_buffer (line 668) | fn test_handle_one_caps_large_inflated_buffer() { function test_handle_one_serves_small_request_in_full (line 710) | fn test_handle_one_serves_small_request_in_full() { FILE: src/vmm/src/devices/virtio/rng/event_handler.rs constant PROCESS_ACTIVATE (line 12) | const PROCESS_ACTIVATE: u32 = 0; constant PROCESS_ENTROPY_QUEUE (line 13) | const PROCESS_ENTROPY_QUEUE: u32 = 1; constant PROCESS_RATE_LIMITER (line 14) | const PROCESS_RATE_LIMITER: u32 = 2; method register_runtime_events (line 16) | fn register_runtime_events(&self, ops: &mut EventOps) { method register_activate_event (line 33) | fn register_activate_event(&self, ops: &mut EventOps) { method process_activate_event (line 43) | fn process_activate_event(&self, ops: &mut EventOps) { method init (line 63) | fn init(&mut self, ops: &mut event_manager::EventOps) { method process (line 75) | fn process(&mut self, events: event_manager::Events, ops: &mut event_man... FILE: src/vmm/src/devices/virtio/rng/metrics.rs function flush_metrics (line 45) | pub fn flush_metrics(serializer: S) -> Result Self { function test_entropy_dev_metrics (line 89) | fn test_entropy_dev_metrics() { FILE: src/vmm/src/devices/virtio/rng/mod.rs constant RNG_NUM_QUEUES (line 11) | pub(crate) const RNG_NUM_QUEUES: usize = 1; constant RNG_QUEUE (line 13) | pub(crate) const RNG_QUEUE: usize = 0; FILE: src/vmm/src/devices/virtio/rng/persist.rs type EntropyState (line 21) | pub struct EntropyState { type EntropyConstructorArgs (line 27) | pub struct EntropyConstructorArgs { type EntropyPersistError (line 32) | pub enum EntropyPersistError { type State (line 42) | type State = EntropyState; type ConstructorArgs (line 43) | type ConstructorArgs = EntropyConstructorArgs; type Error (line 44) | type Error = EntropyPersistError; method save (line 46) | fn save(&self) -> Self::State { method restore (line 53) | fn restore( function test_persistence (line 83) | fn test_persistence() { FILE: src/vmm/src/devices/virtio/test_utils.rs function default_mem (line 30) | pub fn default_mem() -> GuestMemoryMmap { function default_interrupt (line 35) | pub fn default_interrupt() -> Arc { type InputData (line 40) | pub struct InputData { method get_slice (line 46) | pub fn get_slice(&self, len: usize) -> &[u8] { type SomeplaceInMemory (line 54) | pub struct SomeplaceInMemory<'a, T> { function new (line 65) | fn new(location: GuestAddress, mem: &'a GuestMemoryMmap) -> Self { function get (line 74) | pub fn get(&self) -> T { function set (line 79) | pub fn set(&self, val: T) { function map_offset (line 85) | fn map_offset(&self, offset: usize) -> SomeplaceInMemory<'a, U> { function next_place (line 95) | fn next_place(&self) -> SomeplaceInMemory<'a, U> { function end (line 99) | fn end(&self) -> GuestAddress { type VirtqDesc (line 108) | pub struct VirtqDesc<'a> { constant ALIGNMENT (line 116) | pub const ALIGNMENT: u64 = 16; function new (line 118) | fn new(start: GuestAddress, mem: &'a GuestMemoryMmap) -> Self { function start (line 134) | fn start(&self) -> GuestAddress { function end (line 138) | fn end(&self) -> GuestAddress { function set (line 142) | pub fn set(&self, addr: u64, len: u32, flags: u16, next: u16) { function memory (line 149) | pub fn memory(&self) -> &'a GuestMemoryMmap { function set_data (line 153) | pub fn set_data(&mut self, data: &[u8]) { function check_data (line 160) | pub fn check_data(&self, expected_data: &[u8]) { type VirtqRing (line 173) | pub struct VirtqRing<'a, T> { function new (line 184) | fn new(start: GuestAddress, mem: &'a GuestMemoryMmap, qsize: u16, alignm... function end (line 213) | pub fn end(&self) -> GuestAddress { type VirtqUsedElem (line 220) | pub struct VirtqUsedElem { type VirtqAvail (line 228) | pub type VirtqAvail<'a> = VirtqRing<'a, u16>; type VirtqUsed (line 229) | pub type VirtqUsed<'a> = VirtqRing<'a, VirtqUsedElem>; type VirtQueue (line 232) | pub struct VirtQueue<'a> { function new (line 240) | pub fn new(start: GuestAddress, mem: &'a GuestMemoryMmap, qsize: u16) ->... function memory (line 272) | pub fn memory(&self) -> &'a GuestMemoryMmap { function size (line 276) | pub fn size(&self) -> u16 { function dtable_start (line 281) | pub fn dtable_start(&self) -> GuestAddress { function avail_start (line 285) | pub fn avail_start(&self) -> GuestAddress { function used_start (line 289) | pub fn used_start(&self) -> GuestAddress { function create_queue (line 294) | pub fn create_queue(&self) -> Queue { function start (line 308) | pub fn start(&self) -> GuestAddress { function end (line 312) | pub fn end(&self) -> GuestAddress { function check_used_elem (line 316) | pub fn check_used_elem(&self, used_index: u16, expected_id: u16, expecte... function create_virtio_mem (line 338) | pub fn create_virtio_mem() -> GuestMemoryMmap { type VirtioTestDevice (line 344) | pub trait VirtioTestDevice: VirtioDevice { method set_queues (line 346) | fn set_queues(&mut self, queues: Vec); method num_queues (line 348) | fn num_queues(&self) -> usize; type VirtioTestHelper (line 360) | pub struct VirtioTestHelper<'a, T> function fmt (line 371) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { constant QUEUE_SIZE (line 385) | const QUEUE_SIZE: u16 = 16; function create_virtqueues (line 388) | fn create_virtqueues(mem: &'a GuestMemoryMmap, num_queues: usize) -> Vec... function new (line 401) | pub fn new(mem: &'a GuestMemoryMmap, mut device: T) -> VirtioTestHelper<... function device (line 419) | pub fn device(&mut self) -> MutexGuard<'_, T> { function activate_device (line 424) | pub fn activate_device(&mut self, mem: &'a GuestMemoryMmap) { function data_address (line 441) | pub fn data_address(&self) -> u64 { function add_scatter_gather (line 460) | pub fn add_scatter_gather( function desc_address (line 492) | pub fn desc_address(&self, queue: usize, index: usize) -> GuestAddress { function add_desc_chain (line 511) | pub fn add_desc_chain( function emulate_for_msec (line 553) | pub fn emulate_for_msec(&mut self, msec: i32) -> Result MutexGuard<'_, dyn VirtioDevice + 'stat... method device (line 94) | pub fn device(&self) -> Arc> { method check_device_status (line 98) | fn check_device_status(&self, set: u32, clr: u32) -> bool { method with_queue (line 102) | fn with_queue(&self, d: U, f: F) -> U method with_queue_mut (line 117) | fn with_queue_mut(&mut self, f: F) -> bool { method update_queue_field (line 130) | fn update_queue_field(&mut self, f: F) { method reset (line 144) | fn reset(&mut self) { method set_device_status (line 169) | fn set_device_status(&mut self, status: u32) { method read (line 238) | fn read(&mut self, base: u64, offset: u64, data: &mut [u8]) { method write (line 300) | fn write(&mut self, base: u64, offset: u64, data: &[u8]) -> Option Self { type IrqTrigger (line 392) | pub struct IrqTrigger { method new (line 456) | pub fn new() -> Self { method trigger_irq (line 464) | fn trigger_irq(&self, irq_type: IrqType) -> Result<(), InterruptError> { method default (line 398) | fn default() -> Self { method trigger (line 404) | fn trigger(&self, interrupt_type: VirtioInterruptType) -> Result<(), Int... method trigger_queues (line 412) | fn trigger_queues(&self, queues: &[u16]) -> Result<(), InterruptError> { method notifier (line 421) | fn notifier(&self, _interrupt_type: VirtioInterruptType) -> Option<&Even... method status (line 425) | fn status(&self) -> Arc { method has_pending_interrupt (line 430) | fn has_pending_interrupt(&self, interrupt_type: VirtioInterruptType) -> ... method ack_interrupt (line 446) | fn ack_interrupt(&self, interrupt_type: VirtioInterruptType) { type DummyDevice (line 499) | pub(crate) struct DummyDevice { method new (line 511) | pub(crate) fn new() -> Self { method set_avail_features (line 527) | pub fn set_avail_features(&mut self, avail_features: u64) { method process (line 533) | fn process(&mut self, _: Events, _: &mut EventOps) {} method init (line 534) | fn init(&mut self, _: &mut EventOps) {} method id (line 540) | fn id(&self) -> &str { method avail_features (line 544) | fn avail_features(&self) -> u64 { method acked_features (line 548) | fn acked_features(&self) -> u64 { method set_acked_features (line 552) | fn set_acked_features(&mut self, acked_features: u64) { method queues (line 556) | fn queues(&self) -> &[Queue] { method queues_mut (line 560) | fn queues_mut(&mut self) -> &mut [Queue] { method queue_events (line 564) | fn queue_events(&self) -> &[EventFd] { method interrupt_trigger (line 568) | fn interrupt_trigger(&self) -> &dyn VirtioInterrupt { method read_config (line 575) | fn read_config(&self, offset: u64, data: &mut [u8]) { method write_config (line 579) | fn write_config(&mut self, offset: u64, data: &[u8]) { method activate (line 585) | fn activate( method is_activated (line 599) | fn is_activated(&self) -> bool { function set_device_status (line 604) | fn set_device_status(d: &mut MmioTransport, status: u32) { function test_new (line 611) | fn test_new() { function test_bus_device_read (line 640) | fn test_bus_device_read() { function test_bus_device_write (line 739) | fn test_bus_device_write() { function test_bus_device_activate (line 902) | fn test_bus_device_activate() { function test_bus_device_activate_failure (line 985) | fn test_bus_device_activate_failure() { function activate_device (line 1039) | fn activate_device(d: &mut MmioTransport) { function test_bus_device_reset (line 1078) | fn test_bus_device_reset() { function test_get_avail_features (line 1107) | fn test_get_avail_features() { function test_get_acked_features (line 1113) | fn test_get_acked_features() { function test_set_acked_features (line 1119) | fn test_set_acked_features() { function test_ack_features_by_page (line 1128) | fn test_ack_features_by_page() { function irq_trigger (line 1137) | fn irq_trigger() { FILE: src/vmm/src/devices/virtio/transport/mod.rs type VirtioInterruptType (line 18) | pub enum VirtioInterruptType { type VirtioInterrupt (line 26) | pub trait VirtioInterrupt: std::fmt::Debug + Send + Sync { method trigger (line 28) | fn trigger(&self, interrupt_type: VirtioInterruptType) -> Result<(), I... method trigger_queues (line 36) | fn trigger_queues(&self, queues: &[u16]) -> Result<(), InterruptError> { method notifier (line 43) | fn notifier(&self, _interrupt_type: VirtioInterruptType) -> Option<&Ev... method status (line 48) | fn status(&self) -> Arc; method has_pending_interrupt (line 52) | fn has_pending_interrupt(&self, interrupt_type: VirtioInterruptType) -... method ack_interrupt (line 56) | fn ack_interrupt(&self, interrupt_type: VirtioInterruptType); FILE: src/vmm/src/devices/virtio/transport/pci/common_config.rs constant VIRTIO_PCI_COMMON_CONFIG_ID (line 22) | pub const VIRTIO_PCI_COMMON_CONFIG_ID: &str = "virtio_pci_common_config"; type VirtioPciCommonConfigState (line 25) | pub struct VirtioPciCommonConfigState { type VirtioPciCommonConfig (line 60) | pub struct VirtioPciCommonConfig { method new (line 71) | pub fn new(state: VirtioPciCommonConfigState) -> Self { method state (line 83) | pub fn state(&self) -> VirtioPciCommonConfigState { method read (line 95) | pub fn read(&mut self, offset: u64, data: &mut [u8], device: Arc u8 { method write_common_config_byte (line 148) | fn write_common_config_byte(&mut self, offset: u64, value: u8) { method read_common_config_word (line 157) | fn read_common_config_word(&self, offset: u64, queues: &[Queue]) -> u16 { method write_common_config_word (line 185) | fn write_common_config_word(&mut self, offset: u64, value: u16, queues... method read_common_config_dword (line 230) | fn read_common_config_dword(&self, offset: u64, device: Arc(&self, queues: &[Queue], f: F) -> Option method with_queue_mut (line 345) | fn with_queue_mut(&self, queues: &mut [Queue], ... function default_device (line 359) | fn default_device() -> Arc> { function default_pci_common_config (line 363) | fn default_pci_common_config() -> VirtioPciCommonConfig { function write_base_regs (line 376) | fn write_base_regs() { function test_device_feature (line 440) | fn test_device_feature() { function test_driver_feature (line 463) | fn test_driver_feature() { function test_num_queues (line 484) | fn test_num_queues() { function test_device_status (line 498) | fn test_device_status() { function test_config_msix_vector (line 511) | fn test_config_msix_vector() { function test_queue_size (line 532) | fn test_queue_size() { function test_queue_msix_vector (line 566) | fn test_queue_msix_vector() { function test_queue_enable (line 592) | fn test_queue_enable() { function test_queue_notify_off (line 617) | fn test_queue_notify_off() { function write_64bit_field (line 638) | fn write_64bit_field( function read_64bit_field (line 651) | fn read_64bit_field( function test_queue_addresses (line 666) | fn test_queue_addresses() { function test_bad_width_reads (line 685) | fn test_bad_width_reads() { FILE: src/vmm/src/devices/virtio/transport/pci/device.rs constant DEVICE_INIT (line 49) | const DEVICE_INIT: u8 = 0x00; constant DEVICE_ACKNOWLEDGE (line 50) | const DEVICE_ACKNOWLEDGE: u8 = 0x01; constant DEVICE_DRIVER (line 51) | const DEVICE_DRIVER: u8 = 0x02; constant DEVICE_DRIVER_OK (line 52) | const DEVICE_DRIVER_OK: u8 = 0x04; constant DEVICE_FEATURES_OK (line 53) | const DEVICE_FEATURES_OK: u8 = 0x08; constant DEVICE_FAILED (line 54) | const DEVICE_FAILED: u8 = 0x80; constant VIRTQ_MSI_NO_VECTOR (line 57) | pub const VIRTQ_MSI_NO_VECTOR: u16 = 0xffff; constant VIRTIO_BAR_INDEX (line 60) | const VIRTIO_BAR_INDEX: u8 = 0; type PciCapabilityType (line 62) | enum PciCapabilityType { constant VIRTIO_PCI_CAP_OFFSET (line 74) | const VIRTIO_PCI_CAP_OFFSET: usize = 2; type VirtioPciCap (line 78) | struct VirtioPciCap { method new (line 104) | pub fn new(cfg_type: PciCapabilityType, offset: u32, length: u32) -> S... method bytes (line 92) | fn bytes(&self) -> &[u8] { method id (line 96) | fn id(&self) -> PciCapabilityId { constant VIRTIO_PCI_CAP_LEN_OFFSET (line 101) | const VIRTIO_PCI_CAP_LEN_OFFSET: u8 = 2; type VirtioPciNotifyCap (line 120) | struct VirtioPciNotifyCap { method new (line 138) | pub fn new(cfg_type: PciCapabilityType, offset: u32, length: u32, mult... method bytes (line 128) | fn bytes(&self) -> &[u8] { method id (line 132) | fn id(&self) -> PciCapabilityId { type VirtioPciCfgCap (line 157) | struct VirtioPciCfgCap { method new (line 175) | fn new() -> Self { method bytes (line 165) | fn bytes(&self) -> &[u8] { method id (line 169) | fn id(&self) -> PciCapabilityId { type VirtioPciCfgCapInfo (line 192) | struct VirtioPciCfgCapInfo { type PciVirtioSubclass (line 198) | pub enum PciVirtioSubclass { method get_register_value (line 203) | fn get_register_value(&self) -> u8 { constant COMMON_CONFIG_BAR_OFFSET (line 212) | const COMMON_CONFIG_BAR_OFFSET: u64 = 0x0000; constant COMMON_CONFIG_SIZE (line 213) | const COMMON_CONFIG_SIZE: u64 = 56; constant ISR_CONFIG_BAR_OFFSET (line 214) | const ISR_CONFIG_BAR_OFFSET: u64 = 0x2000; constant ISR_CONFIG_SIZE (line 215) | const ISR_CONFIG_SIZE: u64 = 1; constant DEVICE_CONFIG_BAR_OFFSET (line 216) | const DEVICE_CONFIG_BAR_OFFSET: u64 = 0x4000; constant DEVICE_CONFIG_SIZE (line 217) | const DEVICE_CONFIG_SIZE: u64 = 0x1000; constant NOTIFICATION_BAR_OFFSET (line 218) | const NOTIFICATION_BAR_OFFSET: u64 = 0x6000; constant NOTIFICATION_SIZE (line 219) | const NOTIFICATION_SIZE: u64 = 0x1000; constant MSIX_TABLE_BAR_OFFSET (line 220) | const MSIX_TABLE_BAR_OFFSET: u64 = 0x8000; constant MSIX_TABLE_SIZE (line 223) | const MSIX_TABLE_SIZE: u64 = 0x40000; constant MSIX_PBA_BAR_OFFSET (line 224) | const MSIX_PBA_BAR_OFFSET: u64 = 0x48000; constant MSIX_PBA_SIZE (line 227) | const MSIX_PBA_SIZE: u64 = 0x800; constant CAPABILITY_BAR_SIZE (line 229) | pub const CAPABILITY_BAR_SIZE: u64 = 0x80000; constant VIRTIO_COMMON_BAR_INDEX (line 230) | const VIRTIO_COMMON_BAR_INDEX: usize = 0; constant VIRTIO_SHM_BAR_INDEX (line 231) | const VIRTIO_SHM_BAR_INDEX: usize = 2; constant NOTIFY_OFF_MULTIPLIER (line 233) | const NOTIFY_OFF_MULTIPLIER: u32 = 4; constant VIRTIO_PCI_VENDOR_ID (line 235) | const VIRTIO_PCI_VENDOR_ID: u16 = 0x1af4; constant VIRTIO_PCI_DEVICE_ID_BASE (line 236) | const VIRTIO_PCI_DEVICE_ID_BASE: u16 = 0x1040; type VirtioPciDeviceState (line 239) | pub struct VirtioPciDeviceState { type VirtioPciDeviceError (line 251) | pub enum VirtioPciDeviceError { type VirtioPciDevice (line 258) | pub struct VirtioPciDevice { method pci_configuration (line 304) | fn pci_configuration( method allocate_bars (line 341) | pub fn allocate_bars(&mut self, mmio64_allocator: &mut AddressAllocato... method new (line 368) | pub fn new( method new_from_state (line 419) | pub fn new_from_state( method is_driver_ready (line 475) | fn is_driver_ready(&self) -> bool { method is_driver_init (line 483) | fn is_driver_init(&self) -> bool { method config_bar_addr (line 487) | pub fn config_bar_addr(&self) -> u64 { method add_pci_capabilities (line 491) | fn add_pci_capabilities(&mut self) { method read_cap_pci_cfg (line 545) | fn read_cap_pci_cfg(&mut self, offset: usize, mut data: &mut [u8]) { method write_cap_pci_cfg (line 572) | fn write_cap_pci_cfg(&mut self, offset: usize, data: &[u8]) -> Option<... method virtio_device (line 600) | pub fn virtio_device(&self) -> Arc> { method needs_activation (line 604) | fn needs_activation(&self) -> bool { method register_notification_ioevent (line 609) | pub fn register_notification_ioevent(&self, vm: &Vm) -> Result<(), err... method state (line 627) | pub fn state(&self) -> VirtioPciDeviceState { method fmt (line 296) | fn fmt(&self, f: &mut Formatter) -> std::fmt::Result { type VirtioInterruptMsix (line 648) | pub struct VirtioInterruptMsix { method fmt (line 656) | fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { method new (line 666) | pub fn new( method trigger (line 682) | fn trigger(&self, int_type: VirtioInterruptType) -> Result<(), Interrupt... method notifier (line 712) | fn notifier(&self, int_type: VirtioInterruptType) -> Option<&EventFd> { method status (line 725) | fn status(&self) -> Arc { method has_pending_interrupt (line 730) | fn has_pending_interrupt(&self, interrupt_type: VirtioInterruptType) -> ... method ack_interrupt (line 735) | fn ack_interrupt(&self, interrupt_type: VirtioInterruptType) { method write_config_register (line 741) | fn write_config_register( method read_config_register (line 764) | fn read_config_register(&mut self, reg_idx: usize) -> u32 { method detect_bar_reprogramming (line 786) | fn detect_bar_reprogramming( method move_bar (line 794) | fn move_bar(&mut self, old_base: u64, new_base: u64) -> Result<(), Devic... method read_bar (line 804) | fn read_bar(&mut self, _base: u64, offset: u64, data: &mut [u8]) { method write_bar (line 849) | fn write_bar(&mut self, _base: u64, offset: u64, data: &[u8]) -> Option<... method read (line 946) | fn read(&mut self, base: u64, offset: u64, data: &mut [u8]) { method write (line 950) | fn write(&mut self, base: u64, offset: u64, data: &[u8]) -> Option Vmm { function get_virtio_device (line 1001) | fn get_virtio_device(vmm: &Vmm) -> Arc> { function test_pci_device_config (line 1010) | fn test_pci_device_config() { function test_reading_bars (line 1111) | fn test_reading_bars() { function read_virtio_pci_cap (line 1167) | fn read_virtio_pci_cap( function read_virtio_notification_cap (line 1195) | fn read_virtio_notification_cap( function read_virtio_pci_config_cap (line 1210) | fn read_virtio_pci_config_cap( function read_msix_cap (line 1225) | fn read_msix_cap(device: &mut VirtioPciDevice, offset: u32) -> (PciCapab... function capabilities_start (line 1242) | fn capabilities_start(device: &mut VirtioPciDevice) -> u32 { function test_capabilities (line 1247) | fn test_capabilities() { function cap_pci_cfg_read (line 1337) | fn cap_pci_cfg_read(device: &mut VirtioPciDevice, bar_offset: u32, lengt... function cap_pci_cfg_write (line 1355) | fn cap_pci_cfg_write(device: &mut VirtioPciDevice, bar_offset: u32, leng... function test_pci_configuration_cap (line 1374) | fn test_pci_configuration_cap() { function isr_status_read (line 1427) | fn isr_status_read(device: &mut VirtioPciDevice) -> u32 { function isr_status_write (line 1433) | fn isr_status_write(device: &mut VirtioPciDevice, data: u32) { function test_isr_capability (line 1438) | fn test_isr_capability() { function test_notification_capability (line 1451) | fn test_notification_capability() { function write_driver_status (line 1489) | fn write_driver_status(device: &mut VirtioPciDevice, status: u8) { function read_driver_status (line 1493) | fn read_driver_status(device: &mut VirtioPciDevice) -> u8 { function read_device_features (line 1499) | fn read_device_features(device: &mut VirtioPciDevice) -> u64 { function write_driver_features (line 1518) | fn write_driver_features(device: &mut VirtioPciDevice, features: u64) { function setup_queues (line 1533) | fn setup_queues(device: &mut VirtioPciDevice) { function test_device_initialization (line 1553) | fn test_device_initialization() { FILE: src/vmm/src/devices/virtio/vhost_user.rs type VhostUserError (line 23) | pub enum VhostUserError { type VhostUserHandleBackend (line 64) | pub trait VhostUserHandleBackend: Sized { method from_stream (line 66) | fn from_stream(_sock: UnixStream, _max_queue_num: u64) -> Self { method set_hdr_flags (line 70) | fn set_hdr_flags(&self, _flags: VhostUserHeaderFlag) { method get_features (line 75) | fn get_features(&self) -> Result { method set_features (line 80) | fn set_features(&self, _features: u64) -> Result<(), vhost::Error> { method set_owner (line 85) | fn set_owner(&self) -> Result<(), vhost::Error> { method set_mem_table (line 91) | fn set_mem_table(&self, _regions: &[VhostUserMemoryRegionInfo]) -> Res... method set_vring_num (line 96) | fn set_vring_num(&self, _queue_index: usize, _num: u16) -> Result<(), ... method set_vring_addr (line 101) | fn set_vring_addr( method set_vring_base (line 110) | fn set_vring_base(&self, _queue_index: usize, _base: u16) -> Result<()... method set_vring_call (line 118) | fn set_vring_call(&self, _queue_index: usize, _fd: &EventFd) -> Result... method set_vring_kick (line 126) | fn set_vring_kick(&self, _queue_index: usize, _fd: &EventFd) -> Result... method get_protocol_features (line 130) | fn get_protocol_features(&mut self) -> Result ... method get_config (line 145) | fn get_config( method set_config (line 155) | fn set_config( method from_stream (line 166) | fn from_stream(sock: UnixStream, max_queue_num: u64) -> Self { method set_hdr_flags (line 170) | fn set_hdr_flags(&self, flags: VhostUserHeaderFlag) { method get_features (line 175) | fn get_features(&self) -> Result { method set_features (line 180) | fn set_features(&self, features: u64) -> Result<(), vhost::Error> { method set_owner (line 185) | fn set_owner(&self) -> Result<(), vhost::Error> { method set_mem_table (line 191) | fn set_mem_table(&self, regions: &[VhostUserMemoryRegionInfo]) -> Resu... method set_vring_num (line 196) | fn set_vring_num(&self, queue_index: usize, num: u16) -> Result<(), vh... method set_vring_addr (line 201) | fn set_vring_addr( method set_vring_base (line 210) | fn set_vring_base(&self, queue_index: usize, base: u16) -> Result<(), ... method set_vring_call (line 218) | fn set_vring_call(&self, queue_index: usize, fd: &EventFd) -> Result<(... method set_vring_kick (line 226) | fn set_vring_kick(&self, queue_index: usize, fd: &EventFd) -> Result<(... method get_protocol_features (line 230) | fn get_protocol_features(&mut self) -> Result Re... method get_config (line 245) | fn get_config( method set_config (line 255) | fn set_config( type VhostUserHandle (line 265) | pub type VhostUserHandle = VhostUserHandleImpl; type VhostUserHandleImpl (line 269) | pub struct VhostUserHandleImpl { function fmt (line 275) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function new (line 285) | pub fn new(socket_path: &str, num_queues: u64) -> Result Result<(), VhostUserError> { function set_protocol_features (line 305) | pub fn set_protocol_features( function negotiate_features (line 327) | pub fn negotiate_features( function update_mem_table (line 367) | fn update_mem_table(&self, mem: &GuestMemoryMmap) -> Result<(), VhostUse... function setup_backend (line 397) | pub fn setup_backend( function create_mem (line 483) | pub(crate) fn create_mem(file: File, regions: &[(GuestAddress, usize)]) ... function test_new (line 500) | fn test_new() { function test_set_features (line 546) | fn test_set_features() { function test_set_protocol_features (line 568) | fn test_set_protocol_features() { function test_negotiate_features (line 643) | fn test_negotiate_features() { function test_update_mem_table (line 763) | fn test_update_mem_table() { function test_setup_backend (line 824) | fn test_setup_backend() { FILE: src/vmm/src/devices/virtio/vhost_user_metrics.rs type VhostUserMetricsPerDevice (line 87) | pub struct VhostUserMetricsPerDevice { method alloc (line 98) | pub fn alloc(drive_id: String) -> Arc { function flush_metrics (line 118) | pub fn flush_metrics(serializer: S) -> Result { method recv_pkt (line 163) | fn recv_pkt(&mut self, pkt: &mut VsockPacketRx) -> Result<(), VsockError> { method send_pkt (line 295) | fn send_pkt(&mut self, pkt: &VsockPacketTx) -> Result<(), VsockError> { method has_pending_rx (line 403) | fn has_pending_rx(&self) -> bool { method as_raw_fd (line 416) | fn as_raw_fd(&self) -> RawFd { method get_polled_evset (line 431) | fn get_polled_evset(&self) -> EventSet { method notify (line 449) | fn notify(&mut self, evset: EventSet) { function new_peer_init (line 505) | pub fn new_peer_init( function new_local_init (line 532) | pub fn new_local_init( function will_expire (line 559) | pub fn will_expire(&self) -> bool { function has_expired (line 568) | pub fn has_expired(&self) -> bool { function expiry (line 576) | pub fn expiry(&self) -> Option { function kill (line 582) | pub fn kill(&mut self) { function state (line 588) | pub fn state(&self) -> ConnState { function send_bytes_raw (line 598) | pub fn send_bytes_raw(&mut self, buf: &[u8]) -> Result Result<(), VsockError> { function peer_needs_credit_update (line 650) | fn peer_needs_credit_update(&self) -> bool { function need_credit_update_from_peer (line 658) | fn need_credit_update_from_peer(&self) -> bool { function peer_avail_credit (line 664) | fn peer_avail_credit(&self) -> u32 { function init_pkt_hdr (line 669) | fn init_pkt_hdr(&self, hdr: &mut VsockPacketHeader) { constant LOCAL_CID (line 697) | const LOCAL_CID: u64 = 2; constant PEER_CID (line 698) | const PEER_CID: u64 = 3; constant LOCAL_PORT (line 699) | const LOCAL_PORT: u32 = 1002; constant PEER_PORT (line 700) | const PEER_PORT: u32 = 1003; constant PEER_BUF_ALLOC (line 701) | const PEER_BUF_ALLOC: u32 = 64 * 1024; type StreamState (line 704) | enum StreamState { type TestStream (line 712) | struct TestStream { method new (line 720) | fn new() -> Self { method new_with_read_buf (line 729) | fn new_with_read_buf(buf: &[u8]) -> Self { method as_raw_fd (line 737) | fn as_raw_fd(&self) -> RawFd { method read_volatile (line 743) | fn read_volatile( method write (line 773) | fn write(&mut self, data: &[u8]) -> Result { method flush (line 781) | fn flush(&mut self) -> Result<(), IoError> { method write_volatile (line 787) | fn write_volatile( function fwd_cnt (line 815) | pub(crate) fn fwd_cnt(&self) -> Wrapping { function insert_credit_update (line 820) | pub(crate) fn insert_credit_update(&mut self) { function init_pkt_hdr (line 825) | fn init_pkt_hdr(hdr: &mut VsockPacketHeader, op: u16, len: u32) { type CsmTestContext (line 846) | struct CsmTestContext { method new_established (line 855) | fn new_established() -> Self { method new (line 859) | fn new(conn_state: ConnState) -> Self { method set_stream (line 914) | fn set_stream(&mut self, stream: TestStream) { method set_peer_credit (line 918) | fn set_peer_credit(&mut self, credit: u32) { method send (line 925) | fn send(&mut self) { method recv (line 929) | fn recv(&mut self) { method notify_epollin (line 933) | fn notify_epollin(&mut self) { method notify_epollout (line 938) | fn notify_epollout(&mut self) { method init_tx_pkt (line 942) | fn init_tx_pkt(&mut self, op: u16, len: u32) -> &mut VsockPacketTx { method init_data_tx_pkt (line 947) | fn init_data_tx_pkt(&mut self, mut data: &[u8]) -> &VsockPacketTx { function test_peer_request (line 960) | fn test_peer_request() { function test_local_request (line 979) | fn test_local_request() { function test_local_request_timeout (line 1000) | fn test_local_request_timeout() { function test_rx_data (line 1013) | fn test_rx_data() { function test_local_close (line 1041) | fn test_local_close() { function test_peer_close (line 1064) | fn test_peer_close() { function test_local_read_error (line 1139) | fn test_local_read_error() { function test_credit_request_to_peer (line 1150) | fn test_credit_request_to_peer() { function test_credit_request_from_peer (line 1159) | fn test_credit_request_from_peer() { function test_credit_update_to_peer (line 1171) | fn test_credit_update_to_peer() { function test_tx_buffering (line 1208) | fn test_tx_buffering() { function test_stream_write_error (line 1241) | fn test_stream_write_error() { function test_peer_credit_misbehavior (line 1286) | fn test_peer_credit_misbehavior() { FILE: src/vmm/src/devices/virtio/vsock/csm/mod.rs constant CONN_TX_BUF_SIZE (line 13) | pub const CONN_TX_BUF_SIZE: u32 = 64 * 1024; constant CONN_CREDIT_UPDATE_THRESHOLD (line 17) | pub const CONN_CREDIT_UPDATE_THRESHOLD: u32 = 4 * 1024; constant CONN_REQUEST_TIMEOUT_MS (line 20) | pub const CONN_REQUEST_TIMEOUT_MS: u64 = 2000; constant CONN_SHUTDOWN_TIMEOUT_MS (line 23) | pub const CONN_SHUTDOWN_TIMEOUT_MS: u64 = 2000; type VsockCsmError (line 27) | pub enum VsockCsmError { type ConnState (line 38) | pub enum ConnState { type PendingRx (line 60) | enum PendingRx { method into_mask (line 74) | fn into_mask(self) -> u16 { type PendingRxSet (line 81) | struct PendingRxSet { method insert (line 87) | fn insert(&mut self, it: PendingRx) { method remove (line 94) | fn remove(&mut self, it: PendingRx) -> bool { method contains (line 101) | fn contains(&self, it: PendingRx) -> bool { method is_empty (line 106) | fn is_empty(&self) -> bool { method from (line 113) | fn from(it: PendingRx) -> Self { function test_display_error (line 125) | fn test_display_error() { FILE: src/vmm/src/devices/virtio/vsock/csm/txbuf.rs type TxBuf (line 19) | pub struct TxBuf { constant SIZE (line 30) | const SIZE: usize = defs::CONN_TX_BUF_SIZE as usize; method new (line 33) | pub fn new() -> Self { method len (line 43) | pub fn len(&self) -> usize { method push (line 51) | pub fn push(&mut self, src: &VolatileSlice) -> Resul... method flush_to (line 90) | pub fn flush_to(&mut self, sink: &mut W) -> Result bool { method write_volatile (line 141) | fn write_volatile( type TestSink (line 158) | struct TestSink { constant DEFAULT_CAPACITY (line 165) | const DEFAULT_CAPACITY: usize = 2 * TxBuf::SIZE; method new (line 166) | fn new() -> Self { method clear (line 190) | fn clear(&mut self) { method set_err (line 194) | fn set_err(&mut self, err: IoError) { method set_capacity (line 197) | fn set_capacity(&mut self, capacity: usize) { method write (line 176) | fn write(&mut self, src: &[u8]) -> Result { method flush (line 184) | fn flush(&mut self) -> Result<(), IoError> { function test_push_nowrap (line 206) | fn test_push_nowrap() { function test_push_wrap (line 236) | fn test_push_wrap() { function test_push_error (line 262) | fn test_push_error() { function test_incomplete_flush (line 286) | fn test_incomplete_flush() { function test_flush_error (line 305) | fn test_flush_error() { FILE: src/vmm/src/devices/virtio/vsock/device.rs constant RXQ_INDEX (line 46) | pub(crate) const RXQ_INDEX: usize = 0; constant TXQ_INDEX (line 47) | pub(crate) const TXQ_INDEX: usize = 1; constant EVQ_INDEX (line 48) | pub(crate) const EVQ_INDEX: usize = 2; constant VIRTIO_VSOCK_EVENT_TRANSPORT_RESET (line 50) | pub(crate) const VIRTIO_VSOCK_EVENT_TRANSPORT_RESET: u32 = 0; constant AVAIL_FEATURES (line 56) | pub(crate) const AVAIL_FEATURES: u64 = type Vsock (line 61) | pub struct Vsock { function with_queues (line 91) | pub fn with_queues( function new (line 116) | pub fn new(cid: u64, backend: B) -> Result, VsockError> { function cid (line 125) | pub fn cid(&self) -> u64 { function backend (line 130) | pub fn backend(&self) -> &B { function signal_used_queue (line 136) | pub fn signal_used_queue(&self, qidx: usize) -> Result<(), DeviceError> { function signal_used_queues (line 148) | pub fn signal_used_queues(&self, used_queues: &[u16]) -> Result<(), Devi... function process_rx (line 160) | pub fn process_rx(&mut self) -> Result { function process_tx (line 213) | pub fn process_tx(&mut self) -> Result { function send_transport_reset_event (line 253) | pub fn send_transport_reset_event(&mut self) -> Result<(), DeviceError> { method id (line 287) | fn id(&self) -> &str { method avail_features (line 291) | fn avail_features(&self) -> u64 { method acked_features (line 295) | fn acked_features(&self) -> u64 { method set_acked_features (line 299) | fn set_acked_features(&mut self, acked_features: u64) { method queues (line 303) | fn queues(&self) -> &[VirtQueue] { method queues_mut (line 307) | fn queues_mut(&mut self) -> &mut [VirtQueue] { method queue_events (line 311) | fn queue_events(&self) -> &[EventFd] { method interrupt_trigger (line 315) | fn interrupt_trigger(&self) -> &dyn VirtioInterrupt { method read_config (line 323) | fn read_config(&self, offset: u64, data: &mut [u8]) { method write_config (line 343) | fn write_config(&mut self, offset: u64, data: &[u8]) { method activate (line 352) | fn activate( method is_activated (line 380) | fn is_activated(&self) -> bool { method kick (line 384) | fn kick(&mut self) { method prepare_save (line 401) | fn prepare_save(&mut self) { function test_virtio_device (line 419) | fn test_virtio_device() { FILE: src/vmm/src/devices/virtio/vsock/event_handler.rs constant PROCESS_ACTIVATE (line 45) | const PROCESS_ACTIVATE: u32 = 0; constant PROCESS_RXQ (line 46) | const PROCESS_RXQ: u32 = 1; constant PROCESS_TXQ (line 47) | const PROCESS_TXQ: u32 = 2; constant PROCESS_EVQ (line 48) | const PROCESS_EVQ: u32 = 3; constant PROCESS_NOTIFY_BACKEND (line 49) | const PROCESS_NOTIFY_BACKEND: u32 = 4; function handle_rxq_event (line 51) | pub fn handle_rxq_event(&mut self, evset: EventSet) -> Vec { function handle_txq_event (line 71) | pub fn handle_txq_event(&mut self, evset: EventSet) -> Vec { function handle_evq_event (line 97) | pub fn handle_evq_event(&mut self, evset: EventSet) { function notify_backend (line 111) | pub fn notify_backend(&mut self, evset: EventSet) -> Result, In... function register_runtime_events (line 129) | fn register_runtime_events(&self, ops: &mut EventOps) { function register_activate_event (line 160) | fn register_activate_event(&self, ops: &mut EventOps) { function handle_activate_event (line 170) | fn handle_activate_event(&self, ops: &mut EventOps) { method process (line 189) | fn process(&mut self, event: Events, ops: &mut EventOps) { method init (line 221) | fn init(&mut self, ops: &mut EventOps) { function test_txq_event (line 245) | fn test_txq_event() { function test_rxq_event (line 327) | fn test_rxq_event() { function test_evq_event (line 390) | fn test_evq_event() { function test_backend_event (line 403) | fn test_backend_event() { function vsock_bof_helper (line 450) | fn vsock_bof_helper(test_ctx: &mut TestContext, desc_idx: usize, addr: u... function test_vsock_bof (line 497) | fn test_vsock_bof() { function test_event_handler (line 555) | fn test_event_handler() { FILE: src/vmm/src/devices/virtio/vsock/metrics.rs function flush_metrics (line 48) | pub fn flush_metrics(serializer: S) -> Result Self { function test_vsock_dev_metrics (line 134) | fn test_vsock_dev_metrics() { FILE: src/vmm/src/devices/virtio/vsock/mod.rs constant VSOCK_DEV_ID (line 41) | pub const VSOCK_DEV_ID: &str = "vsock"; constant VSOCK_NUM_QUEUES (line 44) | pub const VSOCK_NUM_QUEUES: usize = 3; constant VSOCK_QUEUE_SIZES (line 48) | pub const VSOCK_QUEUE_SIZES: [u16; VSOCK_NUM_QUEUES] = [ constant MAX_PKT_BUF_SIZE (line 55) | pub const MAX_PKT_BUF_SIZE: u32 = 64 * 1024; constant VSOCK_OP_REQUEST (line 62) | pub const VSOCK_OP_REQUEST: u16 = 1; constant VSOCK_OP_RESPONSE (line 64) | pub const VSOCK_OP_RESPONSE: u16 = 2; constant VSOCK_OP_RST (line 66) | pub const VSOCK_OP_RST: u16 = 3; constant VSOCK_OP_SHUTDOWN (line 68) | pub const VSOCK_OP_SHUTDOWN: u16 = 4; constant VSOCK_OP_RW (line 70) | pub const VSOCK_OP_RW: u16 = 5; constant VSOCK_OP_CREDIT_UPDATE (line 72) | pub const VSOCK_OP_CREDIT_UPDATE: u16 = 6; constant VSOCK_OP_CREDIT_REQUEST (line 74) | pub const VSOCK_OP_CREDIT_REQUEST: u16 = 7; constant VSOCK_FLAGS_SHUTDOWN_RCV (line 80) | pub const VSOCK_FLAGS_SHUTDOWN_RCV: u32 = 1; constant VSOCK_FLAGS_SHUTDOWN_SEND (line 82) | pub const VSOCK_FLAGS_SHUTDOWN_SEND: u32 = 2; constant VSOCK_TYPE_STREAM (line 88) | pub const VSOCK_TYPE_STREAM: u16 = 1; constant VSOCK_HOST_CID (line 90) | pub const VSOCK_HOST_CID: u64 = 2; type VsockError (line 97) | pub enum VsockError { method from (line 134) | fn from(value: IoVecError) -> Self { type VsockEpollListener (line 150) | pub trait VsockEpollListener: AsRawFd { method get_polled_evset (line 152) | fn get_polled_evset(&self) -> EventSet; method notify (line 155) | fn notify(&mut self, evset: EventSet); type VsockChannel (line 167) | pub trait VsockChannel { method recv_pkt (line 169) | fn recv_pkt(&mut self, pkt: &mut VsockPacketRx) -> Result<(), VsockErr... method send_pkt (line 172) | fn send_pkt(&mut self, pkt: &VsockPacketTx) -> Result<(), VsockError>; method has_pending_rx (line 176) | fn has_pending_rx(&self) -> bool; type VsockBackend (line 182) | pub trait VsockBackend: VsockChannel + VsockEpollListener + Send {} FILE: src/vmm/src/devices/virtio/vsock/packet.rs type VsockPacketHeader (line 50) | pub struct VsockPacketHeader { method src_cid (line 82) | pub fn src_cid(&self) -> u64 { method set_src_cid (line 86) | pub fn set_src_cid(&mut self, cid: u64) -> &mut Self { method dst_cid (line 91) | pub fn dst_cid(&self) -> u64 { method set_dst_cid (line 95) | pub fn set_dst_cid(&mut self, cid: u64) -> &mut Self { method src_port (line 100) | pub fn src_port(&self) -> u32 { method set_src_port (line 104) | pub fn set_src_port(&mut self, port: u32) -> &mut Self { method dst_port (line 109) | pub fn dst_port(&self) -> u32 { method set_dst_port (line 113) | pub fn set_dst_port(&mut self, port: u32) -> &mut Self { method len (line 118) | pub fn len(&self) -> u32 { method set_len (line 122) | pub fn set_len(&mut self, len: u32) -> &mut Self { method type_ (line 127) | pub fn type_(&self) -> u16 { method set_type (line 131) | pub fn set_type(&mut self, type_: u16) -> &mut Self { method op (line 136) | pub fn op(&self) -> u16 { method set_op (line 140) | pub fn set_op(&mut self, op: u16) -> &mut Self { method flags (line 145) | pub fn flags(&self) -> u32 { method set_flags (line 149) | pub fn set_flags(&mut self, flags: u32) -> &mut Self { method set_flag (line 154) | pub fn set_flag(&mut self, flag: u32) -> &mut Self { method buf_alloc (line 159) | pub fn buf_alloc(&self) -> u32 { method set_buf_alloc (line 163) | pub fn set_buf_alloc(&mut self, buf_alloc: u32) -> &mut Self { method fwd_cnt (line 168) | pub fn fwd_cnt(&self) -> u32 { method set_fwd_cnt (line 172) | pub fn set_fwd_cnt(&mut self, fwd_cnt: u32) -> &mut Self { constant VSOCK_PKT_HDR_SIZE (line 179) | pub const VSOCK_PKT_HDR_SIZE: u32 = 44; type VsockPacketTx (line 189) | pub struct VsockPacketTx { method parse (line 212) | pub fn parse( method write_from_offset_to (line 245) | pub fn write_from_offset_to( method buf_size (line 272) | pub fn buf_size(&self) -> u32 { type VsockPacketRx (line 282) | pub struct VsockPacketRx { method new (line 294) | pub fn new() -> Result { method parse (line 307) | pub fn parse( method commit_hdr (line 332) | pub fn commit_hdr(&mut self) -> Result<(), VsockError> { method buf_size (line 347) | pub fn buf_size(&self) -> u32 { method read_at_offset_from (line 351) | pub fn read_at_offset_from( function set_pkt_len (line 395) | fn set_pkt_len(len: u32, guest_desc: &GuestQDesc, mem: &GuestMemoryMmap) { function test_packet_hdr_size (line 403) | fn test_packet_hdr_size() { function test_tx_packet_assembly (line 412) | fn test_tx_packet_assembly() { function test_rx_packet_assembly (line 538) | fn test_rx_packet_assembly() { function test_packet_hdr_accessors (line 583) | fn test_packet_hdr_accessors() { function test_packet_buf (line 637) | fn test_packet_buf() { FILE: src/vmm/src/devices/virtio/vsock/persist.rs type VsockState (line 21) | pub struct VsockState { type VsockFrontendState (line 30) | pub struct VsockFrontendState { type VsockBackendState (line 38) | pub struct VsockBackendState { type VsockConstructorArgs (line 47) | pub struct VsockConstructorArgs { type VsockUdsConstructorArgs (line 56) | pub struct VsockUdsConstructorArgs { type State (line 62) | type State = VsockBackendState; type ConstructorArgs (line 63) | type ConstructorArgs = VsockUdsConstructorArgs; type Error (line 64) | type Error = VsockUnixBackendError; method save (line 66) | fn save(&self) -> Self::State { method restore (line 73) | fn restore( type State (line 87) | type State = VsockFrontendState; type ConstructorArgs (line 88) | type ConstructorArgs = VsockConstructorArgs; type Error (line 89) | type Error = VsockError; function save (line 91) | fn save(&self) -> Self::State { function restore (line 98) | fn restore( type State (line 132) | type State = VsockBackendState; type ConstructorArgs (line 133) | type ConstructorArgs = VsockUdsConstructorArgs; type Error (line 134) | type Error = VsockUnixBackendError; method save (line 136) | fn save(&self) -> Self::State { method restore (line 143) | fn restore(_: Self::ConstructorArgs, state: &Self::State) -> Result Self { method set_rx_err (line 50) | pub fn set_rx_err(&mut self, err: Option) { method set_tx_err (line 53) | pub fn set_tx_err(&mut self, err: Option) { method set_pending_rx (line 56) | pub fn set_pending_rx(&mut self, prx: bool) { method default (line 62) | fn default() -> Self { method recv_pkt (line 68) | fn recv_pkt(&mut self, pkt: &mut VsockPacketRx) -> Result<(), VsockError> { method send_pkt (line 87) | fn send_pkt(&mut self, _pkt: &VsockPacketTx) -> Result<(), VsockError> { method has_pending_rx (line 97) | fn has_pending_rx(&self) -> bool { method as_raw_fd (line 103) | fn as_raw_fd(&self) -> RawFd { method get_polled_evset (line 109) | fn get_polled_evset(&self) -> EventSet { method notify (line 112) | fn notify(&mut self, evset: EventSet) { type TestContext (line 119) | pub struct TestContext { method new (line 128) | pub fn new() -> Self { method create_event_handler_context (line 146) | pub fn create_event_handler_context(&self) -> EventHandlerContext<'_> { method default (line 189) | fn default() -> Self { type EventHandlerContext (line 195) | pub struct EventHandlerContext<'a> { function mock_activate (line 203) | pub fn mock_activate(&mut self, mem: GuestMemoryMmap, interrupt: Arc Vec { function write_element_in_queue (line 230) | pub fn write_element_in_queue(vsock: &Vsock, idx: usize, val: u64) { function get_element_from_interest_list (line 237) | pub fn get_element_from_interest_list(vsock: &Vsock, idx: usize) -> u... FILE: src/vmm/src/devices/virtio/vsock/unix/mod.rs constant MAX_CONNECTIONS (line 20) | pub const MAX_CONNECTIONS: usize = 1023; constant MUXER_RXQ_SIZE (line 23) | pub const MUXER_RXQ_SIZE: u32 = 256; constant MUXER_KILLQ_SIZE (line 26) | pub const MUXER_KILLQ_SIZE: u32 = 128; type VsockUnixBackendError (line 31) | pub enum VsockUnixBackendError { type MuxerConnection (line 50) | type MuxerConnection = super::csm::VsockConnection Result &str { method handle_event (line 344) | fn handle_event(&mut self, fd: RawFd, event_set: EventSet) { method read_local_stream_port (line 432) | fn read_local_stream_port(stream: &mut UnixStream) -> Result Option { method allocate_local_port (line 595) | fn allocate_local_port(&mut self) -> u32 { method free_local_port (line 610) | fn free_local_port(&mut self, port: u32) { method handle_peer_request_pkt (line 620) | fn handle_peer_request_pkt(&mut self, pkt: &VsockPacketTx) { method apply_conn_mutation (line 652) | fn apply_conn_mutation(&mut self, key: ConnMapKey, mut_fn: F) method sweep_killq (line 754) | fn sweep_killq(&mut self) { method enq_rst (line 782) | fn enq_rst(&mut self, local_port: u32, peer_port: u32) { method recv_pkt (line 126) | fn recv_pkt(&mut self, pkt: &mut VsockPacketRx) -> Result<(), VsockError> { method send_pkt (line 200) | fn send_pkt(&mut self, pkt: &VsockPacketTx) -> Result<(), VsockError> { method has_pending_rx (line 262) | fn has_pending_rx(&self) -> bool { method as_raw_fd (line 272) | fn as_raw_fd(&self) -> RawFd { method get_polled_evset (line 282) | fn get_polled_evset(&self) -> EventSet { method notify (line 287) | fn notify(&mut self, _: EventSet) { constant PEER_CID (line 811) | const PEER_CID: u64 = 3; constant PEER_BUF_ALLOC (line 812) | const PEER_BUF_ALLOC: u32 = 64 * 1024; type MuxerTestContext (line 815) | struct MuxerTestContext { method new (line 841) | fn new(name: &str) -> Self { method init_tx_pkt (line 868) | fn init_tx_pkt(&mut self, local_port: u32, peer_port: u32, op: u16) ->... method init_data_tx_pkt (line 881) | fn init_data_tx_pkt( method send (line 898) | fn send(&mut self) { method recv (line 902) | fn recv(&mut self) { method notify_muxer (line 906) | fn notify_muxer(&mut self) { method count_epoll_listeners (line 910) | fn count_epoll_listeners(&self) -> (usize, usize) { method create_local_listener (line 923) | fn create_local_listener(&self, port: u32) -> LocalListener { method local_connect (line 927) | fn local_connect(&mut self, peer_port: u32) -> (UnixStream, u32) { method drop (line 824) | fn drop(&mut self) { function get_file (line 830) | fn get_file(fprefix: &str) -> String { type LocalListener (line 982) | struct LocalListener { method new (line 987) | fn new + Clone + Debug>(path: P) -> Self { method accept (line 996) | fn accept(&mut self) -> UnixStream { method drop (line 1003) | fn drop(&mut self) { function test_muxer_epoll_listener (line 1009) | fn test_muxer_epoll_listener() { function test_muxer_epoll_listener_regression (line 1016) | fn test_muxer_epoll_listener_regression() { function test_bad_peer_pkt (line 1034) | fn test_bad_peer_pkt() { function test_peer_connection (line 1082) | fn test_peer_connection() { function test_local_connection (line 1149) | fn test_local_connection() { function test_local_close (line 1183) | fn test_local_close() { function test_peer_close (line 1216) | fn test_peer_close() { function test_muxer_rxq (line 1261) | fn test_muxer_rxq() { function test_muxer_killq (line 1325) | fn test_muxer_killq() { function test_regression_handshake (line 1418) | fn test_regression_handshake() { function test_regression_rxq_pop (line 1440) | fn test_regression_rxq_pop() { function test_vsock_basic_metrics (line 1477) | fn test_vsock_basic_metrics() { FILE: src/vmm/src/devices/virtio/vsock/unix/muxer_killq.rs type MuxerKillQItem (line 35) | struct MuxerKillQItem { type MuxerKillQ (line 43) | pub struct MuxerKillQ { constant SIZE (line 55) | const SIZE: usize = defs::MUXER_KILLQ_SIZE as usize; method new (line 58) | pub fn new() -> Self { method from_conn_map (line 69) | pub fn from_conn_map(conn_map: &HashMap) ... method push (line 94) | pub fn push(&mut self, key: ConnMapKey, kill_time: Instant) { method pop (line 106) | pub fn pop(&mut self) -> Option { method is_synced (line 116) | pub fn is_synced(&self) -> bool { method is_empty (line 121) | pub fn is_empty(&self) -> bool { method is_full (line 126) | pub fn is_full(&self) -> bool { FILE: src/vmm/src/devices/virtio/vsock/unix/muxer_rxq.rs type MuxerRxQ (line 26) | pub struct MuxerRxQ { constant SIZE (line 34) | const SIZE: usize = defs::MUXER_RXQ_SIZE as usize; method new (line 37) | pub fn new() -> Self { method from_conn_map (line 48) | pub fn from_conn_map(conn_map: &HashMap) ... method push (line 78) | pub fn push(&mut self, rx: MuxerRx) -> bool { method peek (line 107) | pub fn peek(&self) -> Option { method pop (line 112) | pub fn pop(&mut self) -> Option { method is_synced (line 117) | pub fn is_synced(&self) -> bool { method len (line 122) | pub fn len(&self) -> usize { method is_empty (line 127) | pub fn is_empty(&self) -> bool { method is_full (line 132) | pub fn is_full(&self) -> bool { FILE: src/vmm/src/dumbo/mod.rs type ByteBuffer (line 20) | pub trait ByteBuffer: Index { method len (line 22) | fn len(&self) -> usize; method read_to_slice (line 29) | fn read_to_slice(&self, offset: usize, buf: &mut [u8]); method len (line 34) | fn len(&self) -> usize { method read_to_slice (line 39) | fn read_to_slice(&self, offset: usize, buf: &mut [u8]) { function bb_len (line 51) | fn bb_len(buf: &T) -> usize { function bb_is_empty (line 55) | fn bb_is_empty(buf: &T) -> bool { function bb_read_from_1 (line 59) | fn bb_read_from_1(src: &T, dst: &mut [u8... function test_u8_byte_buffer (line 64) | fn test_u8_byte_buffer() { FILE: src/vmm/src/dumbo/pdu/arp.rs constant OPER_REQUEST (line 19) | pub const OPER_REQUEST: u16 = 0x0001; constant OPER_REPLY (line 22) | pub const OPER_REPLY: u16 = 0x0002; constant HTYPE_ETHERNET (line 25) | pub const HTYPE_ETHERNET: u16 = 0x0001; constant ETH_IPV4_FRAME_LEN (line 28) | pub const ETH_IPV4_FRAME_LEN: usize = 28; constant HTYPE_OFFSET (line 30) | const HTYPE_OFFSET: usize = 0; constant PTYPE_OFFSET (line 31) | const PTYPE_OFFSET: usize = 2; constant HLEN_OFFSET (line 32) | const HLEN_OFFSET: usize = 4; constant PLEN_OFFSET (line 33) | const PLEN_OFFSET: usize = 5; constant OPER_OFFSET (line 34) | const OPER_OFFSET: usize = 6; constant SHA_OFFSET (line 35) | const SHA_OFFSET: usize = 8; constant ETH_IPV4_SPA_OFFSET (line 39) | const ETH_IPV4_SPA_OFFSET: usize = 14; constant ETH_IPV4_THA_OFFSET (line 40) | const ETH_IPV4_THA_OFFSET: usize = 18; constant ETH_IPV4_TPA_OFFSET (line 41) | const ETH_IPV4_TPA_OFFSET: usize = 24; constant IPV4_ADDR_LEN (line 43) | const IPV4_ADDR_LEN: u8 = 4; type ArpError (line 47) | pub enum ArpError { type EthIPv4ArpFrame (line 68) | pub struct EthIPv4ArpFrame<'a, T: 'a> { function from_bytes_unchecked (line 81) | pub fn from_bytes_unchecked(bytes: T) -> Self { function request_from_bytes (line 91) | pub fn request_from_bytes(bytes: T) -> Result { function htype (line 125) | pub fn htype(&self) -> u16 { function ptype (line 131) | pub fn ptype(&self) -> u16 { function hlen (line 137) | pub fn hlen(&self) -> u8 { function plen (line 143) | pub fn plen(&self) -> u8 { function operation (line 149) | pub fn operation(&self) -> u16 { function sha (line 155) | pub fn sha(&self) -> MacAddr { function spa (line 161) | pub fn spa(&self) -> Ipv4Addr { function tha (line 167) | pub fn tha(&self) -> MacAddr { function tpa (line 173) | pub fn tpa(&self) -> Ipv4Addr { function len (line 179) | pub fn len(&self) -> usize { function write_raw (line 188) | fn write_raw( function write_request (line 223) | pub fn write_request( function write_reply (line 247) | pub fn write_reply( function set_htype (line 270) | pub fn set_htype(&mut self, value: u16) { function set_ptype (line 276) | pub fn set_ptype(&mut self, value: u16) { function set_hlen (line 282) | pub fn set_hlen(&mut self, value: u8) { function set_plen (line 288) | pub fn set_plen(&mut self, value: u8) { function set_operation (line 294) | pub fn set_operation(&mut self, value: u16) { function set_sha (line 300) | pub fn set_sha(&mut self, addr: MacAddr) { function set_spa (line 306) | pub fn set_spa(&mut self, addr: Ipv4Addr) { function set_tha (line 313) | pub fn set_tha(&mut self, addr: MacAddr) { function set_tpa (line 319) | pub fn set_tpa(&mut self, addr: Ipv4Addr) { function test_speculative_tpa (line 328) | pub fn test_speculative_tpa(buf: &[u8], addr: Ipv4Addr) -> bool { function test_eth_ipv4_arp_frame (line 346) | fn test_eth_ipv4_arp_frame() { function test_speculative (line 470) | fn test_speculative() { FILE: src/vmm/src/dumbo/pdu/bytes.rs type NetworkBytes (line 75) | pub trait NetworkBytes: Deref { method ntohs_unchecked (line 82) | fn ntohs_unchecked(&self, offset: usize) -> u16 { method ntohl_unchecked (line 95) | fn ntohl_unchecked(&self, offset: usize) -> u32 { method shrink_unchecked (line 106) | fn shrink_unchecked(&mut self, len: usize); method shrink_unchecked (line 139) | fn shrink_unchecked(&mut self, len: usize) { method shrink_unchecked (line 145) | fn shrink_unchecked(&mut self, len: usize) { method shrink_unchecked (line 190) | fn shrink_unchecked(&mut self, len: usize) { type NetworkBytesMut (line 111) | pub trait NetworkBytesMut: NetworkBytes + DerefMut { method htons_unchecked (line 119) | fn htons_unchecked(&mut self, offset: usize, value: u16) { method htonl_unchecked (line 131) | fn htonl_unchecked(&mut self, offset: usize, value: u32) { type InnerBytes (line 156) | pub(super) struct InnerBytes<'a, T: 'a> { function new (line 164) | pub fn new(bytes: T) -> Self { type Target (line 173) | type Target = [u8]; method deref (line 176) | fn deref(&self) -> &[u8] { method deref_mut (line 183) | fn deref_mut(&mut self) -> &mut [u8] { function test_htons_unchecked (line 203) | fn test_htons_unchecked() { function test_htonl_unchecked (line 211) | fn test_htonl_unchecked() { function test_network_bytes (line 218) | fn test_network_bytes() { FILE: src/vmm/src/dumbo/pdu/ethernet.rs constant DST_MAC_OFFSET (line 13) | const DST_MAC_OFFSET: usize = 0; constant SRC_MAC_OFFSET (line 14) | const SRC_MAC_OFFSET: usize = 6; constant ETHERTYPE_OFFSET (line 15) | const ETHERTYPE_OFFSET: usize = 12; constant PAYLOAD_OFFSET (line 21) | pub const PAYLOAD_OFFSET: usize = 14; constant ETHERTYPE_ARP (line 24) | pub const ETHERTYPE_ARP: u16 = 0x0806; constant ETHERTYPE_IPV4 (line 26) | pub const ETHERTYPE_IPV4: u16 = 0x0800; type EthernetError (line 30) | pub enum EthernetError { type EthernetFrame (line 37) | pub struct EthernetFrame<'a, T: 'a> { function from_bytes_unchecked (line 50) | pub fn from_bytes_unchecked(bytes: T) -> Self { function from_bytes (line 58) | pub fn from_bytes(bytes: T) -> Result { function dst_mac (line 68) | pub fn dst_mac(&self) -> MacAddr { function src_mac (line 74) | pub fn src_mac(&self) -> MacAddr { function ethertype (line 80) | pub fn ethertype(&self) -> u16 { function payload_offset (line 86) | pub fn payload_offset(&self) -> usize { function payload (line 92) | pub fn payload(&self) -> &[u8] { function len (line 98) | pub fn len(&self) -> usize { function new_with_header (line 105) | fn new_with_header( function write_incomplete (line 128) | pub fn write_incomplete( function set_dst_mac (line 141) | pub fn set_dst_mac(&mut self, addr: MacAddr) -> &mut Self { function set_src_mac (line 148) | pub fn set_src_mac(&mut self, addr: MacAddr) -> &mut Self { function set_ethertype (line 155) | pub fn set_ethertype(&mut self, value: u16) -> &mut Self { function payload_mut (line 162) | pub fn payload_mut(&mut self) -> &mut [u8] { function with_payload_len_unchecked (line 176) | pub fn with_payload_len_unchecked(mut self, payload_len: usize) -> Ether... function test_ethernet_frame (line 192) | fn test_ethernet_frame() { constant MAX_FRAME_SIZE (line 247) | pub const MAX_FRAME_SIZE: usize = 1514; constant MAC_ADDR_LEN_USIZE (line 249) | const MAC_ADDR_LEN_USIZE: usize = MAC_ADDR_LEN as usize; function is_valid (line 252) | fn is_valid(&self) -> bool { function verify_from_bytes_unchecked (line 261) | fn verify_from_bytes_unchecked() { function verify_from_bytes (line 277) | fn verify_from_bytes() { function verify_dst_mac (line 297) | fn verify_dst_mac() { function verify_src_mac (line 326) | fn verify_src_mac() { function verify_src_mac_isolation (line 355) | fn verify_src_mac_isolation() { function verify_ethertype (line 399) | fn verify_ethertype() { function verify_payload (line 423) | fn verify_payload() { function verify_new_with_header (line 451) | fn verify_new_with_header() { function verify_write_incomplete (line 482) | fn verify_write_incomplete() { function verify_with_payload_len_unchecked (line 511) | fn verify_with_payload_len_unchecked() { FILE: src/vmm/src/dumbo/pdu/ipv4.rs constant VERSION_AND_IHL_OFFSET (line 17) | const VERSION_AND_IHL_OFFSET: usize = 0; constant DSCP_AND_ECN_OFFSET (line 18) | const DSCP_AND_ECN_OFFSET: usize = 1; constant TOTAL_LEN_OFFSET (line 19) | const TOTAL_LEN_OFFSET: usize = 2; constant IDENTIFICATION_OFFSET (line 20) | const IDENTIFICATION_OFFSET: usize = 4; constant FLAGS_AND_FRAGMENTOFF_OFFSET (line 21) | const FLAGS_AND_FRAGMENTOFF_OFFSET: usize = 6; constant TTL_OFFSET (line 22) | const TTL_OFFSET: usize = 8; constant PROTOCOL_OFFSET (line 23) | const PROTOCOL_OFFSET: usize = 9; constant HEADER_CHECKSUM_OFFSET (line 24) | const HEADER_CHECKSUM_OFFSET: usize = 10; constant SOURCE_ADDRESS_OFFSET (line 25) | const SOURCE_ADDRESS_OFFSET: usize = 12; constant DESTINATION_ADDRESS_OFFSET (line 26) | const DESTINATION_ADDRESS_OFFSET: usize = 16; constant OPTIONS_OFFSET (line 27) | const OPTIONS_OFFSET: u8 = 20; constant IPV4_VERSION (line 30) | pub const IPV4_VERSION: u8 = 0x04; constant DEFAULT_TTL (line 32) | pub const DEFAULT_TTL: u8 = 1; constant PROTOCOL_TCP (line 35) | pub const PROTOCOL_TCP: u8 = 0x06; constant PROTOCOL_UDP (line 38) | pub const PROTOCOL_UDP: u8 = 0x11; type Ipv4Error (line 42) | pub enum Ipv4Error { type IPv4Packet (line 59) | pub struct IPv4Packet<'a, T: 'a> { function from_bytes_unchecked (line 73) | pub fn from_bytes_unchecked(bytes: T) -> Self { function from_bytes (line 81) | pub fn from_bytes(bytes: T, verify_checksum: bool) -> Result (u8, u8) { function header_len (line 134) | pub fn header_len(&self) -> u8 { function dscp_and_ecn (line 141) | pub fn dscp_and_ecn(&self) -> (u8, u8) { function total_len (line 148) | pub fn total_len(&self) -> u16 { function identification (line 154) | pub fn identification(&self) -> u16 { function flags_and_fragment_offset (line 160) | pub fn flags_and_fragment_offset(&self) -> (u8, u16) { function ttl (line 167) | pub fn ttl(&self) -> u8 { function protocol (line 173) | pub fn protocol(&self) -> u8 { function header_checksum (line 179) | pub fn header_checksum(&self) -> u16 { function source_address (line 185) | pub fn source_address(&self) -> Ipv4Addr { function destination_address (line 191) | pub fn destination_address(&self) -> Ipv4Addr { function payload_unchecked (line 202) | pub fn payload_unchecked(&self, header_len: usize) -> &[u8] { function payload (line 208) | pub fn payload(&self) -> &[u8] { function len (line 217) | pub fn len(&self) -> usize { function compute_checksum_unchecked (line 231) | pub fn compute_checksum_unchecked(&self, header_len: usize) -> u16 { function compute_checksum (line 247) | pub fn compute_checksum(&self) -> u16 { function write_header (line 260) | pub fn write_header( function set_version_and_header_len (line 286) | pub fn set_version_and_header_len(&mut self, version: u8, header_len: u8... function set_dscp_and_ecn (line 295) | pub fn set_dscp_and_ecn(&mut self, dscp: u8, ecn: u8) -> &mut Self { function set_total_len (line 302) | pub fn set_total_len(&mut self, value: u16) -> &mut Self { function set_identification (line 309) | pub fn set_identification(&mut self, value: u16) -> &mut Self { function set_flags_and_fragment_offset (line 316) | pub fn set_flags_and_fragment_offset(&mut self, flags: u8, fragment_offs... function set_ttl (line 325) | pub fn set_ttl(&mut self, value: u8) -> &mut Self { function set_protocol (line 332) | pub fn set_protocol(&mut self, value: u8) -> &mut Self { function set_header_checksum (line 339) | pub fn set_header_checksum(&mut self, value: u16) -> &mut Self { function set_source_address (line 346) | pub fn set_source_address(&mut self, addr: Ipv4Addr) -> &mut Self { function set_destination_address (line 354) | pub fn set_destination_address(&mut self, addr: Ipv4Addr) -> &mut Self { function payload_mut_unchecked (line 367) | pub fn payload_mut_unchecked(&mut self, header_len: usize) -> &mut [u8] { function payload_mut (line 373) | pub fn payload_mut(&mut self) -> &mut [u8] { function with_header_and_payload_len_unchecked (line 395) | pub fn with_header_and_payload_len_unchecked( function with_options_and_payload_len_unchecked (line 428) | pub fn with_options_and_payload_len_unchecked( function with_payload_len_unchecked (line 445) | pub fn with_payload_len_unchecked( function test_speculative_dst_addr (line 458) | pub fn test_speculative_dst_addr(buf: &[u8], addr: Ipv4Addr) -> bool { constant MAX_HEADER_LEN (line 474) | const MAX_HEADER_LEN: u8 = 60; function test_set_get (line 477) | fn test_set_get() { function test_constructors (line 525) | fn test_constructors() { function test_incomplete (line 625) | fn test_incomplete() { function test_speculative (line 656) | fn test_speculative() { FILE: src/vmm/src/dumbo/pdu/mod.rs type Incomplete (line 31) | pub struct Incomplete { function new (line 37) | fn new(inner: T) -> Self { function inner (line 43) | pub fn inner(&self) -> &T { function inner_mut (line 49) | pub fn inner_mut(&mut self) -> &mut T { type ChecksumProto (line 56) | enum ChecksumProto { function compute_checksum (line 74) | fn compute_checksum( FILE: src/vmm/src/dumbo/pdu/tcp.rs constant SOURCE_PORT_OFFSET (line 22) | const SOURCE_PORT_OFFSET: usize = 0; constant DESTINATION_PORT_OFFSET (line 23) | const DESTINATION_PORT_OFFSET: usize = 2; constant SEQ_NUMBER_OFFSET (line 24) | const SEQ_NUMBER_OFFSET: usize = 4; constant ACK_NUMBER_OFFSET (line 25) | const ACK_NUMBER_OFFSET: usize = 8; constant DATAOFF_RSVD_NS_OFFSET (line 26) | const DATAOFF_RSVD_NS_OFFSET: usize = 12; constant FLAGS_AFTER_NS_OFFSET (line 27) | const FLAGS_AFTER_NS_OFFSET: usize = 13; constant WINDOW_SIZE_OFFSET (line 28) | const WINDOW_SIZE_OFFSET: usize = 14; constant CHECKSUM_OFFSET (line 29) | const CHECKSUM_OFFSET: usize = 16; constant URG_POINTER_OFFSET (line 30) | const URG_POINTER_OFFSET: usize = 18; constant OPTIONS_OFFSET (line 32) | const OPTIONS_OFFSET: u8 = 20; constant MAX_HEADER_LEN (line 34) | const MAX_HEADER_LEN: u8 = 60; constant OPTION_KIND_EOL (line 36) | const OPTION_KIND_EOL: u8 = 0x00; constant OPTION_KIND_NOP (line 37) | const OPTION_KIND_NOP: u8 = 0x01; constant OPTION_KIND_MSS (line 38) | const OPTION_KIND_MSS: u8 = 0x02; constant OPTION_LEN_MSS (line 40) | const OPTION_LEN_MSS: u8 = 0x04; constant MSS_MIN (line 43) | const MSS_MIN: u16 = 100; type TcpError (line 76) | pub enum TcpError { type TcpSegment (line 96) | pub struct TcpSegment<'a, T: 'a> { function source_port (line 104) | pub fn source_port(&self) -> u16 { function destination_port (line 110) | pub fn destination_port(&self) -> u16 { function sequence_number (line 116) | pub fn sequence_number(&self) -> u32 { function ack_number (line 122) | pub fn ack_number(&self) -> u32 { function header_len_rsvd_ns (line 129) | pub fn header_len_rsvd_ns(&self) -> (u8, u8, bool) { function header_len (line 140) | pub fn header_len(&self) -> u8 { function flags_after_ns (line 146) | pub fn flags_after_ns(&self) -> Flags { function window_size (line 152) | pub fn window_size(&self) -> u16 { function checksum (line 158) | pub fn checksum(&self) -> u16 { function urgent_pointer (line 165) | pub fn urgent_pointer(&self) -> u16 { function options_unchecked (line 175) | pub fn options_unchecked(&self, header_len: usize) -> &[u8] { function payload_unchecked (line 186) | pub fn payload_unchecked(&self, header_len: usize) -> &[u8] { function len (line 192) | pub fn len(&self) -> u16 { function payload (line 201) | pub fn payload(&self) -> &[u8] { function payload_len (line 207) | pub fn payload_len(&self) -> u16 { function compute_checksum (line 215) | pub fn compute_checksum(&self, src_addr: Ipv4Addr, dst_addr: Ipv4Addr) -... function parse_mss_option_unchecked (line 227) | pub fn parse_mss_option_unchecked( function from_bytes_unchecked (line 281) | pub fn from_bytes_unchecked(bytes: T) -> Self { function from_bytes (line 292) | pub fn from_bytes( function set_source_port (line 325) | pub fn set_source_port(&mut self, value: u16) -> &mut Self { function set_destination_port (line 332) | pub fn set_destination_port(&mut self, value: u16) -> &mut Self { function set_sequence_number (line 339) | pub fn set_sequence_number(&mut self, value: u32) -> &mut Self { function set_ack_number (line 346) | pub fn set_ack_number(&mut self, value: u32) -> &mut Self { function set_header_len_rsvd_ns (line 355) | pub fn set_header_len_rsvd_ns(&mut self, header_len: u8, ns: bool) -> &m... function set_flags_after_ns (line 366) | pub fn set_flags_after_ns(&mut self, flags: Flags) -> &mut Self { function set_window_size (line 373) | pub fn set_window_size(&mut self, value: u16) -> &mut Self { function set_checksum (line 380) | pub fn set_checksum(&mut self, value: u16) -> &mut Self { function set_urgent_pointer (line 387) | pub fn set_urgent_pointer(&mut self, value: u16) -> &mut Self { function payload_mut_unchecked (line 398) | pub fn payload_mut_unchecked(&mut self, header_len: usize) -> &mut [u8] { function payload_mut (line 404) | pub fn payload_mut(&mut self) -> &mut [u8] { function write_segment (line 431) | pub fn write_segment( function write_incomplete_segment (line 482) | pub fn write_incomplete_segment( function finalize (line 573) | pub fn finalize( function test_set_get (line 596) | fn test_set_get() { function test_constructors (line 642) | fn test_constructors() { function test_invalid_tcp_option_len (line 823) | fn test_invalid_tcp_option_len() { FILE: src/vmm/src/dumbo/tcp/connection.rs type PayloadSource (line 82) | pub type PayloadSource<'a, R> = Option<(&'a R, Wrapping)>; type PassiveOpenError (line 86) | pub enum PassiveOpenError { type RecvError (line 95) | pub enum RecvError { type WriteNextError (line 106) | pub enum WriteNextError { type Connection (line 164) | pub struct Connection { method passive_open (line 233) | pub fn passive_open( method flags_intersect (line 281) | fn flags_intersect(&self, flags: ConnStatusFlags) -> bool { method set_flags (line 285) | fn set_flags(&mut self, flags: ConnStatusFlags) { method clear_flags (line 289) | fn clear_flags(&mut self, flags: ConnStatusFlags) { method syn_received (line 293) | fn syn_received(&self) -> bool { method synack_pending (line 297) | fn synack_pending(&self) -> bool { method synack_sent (line 301) | fn synack_sent(&self) -> bool { method is_reset (line 305) | fn is_reset(&self) -> bool { method fin_sent (line 309) | fn fin_sent(&self) -> bool { method fin_acked (line 313) | fn fin_acked(&self) -> bool { method is_same_syn (line 317) | fn is_same_syn(&self, segment: &TcpSegment... method reset_for_segment (line 328) | fn reset_for_segment(&mut self, s: &TcpSegmen... method rst_pending (line 334) | fn rst_pending(&self) -> bool { method rto_expired (line 338) | fn rto_expired(&self, now: u64) -> bool { method can_send_first_fin (line 344) | fn can_send_first_fin(&self) -> bool { method local_rwnd (line 351) | fn local_rwnd(&self) -> u16 { method remote_window_size (line 358) | fn remote_window_size(&self, window_size: u16) -> u32 { method compute_remote_rwnd_edge (line 363) | fn compute_remote_rwnd_edge(&self, ack: Wrapping, window_size: u1... method enqueue_ack (line 369) | fn enqueue_ack(&mut self) { method close (line 378) | pub fn close(&mut self) { method make_rst_config (line 387) | pub fn make_rst_config(&self) -> RstConfig { method reset (line 398) | pub fn reset(&mut self) { method is_established (line 406) | pub fn is_established(&self) -> bool { method fin_received (line 412) | pub fn fin_received(&self) -> bool { method is_done (line 425) | pub fn is_done(&self) -> bool { method first_not_sent (line 431) | pub fn first_not_sent(&self) -> Wrapping { method highest_ack_received (line 437) | pub fn highest_ack_received(&self) -> Wrapping { method advance_local_rwnd_edge (line 447) | pub fn advance_local_rwnd_edge(&mut self, value: u32) { method remote_rwnd_edge (line 466) | pub fn remote_rwnd_edge(&self) -> Wrapping { method dup_ack_pending (line 472) | pub fn dup_ack_pending(&self) -> bool { method control_segment_or_timeout_status (line 484) | pub fn control_segment_or_timeout_status(&self) -> NextSegmentStatus { method reset_for_segment_helper (line 500) | fn reset_for_segment_helper( method receive_segment (line 521) | pub fn receive_segment( method write_segment (line 731) | fn write_segment<'a, R: ByteBuffer + ?Sized + Debug>( method write_control_segment (line 768) | fn write_control_segment<'a, R: ByteBuffer + ?Sized + Debug>( method write_next_segment (line 822) | pub fn write_next_segment<'a, R: ByteBuffer + ?Sized + Debug>( function parse_mss_option (line 208) | fn parse_mss_option( function is_valid_syn (line 218) | fn is_valid_syn(segment: &TcpSegment) -> bool { constant BASIC_SEGMENT_SIZE (line 1024) | const BASIC_SEGMENT_SIZE: usize = 20; type ConnectionTester (line 1027) | pub struct ConnectionTester { method new (line 1042) | pub fn new() -> Self { method passive_open (line 1058) | fn passive_open( method write_segment_helper (line 1072) | fn write_segment_helper<'a>( method write_syn (line 1095) | pub fn write_syn<'a>(&self, buf: &'a mut [u8]) -> TcpSegment<'a, &'a m... method write_ctrl (line 1099) | pub fn write_ctrl<'a>(&self, buf: &'a mut [u8]) -> TcpSegment<'a, &'a ... method write_data (line 1103) | pub fn write_data<'a>( method receive_segment (line 1113) | fn receive_segment( method write_next_segment (line 1121) | fn write_next_segment( method should_reset_after (line 1136) | fn should_reset_after( method check_synack_is_next (line 1175) | fn check_synack_is_next(&mut self, c: &mut Connection) { function check_control_segment (line 1197) | fn check_control_segment( function check_acks (line 1208) | fn check_acks( function check_syn_received (line 1220) | fn check_syn_received(c: &Connection) { function check_synack_sent (line 1224) | fn check_synack_sent(c: &Connection) { function check_established (line 1231) | fn check_established(c: &Connection) { function check_fin_received_but_not_sent (line 1240) | fn check_fin_received_but_not_sent(c: &Connection) { function test_connection (line 1252) | fn test_connection() { FILE: src/vmm/src/dumbo/tcp/endpoint.rs constant EVICTION_THRESHOLD (line 31) | const EVICTION_THRESHOLD: u64 = 40_000_000_000; constant CONNECTION_RTO_PERIOD (line 32) | const CONNECTION_RTO_PERIOD: u64 = 1_200_000_000; constant CONNECTION_RTO_COUNT_MAX (line 33) | const CONNECTION_RTO_COUNT_MAX: u16 = 15; constant RCV_BUF_MAX_SIZE (line 40) | const RCV_BUF_MAX_SIZE: u32 = 2500; type Endpoint (line 45) | pub struct Endpoint { method new (line 95) | pub fn new( method new_with_defaults (line 130) | pub fn new_with_defaults( method receive_segment (line 142) | pub fn receive_segment ... method write_next_segment (line 263) | pub fn write_next_segment<'a>( method is_done (line 295) | pub fn is_done(&self) -> bool { method is_evictable (line 300) | pub fn is_evictable(&self) -> bool { method next_segment_status (line 305) | pub fn next_segment_status(&self) -> NextSegmentStatus { method connection (line 320) | pub fn connection(&self) -> &Connection { method set_eviction_threshold (line 377) | pub fn set_eviction_threshold(&mut self, value: u64) { function build_response (line 325) | fn build_response(status_code: StatusCode, body: Body) -> Response { function parse_request_bytes (line 332) | fn parse_request_bytes Response>( function test_endpoint (line 384) | fn test_endpoint() { function test_parse_request_bytes_error (line 586) | fn test_parse_request_bytes_error() { FILE: src/vmm/src/dumbo/tcp/handler.rs type RecvEvent (line 25) | pub enum RecvEvent { type WriteEvent (line 48) | pub enum WriteEvent { type RecvError (line 61) | pub enum RecvError { type WriteNextError (line 74) | pub enum WriteNextError { type ConnectionTuple (line 85) | struct ConnectionTuple { method new (line 91) | fn new(remote_addr: Ipv4Addr, remote_port: u16) -> Self { type TcpIPv4Handler (line 124) | pub struct TcpIPv4Handler { method new (line 161) | pub fn new( method set_local_ipv4_addr (line 180) | pub fn set_local_ipv4_addr(&mut self, ipv4_addr: Ipv4Addr) { method local_ipv4_addr (line 185) | pub fn local_ipv4_addr(&self) -> Ipv4Addr { method local_port (line 190) | pub fn local_port(&self) -> u16 { method max_connections (line 195) | pub fn max_connections(&self) -> NonZeroUsize { method max_pending_resets (line 200) | pub fn max_pending_resets(&self) -> NonZeroUsize { method receive_packet (line 207) | pub fn receive_packet R... method check_timeout (line 287) | fn check_timeout(&mut self, value: u64, tuple: ConnectionTuple) { method find_next_timeout (line 295) | fn find_next_timeout(&mut self) { method check_next_segment_status (line 313) | fn check_next_segment_status( method add_connection (line 335) | fn add_connection(&mut self, tuple: ConnectionTuple, endpoint: Endpoin... method remove_connection (line 340) | fn remove_connection(&mut self, tuple: ConnectionTuple) { method find_evictable_connection (line 353) | fn find_evictable_connection(&self) -> Option { method enqueue_rst_config (line 362) | fn enqueue_rst_config(&mut self, tuple: ConnectionTuple, cfg: RstConfi... method enqueue_rst (line 369) | fn enqueue_rst(&mut self, tuple: ConnectionTu... method write_next_packet (line 380) | pub fn write_next_packet( method next_segment_status (line 490) | pub fn next_segment_status(&self) -> NextSegmentStatus { type RecvSegmentOutcome (line 147) | enum RecvSegmentOutcome { function inner_tcp_mut (line 511) | fn inner_tcp_mut<'a, T: NetworkBytesMut + Debug>( function write_next (line 518) | fn write_next<'a>( function next_written_segment (line 533) | fn next_written_segment<'a>( function drain_packets (line 551) | fn drain_packets( function test_handler (line 573) | fn test_handler() { FILE: src/vmm/src/dumbo/tcp/mod.rs constant MAX_WINDOW_SIZE (line 17) | pub const MAX_WINDOW_SIZE: u32 = 1_073_725_440; constant MSS_DEFAULT (line 21) | pub const MSS_DEFAULT: u16 = 536; type NextSegmentStatus (line 27) | pub enum NextSegmentStatus { type RstConfig (line 39) | pub enum RstConfig { method new (line 50) | pub fn new(s: &TcpSegment) -> Self { method seq_ack_tcp_flags (line 62) | pub fn seq_ack_tcp_flags(self) -> (u32, u32, TcpFlags) { function seq_after (line 77) | pub fn seq_after(a: Wrapping, b: Wrapping) -> bool { function seq_at_or_after (line 88) | pub fn seq_at_or_after(a: Wrapping, b: Wrapping) -> bool { function mock_callback (line 100) | pub fn mock_callback(_request: Request) -> Response { function test_rst_config (line 105) | fn test_rst_config() { function test_seq_at_or_after (line 142) | fn test_seq_at_or_after() { FILE: src/vmm/src/gdb/arch/aarch64.rs constant SW_BP_SIZE (line 25) | pub const SW_BP_SIZE: usize = 4; constant SW_BP (line 31) | pub const SW_BP: [u8; SW_BP_SIZE] = [0, 0, 32, 212]; constant PC_REG_ID (line 34) | const PC_REG_ID: u64 = arm64_core_reg_id!(KVM_REG_SIZE_U64, offset_of!(u... function get_sys_reg (line 37) | fn get_sys_reg(reg: u64, vcpu_fd: &VcpuFd) -> Result { function get_instruction_pointer (line 49) | pub fn get_instruction_pointer(vcpu_fd: &VcpuFd) -> Result Result { constant GRAIN_SIZE (line 74) | const GRAIN_SIZE: usize = 9; function translate_gva (line 81) | pub fn translate_gva(vcpu_fd: &VcpuFd, gva: u64, vmm: &Vmm) -> Result Result<(), GdbTa... function vcpu_set_debug (line 214) | pub fn vcpu_set_debug( function vcpu_inject_bp (line 229) | pub fn vcpu_inject_bp( constant GENERAL_PURPOSE_REG_COUNT (line 237) | const GENERAL_PURPOSE_REG_COUNT: usize = 31; constant CORE_REG_COUNT (line 239) | const CORE_REG_COUNT: usize = 33; constant CORE_REG_IDS (line 241) | const CORE_REG_IDS: [u64; CORE_REG_COUNT] = { function read_registers (line 261) | pub fn read_registers(vcpu_fd: &VcpuFd, regs: &mut CoreRegs) -> Result<(... function write_registers (line 288) | pub fn write_registers(vcpu_fd: &VcpuFd, regs: &CoreRegs) -> Result<(), ... FILE: src/vmm/src/gdb/arch/x86.rs constant X86_GLOBAL_DEBUG_ENABLE (line 15) | const X86_GLOBAL_DEBUG_ENABLE: u64 = 0b11 << 9; constant X86_SW_BP_OP (line 18) | const X86_SW_BP_OP: u8 = 0xCC; constant SW_BP_SIZE (line 21) | pub const SW_BP_SIZE: usize = 1; constant SW_BP (line 24) | pub const SW_BP: [u8; SW_BP_SIZE] = [X86_SW_BP_OP]; function get_instruction_pointer (line 27) | pub fn get_instruction_pointer(vcpu_fd: &VcpuFd) -> Result Result Result<(... function write_registers (line 136) | pub fn write_registers(vcpu_fd: &VcpuFd, regs: &CoreRegs) -> Result<(), ... FILE: src/vmm/src/gdb/event_loop.rs function event_loop (line 21) | pub fn event_loop( type GdbBlockingEventLoop (line 40) | struct GdbBlockingEventLoop {} type Target (line 43) | type Target = FirecrackerTarget; type Connection (line 44) | type Connection = Box>; type StopReason (line 46) | type StopReason = MultiThreadStopReason; method wait_for_stop_reason (line 49) | fn wait_for_stop_reason( method on_interrupt (line 109) | fn on_interrupt( function gdb_event_loop_thread (line 128) | fn gdb_event_loop_thread( FILE: src/vmm/src/gdb/mod.rs function gdb_thread (line 35) | pub fn gdb_thread( FILE: src/vmm/src/gdb/target.rs type VcpuState (line 43) | struct VcpuState { method reset_vcpu_state (line 51) | fn reset_vcpu_state(&mut self) { type GdbTargetError (line 59) | pub enum GdbTargetError { method from (line 108) | fn from(_value: PoisonError) -> Self { function from (line 99) | fn from(error: GdbTargetError) -> Self { type FirecrackerTarget (line 117) | pub struct FirecrackerTarget { method new (line 166) | pub fn new(vmm: Arc>, gdb_event: Receiver, entry_add... method update_vcpu_kvm_debug (line 186) | fn update_vcpu_kvm_debug( method translate_gva (line 202) | fn translate_gva(&self, vcpu_idx: usize, addr: u64) -> Result Result { method get_paused_vcpu_idx (line 214) | fn get_paused_vcpu_idx(&self) -> Result { method set_paused_vcpu (line 220) | pub fn set_paused_vcpu(&mut self, tid: Tid) { method resume_all_vcpus (line 227) | fn resume_all_vcpus(&mut self) -> Result<(), GdbTargetError> { method reset_all_vcpu_states (line 246) | fn reset_all_vcpu_states(&mut self) { method shutdown_vmm (line 253) | pub fn shutdown_vmm(&self) { method pause_vcpu (line 261) | pub fn pause_vcpu(&mut self, tid: Tid) -> Result<(), GdbTargetError> { method inject_bp_to_guest (line 280) | pub fn inject_bp_to_guest(&mut self, tid: Tid) -> Result<(), GdbTarget... method resume_vcpu (line 288) | pub fn resume_vcpu(&mut self, tid: Tid) -> Result<(), GdbTargetError> { method get_stop_reason (line 312) | pub fn get_stop_reason( function tid_to_vcpuid (line 146) | fn tid_to_vcpuid(tid: Tid) -> usize { function vcpuid_to_tid (line 152) | pub fn vcpuid_to_tid(cpu_id: usize) -> Result { function get_raw_tid (line 158) | pub fn get_raw_tid(cpu_id: usize) -> usize { type Error (line 352) | type Error = GdbTargetError; type Arch (line 353) | type Arch = GdbArch; method base_ops (line 356) | fn base_ops(&mut self) -> BaseOps<'_, Self::Arch, Self::Error> { method support_breakpoints (line 361) | fn support_breakpoints(&mut self) -> Option> { method guard_rail_implicit_sw_breakpoints (line 368) | fn guard_rail_implicit_sw_breakpoints(&self) -> bool { method read_registers (line 375) | fn read_registers(&mut self, regs: &mut CoreRegs, tid: Tid) -> TargetRes... method write_registers (line 385) | fn write_registers(&mut self, regs: &CoreRegs, tid: Tid) -> TargetResult... method read_addrs (line 395) | fn read_addrs( method write_addrs (line 432) | fn write_addrs( method list_active_threads (line 471) | fn list_active_threads( method support_resume (line 483) | fn support_resume(&mut self) -> Option> { method support_thread_extra_info (line 488) | fn support_thread_extra_info(&mut self) -> Option Result<(), Self::Error> { method clear_resume_actions (line 513) | fn clear_resume_actions(&mut self) -> Result<(), Self::Error> { method support_single_step (line 521) | fn support_single_step(&mut self) -> Option Option Result<(), Self::Error> { method support_hw_breakpoint (line 555) | fn support_hw_breakpoint(&mut self) -> Option> { method support_sw_breakpoint (line 560) | fn support_sw_breakpoint(&mut self) -> Option> { method add_hw_breakpoint (line 568) | fn add_hw_breakpoint( method remove_hw_breakpoint (line 589) | fn remove_hw_breakpoint( method add_sw_breakpoint (line 611) | fn add_sw_breakpoint( method remove_sw_breakpoint (line 636) | fn remove_sw_breakpoint( method thread_extra_info (line 656) | fn thread_extra_info(&self, tid: Tid, buf: &mut [u8]) -> Result Resul... function make_test_bin (line 83) | fn make_test_bin() -> Vec { function test_load_initrd (line 91) | fn test_load_initrd() { function test_load_initrd_no_memory (line 114) | fn test_load_initrd_no_memory() { function test_load_initrd_unaligned (line 128) | fn test_load_initrd_unaligned() { FILE: src/vmm/src/io_uring/generated.rs type __IncompleteArrayField (line 21) | pub struct __IncompleteArrayField(::std::marker::PhantomData, [T; ... function new (line 24) | pub const fn new() -> Self { function as_ptr (line 28) | pub fn as_ptr(&self) -> *const T { function as_mut_ptr (line 32) | pub fn as_mut_ptr(&mut self) -> *mut T { function as_slice (line 36) | pub unsafe fn as_slice(&self, len: usize) -> &[T] { function as_mut_slice (line 40) | pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { function fmt (line 45) | fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { type __BindgenUnionField (line 50) | pub struct __BindgenUnionField(::std::marker::PhantomData); function new (line 53) | pub const fn new() -> Self { function as_ref (line 57) | pub unsafe fn as_ref(&self) -> &T { function as_mut (line 61) | pub unsafe fn as_mut(&mut self) -> &mut T { function default (line 67) | fn default() -> Self { function clone (line 73) | fn clone(&self) -> Self { function fmt (line 79) | fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { function hash (line 84) | fn hash(&self, _state: &mut H) {} function eq (line 87) | fn eq(&self, _other: &__BindgenUnionField) -> bool { constant IORING_FILE_INDEX_ALLOC (line 92) | pub const IORING_FILE_INDEX_ALLOC: i32 = -1; constant IORING_SETUP_IOPOLL (line 93) | pub const IORING_SETUP_IOPOLL: u32 = 1; constant IORING_SETUP_SQPOLL (line 94) | pub const IORING_SETUP_SQPOLL: u32 = 2; constant IORING_SETUP_SQ_AFF (line 95) | pub const IORING_SETUP_SQ_AFF: u32 = 4; constant IORING_SETUP_CQSIZE (line 96) | pub const IORING_SETUP_CQSIZE: u32 = 8; constant IORING_SETUP_CLAMP (line 97) | pub const IORING_SETUP_CLAMP: u32 = 16; constant IORING_SETUP_ATTACH_WQ (line 98) | pub const IORING_SETUP_ATTACH_WQ: u32 = 32; constant IORING_SETUP_R_DISABLED (line 99) | pub const IORING_SETUP_R_DISABLED: u32 = 64; constant IORING_SETUP_SUBMIT_ALL (line 100) | pub const IORING_SETUP_SUBMIT_ALL: u32 = 128; constant IORING_SETUP_COOP_TASKRUN (line 101) | pub const IORING_SETUP_COOP_TASKRUN: u32 = 256; constant IORING_SETUP_TASKRUN_FLAG (line 102) | pub const IORING_SETUP_TASKRUN_FLAG: u32 = 512; constant IORING_SETUP_SQE128 (line 103) | pub const IORING_SETUP_SQE128: u32 = 1024; constant IORING_SETUP_CQE32 (line 104) | pub const IORING_SETUP_CQE32: u32 = 2048; constant IORING_SETUP_SINGLE_ISSUER (line 105) | pub const IORING_SETUP_SINGLE_ISSUER: u32 = 4096; constant IORING_SETUP_DEFER_TASKRUN (line 106) | pub const IORING_SETUP_DEFER_TASKRUN: u32 = 8192; constant IORING_SETUP_NO_MMAP (line 107) | pub const IORING_SETUP_NO_MMAP: u32 = 16384; constant IORING_SETUP_REGISTERED_FD_ONLY (line 108) | pub const IORING_SETUP_REGISTERED_FD_ONLY: u32 = 32768; constant IORING_SETUP_NO_SQARRAY (line 109) | pub const IORING_SETUP_NO_SQARRAY: u32 = 65536; constant IORING_SETUP_HYBRID_IOPOLL (line 110) | pub const IORING_SETUP_HYBRID_IOPOLL: u32 = 131072; constant IORING_URING_CMD_FIXED (line 111) | pub const IORING_URING_CMD_FIXED: u32 = 1; constant IORING_URING_CMD_MASK (line 112) | pub const IORING_URING_CMD_MASK: u32 = 1; constant IORING_FSYNC_DATASYNC (line 113) | pub const IORING_FSYNC_DATASYNC: u32 = 1; constant IORING_TIMEOUT_ABS (line 114) | pub const IORING_TIMEOUT_ABS: u32 = 1; constant IORING_TIMEOUT_UPDATE (line 115) | pub const IORING_TIMEOUT_UPDATE: u32 = 2; constant IORING_TIMEOUT_BOOTTIME (line 116) | pub const IORING_TIMEOUT_BOOTTIME: u32 = 4; constant IORING_TIMEOUT_REALTIME (line 117) | pub const IORING_TIMEOUT_REALTIME: u32 = 8; constant IORING_LINK_TIMEOUT_UPDATE (line 118) | pub const IORING_LINK_TIMEOUT_UPDATE: u32 = 16; constant IORING_TIMEOUT_ETIME_SUCCESS (line 119) | pub const IORING_TIMEOUT_ETIME_SUCCESS: u32 = 32; constant IORING_TIMEOUT_MULTISHOT (line 120) | pub const IORING_TIMEOUT_MULTISHOT: u32 = 64; constant IORING_TIMEOUT_CLOCK_MASK (line 121) | pub const IORING_TIMEOUT_CLOCK_MASK: u32 = 12; constant IORING_TIMEOUT_UPDATE_MASK (line 122) | pub const IORING_TIMEOUT_UPDATE_MASK: u32 = 18; constant IORING_POLL_ADD_MULTI (line 123) | pub const IORING_POLL_ADD_MULTI: u32 = 1; constant IORING_POLL_UPDATE_EVENTS (line 124) | pub const IORING_POLL_UPDATE_EVENTS: u32 = 2; constant IORING_POLL_UPDATE_USER_DATA (line 125) | pub const IORING_POLL_UPDATE_USER_DATA: u32 = 4; constant IORING_POLL_ADD_LEVEL (line 126) | pub const IORING_POLL_ADD_LEVEL: u32 = 8; constant IORING_ASYNC_CANCEL_ALL (line 127) | pub const IORING_ASYNC_CANCEL_ALL: u32 = 1; constant IORING_ASYNC_CANCEL_FD (line 128) | pub const IORING_ASYNC_CANCEL_FD: u32 = 2; constant IORING_ASYNC_CANCEL_ANY (line 129) | pub const IORING_ASYNC_CANCEL_ANY: u32 = 4; constant IORING_ASYNC_CANCEL_FD_FIXED (line 130) | pub const IORING_ASYNC_CANCEL_FD_FIXED: u32 = 8; constant IORING_ASYNC_CANCEL_USERDATA (line 131) | pub const IORING_ASYNC_CANCEL_USERDATA: u32 = 16; constant IORING_ASYNC_CANCEL_OP (line 132) | pub const IORING_ASYNC_CANCEL_OP: u32 = 32; constant IORING_RECVSEND_POLL_FIRST (line 133) | pub const IORING_RECVSEND_POLL_FIRST: u32 = 1; constant IORING_RECV_MULTISHOT (line 134) | pub const IORING_RECV_MULTISHOT: u32 = 2; constant IORING_RECVSEND_FIXED_BUF (line 135) | pub const IORING_RECVSEND_FIXED_BUF: u32 = 4; constant IORING_SEND_ZC_REPORT_USAGE (line 136) | pub const IORING_SEND_ZC_REPORT_USAGE: u32 = 8; constant IORING_RECVSEND_BUNDLE (line 137) | pub const IORING_RECVSEND_BUNDLE: u32 = 16; constant IORING_NOTIF_USAGE_ZC_COPIED (line 138) | pub const IORING_NOTIF_USAGE_ZC_COPIED: u32 = 2147483648; constant IORING_ACCEPT_MULTISHOT (line 139) | pub const IORING_ACCEPT_MULTISHOT: u32 = 1; constant IORING_ACCEPT_DONTWAIT (line 140) | pub const IORING_ACCEPT_DONTWAIT: u32 = 2; constant IORING_ACCEPT_POLL_FIRST (line 141) | pub const IORING_ACCEPT_POLL_FIRST: u32 = 4; constant IORING_MSG_RING_CQE_SKIP (line 142) | pub const IORING_MSG_RING_CQE_SKIP: u32 = 1; constant IORING_MSG_RING_FLAGS_PASS (line 143) | pub const IORING_MSG_RING_FLAGS_PASS: u32 = 2; constant IORING_FIXED_FD_NO_CLOEXEC (line 144) | pub const IORING_FIXED_FD_NO_CLOEXEC: u32 = 1; constant IORING_NOP_INJECT_RESULT (line 145) | pub const IORING_NOP_INJECT_RESULT: u32 = 1; constant IORING_NOP_FILE (line 146) | pub const IORING_NOP_FILE: u32 = 2; constant IORING_NOP_FIXED_FILE (line 147) | pub const IORING_NOP_FIXED_FILE: u32 = 4; constant IORING_NOP_FIXED_BUFFER (line 148) | pub const IORING_NOP_FIXED_BUFFER: u32 = 8; constant IORING_CQE_F_BUFFER (line 149) | pub const IORING_CQE_F_BUFFER: u32 = 1; constant IORING_CQE_F_MORE (line 150) | pub const IORING_CQE_F_MORE: u32 = 2; constant IORING_CQE_F_SOCK_NONEMPTY (line 151) | pub const IORING_CQE_F_SOCK_NONEMPTY: u32 = 4; constant IORING_CQE_F_NOTIF (line 152) | pub const IORING_CQE_F_NOTIF: u32 = 8; constant IORING_CQE_F_BUF_MORE (line 153) | pub const IORING_CQE_F_BUF_MORE: u32 = 16; constant IORING_CQE_BUFFER_SHIFT (line 154) | pub const IORING_CQE_BUFFER_SHIFT: u32 = 16; constant IORING_OFF_SQ_RING (line 155) | pub const IORING_OFF_SQ_RING: u32 = 0; constant IORING_OFF_CQ_RING (line 156) | pub const IORING_OFF_CQ_RING: u32 = 134217728; constant IORING_OFF_SQES (line 157) | pub const IORING_OFF_SQES: u32 = 268435456; constant IORING_OFF_PBUF_RING (line 158) | pub const IORING_OFF_PBUF_RING: u32 = 2147483648; constant IORING_OFF_PBUF_SHIFT (line 159) | pub const IORING_OFF_PBUF_SHIFT: u32 = 16; constant IORING_OFF_MMAP_MASK (line 160) | pub const IORING_OFF_MMAP_MASK: u32 = 4160749568; constant IORING_SQ_NEED_WAKEUP (line 161) | pub const IORING_SQ_NEED_WAKEUP: u32 = 1; constant IORING_SQ_CQ_OVERFLOW (line 162) | pub const IORING_SQ_CQ_OVERFLOW: u32 = 2; constant IORING_SQ_TASKRUN (line 163) | pub const IORING_SQ_TASKRUN: u32 = 4; constant IORING_CQ_EVENTFD_DISABLED (line 164) | pub const IORING_CQ_EVENTFD_DISABLED: u32 = 1; constant IORING_ENTER_GETEVENTS (line 165) | pub const IORING_ENTER_GETEVENTS: u32 = 1; constant IORING_ENTER_SQ_WAKEUP (line 166) | pub const IORING_ENTER_SQ_WAKEUP: u32 = 2; constant IORING_ENTER_SQ_WAIT (line 167) | pub const IORING_ENTER_SQ_WAIT: u32 = 4; constant IORING_ENTER_EXT_ARG (line 168) | pub const IORING_ENTER_EXT_ARG: u32 = 8; constant IORING_ENTER_REGISTERED_RING (line 169) | pub const IORING_ENTER_REGISTERED_RING: u32 = 16; constant IORING_ENTER_ABS_TIMER (line 170) | pub const IORING_ENTER_ABS_TIMER: u32 = 32; constant IORING_ENTER_EXT_ARG_REG (line 171) | pub const IORING_ENTER_EXT_ARG_REG: u32 = 64; constant IORING_FEAT_SINGLE_MMAP (line 172) | pub const IORING_FEAT_SINGLE_MMAP: u32 = 1; constant IORING_FEAT_NODROP (line 173) | pub const IORING_FEAT_NODROP: u32 = 2; constant IORING_FEAT_SUBMIT_STABLE (line 174) | pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4; constant IORING_FEAT_RW_CUR_POS (line 175) | pub const IORING_FEAT_RW_CUR_POS: u32 = 8; constant IORING_FEAT_CUR_PERSONALITY (line 176) | pub const IORING_FEAT_CUR_PERSONALITY: u32 = 16; constant IORING_FEAT_FAST_POLL (line 177) | pub const IORING_FEAT_FAST_POLL: u32 = 32; constant IORING_FEAT_POLL_32BITS (line 178) | pub const IORING_FEAT_POLL_32BITS: u32 = 64; constant IORING_FEAT_SQPOLL_NONFIXED (line 179) | pub const IORING_FEAT_SQPOLL_NONFIXED: u32 = 128; constant IORING_FEAT_EXT_ARG (line 180) | pub const IORING_FEAT_EXT_ARG: u32 = 256; constant IORING_FEAT_NATIVE_WORKERS (line 181) | pub const IORING_FEAT_NATIVE_WORKERS: u32 = 512; constant IORING_FEAT_RSRC_TAGS (line 182) | pub const IORING_FEAT_RSRC_TAGS: u32 = 1024; constant IORING_FEAT_CQE_SKIP (line 183) | pub const IORING_FEAT_CQE_SKIP: u32 = 2048; constant IORING_FEAT_LINKED_FILE (line 184) | pub const IORING_FEAT_LINKED_FILE: u32 = 4096; constant IORING_FEAT_REG_REG_RING (line 185) | pub const IORING_FEAT_REG_REG_RING: u32 = 8192; constant IORING_FEAT_RECVSEND_BUNDLE (line 186) | pub const IORING_FEAT_RECVSEND_BUNDLE: u32 = 16384; constant IORING_FEAT_MIN_TIMEOUT (line 187) | pub const IORING_FEAT_MIN_TIMEOUT: u32 = 32768; constant IORING_RSRC_REGISTER_SPARSE (line 188) | pub const IORING_RSRC_REGISTER_SPARSE: u32 = 1; constant IORING_REGISTER_FILES_SKIP (line 189) | pub const IORING_REGISTER_FILES_SKIP: i32 = -2; constant IO_URING_OP_SUPPORTED (line 190) | pub const IO_URING_OP_SUPPORTED: u32 = 1; type __u8 (line 191) | pub type __u8 = ::std::os::raw::c_uchar; type __u16 (line 192) | pub type __u16 = ::std::os::raw::c_ushort; type __s32 (line 193) | pub type __s32 = ::std::os::raw::c_int; type __u32 (line 194) | pub type __u32 = ::std::os::raw::c_uint; type __u64 (line 195) | pub type __u64 = ::std::os::raw::c_ulonglong; type __kernel_time64_t (line 196) | pub type __kernel_time64_t = ::std::os::raw::c_longlong; type __kernel_rwf_t (line 197) | pub type __kernel_rwf_t = ::std::os::raw::c_int; type __kernel_timespec (line 200) | pub struct __kernel_timespec { constant _ (line 205) | const _: () = { type io_uring_sqe (line 215) | pub struct io_uring_sqe { type io_uring_sqe__bindgen_ty_1__bindgen_ty_1 (line 239) | pub struct io_uring_sqe__bindgen_ty_1__bindgen_ty_1 { constant _ (line 244) | const _: () = { constant _ (line 255) | const _: () = { method default (line 266) | fn default() -> Self { type io_uring_sqe__bindgen_ty_2__bindgen_ty_1 (line 283) | pub struct io_uring_sqe__bindgen_ty_2__bindgen_ty_1 { constant _ (line 288) | const _: () = { constant _ (line 299) | const _: () = { method default (line 310) | fn default() -> Self { constant _ (line 346) | const _: () = { method default (line 399) | fn default() -> Self { constant _ (line 414) | const _: () = { method default (line 425) | fn default() -> Self { type io_uring_sqe__bindgen_ty_5__bindgen_ty_1 (line 443) | pub struct io_uring_sqe__bindgen_ty_5__bindgen_ty_1 { constant _ (line 448) | const _: () = { constant _ (line 459) | const _: () = { method default (line 472) | fn default() -> Self { type io_uring_sqe__bindgen_ty_6 (line 482) | pub struct io_uring_sqe__bindgen_ty_6 { type io_uring_sqe__bindgen_ty_6__bindgen_ty_1 (line 490) | pub struct io_uring_sqe__bindgen_ty_6__bindgen_ty_1 { constant _ (line 495) | const _: () = { constant _ (line 506) | const _: () = { method default (line 517) | fn default() -> Self { constant _ (line 526) | const _: () = { method default (line 542) | fn default() -> Self { type Type (line 551) | pub type Type = ::std::os::raw::c_uint; constant IOSQE_FIXED_FILE_BIT (line 552) | pub const IOSQE_FIXED_FILE_BIT: Type = 0; constant IOSQE_IO_DRAIN_BIT (line 553) | pub const IOSQE_IO_DRAIN_BIT: Type = 1; constant IOSQE_IO_LINK_BIT (line 554) | pub const IOSQE_IO_LINK_BIT: Type = 2; constant IOSQE_IO_HARDLINK_BIT (line 555) | pub const IOSQE_IO_HARDLINK_BIT: Type = 3; constant IOSQE_ASYNC_BIT (line 556) | pub const IOSQE_ASYNC_BIT: Type = 4; constant IOSQE_BUFFER_SELECT_BIT (line 557) | pub const IOSQE_BUFFER_SELECT_BIT: Type = 5; constant IOSQE_CQE_SKIP_SUCCESS_BIT (line 558) | pub const IOSQE_CQE_SKIP_SUCCESS_BIT: Type = 6; type Type (line 561) | pub type Type = ::std::os::raw::c_uint; constant IORING_OP_NOP (line 562) | pub const IORING_OP_NOP: Type = 0; constant IORING_OP_READV (line 563) | pub const IORING_OP_READV: Type = 1; constant IORING_OP_WRITEV (line 564) | pub const IORING_OP_WRITEV: Type = 2; constant IORING_OP_FSYNC (line 565) | pub const IORING_OP_FSYNC: Type = 3; constant IORING_OP_READ_FIXED (line 566) | pub const IORING_OP_READ_FIXED: Type = 4; constant IORING_OP_WRITE_FIXED (line 567) | pub const IORING_OP_WRITE_FIXED: Type = 5; constant IORING_OP_POLL_ADD (line 568) | pub const IORING_OP_POLL_ADD: Type = 6; constant IORING_OP_POLL_REMOVE (line 569) | pub const IORING_OP_POLL_REMOVE: Type = 7; constant IORING_OP_SYNC_FILE_RANGE (line 570) | pub const IORING_OP_SYNC_FILE_RANGE: Type = 8; constant IORING_OP_SENDMSG (line 571) | pub const IORING_OP_SENDMSG: Type = 9; constant IORING_OP_RECVMSG (line 572) | pub const IORING_OP_RECVMSG: Type = 10; constant IORING_OP_TIMEOUT (line 573) | pub const IORING_OP_TIMEOUT: Type = 11; constant IORING_OP_TIMEOUT_REMOVE (line 574) | pub const IORING_OP_TIMEOUT_REMOVE: Type = 12; constant IORING_OP_ACCEPT (line 575) | pub const IORING_OP_ACCEPT: Type = 13; constant IORING_OP_ASYNC_CANCEL (line 576) | pub const IORING_OP_ASYNC_CANCEL: Type = 14; constant IORING_OP_LINK_TIMEOUT (line 577) | pub const IORING_OP_LINK_TIMEOUT: Type = 15; constant IORING_OP_CONNECT (line 578) | pub const IORING_OP_CONNECT: Type = 16; constant IORING_OP_FALLOCATE (line 579) | pub const IORING_OP_FALLOCATE: Type = 17; constant IORING_OP_OPENAT (line 580) | pub const IORING_OP_OPENAT: Type = 18; constant IORING_OP_CLOSE (line 581) | pub const IORING_OP_CLOSE: Type = 19; constant IORING_OP_FILES_UPDATE (line 582) | pub const IORING_OP_FILES_UPDATE: Type = 20; constant IORING_OP_STATX (line 583) | pub const IORING_OP_STATX: Type = 21; constant IORING_OP_READ (line 584) | pub const IORING_OP_READ: Type = 22; constant IORING_OP_WRITE (line 585) | pub const IORING_OP_WRITE: Type = 23; constant IORING_OP_FADVISE (line 586) | pub const IORING_OP_FADVISE: Type = 24; constant IORING_OP_MADVISE (line 587) | pub const IORING_OP_MADVISE: Type = 25; constant IORING_OP_SEND (line 588) | pub const IORING_OP_SEND: Type = 26; constant IORING_OP_RECV (line 589) | pub const IORING_OP_RECV: Type = 27; constant IORING_OP_OPENAT2 (line 590) | pub const IORING_OP_OPENAT2: Type = 28; constant IORING_OP_EPOLL_CTL (line 591) | pub const IORING_OP_EPOLL_CTL: Type = 29; constant IORING_OP_SPLICE (line 592) | pub const IORING_OP_SPLICE: Type = 30; constant IORING_OP_PROVIDE_BUFFERS (line 593) | pub const IORING_OP_PROVIDE_BUFFERS: Type = 31; constant IORING_OP_REMOVE_BUFFERS (line 594) | pub const IORING_OP_REMOVE_BUFFERS: Type = 32; constant IORING_OP_TEE (line 595) | pub const IORING_OP_TEE: Type = 33; constant IORING_OP_SHUTDOWN (line 596) | pub const IORING_OP_SHUTDOWN: Type = 34; constant IORING_OP_RENAMEAT (line 597) | pub const IORING_OP_RENAMEAT: Type = 35; constant IORING_OP_UNLINKAT (line 598) | pub const IORING_OP_UNLINKAT: Type = 36; constant IORING_OP_MKDIRAT (line 599) | pub const IORING_OP_MKDIRAT: Type = 37; constant IORING_OP_SYMLINKAT (line 600) | pub const IORING_OP_SYMLINKAT: Type = 38; constant IORING_OP_LINKAT (line 601) | pub const IORING_OP_LINKAT: Type = 39; constant IORING_OP_MSG_RING (line 602) | pub const IORING_OP_MSG_RING: Type = 40; constant IORING_OP_FSETXATTR (line 603) | pub const IORING_OP_FSETXATTR: Type = 41; constant IORING_OP_SETXATTR (line 604) | pub const IORING_OP_SETXATTR: Type = 42; constant IORING_OP_FGETXATTR (line 605) | pub const IORING_OP_FGETXATTR: Type = 43; constant IORING_OP_GETXATTR (line 606) | pub const IORING_OP_GETXATTR: Type = 44; constant IORING_OP_SOCKET (line 607) | pub const IORING_OP_SOCKET: Type = 45; constant IORING_OP_URING_CMD (line 608) | pub const IORING_OP_URING_CMD: Type = 46; constant IORING_OP_SEND_ZC (line 609) | pub const IORING_OP_SEND_ZC: Type = 47; constant IORING_OP_SENDMSG_ZC (line 610) | pub const IORING_OP_SENDMSG_ZC: Type = 48; constant IORING_OP_READ_MULTISHOT (line 611) | pub const IORING_OP_READ_MULTISHOT: Type = 49; constant IORING_OP_WAITID (line 612) | pub const IORING_OP_WAITID: Type = 50; constant IORING_OP_FUTEX_WAIT (line 613) | pub const IORING_OP_FUTEX_WAIT: Type = 51; constant IORING_OP_FUTEX_WAKE (line 614) | pub const IORING_OP_FUTEX_WAKE: Type = 52; constant IORING_OP_FUTEX_WAITV (line 615) | pub const IORING_OP_FUTEX_WAITV: Type = 53; constant IORING_OP_FIXED_FD_INSTALL (line 616) | pub const IORING_OP_FIXED_FD_INSTALL: Type = 54; constant IORING_OP_FTRUNCATE (line 617) | pub const IORING_OP_FTRUNCATE: Type = 55; constant IORING_OP_BIND (line 618) | pub const IORING_OP_BIND: Type = 56; constant IORING_OP_LISTEN (line 619) | pub const IORING_OP_LISTEN: Type = 57; constant IORING_OP_LAST (line 620) | pub const IORING_OP_LAST: Type = 58; type Type (line 623) | pub type Type = ::std::os::raw::c_uint; constant IORING_MSG_DATA (line 624) | pub const IORING_MSG_DATA: Type = 0; constant IORING_MSG_SEND_FD (line 625) | pub const IORING_MSG_SEND_FD: Type = 1; type io_uring_cqe (line 629) | pub struct io_uring_cqe { constant _ (line 635) | const _: () = { type io_sqring_offsets (line 645) | pub struct io_sqring_offsets { constant _ (line 657) | const _: () = { type io_cqring_offsets (line 681) | pub struct io_cqring_offsets { constant _ (line 693) | const _: () = { type io_uring_params (line 717) | pub struct io_uring_params { constant _ (line 730) | const _: () = { type Type (line 755) | pub type Type = ::std::os::raw::c_uint; constant IORING_REGISTER_BUFFERS (line 756) | pub const IORING_REGISTER_BUFFERS: Type = 0; constant IORING_UNREGISTER_BUFFERS (line 757) | pub const IORING_UNREGISTER_BUFFERS: Type = 1; constant IORING_REGISTER_FILES (line 758) | pub const IORING_REGISTER_FILES: Type = 2; constant IORING_UNREGISTER_FILES (line 759) | pub const IORING_UNREGISTER_FILES: Type = 3; constant IORING_REGISTER_EVENTFD (line 760) | pub const IORING_REGISTER_EVENTFD: Type = 4; constant IORING_UNREGISTER_EVENTFD (line 761) | pub const IORING_UNREGISTER_EVENTFD: Type = 5; constant IORING_REGISTER_FILES_UPDATE (line 762) | pub const IORING_REGISTER_FILES_UPDATE: Type = 6; constant IORING_REGISTER_EVENTFD_ASYNC (line 763) | pub const IORING_REGISTER_EVENTFD_ASYNC: Type = 7; constant IORING_REGISTER_PROBE (line 764) | pub const IORING_REGISTER_PROBE: Type = 8; constant IORING_REGISTER_PERSONALITY (line 765) | pub const IORING_REGISTER_PERSONALITY: Type = 9; constant IORING_UNREGISTER_PERSONALITY (line 766) | pub const IORING_UNREGISTER_PERSONALITY: Type = 10; constant IORING_REGISTER_RESTRICTIONS (line 767) | pub const IORING_REGISTER_RESTRICTIONS: Type = 11; constant IORING_REGISTER_ENABLE_RINGS (line 768) | pub const IORING_REGISTER_ENABLE_RINGS: Type = 12; constant IORING_REGISTER_FILES2 (line 769) | pub const IORING_REGISTER_FILES2: Type = 13; constant IORING_REGISTER_FILES_UPDATE2 (line 770) | pub const IORING_REGISTER_FILES_UPDATE2: Type = 14; constant IORING_REGISTER_BUFFERS2 (line 771) | pub const IORING_REGISTER_BUFFERS2: Type = 15; constant IORING_REGISTER_BUFFERS_UPDATE (line 772) | pub const IORING_REGISTER_BUFFERS_UPDATE: Type = 16; constant IORING_REGISTER_IOWQ_AFF (line 773) | pub const IORING_REGISTER_IOWQ_AFF: Type = 17; constant IORING_UNREGISTER_IOWQ_AFF (line 774) | pub const IORING_UNREGISTER_IOWQ_AFF: Type = 18; constant IORING_REGISTER_IOWQ_MAX_WORKERS (line 775) | pub const IORING_REGISTER_IOWQ_MAX_WORKERS: Type = 19; constant IORING_REGISTER_RING_FDS (line 776) | pub const IORING_REGISTER_RING_FDS: Type = 20; constant IORING_UNREGISTER_RING_FDS (line 777) | pub const IORING_UNREGISTER_RING_FDS: Type = 21; constant IORING_REGISTER_PBUF_RING (line 778) | pub const IORING_REGISTER_PBUF_RING: Type = 22; constant IORING_UNREGISTER_PBUF_RING (line 779) | pub const IORING_UNREGISTER_PBUF_RING: Type = 23; constant IORING_REGISTER_SYNC_CANCEL (line 780) | pub const IORING_REGISTER_SYNC_CANCEL: Type = 24; constant IORING_REGISTER_FILE_ALLOC_RANGE (line 781) | pub const IORING_REGISTER_FILE_ALLOC_RANGE: Type = 25; constant IORING_REGISTER_PBUF_STATUS (line 782) | pub const IORING_REGISTER_PBUF_STATUS: Type = 26; constant IORING_REGISTER_NAPI (line 783) | pub const IORING_REGISTER_NAPI: Type = 27; constant IORING_UNREGISTER_NAPI (line 784) | pub const IORING_UNREGISTER_NAPI: Type = 28; constant IORING_REGISTER_CLOCK (line 785) | pub const IORING_REGISTER_CLOCK: Type = 29; constant IORING_REGISTER_CLONE_BUFFERS (line 786) | pub const IORING_REGISTER_CLONE_BUFFERS: Type = 30; constant IORING_REGISTER_SEND_MSG_RING (line 787) | pub const IORING_REGISTER_SEND_MSG_RING: Type = 31; constant IORING_REGISTER_RESIZE_RINGS (line 788) | pub const IORING_REGISTER_RESIZE_RINGS: Type = 33; constant IORING_REGISTER_MEM_REGION (line 789) | pub const IORING_REGISTER_MEM_REGION: Type = 34; constant IORING_REGISTER_LAST (line 790) | pub const IORING_REGISTER_LAST: Type = 35; constant IORING_REGISTER_USE_REGISTERED_RING (line 791) | pub const IORING_REGISTER_USE_REGISTERED_RING: Type = 2147483648; type io_uring_files_update (line 795) | pub struct io_uring_files_update { constant _ (line 801) | const _: () = { type Type (line 813) | pub type Type = ::std::os::raw::c_uint; constant IORING_MEM_REGION_TYPE_USER (line 814) | pub const IORING_MEM_REGION_TYPE_USER: Type = 1; type io_uring_region_desc (line 818) | pub struct io_uring_region_desc { constant _ (line 827) | const _: () = { type Type (line 844) | pub type Type = ::std::os::raw::c_uint; constant IORING_MEM_REGION_REG_WAIT_ARG (line 845) | pub const IORING_MEM_REGION_REG_WAIT_ARG: Type = 1; type io_uring_mem_region_reg (line 849) | pub struct io_uring_mem_region_reg { constant _ (line 855) | const _: () = { type io_uring_rsrc_register (line 868) | pub struct io_uring_rsrc_register { constant _ (line 876) | const _: () = { type io_uring_rsrc_update (line 893) | pub struct io_uring_rsrc_update { constant _ (line 899) | const _: () = { type io_uring_rsrc_update2 (line 911) | pub struct io_uring_rsrc_update2 { constant _ (line 920) | const _: () = { type io_uring_probe_op (line 939) | pub struct io_uring_probe_op { constant _ (line 946) | const _: () = { type io_uring_probe (line 960) | pub struct io_uring_probe { constant _ (line 968) | const _: () = { type io_uring_restriction (line 983) | pub struct io_uring_restriction { constant _ (line 997) | const _: () = { method default (line 1010) | fn default() -> Self { constant _ (line 1019) | const _: () = { method default (line 1030) | fn default() -> Self { type io_uring_clock_register (line 1040) | pub struct io_uring_clock_register { constant _ (line 1045) | const _: () = { type Type (line 1055) | pub type Type = ::std::os::raw::c_uint; constant IORING_REGISTER_SRC_REGISTERED (line 1056) | pub const IORING_REGISTER_SRC_REGISTERED: Type = 1; constant IORING_REGISTER_DST_REPLACE (line 1057) | pub const IORING_REGISTER_DST_REPLACE: Type = 2; type io_uring_clone_buffers (line 1061) | pub struct io_uring_clone_buffers { constant _ (line 1070) | const _: () = { type io_uring_buf (line 1089) | pub struct io_uring_buf { constant _ (line 1096) | const _: () = { type io_uring_buf_ring (line 1105) | pub struct io_uring_buf_ring { type io_uring_buf_ring__bindgen_ty_1 (line 1109) | pub struct io_uring_buf_ring__bindgen_ty_1 { type io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1 (line 1116) | pub struct io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1 { constant _ (line 1123) | const _: () = { type io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2 (line 1139) | pub struct io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2 { type io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 (line 1145) | pub struct io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 {} constant _ (line 1147) | const _: () = { constant _ (line 1156) | const _: () = { constant _ (line 1169) | const _: () = { method default (line 1176) | fn default() -> Self { constant _ (line 1185) | const _: () = { method default (line 1190) | fn default() -> Self { type Type (line 1199) | pub type Type = ::std::os::raw::c_uint; constant IOU_PBUF_RING_MMAP (line 1200) | pub const IOU_PBUF_RING_MMAP: Type = 1; constant IOU_PBUF_RING_INC (line 1201) | pub const IOU_PBUF_RING_INC: Type = 2; type io_uring_buf_reg (line 1205) | pub struct io_uring_buf_reg { constant _ (line 1213) | const _: () = { type io_uring_buf_status (line 1229) | pub struct io_uring_buf_status { constant _ (line 1235) | const _: () = { type Type (line 1246) | pub type Type = ::std::os::raw::c_uint; constant IO_URING_NAPI_REGISTER_OP (line 1247) | pub const IO_URING_NAPI_REGISTER_OP: Type = 0; constant IO_URING_NAPI_STATIC_ADD_ID (line 1248) | pub const IO_URING_NAPI_STATIC_ADD_ID: Type = 1; constant IO_URING_NAPI_STATIC_DEL_ID (line 1249) | pub const IO_URING_NAPI_STATIC_DEL_ID: Type = 2; type Type (line 1252) | pub type Type = ::std::os::raw::c_uint; constant IO_URING_NAPI_TRACKING_DYNAMIC (line 1253) | pub const IO_URING_NAPI_TRACKING_DYNAMIC: Type = 0; constant IO_URING_NAPI_TRACKING_STATIC (line 1254) | pub const IO_URING_NAPI_TRACKING_STATIC: Type = 1; constant IO_URING_NAPI_TRACKING_INACTIVE (line 1255) | pub const IO_URING_NAPI_TRACKING_INACTIVE: Type = 255; type io_uring_napi (line 1259) | pub struct io_uring_napi { constant _ (line 1268) | const _: () = { type Type (line 1283) | pub type Type = ::std::os::raw::c_uint; constant IORING_RESTRICTION_REGISTER_OP (line 1284) | pub const IORING_RESTRICTION_REGISTER_OP: Type = 0; constant IORING_RESTRICTION_SQE_OP (line 1285) | pub const IORING_RESTRICTION_SQE_OP: Type = 1; constant IORING_RESTRICTION_SQE_FLAGS_ALLOWED (line 1286) | pub const IORING_RESTRICTION_SQE_FLAGS_ALLOWED: Type = 2; constant IORING_RESTRICTION_SQE_FLAGS_REQUIRED (line 1287) | pub const IORING_RESTRICTION_SQE_FLAGS_REQUIRED: Type = 3; constant IORING_RESTRICTION_LAST (line 1288) | pub const IORING_RESTRICTION_LAST: Type = 4; type Type (line 1291) | pub type Type = ::std::os::raw::c_uint; constant IORING_REG_WAIT_TS (line 1292) | pub const IORING_REG_WAIT_TS: Type = 1; type io_uring_reg_wait (line 1296) | pub struct io_uring_reg_wait { constant _ (line 1306) | const _: () = { type io_uring_getevents_arg (line 1326) | pub struct io_uring_getevents_arg { constant _ (line 1333) | const _: () = { type io_uring_sync_cancel_reg (line 1348) | pub struct io_uring_sync_cancel_reg { constant _ (line 1358) | const _: () = { type io_uring_file_index_range (line 1380) | pub struct io_uring_file_index_range { constant _ (line 1386) | const _: () = { type io_uring_recvmsg_out (line 1400) | pub struct io_uring_recvmsg_out { constant _ (line 1407) | const _: () = { type Type (line 1420) | pub type Type = ::std::os::raw::c_uint; constant SOCKET_URING_OP_SIOCINQ (line 1421) | pub const SOCKET_URING_OP_SIOCINQ: Type = 0; constant SOCKET_URING_OP_SIOCOUTQ (line 1422) | pub const SOCKET_URING_OP_SIOCOUTQ: Type = 1; constant SOCKET_URING_OP_GETSOCKOPT (line 1423) | pub const SOCKET_URING_OP_GETSOCKOPT: Type = 2; constant SOCKET_URING_OP_SETSOCKOPT (line 1424) | pub const SOCKET_URING_OP_SETSOCKOPT: Type = 3; FILE: src/vmm/src/io_uring/mod.rs constant REQUIRED_OPS (line 29) | const REQUIRED_OPS: [OpCode; 2] = [OpCode::Read, OpCode::Write]; constant IORING_MAX_FIXED_FILES (line 31) | const IORING_MAX_FIXED_FILES: usize = 1 << 15; type IoUringError (line 35) | pub enum IoUringError { method is_throttling_err (line 70) | pub fn is_throttling_err(&self) -> bool { type IoUring (line 80) | pub struct IoUring { function new (line 106) | pub fn new( function push (line 167) | pub fn push(&mut self, op: Operation) -> Result<(), (IoUringError, T)> { function pop (line 206) | pub fn pop(&mut self) -> Result>, IoUringError> { function do_submit (line 219) | fn do_submit(&mut self, min_complete: u32) -> Result { function submit (line 226) | pub fn submit(&mut self) -> Result { function submit_and_wait_all (line 231) | pub fn submit_and_wait_all(&mut self) -> Result { function pending_sqes (line 236) | pub fn pending_sqes(&self) -> Result { function num_ops (line 242) | pub fn num_ops(&self) -> u32 { function enable (line 246) | fn enable(&mut self) -> Result<(), IoUringError> { function register_files (line 261) | fn register_files(&mut self, files: Vec<&File>) -> Result<(), IoUringErr... function register_eventfd (line 295) | fn register_eventfd(&self, fd: RawFd) -> Result<(), IoUringError> { function register_restrictions (line 310) | fn register_restrictions(&self, restrictions: Vec) -> Resul... function check_features (line 334) | fn check_features(params: io_uring_params) -> Result<(), IoUringError> { function check_operations (line 348) | fn check_operations(&self) -> Result<(), IoUringError> { function drain_cqueue (line 398) | fn drain_cqueue(ring: &mut IoUring) { function setup_mem_region (line 409) | fn setup_mem_region(len: usize) -> MmapRegion { function free_mem_region (line 425) | fn free_mem_region(region: MmapRegion) { function read_entire_mem_region (line 429) | fn read_entire_mem_region(region: &MmapRegion) -> Vec { function arbitrary_rw_operation (line 437) | fn arbitrary_rw_operation(file_len: u32) -> impl Strategy { function new (line 21) | pub fn new(res: i32, user_data: T) -> Self { function count (line 26) | pub fn count(&self) -> u32 { function result (line 31) | pub fn result(&self) -> Result { function map_user_data (line 42) | pub fn map_user_data U>(self, op: F) -> Cqe { function user_data (line 50) | pub fn user_data(self) -> T { function test_result (line 60) | fn test_result() { function test_user_data (line 82) | fn test_user_data() { function test_map_user_data (line 90) | fn test_map_user_data() { FILE: src/vmm/src/io_uring/operation/mod.rs type FixedFd (line 18) | pub type FixedFd = u32; type OpCode (line 25) | pub enum OpCode { function from (line 36) | fn from(opcode: OpCode) -> Self { type Operation (line 47) | pub struct Operation { function fmt (line 59) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { function read (line 78) | pub fn read(fd: FixedFd, addr: usize, len: u32, offset: u64, user_data: ... function write (line 91) | pub fn write(fd: FixedFd, addr: usize, len: u32, offset: u64, user_data:... function fsync (line 104) | pub fn fsync(fd: FixedFd, user_data: T) -> Self { function fd (line 116) | pub(crate) fn fd(&self) -> FixedFd { function set_linked (line 122) | pub(crate) fn set_linked(&mut self) { function into_sqe (line 128) | pub(crate) fn into_sqe(self, slab: &mut slab::Slab) -> Sqe { FILE: src/vmm/src/io_uring/operation/sqe.rs type Sqe (line 13) | pub(crate) struct Sqe(pub(crate) io_uring_sqe); method fmt (line 16) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method new (line 23) | pub(crate) fn new(inner: io_uring_sqe) -> Self { method user_data (line 28) | pub(crate) fn user_data(&self) -> u64 { function test_user_data (line 38) | fn test_user_data() { FILE: src/vmm/src/io_uring/probe.rs constant PROBE_LEN (line 11) | pub(crate) const PROBE_LEN: usize = u8::MAX as usize + 1; type ProbeWrapper (line 22) | pub(crate) type ProbeWrapper = FamStructWrapper; FILE: src/vmm/src/io_uring/queue/completion.rs type CQueueError (line 18) | pub enum CQueueError { type CompletionQueue (line 28) | pub(crate) struct CompletionQueue { method new (line 44) | pub(crate) fn new( method count (line 74) | pub(crate) fn count(&self) -> u32 { method pop (line 78) | pub(crate) fn pop( method drop (line 111) | fn drop(&mut self) { FILE: src/vmm/src/io_uring/queue/mmap.rs type MmapError (line 12) | pub enum MmapError { function mmap (line 19) | pub(crate) fn mmap(size: usize, fd: RawFd, offset: i64) -> Result Result<(), (SQueueError, u6... method submit (line 122) | pub(crate) fn submit(&mut self, min_complete: u32) -> Result Result { method drop (line 193) | fn drop(&mut self) { FILE: src/vmm/src/io_uring/restriction.rs type Restriction (line 22) | pub enum Restriction { method from (line 30) | fn from(restriction: &Restriction) -> Self { FILE: src/vmm/src/lib.rs type EventManager (line 171) | pub type EventManager = BaseEventManager>; function mem_size_mib (line 278) | pub(crate) fn mem_size_mib(guest_memory: &GuestMemoryMmap) -> u64 { type EmulateSerialInitError (line 285) | pub struct EmulateSerialInitError(#[from] std::io::Error); type StartVcpusError (line 289) | pub enum StartVcpusError { type DumpCpuConfigError (line 298) | pub enum DumpCpuConfigError { type Vmm (line 311) | pub struct Vmm { method version (line 336) | pub fn version(&self) -> String { method instance_info (line 341) | pub fn instance_info(&self) -> InstanceInfo { method get_mmds (line 346) | pub fn get_mmds(&self) -> Option>> { method shutdown_exit_code (line 362) | pub fn shutdown_exit_code(&self) -> Option { method full_config (line 367) | pub fn full_config(&self) -> VmmConfig { method start_vcpus (line 464) | pub fn start_vcpus( method resume_vm (line 504) | pub fn resume_vm(&mut self) -> Result<(), VmmError> { method pause_vm (line 528) | pub fn pause_vm(&mut self) -> Result<(), VmmError> { method send_ctrl_alt_del (line 551) | pub fn send_ctrl_alt_del(&mut self) -> Result<(), VmmError> { method save_state (line 562) | pub fn save_state(&mut self, vm_info: &VmInfo) -> Result Result, MicrovmStateE... method dump_cpu_config (line 623) | pub fn dump_cpu_config(&mut self) -> Result, Dum... method update_block_device_path (line 652) | pub fn update_block_device_path( method update_block_rate_limiter (line 665) | pub fn update_block_rate_limiter( method update_vhost_user_block_config (line 679) | pub fn update_vhost_user_block_config(&mut self, drive_id: &str) -> Re... method update_net_rate_limiters (line 686) | pub fn update_net_rate_limiters( method balloon_config (line 702) | pub fn balloon_config(&self) -> Result { method latest_balloon_stats (line 710) | pub fn latest_balloon_stats(&self) -> Result { method update_balloon_config (line 718) | pub fn update_balloon_config(&mut self, amount_mib: u32) -> Result<(),... method update_balloon_stats_config (line 727) | pub fn update_balloon_stats_config( method memory_hotplug_status (line 739) | pub fn memory_hotplug_status(&self) -> Result... method start_balloon_hinting (line 756) | pub fn start_balloon_hinting(&mut self, cmd: StartHintingCmd) -> Resul... method get_balloon_hinting_status (line 763) | pub fn get_balloon_hinting_status(&mut self) -> Result Result<(), VmmError> { method stop (line 778) | pub fn stop(&mut self, exit_code: FcExitCode) { method vm (line 787) | pub fn vm(&self) -> &Vm { function construct_kvm_mpidrs (line 807) | fn construct_kvm_mpidrs(vcpu_states: &[VcpuState]) -> Vec { method drop (line 818) | fn drop(&mut self) { method process (line 848) | fn process(&mut self, event: Events, _: &mut EventOps) { method init (line 882) | fn init(&mut self, ops: &mut EventOps) { FILE: src/vmm/src/logger/logging.rs constant DEFAULT_LEVEL (line 20) | pub const DEFAULT_LEVEL: log::LevelFilter = log::LevelFilter::Info; constant DEFAULT_INSTANCE_ID (line 22) | pub const DEFAULT_INSTANCE_ID: &str = "anonymous-instance"; type LoggerInitError (line 39) | pub type LoggerInitError = log::SetLoggerError; type LoggerUpdateError (line 44) | pub struct LoggerUpdateError(pub std::io::Error); type LogFilter (line 91) | pub struct LogFilter { type LogFormat (line 95) | pub struct LogFormat { type LoggerConfiguration (line 100) | pub struct LoggerConfiguration { type Logger (line 106) | pub struct Logger(pub Mutex); method init (line 48) | pub fn init(&'static self) -> Result<(), LoggerInitError> { method update (line 55) | pub fn update(&self, config: LoggerConfig) -> Result<(), LoggerUpdateE... method enabled (line 110) | fn enabled(&self, _metadata: &Metadata) -> bool { method log (line 114) | fn log(&self, record: &Record) { method flush (line 175) | fn flush(&self) {} type LoggerConfig (line 181) | pub struct LoggerConfig { type LevelFilter (line 199) | pub enum LevelFilter { method deserialize (line 226) | fn deserialize(deserializer: D) -> Result function from (line 214) | fn from(filter: LevelFilter) -> log::LevelFilter { type LevelFilterFromStrError (line 248) | pub struct LevelFilterFromStrError(String); type Err (line 251) | type Err = LevelFilterFromStrError; method from_str (line 252) | fn from_str(s: &str) -> Result { function levelfilter_from_levelfilter (line 272) | fn levelfilter_from_levelfilter() { function levelfilter_from_str_all_variants (line 300) | fn levelfilter_from_str_all_variants() { function logger (line 347) | fn logger() { FILE: src/vmm/src/logger/metrics.rs type Metrics (line 92) | pub struct Metrics { function new (line 100) | pub const fn new(app_metrics: T) -> Metrics { function init (line 119) | pub fn init(&self, metrics_dest: M) -> Result<(), MetricsError> { function write (line 144) | pub fn write(&self) -> Result { type Target (line 160) | type Target = T; method deref (line 162) | fn deref(&self) -> &Self::Target { type MetricsError (line 169) | pub enum MetricsError { type IncMetric (line 182) | pub trait IncMetric { method add (line 184) | fn add(&self, value: u64); method inc (line 186) | fn inc(&self) { method count (line 190) | fn count(&self) -> u64; method fetch_diff (line 194) | fn fetch_diff(&self) -> u64; method add (line 241) | fn add(&self, value: u64) { method count (line 245) | fn count(&self) -> u64 { method fetch_diff (line 248) | fn fetch_diff(&self) -> u64 { type StoreMetric (line 199) | pub trait StoreMetric { method fetch (line 201) | fn fetch(&self) -> u64; method store (line 203) | fn store(&self, value: u64); method fetch (line 254) | fn fetch(&self) -> u64 { method store (line 258) | fn store(&self, value: u64) { type SharedIncMetric (line 217) | pub struct SharedIncMetric(AtomicU64, AtomicU64); method new (line 220) | pub const fn new() -> Self { type SharedStoreMetric (line 228) | pub struct SharedStoreMetric(AtomicU64); method new (line 231) | pub const fn new() -> Self { method serialize (line 267) | fn serialize(&self, serializer: S) -> Result(&self, serializer: S) -> Result Self { type GetRequestsMetrics (line 355) | pub struct GetRequestsMetrics { method new (line 369) | pub const fn new() -> Self { type PutRequestsMetrics (line 382) | pub struct PutRequestsMetrics { method new (line 438) | pub const fn new() -> Self { type PatchRequestsMetrics (line 472) | pub struct PatchRequestsMetrics { method new (line 496) | pub const fn new() -> Self { type DeprecatedApiMetrics (line 514) | pub struct DeprecatedApiMetrics { method new (line 520) | pub const fn new() -> Self { type LoggerSystemMetrics (line 529) | pub struct LoggerSystemMetrics { method new (line 539) | pub const fn new() -> Self { type MmdsMetrics (line 550) | pub struct MmdsMetrics { method new (line 580) | pub const fn new() -> Self { type PerformanceMetrics (line 608) | pub struct PerformanceMetrics { method new (line 632) | pub const fn new() -> Self { type SeccompMetrics (line 650) | pub struct SeccompMetrics { method new (line 656) | pub const fn new() -> Self { type SignalMetrics (line 668) | pub struct SignalMetrics { method new (line 686) | pub const fn new() -> Self { type LatencyMetricsRecorder (line 701) | pub struct LatencyMetricsRecorder<'a> { function new (line 708) | fn new(metric: &'a LatencyAggregateMetrics) -> Self { method drop (line 720) | fn drop(&mut self) { type LatencyAggregateMetrics (line 736) | pub struct LatencyAggregateMetrics { method new (line 746) | pub const fn new() -> Self { method record_latency_metrics (line 760) | pub fn record_latency_metrics(&self) -> LatencyMetricsRecorder<'_> { type VcpuMetrics (line 777) | pub struct VcpuMetrics { method new (line 801) | pub const fn new() -> Self { type InterruptMetrics (line 819) | pub struct InterruptMetrics { method new (line 828) | pub const fn new() -> Self { type VmmMetrics (line 838) | pub struct VmmMetrics { method new (line 844) | pub const fn new() -> Self { type SerializeToUtcTimestampMs (line 853) | struct SerializeToUtcTimestampMs; method new (line 856) | pub const fn new() -> Self { method serialize (line 862) | fn serialize(&self, serializer: S) -> Result Self { function test_init (line 998) | fn test_init() { function test_shared_inc_metric (line 1023) | fn test_shared_inc_metric() { function test_shared_store_metric (line 1058) | fn test_shared_store_metric() { function test_serialize (line 1066) | fn test_serialize() { function test_error_messages (line 1072) | fn test_error_messages() { FILE: src/vmm/src/logger/mod.rs type FcLineWriter (line 22) | pub type FcLineWriter = std::io::LineWriter; constant DEV_PREVIEW_LOG_PREFIX (line 26) | const DEV_PREVIEW_LOG_PREFIX: &str = "[DevPreview]"; function log_dev_preview_warning (line 30) | pub fn log_dev_preview_warning(feature_name: &str, msg_opt: Option Result Result<(), MmdsDatastoreErro... method set_version (line 98) | pub fn set_version(&mut self, version: MmdsVersion) { method version (line 103) | pub fn version(&self) -> MmdsVersion { method set_imds_compat (line 108) | pub fn set_imds_compat(&mut self, imds_compat: bool) { method imds_compat (line 113) | pub fn imds_compat(&self) -> bool { method set_aad (line 119) | pub fn set_aad(&mut self, instance_id: &str) { method is_valid_token (line 124) | pub fn is_valid_token(&self, token: &str) -> bool { method generate_token (line 129) | pub fn generate_token(&mut self, ttl_seconds: u32) -> Result Result<(), MmdsDatastoreErr... method patch_data (line 153) | pub fn patch_data(&mut self, patch_data: Value) -> Result<(), MmdsData... method data_store_value (line 171) | pub fn data_store_value(&self) -> Value { method format_imds (line 212) | fn format_imds(json: &Value) -> Result { method get_value (line 245) | pub fn get_value( method get_data_str (line 278) | fn get_data_str(&self) -> String { type MmdsVersion (line 25) | pub enum MmdsVersion { method fmt (line 34) | fn fmt(&self, f: &mut Formatter) -> fmt::Result { type OutputFormat (line 44) | pub enum OutputFormat { type MmdsDatastoreError (line 53) | pub enum MmdsDatastoreError { method default (line 68) | fn default() -> Self { function test_display_mmds_version (line 287) | fn test_display_mmds_version() { function test_mmds_version (line 294) | fn test_mmds_version() { function test_mmds (line 310) | fn test_mmds() { function test_get_value (line 335) | fn test_get_value() { function test_update_data_store (line 491) | fn test_update_data_store() { function test_put_size_limit (line 562) | fn test_put_size_limit() { FILE: src/vmm/src/mmds/mod.rs type VmmMmdsError (line 33) | pub enum VmmMmdsError { method from (line 49) | fn from(media_type: MediaType) -> Self { function build_response (line 58) | fn build_response( function json_patch (line 72) | pub fn json_patch(target: &mut Value, patch: &Value) { function sanitize_uri (line 99) | fn sanitize_uri(mut uri: String) -> String { function convert_to_response (line 112) | pub fn convert_to_response(mmds: Arc>, request: Request) -> ... function respond_to_get_request_v1 (line 147) | fn respond_to_get_request_v1(mmds: &Mmds, request: Request) -> Response { function respond_to_get_request_v2 (line 165) | fn respond_to_get_request_v2(mmds: &Mmds, request: Request) -> Response { function respond_to_get_request (line 199) | fn respond_to_get_request(mmds: &Mmds, request: Request) -> Response { function respond_to_put_request (line 242) | fn respond_to_put_request(mmds: &mut Mmds, request: Request) -> Response { function populate_mmds (line 345) | fn populate_mmds() -> Arc> { function get_json_data (line 369) | fn get_json_data() -> &'static str { function get_plain_text_data (line 386) | fn get_plain_text_data() -> &'static str { function generate_request_and_expected_response (line 390) | fn generate_request_and_expected_response( function test_sanitize_uri (line 412) | fn test_sanitize_uri() { function test_request_accept_header (line 431) | fn test_request_accept_header() { function test_convert_to_response_negative (line 492) | fn test_convert_to_response_negative() { function test_respond_to_request_mmdsv1 (line 520) | fn test_respond_to_request_mmdsv1() { function test_respond_to_request_mmdsv2 (line 588) | fn test_respond_to_request_mmdsv2() { function test_respond_to_get_request (line 678) | fn test_respond_to_get_request() { function test_respond_to_put_request (line 750) | fn test_respond_to_put_request() { function test_json_patch (line 867) | fn test_json_patch() { function test_error_display (line 921) | fn test_error_display() { FILE: src/vmm/src/mmds/ns.rs constant DEFAULT_MAC_ADDR (line 32) | const DEFAULT_MAC_ADDR: &str = "06:01:23:45:67:01"; constant DEFAULT_IPV4_ADDR (line 33) | const DEFAULT_IPV4_ADDR: [u8; 4] = [169, 254, 169, 254]; constant DEFAULT_TCP_PORT (line 34) | const DEFAULT_TCP_PORT: u16 = 80; constant DEFAULT_MAX_CONNECTIONS (line 35) | const DEFAULT_MAX_CONNECTIONS: usize = 30; constant DEFAULT_MAX_PENDING_RESETS (line 36) | const DEFAULT_MAX_PENDING_RESETS: usize = 100; type WriteArpFrameError (line 39) | enum WriteArpFrameError { type WritePacketError (line 49) | enum WritePacketError { type MmdsNetworkStack (line 61) | pub struct MmdsNetworkStack { method new (line 79) | pub fn new( method new_with_defaults (line 100) | pub fn new_with_defaults(mmds_ipv4_addr: Option, mmds: Arc Ipv4Addr { method default_ipv4_addr (line 117) | pub fn default_ipv4_addr() -> Ipv4Addr { method is_mmds_frame (line 125) | pub fn is_mmds_frame(&self, src: &[u8]) -> bool { method detour_frame (line 145) | pub fn detour_frame(&mut self, src: &[u8]) -> bool { method detour_arp (line 159) | fn detour_arp(&mut self, eth: EthernetFrame<&[u8]>) -> bool { method detour_ipv4 (line 169) | fn detour_ipv4(&mut self, eth: EthernetFrame<&[u8]>) -> bool { method write_next_frame (line 216) | pub fn write_next_frame(&mut self, buf: &mut [u8]) -> Option( method write_arp_reply (line 261) | fn write_arp_reply(&self, buf: &mut [u8]) -> Result Result usi... method write_incoming_tcp_segment (line 352) | fn write_incoming_tcp_segment( method next_frame_as_ipv4_packet (line 388) | fn next_frame_as_ipv4_packet<'a>(&mut self, buf: &'a mut [u8]) -> IPv4... constant REMOTE_ADDR (line 323) | const REMOTE_ADDR: Ipv4Addr = Ipv4Addr::LOCALHOST; constant REMOTE_MAC_STR (line 324) | const REMOTE_MAC_STR: &str = "11:11:11:22:22:22"; constant MMDS_PORT (line 325) | const MMDS_PORT: u16 = 80; constant REMOTE_PORT (line 326) | const REMOTE_PORT: u16 = 1235; constant SEQ_NUMBER (line 327) | const SEQ_NUMBER: u32 = 123; function test_ns_new_with_defaults (line 396) | fn test_ns_new_with_defaults() { function test_ns (line 411) | fn test_ns() { function test_set_ipv4_addr (line 532) | fn test_set_ipv4_addr() { function test_default_ipv4_addr (line 543) | fn test_default_ipv4_addr() { function test_break_speculative_check_detour_arp (line 550) | fn test_break_speculative_check_detour_arp() { function test_break_speculative_check_detour_ipv4 (line 571) | fn test_break_speculative_check_detour_ipv4() { function test_wrong_ethertype (line 591) | fn test_wrong_ethertype() { FILE: src/vmm/src/mmds/persist.rs type MmdsNetworkStackState (line 18) | pub struct MmdsNetworkStackState { type State (line 25) | type State = MmdsNetworkStackState; type ConstructorArgs (line 26) | type ConstructorArgs = Arc>; type Error (line 27) | type Error = (); method save (line 29) | fn save(&self) -> Self::State { method restore (line 40) | fn restore(mmds: Self::ConstructorArgs, state: &Self::State) -> Result(); constant TAG_LEN (line 20) | pub const TAG_LEN: usize = 16; constant MILLISECONDS_PER_SECOND (line 23) | pub const MILLISECONDS_PER_SECOND: u64 = 1_000; constant MIN_TOKEN_TTL_SECONDS (line 26) | pub const MIN_TOKEN_TTL_SECONDS: u32 = 1; constant MAX_TOKEN_TTL_SECONDS (line 28) | pub const MAX_TOKEN_TTL_SECONDS: u32 = 21600; constant PATH_TO_TOKEN (line 31) | pub const PATH_TO_TOKEN: &str = "/latest/api/token"; constant TOKEN_LENGTH_LIMIT (line 37) | const TOKEN_LENGTH_LIMIT: usize = 70; type MmdsTokenError (line 41) | pub enum MmdsTokenError { type TokenAuthority (line 52) | pub struct TokenAuthority { method fmt (line 62) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method try_new (line 72) | pub fn try_new() -> Result { method set_aad (line 82) | pub fn set_aad(&mut self, instance_id: &str) { method generate_token_secret (line 87) | pub fn generate_token_secret(&mut self, ttl_seconds: u32) -> Result Result Result { method is_valid (line 138) | pub fn is_valid(&self, encoded_token: &str) -> bool { method decrypt_expiry (line 161) | fn decrypt_expiry(&self, token: &Token) -> Result { method create_cipher (line 186) | fn create_cipher() -> Result { method check_encryption_count (line 197) | fn check_encryption_count(&mut self) -> Result<(), MmdsTokenError> { method check_ttl (line 222) | fn check_ttl(ttl_seconds: u32) -> bool { method compute_expiry (line 228) | fn compute_expiry(ttl_as_seconds: u32) -> u64 { type Token (line 243) | struct Token { method new (line 254) | fn new(iv: [u8; IV_LEN], payload: [u8; PAYLOAD_LEN], tag: [u8; TAG_LEN... method base64_encode (line 259) | fn base64_encode(&self) -> String { method base64_decode (line 264) | fn base64_decode(encoded_token: &str) -> Result { function test_check_tll (line 280) | fn test_check_tll() { function test_set_aad (line 292) | fn test_set_aad() { function test_create_token (line 301) | fn test_create_token() { function test_compute_expiry (line 322) | fn test_compute_expiry() { function test_encrypt_decrypt (line 342) | fn test_encrypt_decrypt() { function test_encode_decode (line 376) | fn test_encode_decode() { function test_generate_token_secret (line 388) | fn test_generate_token_secret() { function test_is_valid (line 427) | fn test_is_valid() { function test_token_authority (line 439) | fn test_token_authority() { FILE: src/vmm/src/mmds/token_headers.rs constant X_FORWARDED_FOR_HEADER (line 7) | pub(crate) const X_FORWARDED_FOR_HEADER: &str = "x-forwarded-for"; constant X_METADATA_TOKEN_HEADER (line 9) | pub(crate) const X_METADATA_TOKEN_HEADER: &str = "x-metadata-token"; constant X_AWS_EC2_METADATA_TOKEN_HEADER (line 11) | pub(crate) const X_AWS_EC2_METADATA_TOKEN_HEADER: &str = "x-aws-ec2-meta... constant X_METADATA_TOKEN_TTL_SECONDS_HEADER (line 13) | pub(crate) const X_METADATA_TOKEN_TTL_SECONDS_HEADER: &str = "x-metadata... constant X_AWS_EC2_METADATA_TOKEN_SSL_SECONDS_HEADER (line 15) | pub(crate) const X_AWS_EC2_METADATA_TOKEN_SSL_SECONDS_HEADER: &str = function get_header_value_pair (line 18) | pub(crate) fn get_header_value_pair<'a>( function to_mixed_case (line 31) | fn to_mixed_case(s: &str) -> String { function test_get_header_value_pair (line 45) | fn test_get_header_value_pair() { FILE: src/vmm/src/pci/bus.rs type PciRootError (line 24) | pub enum PciRootError { constant VENDOR_ID_INTEL (line 29) | const VENDOR_ID_INTEL: u16 = 0x8086; constant DEVICE_ID_INTEL_VIRT_PCIE_HOST (line 30) | const DEVICE_ID_INTEL_VIRT_PCIE_HOST: u16 = 0x0d57; constant NUM_DEVICE_IDS (line 31) | const NUM_DEVICE_IDS: usize = 32; type PciRoot (line 35) | pub struct PciRoot { method new (line 42) | pub fn new(config: Option) -> Self { method write_config_register (line 65) | fn write_config_register( method read_config_register (line 75) | fn read_config_register(&mut self, reg_idx: usize) -> u32 { type PciBus (line 81) | pub struct PciBus { method new (line 99) | pub fn new(pci_root: PciRoot, vm: Arc) -> Self { method add_device (line 114) | pub fn add_device(&mut self, device_id: u32, device: Arc Result { method fmt (line 90) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { constant PCI_CONFIG_IO_PORT (line 133) | pub const PCI_CONFIG_IO_PORT: u64 = 0xcf8; constant PCI_CONFIG_IO_PORT_SIZE (line 137) | pub const PCI_CONFIG_IO_PORT_SIZE: u64 = 0x8; type PciConfigIo (line 141) | pub struct PciConfigIo { method new (line 149) | pub fn new(pci_bus: Arc>) -> Self { method config_space_read (line 157) | pub fn config_space_read(&self) -> u32 { method config_space_write (line 191) | pub fn config_space_write(&mut self, offset: u64, data: &[u8]) -> Opti... method set_config_address (line 244) | fn set_config_address(&mut self, offset: u64, data: &[u8]) { method read (line 265) | fn read(&mut self, _base: u64, offset: u64, data: &mut [u8]) { method write (line 288) | fn write(&mut self, _base: u64, offset: u64, data: &[u8]) -> Option>) -> Self { method config_space_read (line 313) | fn config_space_read(&self, config_address: u32) -> u32 { method config_space_write (line 336) | fn config_space_write(&mut self, config_address: u32, offset: u64, dat... method read (line 380) | fn read(&mut self, _base: u64, offset: u64, data: &mut [u8]) { method write (line 397) | fn write(&mut self, _base: u64, offset: u64, data: &[u8]) -> Option usize { function parse_mmio_config_address (line 414) | fn parse_mmio_config_address(config_address: u32) -> (usize, usize, usiz... function parse_io_config_address (line 433) | fn parse_io_config_address(config_address: u32) -> (usize, usize, usize,... type RelocationMock (line 465) | struct RelocationMock { method cnt (line 470) | fn cnt(&self) -> usize { method move_bar (line 476) | fn move_bar( type PciDevMock (line 489) | struct PciDevMock(PciConfiguration); method new (line 492) | fn new() -> Self { method write_config_register (line 511) | fn write_config_register( method read_config_register (line 521) | fn read_config_register(&mut self, reg_idx: usize) -> u32 { method detect_bar_reprogramming (line 525) | fn detect_bar_reprogramming( function test_writing_io_config_address (line 535) | fn test_writing_io_config_address() { function test_reading_io_config_address (line 577) | fn test_reading_io_config_address() { function initialize_bus (line 625) | fn initialize_bus() -> (PciConfigMmio, PciConfigIo, Arc) { function test_invalid_register_boundary_reads (line 636) | fn test_invalid_register_boundary_reads() { function mmio_offset (line 662) | fn mmio_offset(bus: u8, device: u8, function: u8, register: u16, byte: u... function read_mmio_config (line 675) | fn read_mmio_config( function write_mmio_config (line 691) | fn write_mmio_config( function pio_offset (line 718) | fn pio_offset(enabled: bool, bus: u8, device: u8, function: u8, register... function set_io_address (line 732) | fn set_io_address( function read_io_config (line 744) | fn read_io_config( function write_io_config (line 757) | fn write_io_config( function test_mmio_invalid_bus_number (line 771) | fn test_mmio_invalid_bus_number() { function test_io_invalid_bus_number (line 796) | fn test_io_invalid_bus_number() { function test_mmio_invalid_function (line 814) | fn test_mmio_invalid_function() { function test_io_invalid_function (line 839) | fn test_io_invalid_function() { function test_io_disabled_reads (line 857) | fn test_io_disabled_reads() { function test_io_disabled_writes (line 875) | fn test_io_disabled_writes() { function test_mmio_writes (line 903) | fn test_mmio_writes() { function test_bar_reprogramming (line 915) | fn test_bar_reprogramming() { FILE: src/vmm/src/pci/configuration.rs constant NUM_CONFIGURATION_REGISTERS (line 20) | const NUM_CONFIGURATION_REGISTERS: usize = 1024; constant STATUS_REG (line 22) | const STATUS_REG: usize = 1; constant STATUS_REG_CAPABILITIES_USED_MASK (line 23) | const STATUS_REG_CAPABILITIES_USED_MASK: u32 = 0x0010_0000; constant BAR0_REG (line 24) | const BAR0_REG: usize = 4; constant ROM_BAR_REG (line 25) | const ROM_BAR_REG: usize = 12; constant BAR_MEM_ADDR_MASK (line 26) | const BAR_MEM_ADDR_MASK: u32 = 0xffff_fff0; constant ROM_BAR_ADDR_MASK (line 27) | const ROM_BAR_ADDR_MASK: u32 = 0xffff_f800; constant MSI_CAPABILITY_REGISTER_MASK (line 28) | const MSI_CAPABILITY_REGISTER_MASK: u32 = 0x0071_0000; constant MSIX_CAPABILITY_REGISTER_MASK (line 29) | const MSIX_CAPABILITY_REGISTER_MASK: u32 = 0xc000_0000; constant NUM_BAR_REGS (line 30) | const NUM_BAR_REGS: usize = 6; constant CAPABILITY_LIST_HEAD_OFFSET (line 31) | const CAPABILITY_LIST_HEAD_OFFSET: usize = 0x34; constant FIRST_CAPABILITY_OFFSET (line 32) | const FIRST_CAPABILITY_OFFSET: usize = 0x40; constant CAPABILITY_MAX_OFFSET (line 33) | const CAPABILITY_MAX_OFFSET: usize = 192; type PciCapability (line 36) | pub trait PciCapability { method bytes (line 38) | fn bytes(&self) -> &[u8]; method id (line 40) | fn id(&self) -> PciCapabilityId; method bytes (line 469) | fn bytes(&self) -> &[u8] { method id (line 473) | fn id(&self) -> PciCapabilityId { method bytes (line 491) | fn bytes(&self) -> &[u8] { method id (line 495) | fn id(&self) -> PciCapabilityId { function encode_64_bits_bar_size (line 45) | fn encode_64_bits_bar_size(bar_size: u64) -> (u32, u32) { function decode_64_bits_bar_size (line 54) | fn decode_64_bits_bar_size(bar_size_hi: u32, bar_size_lo: u32) -> u64 { type PciBar (line 62) | struct PciBar { type PciConfigurationState (line 70) | pub struct PciConfigurationState { type PciConfiguration (line 83) | pub struct PciConfiguration { method new_type0 (line 96) | pub fn new_type0( method type0_from_state (line 130) | pub fn type0_from_state( method state (line 145) | pub fn state(&self) -> PciConfigurationState { method read_reg (line 156) | pub fn read_reg(&self, reg_idx: usize) -> u32 { method write_reg (line 161) | pub fn write_reg(&mut self, reg_idx: usize, value: u32) { method write_word (line 187) | pub fn write_word(&mut self, offset: usize, value: u16) { method write_byte (line 209) | pub fn write_byte(&mut self, offset: usize, value: u8) { method write_byte_internal (line 214) | fn write_byte_internal(&mut self, offset: usize, value: u8, apply_writ... method add_pci_bar (line 237) | pub fn add_pci_bar(&mut self, bar_idx: usize, addr: u64, size: u64) { method get_bar_addr (line 285) | pub fn get_bar_addr(&self, bar_idx: usize) -> u64 { method add_capability (line 299) | pub fn add_capability(&mut self, cap_data: &dyn PciCapability) -> usize { method next_dword (line 335) | fn next_dword(offset: usize, len: usize) -> usize { method write_config_register (line 341) | pub fn write_config_register(&mut self, reg_idx: usize, offset: u64, d... method detect_bar_reprogramming (line 382) | pub fn detect_bar_reprogramming( type TestCap (line 460) | struct TestCap { type BadCap (line 478) | struct BadCap { method new (line 483) | fn new(len: u8) -> Self { function test_too_big_capability (line 502) | fn test_too_big_capability() { function test_capability_space_overflow (line 509) | fn test_capability_space_overflow() { function test_add_capability (line 517) | fn test_add_capability() { function test_msix_capability (line 554) | fn test_msix_capability() { function default_pci_config (line 642) | fn default_pci_config() -> PciConfiguration { function class_code (line 656) | fn class_code() { function test_encode_zero_sized_bar (line 669) | fn test_encode_zero_sized_bar() { function test_decode_zero_sized_bar (line 675) | fn test_decode_zero_sized_bar() { function test_bar_size_encoding (line 680) | fn test_bar_size_encoding() { function test_bar_size_no_power_of_two (line 702) | fn test_bar_size_no_power_of_two() { function test_bad_bar_index (line 709) | fn test_bad_bar_index() { function test_bad_64bit_bar_index (line 716) | fn test_bad_64bit_bar_index() { function test_bar_size_overflows (line 723) | fn test_bar_size_overflows() { function test_lower_bar_free_upper_used (line 730) | fn test_lower_bar_free_upper_used() { function test_lower_bar_used (line 738) | fn test_lower_bar_used() { function test_upper_bar_used (line 746) | fn test_upper_bar_used() { function test_add_pci_bar (line 753) | fn test_add_pci_bar() { function test_access_invalid_reg (line 766) | fn test_access_invalid_reg() { function test_detect_bar_reprogramming (line 800) | fn test_detect_bar_reprogramming() { function test_rom_bar (line 889) | fn test_rom_bar() { FILE: src/vmm/src/pci/mod.rs type BarReprogrammingParams (line 20) | pub struct BarReprogrammingParams { type PciDevice (line 30) | pub trait PciDevice: Send { method write_config_register (line 34) | fn write_config_register( method read_config_register (line 42) | fn read_config_register(&mut self, reg_idx: usize) -> u32; method detect_bar_reprogramming (line 44) | fn detect_bar_reprogramming( method read_bar (line 54) | fn read_bar(&mut self, _base: u64, _offset: u64, _data: &mut [u8]) {} method write_bar (line 58) | fn write_bar(&mut self, _base: u64, _offset: u64, _data: &[u8]) -> Opt... method move_bar (line 62) | fn move_bar(&mut self, _old_base: u64, _new_base: u64) -> Result<(), D... type DeviceRelocationError (line 69) | pub enum DeviceRelocationError { type DeviceRelocation (line 76) | pub trait DeviceRelocation: Send + Sync { method move_bar (line 79) | fn move_bar( FILE: src/vmm/src/pci/msix.rs constant MAX_MSIX_VECTORS_PER_DEVICE (line 20) | const MAX_MSIX_VECTORS_PER_DEVICE: u16 = 2048; constant MSIX_TABLE_ENTRIES_MODULO (line 21) | const MSIX_TABLE_ENTRIES_MODULO: u64 = 16; constant MSIX_PBA_ENTRIES_MODULO (line 22) | const MSIX_PBA_ENTRIES_MODULO: u64 = 8; constant BITS_PER_PBA_ENTRY (line 23) | const BITS_PER_PBA_ENTRY: usize = 64; constant FUNCTION_MASK_BIT (line 24) | const FUNCTION_MASK_BIT: u8 = 14; constant MSIX_ENABLE_BIT (line 25) | const MSIX_ENABLE_BIT: u8 = 15; type MsixTableEntry (line 29) | pub struct MsixTableEntry { method masked (line 42) | pub fn masked(&self) -> bool { method default (line 48) | fn default() -> Self { type MsixConfigState (line 60) | pub struct MsixConfigState { type MsixConfig (line 69) | pub struct MsixConfig { method fmt (line 85) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method new (line 98) | pub fn new(vectors: Arc, devid: u32) -> Self { method from_state (line 118) | pub fn from_state( method state (line 153) | pub fn state(&self) -> MsixConfigState { method set_msg_ctl (line 164) | pub fn set_msg_ctl(&mut self, reg: u16) { method read_table (line 209) | pub fn read_table(&self, offset: u64, data: &mut [u8]) { method write_table (line 262) | pub fn write_table(&mut self, offset: u64, data: &[u8]) { method read_pba (line 353) | pub fn read_pba(&self, offset: u64, data: &mut [u8]) { method write_pba (line 395) | pub fn write_pba(&mut self, _offset: u64, _data: &[u8]) { method set_pba_bit (line 400) | pub fn set_pba_bit(&mut self, vector: u16, reset: bool) { method get_pba_bit (line 420) | fn get_pba_bit(&self, vector: u16) -> u8 { method inject_msix_and_clear_pba (line 434) | fn inject_msix_and_clear_pba(&mut self, vector: usize) { type MsixCap (line 449) | pub struct MsixCap { method new (line 481) | pub fn new( method bytes (line 470) | fn bytes(&self) -> &[u8] { method id (line 474) | fn id(&self) -> PciCapabilityId { function msix_vector_group (line 508) | fn msix_vector_group(nr_vectors: u16) -> Arc { function test_too_many_vectors (line 515) | fn test_too_many_vectors() { function test_new_msix_config (line 520) | fn test_new_msix_config() { function test_enable_msix_vectors (line 530) | fn test_enable_msix_vectors() { function test_table_access_read_too_big (line 557) | fn test_table_access_read_too_big() { function test_read_table_past_end (line 565) | fn test_read_table_past_end() { function test_read_table_bad_length (line 576) | fn test_read_table_bad_length() { function test_access_table (line 602) | fn test_access_table() { function test_table_access_write_too_big (line 719) | fn test_table_access_write_too_big() { function test_pba_read_too_big (line 727) | fn test_pba_read_too_big() { function test_pba_invalid_offset (line 736) | fn test_pba_invalid_offset() { function test_set_pba_bit_vector_too_big (line 754) | fn test_set_pba_bit_vector_too_big() { function test_get_pba_bit_vector_too_big (line 762) | fn test_get_pba_bit_vector_too_big() { function test_pba_bit_invalid_vector (line 769) | fn test_pba_bit_invalid_vector() { function test_pba_read (line 782) | fn test_pba_read() { function test_pending_interrupt (line 803) | fn test_pending_interrupt() { FILE: src/vmm/src/persist.rs type VmInfo (line 48) | pub struct VmInfo { method from (line 62) | fn from(value: &VmResources) -> Self { method from (line 74) | fn from(value: &Vmm) -> Self { type MicrovmState (line 88) | pub struct MicrovmState { type GuestRegionUffdMapping (line 110) | pub struct GuestRegionUffdMapping { type MicrovmStateError (line 129) | pub enum MicrovmStateError { type CreateSnapshotError (line 147) | pub enum CreateSnapshotError { constant SNAPSHOT_VERSION (line 163) | pub const SNAPSHOT_VERSION: Version = Version::new(9, 0, 0); function create_snapshot (line 166) | pub fn create_snapshot( function snapshot_state_to_file (line 189) | fn snapshot_state_to_file( function validate_cpu_vendor (line 219) | pub fn validate_cpu_vendor(microvm_state: &MicrovmState) { function validate_cpu_manufacturer_id (line 255) | pub fn validate_cpu_manufacturer_id(microvm_state: &MicrovmState) { type SnapShotStateSanityCheckError (line 282) | pub enum SnapShotStateSanityCheckError { function snapshot_state_sanity_check (line 294) | pub fn snapshot_state_sanity_check( type RestoreFromSnapshotError (line 337) | pub enum RestoreFromSnapshotError { type RestoreFromSnapshotGuestMemoryError (line 350) | pub enum RestoreFromSnapshotGuestMemoryError { function restore_from_snapshot (line 358) | pub fn restore_from_snapshot( type SnapshotStateFromFileError (line 475) | pub enum SnapshotStateFromFileError { function snapshot_state_from_file (line 486) | fn snapshot_state_from_file( type GuestMemoryFromFileError (line 497) | pub enum GuestMemoryFromFileError { function guest_memory_from_file (line 506) | fn guest_memory_from_file( type GuestMemoryFromUffdError (line 518) | pub enum GuestMemoryFromUffdError { function guest_memory_from_uffd (line 531) | fn guest_memory_from_uffd( function create_guest_memory (line 565) | fn create_guest_memory( function send_uffd_handshake (line 588) | fn send_uffd_handshake( function default_vmm_with_devices (line 666) | fn default_vmm_with_devices() -> Vmm { function test_microvm_state_snapshot (line 723) | fn test_microvm_state_snapshot() { function test_create_guest_memory (line 763) | fn test_create_guest_memory() { function test_send_uffd_handshake (line 783) | fn test_send_uffd_handshake() { FILE: src/vmm/src/rate_limiter/mod.rs type RateLimiterError (line 14) | pub enum RateLimiterError { constant REFILL_TIMER_DURATION (line 20) | const REFILL_TIMER_DURATION: Duration = Duration::from_millis(100); constant NANOSEC_IN_ONE_MILLISEC (line 22) | const NANOSEC_IN_ONE_MILLISEC: u64 = 1_000_000; function gcd (line 31) | fn gcd(x: u64, y: u64) -> u64 { type BucketReduction (line 44) | pub enum BucketReduction { type TokenBucket (line 56) | pub struct TokenBucket { method new (line 87) | pub fn new(size: u64, one_time_burst: u64, complete_refill_time_ms: u6... method auto_replenish (line 122) | fn auto_replenish(&mut self) { method reduce (line 175) | pub fn reduce(&mut self, mut tokens: u64) -> BucketReduction { method force_replenish (line 222) | pub fn force_replenish(&mut self, tokens: u64) { method capacity (line 238) | pub fn capacity(&self) -> u64 { method one_time_burst (line 243) | pub fn one_time_burst(&self) -> u64 { method refill_time_ms (line 248) | pub fn refill_time_ms(&self) -> u64 { method budget (line 253) | pub fn budget(&self) -> u64 { method initial_one_time_burst (line 258) | pub fn initial_one_time_burst(&self) -> u64 { method is_valid (line 610) | fn is_valid(&self) -> bool { method any (line 623) | fn any() -> TokenBucket { method reset (line 780) | fn reset(&mut self) { method get_last_update (line 785) | fn get_last_update(&self) -> &Instant { method get_processed_capacity (line 789) | fn get_processed_capacity(&self) -> u64 { method get_processed_refill_time (line 793) | fn get_processed_refill_time(&self) -> u64 { method partial_eq (line 798) | pub(crate) fn partial_eq(&self, other: &TokenBucket) -> bool { type TokenType (line 265) | pub enum TokenType { type BucketUpdate (line 274) | pub enum BucketUpdate { type RateLimiter (line 298) | pub struct RateLimiter { method fmt (line 314) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { method new (line 345) | pub fn new( method activate_timer (line 379) | fn activate_timer(&mut self, one_shot_duration: Duration) { method consume (line 388) | pub fn consume(&mut self, tokens: u64, token_type: TokenType) -> bool { method manual_replenish (line 440) | pub fn manual_replenish(&mut self, tokens: u64, token_type: TokenType) { method is_blocked (line 457) | pub fn is_blocked(&self) -> bool { method event_handler (line 467) | pub fn event_handler(&mut self) -> Result<(), RateLimiterError> { method update_buckets (line 479) | pub fn update_buckets(&mut self, bytes: BucketUpdate, ops: BucketUpdat... method bandwidth (line 493) | pub fn bandwidth(&self) -> Option<&TokenBucket> { method ops (line 498) | pub fn ops(&self) -> Option<&TokenBucket> { method get_token_bucket (line 807) | fn get_token_bucket(&self, token_type: TokenType) -> Option<&TokenBuck... method eq (line 308) | fn eq(&self, other: &RateLimiter) -> bool { method as_raw_fd (line 510) | fn as_raw_fd(&self) -> RawFd { method default (line 517) | fn default() -> Self { type InstantStub (line 547) | struct InstantStub { function instant_now (line 567) | fn instant_now() -> Instant { function next_instant_now (line 588) | pub(super) fn next_instant_now() -> Instant { function token_bucket_auto_replenish (line 603) | fn token_bucket_auto_replenish(this: &mut TokenBucket) { function verify_instant_stub_non_decreasing (line 641) | fn verify_instant_stub_non_decreasing() { function gcd_contract_harness (line 651) | fn gcd_contract_harness() { function verify_token_bucket_new (line 670) | fn verify_token_bucket_new() { function verify_token_bucket_auto_replenish (line 690) | fn verify_token_bucket_auto_replenish() { function verify_token_bucket_reduce (line 713) | fn verify_token_bucket_reduce() { function verify_token_bucket_force_replenish (line 747) | fn verify_token_bucket_force_replenish() { constant TEST_REFILL_TIMER_DURATION (line 776) | const TEST_REFILL_TIMER_DURATION: Duration = Duration::from_millis(110); function test_token_bucket_auto_replenish_one (line 816) | fn test_token_bucket_auto_replenish_one() { function test_token_bucket_auto_replenish_two (line 852) | fn test_token_bucket_auto_replenish_two() { function test_token_bucket_create (line 870) | fn test_token_bucket_create() { function test_token_bucket_preprocess (line 888) | fn test_token_bucket_preprocess() { function test_token_bucket_reduce (line 903) | fn test_token_bucket_reduce() { function test_rate_limiter_default (line 938) | fn test_rate_limiter_default() { function test_rate_limiter_new (line 956) | fn test_rate_limiter_new() { function test_rate_limiter_manual_replenish (line 973) | fn test_rate_limiter_manual_replenish() { function test_rate_limiter_bandwidth (line 994) | fn test_rate_limiter_bandwidth() { function test_rate_limiter_ops (line 1027) | fn test_rate_limiter_ops() { function test_rate_limiter_full (line 1060) | fn test_rate_limiter_full() { function test_rate_limiter_overconsumption (line 1096) | fn test_rate_limiter_overconsumption() { function test_update_buckets (line 1153) | fn test_update_buckets() { function test_rate_limiter_debug (line 1185) | fn test_rate_limiter_debug() { FILE: src/vmm/src/rate_limiter/persist.rs type TokenBucketState (line 14) | pub struct TokenBucketState { type State (line 23) | type State = TokenBucketState; type ConstructorArgs (line 24) | type ConstructorArgs = (); type Error (line 25) | type Error = io::Error; method save (line 27) | fn save(&self) -> Self::State { method restore (line 38) | fn restore(_: Self::ConstructorArgs, state: &Self::State) -> Result Self::State { method restore (line 74) | fn restore(_: Self::ConstructorArgs, state: &Self::State) -> Result Self { type VmResources (line 107) | pub struct VmResources { method from_json (line 142) | pub fn from_json( method mmds_or_default (line 231) | pub fn mmds_or_default(&mut self) -> Result<&Arc>, MmdsCon... method locked_mmds_or_default (line 238) | pub fn locked_mmds_or_default(&mut self) -> Result Option { method set_balloon_device (line 317) | pub fn set_balloon_device( method build_boot_source (line 331) | pub fn build_boot_source( method set_block_device (line 346) | pub fn set_block_device( method build_net_device (line 355) | pub fn build_net_device( method set_vsock_device (line 364) | pub fn set_vsock_device(&mut self, config: VsockDeviceConfig) -> Resul... method build_entropy_device (line 369) | pub fn build_entropy_device( method build_pmem_device (line 377) | pub fn build_pmem_device(&mut self, body: PmemConfig) -> Result<(), Pm... method set_memory_hotplug_config (line 383) | pub fn set_memory_hotplug_config( method set_mmds_config (line 393) | pub fn set_mmds_config( method set_mmds_basic_config (line 405) | pub fn set_mmds_basic_config( method set_mmds_network_stack_config (line 421) | fn set_mmds_network_stack_config( method allocate_memory_regions (line 469) | fn allocate_memory_regions( method allocate_guest_memory (line 504) | pub fn allocate_guest_memory(&self) -> Result, Me... method allocate_memory_region (line 511) | pub fn allocate_memory_region( function default_net_cfg (line 574) | fn default_net_cfg() -> NetworkInterfaceConfig { function default_net_builder (line 591) | fn default_net_builder() -> NetBuilder { function default_block_cfg (line 598) | fn default_block_cfg() -> (BlockDeviceConfig, TempFile) { function default_blocks (line 618) | fn default_blocks() -> BlockBuilder { function default_boot_cfg (line 625) | fn default_boot_cfg() -> BootSource { function default_vm_resources (line 639) | fn default_vm_resources() -> VmResources { function test_from_json (line 659) | fn test_from_json() { function test_cpu_config_from_invalid_json (line 1082) | fn test_cpu_config_from_invalid_json() { function test_cpu_config_inline (line 1120) | fn test_cpu_config_inline() { function test_cpu_config_from_valid_json (line 1157) | fn test_cpu_config_from_valid_json() { function test_cast_to_vmm_config (line 1204) | fn test_cast_to_vmm_config() { function test_update_machine_config (line 1402) | fn test_update_machine_config() { function test_set_balloon_device (line 1506) | fn test_set_balloon_device() { function test_set_entropy_device (line 1541) | fn test_set_entropy_device() { function test_set_boot_source (line 1556) | fn test_set_boot_source() { function test_set_block_device (line 1619) | fn test_set_block_device() { function test_set_vsock_device (line 1631) | fn test_set_vsock_device() { function test_set_net_device (line 1643) | fn test_set_net_device() { function test_set_pmem_device (line 1658) | fn test_set_pmem_device() { FILE: src/vmm/src/rpc_interface.rs type VmmAction (line 50) | pub enum VmmAction { type VmmActionError (line 153) | pub enum VmmActionError { type VmmData (line 210) | pub enum VmmData { function mmds_patch_data (line 233) | fn mmds_patch_data( function mmds_put_data (line 249) | fn mmds_put_data( type PrebootApiController (line 266) | pub struct PrebootApiController<'a> { function fmt (line 283) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type LoadSnapshotError (line 298) | pub enum LoadSnapshotError { type ApiRequest (line 308) | pub type ApiRequest = Box; type ApiResponse (line 310) | pub type ApiResponse = Box>; type BuildMicrovmFromRequestsError (line 314) | pub enum BuildMicrovmFromRequestsError { function new (line 327) | pub fn new( function build_microvm_from_requests (line 348) | pub fn build_microvm_from_requests( function handle_preboot_request (line 417) | pub fn handle_preboot_request( function balloon_config (line 504) | fn balloon_config(&mut self) -> Result { function insert_block_device (line 512) | fn insert_block_device(&mut self, cfg: BlockDeviceConfig) -> Result Result Result Result Result Result Result Result { function load_snapshot (line 623) | fn load_snapshot( type RuntimeApiController (line 671) | pub struct RuntimeApiController { method handle_request (line 677) | pub fn handle_request(&mut self, request: VmmAction) -> Result>) -> Self { method pause (line 824) | pub fn pause(&mut self) -> Result { method resume (line 837) | pub fn resume(&mut self) -> Result { method flush_metrics (line 854) | fn flush_metrics(&mut self) -> Result { method send_ctrl_alt_del (line 865) | fn send_ctrl_alt_del(&mut self) -> Result { method create_snapshot (line 874) | fn create_snapshot( method update_block_device (line 917) | fn update_block_device( method update_net_rate_limiters (line 946) | fn update_net_rate_limiters( function default_preboot (line 978) | fn default_preboot<'a>( function preboot_request (line 987) | fn preboot_request(request: VmmAction) -> Result { function preboot_request_with_mmds (line 995) | fn preboot_request_with_mmds( function test_preboot_get_vm_config (line 1011) | fn test_preboot_get_vm_config() { function test_preboot_get_mmds (line 1019) | fn test_preboot_get_mmds() { function test_runtime_get_mmds (line 1027) | fn test_runtime_get_mmds() { function test_preboot_put_mmds (line 1037) | fn test_preboot_put_mmds() { function test_preboot_patch_mmds (line 1070) | fn test_preboot_patch_mmds() { function test_preboot_disallowed (line 1135) | fn test_preboot_disallowed() { function runtime_request (line 1187) | fn runtime_request(request: VmmAction) -> Result { function test_runtime_get_vm_config (line 1194) | fn test_runtime_get_vm_config() { function test_runtime_disallowed (line 1202) | fn test_runtime_disallowed() { FILE: src/vmm/src/seccomp.rs constant DESERIALIZATION_BYTES_LIMIT (line 12) | const DESERIALIZATION_BYTES_LIMIT: usize = 100_000; type BpfInstruction (line 17) | pub type BpfInstruction = u64; type BpfProgram (line 20) | pub type BpfProgram = Vec; type BpfProgramRef (line 23) | pub type BpfProgramRef<'a> = &'a [BpfInstruction]; type BpfThreadMap (line 26) | pub type BpfThreadMap = HashMap>; type DeserializationError (line 30) | pub enum DeserializationError { function get_empty_filters (line 40) | pub fn get_empty_filters() -> BpfThreadMap { function deserialize_binary (line 49) | pub fn deserialize_binary(reader: R) -> Result Result<(), Installatio... function test_deserialize_binary (line 150) | fn test_deserialize_binary() { function test_filter_apply (line 173) | fn test_filter_apply() { FILE: src/vmm/src/signal_handler.rs constant SI_OFF_SYSCALL (line 18) | const SI_OFF_SYSCALL: isize = 6; constant SYS_SECCOMP_CODE (line 20) | const SYS_SECCOMP_CODE: i32 = 1; function exit_with_code (line 23) | fn exit_with_code(exit_code: FcExitCode) { function log_sigsys_err (line 61) | fn log_sigsys_err(si_code: c_int, info: *mut siginfo_t) { function empty_fn (line 76) | fn empty_fn(_si_code: c_int, _info: *mut siginfo_t) {} function sigpipe_handler (line 134) | extern "C" fn sigpipe_handler(num: c_int, info: *mut siginfo_t, _unused:... function register_signal_handlers (line 157) | pub fn register_signal_handlers() -> vmm_sys_util::errno::Result<()> { FILE: src/vmm/src/snapshot/crc.rs type CRC64Writer (line 30) | pub struct CRC64Writer { function new (line 41) | pub fn new(writer: T) -> Self { function checksum (line 46) | pub fn checksum(&self) -> u64 { method write (line 55) | fn write(&mut self, buf: &[u8]) -> std::io::Result { method flush (line 61) | fn flush(&mut self) -> std::io::Result<()> { function test_crc_new (line 71) | fn test_crc_new() { function test_crc_write (line 81) | fn test_crc_write() { FILE: src/vmm/src/snapshot/mod.rs constant SNAPSHOT_MAGIC_ID (line 41) | const SNAPSHOT_MAGIC_ID: u64 = 0x0710_1984_8664_0000u64; constant SNAPSHOT_MAGIC_ID (line 44) | const SNAPSHOT_MAGIC_ID: u64 = 0x0710_1984_AAAA_0000u64; constant SNAPSHOT_DESERIALIZATION_BYTES_LIMIT (line 49) | const SNAPSHOT_DESERIALIZATION_BYTES_LIMIT: usize = 10_000_000; type SnapshotError (line 53) | pub enum SnapshotError { function serialize (line 68) | fn serialize(data: &S, write: &mut W) -> Result<... type SnapshotHdr (line 75) | struct SnapshotHdr { function get_format_version (line 84) | pub fn get_format_version(reader: &mut R) -> Result { function new (line 137) | pub fn new(data: Data) -> Self { function version (line 148) | pub fn version(&self) -> &Version { function load_without_crc_check (line 154) | pub(crate) fn load_without_crc_check(buf: &[u8]) -> Result(reader: &mut R) -> Result { function save (line 220) | pub fn save(&self, writer: &mut W) -> Result<(), SnapshotError> { function test_snapshot_restore (line 237) | fn test_snapshot_restore() { function test_parse_version_from_file (line 246) | fn test_parse_version_from_file() { function test_bad_reader (line 264) | fn test_bad_reader() { function test_bad_magic (line 282) | fn test_bad_magic() { function test_bad_crc (line 297) | fn test_bad_crc() { function test_bad_version (line 318) | fn test_bad_version() { FILE: src/vmm/src/snapshot/persist.rs type Persist (line 7) | pub trait Persist<'a> method save (line 19) | fn save(&self) -> Self::State; method restore (line 21) | fn restore( FILE: src/vmm/src/test_utils/mock_resources/mod.rs constant DEFAULT_BOOT_ARGS (line 12) | pub const DEFAULT_BOOT_ARGS: &str = "reboot=k panic=1 pci=off"; constant DEFAULT_KERNEL_IMAGE (line 14) | pub const DEFAULT_KERNEL_IMAGE: &str = "test_elf.bin"; constant DEFAULT_KERNEL_IMAGE (line 16) | pub const DEFAULT_KERNEL_IMAGE: &str = "test_pe.bin"; constant NOISY_KERNEL_IMAGE (line 18) | pub const NOISY_KERNEL_IMAGE: &str = "test_noisy_elf.bin"; constant NOISY_KERNEL_IMAGE (line 20) | pub const NOISY_KERNEL_IMAGE: &str = "test_pe.bin"; function kernel_image_path (line 22) | pub fn kernel_image_path(kernel_image: Option<&str>) -> String { type MockBootSourceConfig (line 40) | pub struct MockBootSourceConfig(BootSourceConfig); method new (line 43) | pub fn new() -> MockBootSourceConfig { method with_default_boot_args (line 51) | pub fn with_default_boot_args(mut self) -> Self { method with_kernel (line 57) | pub fn with_kernel(mut self, kernel_image: &str) -> Self { method default (line 64) | fn default() -> Self { type MockVmResources (line 70) | pub struct MockVmResources(VmResources); method new (line 73) | pub fn new() -> MockVmResources { method with_boot_source (line 77) | pub fn with_boot_source(mut self, boot_source_cfg: BootSourceConfig) -... method with_vm_config (line 82) | pub fn with_vm_config(mut self, vm_config: MachineConfig) -> Self { method set_cpu_template (line 88) | pub fn set_cpu_template(&mut self, cpu_template: CustomCpuTemplate) { type MockVmConfig (line 94) | pub struct MockVmConfig(MachineConfig); method new (line 97) | pub fn new() -> MockVmConfig { method with_dirty_page_tracking (line 101) | pub fn with_dirty_page_tracking(mut self) -> Self { FILE: src/vmm/src/test_utils/mod.rs function single_region_mem (line 26) | pub fn single_region_mem(region_size: usize) -> GuestMemoryMmap { function single_region_mem_raw (line 30) | pub fn single_region_mem_raw(region_size: usize) -> Vec { function single_region_mem_at (line 36) | pub fn single_region_mem_at(at: u64, size: usize) -> GuestMemoryMmap { function single_region_mem_at_raw (line 40) | pub fn single_region_mem_at_raw(at: u64, size: usize) -> Vec GuestMemor... function multi_region_mem_raw (line 56) | pub fn multi_region_mem_raw(regions: &[(GuestAddress, usize)]) -> Vec GuestMemoryMmap { function arch_mem_raw (line 67) | pub fn arch_mem_raw(mem_size_bytes: usize) -> Vec { function create_vmm (line 71) | pub fn create_vmm( function default_vmm (line 123) | pub fn default_vmm(kernel_image: Option<&str>) -> (Arc>, Even... function default_vmm_no_boot (line 127) | pub fn default_vmm_no_boot(kernel_image: Option<&str>) -> (Arc) -> (Arc... function create_tmp_socket (line 137) | pub fn create_tmp_socket() -> (TempDir, String) { FILE: src/vmm/src/utils/mod.rs constant MIB_TO_BYTES_SHIFT (line 21) | const MIB_TO_BYTES_SHIFT: usize = 20; function get_page_size (line 24) | pub fn get_page_size() -> Result { function u64_to_usize (line 37) | pub const fn u64_to_usize(num: u64) -> usize { function usize_to_u64 (line 46) | pub const fn usize_to_u64(num: usize) -> u64 { function wrap_usize_to_u32 (line 52) | pub const fn wrap_usize_to_u32(num: usize) -> Wrapping { function mib_to_bytes (line 57) | pub const fn mib_to_bytes(mib: usize) -> usize { function bytes_to_mib (line 62) | pub const fn bytes_to_mib(bytes: usize) -> usize { function align_up (line 67) | pub const fn align_up(addr: u64, align: u64) -> u64 { function align_down (line 73) | pub const fn align_down(addr: u64, align: u64) -> u64 { function open_file_nonblock (line 83) | pub fn open_file_nonblock(path: &Path) -> Result { FILE: src/vmm/src/utils/net/ipv4addr.rs function is_link_local_valid (line 7) | pub fn is_link_local_valid(ipv4_addr: Ipv4Addr) -> bool { function test_is_link_local_valid (line 23) | fn test_is_link_local_valid() { FILE: src/vmm/src/utils/net/mac.rs constant MAC_ADDR_LEN (line 20) | pub const MAC_ADDR_LEN: u8 = 6; type MacAddr (line 26) | pub struct MacAddr { method fmt (line 31) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { method from (line 42) | fn from(bytes: [u8; 6]) -> Self { method from_bytes_unchecked (line 86) | pub fn from_bytes_unchecked(src: &[u8]) -> MacAddr { method get_bytes (line 95) | pub fn get_bytes(&self) -> &[u8] { method deserialize (line 110) | fn deserialize(deserializer: D) -> Result function from (line 48) | fn from(mac: MacAddr) -> Self { type Err (line 54) | type Err = String; method from_str (line 60) | fn from_str(s: &str) -> Result { method serialize (line 101) | fn serialize(&self, serializer: S) -> Result function test_mac_addr (line 124) | fn test_mac_addr() { function test_mac_addr_serialization_and_deserialization (line 146) | fn test_mac_addr_serialization_and_deserialization() { FILE: src/vmm/src/utils/signal.rs function __libc_current_sigrtmin (line 10) | fn __libc_current_sigrtmin() -> c_int; function __libc_current_sigrtmax (line 13) | fn __libc_current_sigrtmax() -> c_int; function sigrtmin (line 17) | pub fn sigrtmin() -> c_int { function sigrtmax (line 22) | pub fn sigrtmax() -> c_int { FILE: src/vmm/src/utils/sm.rs type StateMachine (line 15) | pub struct StateMachine { method fmt (line 19) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type StateFn (line 28) | type StateFn = fn(&mut T) -> StateMachine; function new (line 36) | pub fn new(function: Option>) -> StateMachine { function next (line 45) | pub fn next(function: StateFn) -> StateMachine { function finish (line 55) | pub fn finish() -> StateMachine { function run (line 66) | pub fn run(machine: &mut T, starting_state_fn: StateFn) { type DummyMachine (line 83) | struct DummyMachine { method new (line 90) | fn new() -> Self { method run (line 101) | fn run(&mut self) { method s1 (line 116) | fn s1(&mut self) -> StateMachine { method s2 (line 123) | fn s2(&mut self) -> StateMachine { method s3 (line 130) | fn s3(&mut self) -> StateMachine { function test_sm (line 140) | fn test_sm() { FILE: src/vmm/src/vmm_config/balloon.rs type MutexBalloon (line 12) | type MutexBalloon = Arc>; type BalloonConfigError (line 16) | pub enum BalloonConfigError { type BalloonDeviceConfig (line 29) | pub struct BalloonDeviceConfig { method from (line 46) | fn from(state: BalloonConfig) -> Self { type BalloonUpdateConfig (line 61) | pub struct BalloonUpdateConfig { type BalloonUpdateStatsConfig (line 72) | pub struct BalloonUpdateStatsConfig { type BalloonBuilder (line 80) | pub struct BalloonBuilder { method new (line 86) | pub fn new() -> Self { method set (line 92) | pub fn set(&mut self, cfg: BalloonDeviceConfig) -> Result<(), BalloonC... method set_device (line 105) | pub fn set_device(&mut self, balloon: MutexBalloon) { method get (line 110) | pub fn get(&self) -> Option<&MutexBalloon> { method get_config (line 115) | pub fn get_config(&self) -> Result BalloonBuilder { function default_config (line 136) | pub(crate) fn default_config() -> BalloonDeviceConfig { function test_balloon_create (line 147) | fn test_balloon_create() { function test_from_balloon_state (line 171) | fn test_from_balloon_state() { function test_set_device (line 192) | fn test_set_device() { FILE: src/vmm/src/vmm_config/boot_source.rs constant DEFAULT_KERNEL_CMDLINE (line 18) | pub const DEFAULT_KERNEL_CMDLINE: &str = "reboot=k panic=1 nomodule 8250... type BootSourceConfig (line 25) | pub struct BootSourceConfig { type BootSourceConfigError (line 37) | pub enum BootSourceConfigError { type BootSource (line 48) | pub struct BootSource { type BootConfig (line 58) | pub struct BootConfig { method new (line 69) | pub fn new(cfg: &BootSourceConfig) -> Result Self { method has_root_device (line 105) | pub fn has_root_device(&self) -> bool { method get_index_of_drive_id (line 115) | fn get_index_of_drive_id(&self, drive_id: &str) -> Option { method add_virtio_device (line 122) | pub fn add_virtio_device(&mut self, block_device: Arc>) { method insert (line 133) | pub fn insert( method configs (line 181) | pub fn configs(&self) -> Vec { method eq (line 197) | fn eq(&self, other: &DriveError) -> bool { method clone (line 205) | fn clone(&self) -> Self { function test_create_block_devs (line 223) | fn test_create_block_devs() { function test_add_non_root_block_device (line 229) | fn test_add_non_root_block_device() { function test_add_one_root_block_device (line 263) | fn test_add_one_root_block_device() { function test_add_one_root_block_device_with_pmem_already_as_root (line 295) | fn test_add_one_root_block_device_with_pmem_already_as_root() { function test_add_two_root_block_devs (line 325) | fn test_add_two_root_block_devs() { function test_add_root_block_device_first (line 368) | fn test_add_root_block_device_first() { function test_root_block_device_add_last (line 441) | fn test_root_block_device_add_last() { function test_update (line 515) | fn test_update() { function test_block_config (line 645) | fn test_block_config() { function test_add_device (line 673) | fn test_add_device() { FILE: src/vmm/src/vmm_config/entropy.rs type EntropyDeviceConfig (line 16) | pub struct EntropyDeviceConfig { method from (line 22) | fn from(dev: &Entropy) -> Self { type EntropyDeviceError (line 33) | pub enum EntropyDeviceError { type EntropyDeviceBuilder (line 42) | pub struct EntropyDeviceBuilder(Option>>); method new (line 46) | pub fn new() -> Self { method build (line 51) | pub fn build( method insert (line 66) | pub fn insert(&mut self, config: EntropyDeviceConfig) -> Result<(), En... method get (line 72) | pub fn get(&self) -> Option<&Arc>> { method config (line 77) | pub fn config(&self) -> Option { method set_device (line 84) | pub fn set_device(&mut self, device: Arc>) { function test_entropy_device_create (line 95) | fn test_entropy_device_create() { function test_set_device (line 106) | fn test_set_device() { FILE: src/vmm/src/vmm_config/instance_info.rs type VmState (line 9) | pub enum VmState { method serialize (line 30) | fn serialize(&self, serializer: S) -> Result method fmt (line 20) | fn fmt(&self, f: &mut Formatter) -> fmt::Result { type InstanceInfo (line 40) | pub struct InstanceInfo { FILE: src/vmm/src/vmm_config/machine_config.rs constant DEFAULT_MEM_SIZE_MIB (line 10) | pub const DEFAULT_MEM_SIZE_MIB: usize = 128; constant MAX_SUPPORTED_VCPUS (line 13) | pub const MAX_SUPPORTED_VCPUS: u8 = 32; type MachineConfigError (line 18) | pub enum MachineConfigError { type HugePageConfig (line 36) | pub enum HugePageConfig { method is_valid_mem_size (line 48) | fn is_valid_mem_size(&self, mem_size_mib: usize) -> bool { method mmap_flags (line 60) | pub fn mmap_flags(&self) -> libc::c_int { method is_hugetlbfs (line 68) | pub fn is_hugetlbfs(&self) -> bool { method page_size (line 73) | pub fn page_size(&self) -> usize { function from (line 82) | fn from(value: HugePageConfig) -> Self { type MachineConfig (line 93) | pub struct MachineConfig { method set_custom_cpu_template (line 223) | pub fn set_custom_cpu_template(&mut self, cpu_template: CustomCpuTempl... method static_template (line 227) | fn static_template(&self) -> Option { method update (line 239) | pub fn update( function is_none_or_custom_template (line 122) | fn is_none_or_custom_template(template: &Option) -> bool { function deserialize_static_template (line 126) | fn deserialize_static_template<'de, D>(deserializer: D) -> Result( method default (line 150) | fn default() -> Self { type MachineConfigUpdate (line 172) | pub struct MachineConfigUpdate { method is_empty (line 201) | pub fn is_empty(&self) -> bool { method from (line 207) | fn from(cfg: MachineConfig) -> Self { function test_serialize_machine_config (line 299) | fn test_serialize_machine_config() { FILE: src/vmm/src/vmm_config/memory_hotplug.rs type MemoryHotplugConfigError (line 12) | pub enum MemoryHotplugConfigError { function default_block_size_mib (line 27) | fn default_block_size_mib() -> usize { function default_slot_size_mib (line 31) | fn default_slot_size_mib() -> usize { type MemoryHotplugConfig (line 38) | pub struct MemoryHotplugConfig { method validate (line 51) | pub fn validate(&self) -> Result<(), MemoryHotplugConfigError> { method from (line 90) | fn from(mem: &VirtioMem) -> Self { type MemoryHotplugSizeUpdate (line 102) | pub struct MemoryHotplugSizeUpdate { function test_valid_config (line 114) | fn test_valid_config() { function test_block_size_too_small (line 124) | fn test_block_size_too_small() { function test_block_size_not_power_of_two (line 137) | fn test_block_size_not_power_of_two() { function test_slot_size_too_small (line 150) | fn test_slot_size_too_small() { function test_slot_size_not_multiple_of_block_size (line 163) | fn test_slot_size_not_multiple_of_block_size() { function test_total_size_too_small (line 178) | fn test_total_size_too_small() { function test_total_size_not_multiple_of_slot_size (line 193) | fn test_total_size_not_multiple_of_slot_size() { function test_defaults (line 208) | fn test_defaults() { function test_serde (line 227) | fn test_serde() { FILE: src/vmm/src/vmm_config/metrics.rs type MetricsConfig (line 14) | pub struct MetricsConfig { type MetricsConfigError (line 21) | pub enum MetricsConfigError { function init_metrics (line 27) | pub fn init_metrics(metrics_cfg: MetricsConfig) -> Result<(), MetricsCon... function test_init_metrics (line 44) | fn test_init_metrics() { FILE: src/vmm/src/vmm_config/mmds.rs type MmdsConfig (line 13) | pub struct MmdsConfig { method version (line 28) | pub fn version(&self) -> MmdsVersion { method network_interfaces (line 33) | pub fn network_interfaces(&self) -> Vec { method ipv4_addr (line 39) | pub fn ipv4_addr(&self) -> Option { type MmdsConfigError (line 47) | pub enum MmdsConfigError { FILE: src/vmm/src/vmm_config/mod.rs type TokenBucketConfig (line 51) | pub struct TokenBucketConfig { method from (line 61) | fn from(tb: &TokenBucket) -> Self { type RateLimiterConfig (line 78) | pub struct RateLimiterConfig { type Error (line 131) | type Error = io::Error; method try_into (line 133) | fn try_into(self) -> Result { method from (line 148) | fn from(rl: &RateLimiter) -> Self { method into_option (line 159) | pub fn into_option(self) -> Option { type RateLimiterUpdate (line 87) | pub struct RateLimiterUpdate { method from (line 114) | fn from(cfg: Option) -> Self { function get_bucket_update (line 94) | fn get_bucket_update(tb_cfg: &Option) -> BucketUpdate { constant SIZE (line 172) | const SIZE: u64 = 1024 * 1024; constant ONE_TIME_BURST (line 173) | const ONE_TIME_BURST: u64 = 1024; constant REFILL_TIME (line 174) | const REFILL_TIME: u64 = 1000; function test_rate_limiter_configs (line 177) | fn test_rate_limiter_configs() { function test_generate_configs (line 200) | fn test_generate_configs() { FILE: src/vmm/src/vmm_config/net.rs type NetworkInterfaceConfig (line 20) | pub struct NetworkInterfaceConfig { method from (line 34) | fn from(net: &Net) -> Self { type NetworkInterfaceUpdateConfig (line 51) | pub struct NetworkInterfaceUpdateConfig { type NetworkInterfaceError (line 64) | pub enum NetworkInterfaceError { type NetBuilder (line 79) | pub struct NetBuilder { method new (line 85) | pub fn new() -> Self { method iter (line 93) | pub fn iter(&self) -> ::std::slice::Iter<'_, Arc>> { method add_device (line 98) | pub fn add_device(&mut self, device: Arc>) { method build (line 104) | pub fn build( method create_net (line 141) | pub fn create_net(cfg: NetworkInterfaceConfig) -> Result Vec { method len (line 182) | pub(crate) fn len(&self) -> usize { function create_netif (line 187) | fn create_netif(id: &str, name: &str, mac: &str) -> NetworkInterfaceConf... method clone (line 198) | fn clone(&self) -> Self { function test_insert (line 210) | fn test_insert() { function test_insert_error_cases (line 237) | fn test_insert_error_cases() { function test_net_config (line 304) | fn test_net_config() { function test_add_device (line 325) | fn test_add_device() { FILE: src/vmm/src/vmm_config/pmem.rs type PmemConfigError (line 12) | pub enum PmemConfigError { type PmemConfig (line 26) | pub struct PmemConfig { type PmemBuilder (line 41) | pub struct PmemBuilder { method has_root_device (line 48) | pub fn has_root_device(&self) -> bool { method build (line 55) | pub fn build( method add_device (line 91) | pub fn add_device(&mut self, device: Arc>) { method configs (line 96) | pub fn configs(&self) -> Vec { function test_pmem_builder_build (line 111) | fn test_pmem_builder_build() { function test_pmem_builder_build_seconde_root (line 135) | fn test_pmem_builder_build_seconde_root() { function test_pmem_builder_build_root_with_block_already_a_root (line 157) | fn test_pmem_builder_build_root_with_block_already_a_root() { FILE: src/vmm/src/vmm_config/serial.rs type SerialConfig (line 11) | pub struct SerialConfig { FILE: src/vmm/src/vmm_config/snapshot.rs type SnapshotType (line 15) | pub enum SnapshotType { type MemBackendType (line 29) | pub enum MemBackendType { type CreateSnapshotParams (line 39) | pub struct CreateSnapshotParams { type NetworkOverride (line 53) | pub struct NetworkOverride { type VsockOverride (line 62) | pub struct VsockOverride { type LoadSnapshotParams (line 69) | pub struct LoadSnapshotParams { type LoadSnapshotConfig (line 89) | pub struct LoadSnapshotConfig { type MemBackendConfig (line 121) | pub struct MemBackendConfig { type VmState (line 130) | pub enum VmState { type Vm (line 140) | pub struct Vm { FILE: src/vmm/src/vmm_config/vsock.rs type MutexVsockUnix (line 11) | type MutexVsockUnix = Arc>>; type VsockConfigError (line 15) | pub enum VsockConfigError { type VsockDeviceConfig (line 26) | pub struct VsockDeviceConfig { method from (line 44) | fn from(vsock: &VsockAndUnixPath) -> Self { method from (line 55) | fn from(vsock: &Vsock) -> Self { type VsockAndUnixPath (line 38) | struct VsockAndUnixPath { type VsockBuilder (line 66) | pub struct VsockBuilder { method new (line 72) | pub fn new() -> Self { method set_device (line 77) | pub fn set_device(&mut self, device: Arc... method insert (line 91) | pub fn insert(&mut self, cfg: VsockDeviceConfig) -> Result<(), VsockCo... method get (line 104) | pub fn get(&self) -> Option<&MutexVsockUnix> { method create_unixsock_vsock (line 109) | pub fn create_unixsock_vsock( method config (line 118) | pub fn config(&self) -> Option { function default_config (line 131) | pub(crate) fn default_config(tmp_sock_file: &TempFile) -> VsockDeviceCon... function test_vsock_create (line 140) | fn test_vsock_create() { function test_vsock_insert (line 148) | fn test_vsock_insert() { function test_vsock_config (line 166) | fn test_vsock_config() { function test_set_device (line 179) | fn test_set_device() { FILE: src/vmm/src/vstate/bus.rs type BusDevice (line 20) | pub trait BusDevice: Send { method read (line 22) | fn read(&mut self, base: u64, offset: u64, data: &mut [u8]) {} method write (line 24) | fn write(&mut self, base: u64, offset: u64, data: &[u8]) -> Option Option Option Option fmt::Result { type Result (line 67) | pub type Result = result::Result; type BusRange (line 82) | pub struct BusRange { method overlaps (line 91) | pub fn overlaps(&self, base: u64, len: u64) -> bool { method eq (line 99) | fn eq(&self, other: &BusRange) -> bool { method cmp (line 105) | fn cmp(&self, other: &BusRange) -> Ordering { method partial_cmp (line 111) | fn partial_cmp(&self, other: &BusRange) -> Option { type Bus (line 121) | pub struct Bus { method new (line 127) | pub fn new() -> Bus { method first_before (line 133) | fn first_before(&self, addr: u64) -> Option<(BusRange, Arc Option<(u64, u64, Arc, base: u64, len: u... method remove (line 184) | pub fn remove(&self, base: u64, len: u64) -> Result<()> { method read (line 201) | pub fn read(&self, addr: u64, data: &mut [u8]) -> Result<()> { method write (line 214) | pub fn write(&self, addr: u64, data: &[u8]) -> Result Result Result<(), InterruptError> { method disable (line 76) | pub fn disable(&self, vmfd: &VmFd) -> Result<(), InterruptError> { type MsixVectorGroup (line 88) | pub struct MsixVectorGroup { method num_vectors (line 98) | pub fn num_vectors(&self) -> u16 { method enable (line 105) | pub fn enable(&self) -> Result<(), InterruptError> { method disable (line 114) | pub fn disable(&self) -> Result<(), InterruptError> { method trigger (line 123) | pub fn trigger(&self, index: usize) -> Result<(), InterruptError> { method notifier (line 133) | pub fn notifier(&self, index: usize) -> Option<&EventFd> { method update (line 138) | pub fn update( type State (line 176) | type State = Vec; type ConstructorArgs (line 177) | type ConstructorArgs = Arc; type Error (line 178) | type Error = InterruptError; method save (line 180) | fn save(&self) -> Self::State { method restore (line 187) | fn restore( FILE: src/vmm/src/vstate/kvm.rs type KvmError (line 15) | pub enum KvmError { method new (line 29) | pub fn new(kvm_cap_modifiers: Vec) -> Result Vec { method check_capabilities (line 65) | fn check_capabilities(kvm_fd: &KvmFd, capabilities: &[u32]) -> Result<()... method save_state (line 76) | pub fn save_state(&self) -> KvmState { method max_nr_memslots (line 83) | pub fn max_nr_memslots(&self) -> u32 { type KvmState (line 93) | pub struct KvmState { function test_combine_capabilities (line 103) | fn test_combine_capabilities() { FILE: src/vmm/src/vstate/memory.rs type GuestRegionMmap (line 33) | pub type GuestRegionMmap = vm_memory::GuestRegionMmap>; type MemoryError (line 41) | pub enum MemoryError { method from (line 77) | fn from(e: vm_memory::VolatileMemoryError) -> Self { type GuestRegionType (line 84) | pub enum GuestRegionType { type GuestRegionMmapExt (line 94) | pub struct GuestRegionMmapExt { method dram_from_mmap_region (line 248) | pub(crate) fn dram_from_mmap_region(region: GuestRegionMmap, slot: u32... method hotpluggable_from_mmap_region (line 260) | pub(crate) fn hotpluggable_from_mmap_region( method from_state (line 276) | pub(crate) fn from_state( method slot_cnt (line 295) | pub(crate) fn slot_cnt(&self) -> u32 { method mem_slot (line 299) | pub(crate) fn mem_slot(&self, slot: u32) -> GuestMemorySlot<'_> { method slots (line 317) | pub(crate) fn slots(&self) -> impl Iterator impl Iterator { method from (line 119) | fn from(mem_slot: &GuestMemorySlot) -> Self { function dump_dirty (line 137) | pub(crate) fn dump_dirty( function protect (line 216) | pub(crate) fn protect(&self, protected: bool) -> Result<(), MemoryError> { function addr_in_range (line 238) | fn addr_in_range(addr: GuestAddress, start: GuestAddress, len: usize) ->... type Target (line 448) | type Target = MmapRegion>; method deref (line 450) | fn deref(&self) -> &MmapRegion> { type B (line 460) | type B = Option; method len (line 462) | fn len(&self) -> GuestUsize { method start_addr (line 466) | fn start_addr(&self) -> GuestAddress { method bitmap (line 470) | fn bitmap(&self) -> BS<'_, Self::B> { method get_host_address (line 474) | fn get_host_address( method file_offset (line 481) | fn file_offset(&self) -> Option<&FileOffset> { method get_slice (line 485) | fn get_slice( function create (line 495) | pub fn create( function memfd_backed (line 536) | pub fn memfd_backed( function anonymous (line 553) | pub fn anonymous( function snapshot_file (line 568) | pub fn snapshot_file( type GuestMemoryExtension (line 595) | pub trait GuestMemoryExtension method describe (line 600) | fn describe(&self) -> GuestMemoryState; method mark_dirty (line 603) | fn mark_dirty(&self, addr: GuestAddress, len: usize); method dump (line 606) | fn dump(&self, writer: &mut T) -> Re... method dump_dirty (line 609) | fn dump_dirty( method reset_dirty (line 616) | fn reset_dirty(&self); method store_dirty_bitmap (line 619) | fn store_dirty_bitmap(&self, dirty_bitmap: &DirtyBitmap, page_size: us... method try_for_each_region_in_range (line 622) | fn try_for_each_region_in_range( method discard_range (line 632) | fn discard_range(&self, addr: GuestAddress, range_len: usize) -> Resul... method describe (line 669) | fn describe(&self) -> GuestMemoryState { method mark_dirty (line 683) | fn mark_dirty(&self, addr: GuestAddress, len: usize) { method dump (line 691) | fn dump(&self, writer: &mut T) -> Re... method dump_dirty (line 707) | fn dump_dirty( method reset_dirty (line 743) | fn reset_dirty(&self) { method store_dirty_bitmap (line 752) | fn store_dirty_bitmap(&self, dirty_bitmap: &DirtyBitmap, page_size: us... method try_for_each_region_in_range (line 773) | fn try_for_each_region_in_range( method discard_range (line 810) | fn discard_range(&self, addr: GuestAddress, range_len: usize) -> Resul... type GuestMemoryRegionState (line 637) | pub struct GuestMemoryRegionState { type GuestMemoryState (line 652) | pub struct GuestMemoryState { method regions (line 660) | pub fn regions(&self) -> impl Iterator +... function create_memfd (line 817) | fn create_memfd( function into_region_ext (line 852) | pub fn into_region_ext(regions: Vec) -> GuestMemoryMmap { function test_anonymous (line 881) | fn test_anonymous() { function test_snapshot_file_success (line 904) | fn test_snapshot_file_success() { function test_snapshot_file_multiple_regions (line 922) | fn test_snapshot_file_multiple_regions() { function test_snapshot_file_offset_too_large (line 939) | fn test_snapshot_file_offset_too_large() { function test_mark_dirty (line 951) | fn test_mark_dirty() { function check_serde (line 996) | fn check_serde(guest_memory: &M) { function test_serde (line 1011) | fn test_serde() { function test_describe (line 1038) | fn test_describe() { function test_dump (line 1101) | fn test_dump() { function test_dump_dirty (line 1153) | fn test_dump_dirty() { function test_store_dirty_bitmap (line 1318) | fn test_store_dirty_bitmap() { function test_create_memfd (line 1355) | fn test_create_memfd() { function test_discard_range (line 1374) | fn test_discard_range() { function test_discard_range_on_file (line 1416) | fn test_discard_range_on_file() { function dump_dirty_oracle (line 1480) | fn dump_dirty_oracle( function kvm_bitmap_for (line 1518) | fn kvm_bitmap_for(num_pages: usize) -> impl Strategy> { type RegionSpec (line 1533) | struct RegionSpec { function region_spec (line 1552) | fn region_spec() -> impl Strategy { function build_memory (line 1596) | fn build_memory(specs: &[RegionSpec]) -> (GuestMemoryMmap, DirtyBitmap, ... FILE: src/vmm/src/vstate/resources.rs function allocate_many_ids (line 14) | fn allocate_many_ids( type ResourceAllocator (line 44) | pub struct ResourceAllocator { method new (line 67) | pub fn new() -> Self { method allocate_gsi_legacy (line 99) | pub fn allocate_gsi_legacy(&mut self, gsi_count: u32) -> Result Result,... method allocate_32bit_mmio_memory (line 121) | pub fn allocate_32bit_mmio_memory( method allocate_64bit_mmio_memory (line 142) | pub fn allocate_64bit_mmio_memory( method allocate_system_memory (line 163) | pub fn allocate_system_memory( type State (line 177) | type State = ResourceAllocator; type ConstructorArgs (line 178) | type ConstructorArgs = (); type Error (line 179) | type Error = Infallible; method save (line 181) | fn save(&self) -> Self::State { method restore (line 185) | fn restore( method default (line 60) | fn default() -> Self { function test_allocate_irq (line 202) | fn test_allocate_irq() { function test_allocate_gsi (line 247) | fn test_allocate_gsi() { function clone_allocator (line 288) | fn clone_allocator(allocator: &ResourceAllocator) -> ResourceAllocator { function test_save_restore (line 296) | fn test_save_restore() { FILE: src/vmm/src/vstate/vcpu.rs constant VCPU_RTSIG_OFFSET (line 34) | pub const VCPU_RTSIG_OFFSET: i32 = 0; type VcpuError (line 38) | pub enum VcpuError { type VcpuConfig (line 60) | pub struct VcpuConfig { type StartThreadedError (line 71) | pub enum StartThreadedError { type CopyKvmFdError (line 80) | pub enum CopyKvmFdError { type Vcpu (line 89) | pub struct Vcpu { method register_kick_signal_handler (line 111) | fn register_kick_signal_handler(&mut self) { method new (line 128) | pub fn new(index: u8, vm: &Vm, exit_evt: EventFd) -> Result) { method attach_debug_info (line 152) | pub fn attach_debug_info(&mut self, gdb_event: Sender) { method copy_kvm_vcpu_fd (line 157) | pub fn copy_kvm_vcpu_fd(&self, vm: &Vm) -> Result StateMachine { method paused (line 298) | fn paused(&mut self) -> StateMachine { method exit (line 366) | fn exit(&mut self, exit_code: FcExitCode) -> StateMachine { method run_emulation (line 387) | pub fn run_emulation(&mut self) -> Result { function handle_kvm_exit (line 416) | fn handle_kvm_exit( type VcpuEvent (line 513) | pub enum VcpuEvent { type VcpuResponse (line 527) | pub enum VcpuResponse { method fmt (line 545) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { type VcpuHandle (line 561) | pub struct VcpuHandle { method new (line 583) | pub fn new( method send_event (line 601) | pub fn send_event(&mut self, event: VcpuEvent) -> Result<(), VcpuSendE... method response_receiver (line 619) | pub fn response_receiver(&self) -> &Receiver { type VcpuSendEventError (line 574) | pub struct VcpuSendEventError(pub vmm_sys_util::errno::Error); method drop (line 626) | fn drop(&mut self) { type VcpuEmulation (line 640) | pub enum VcpuEmulation { type DummyDevice (line 677) | struct DummyDevice; method read (line 680) | fn read(&mut self, _base: u64, _offset: u64, _data: &mut [u8]) {} method write (line 682) | fn write(&mut self, _base: u64, _offset: u64, _data: &[u8]) -> Option bool { function setup_vcpu (line 830) | pub(crate) fn setup_vcpu(mem_size: usize) -> (Kvm, Vm, Vcpu) { function load_good_kernel (line 842) | fn load_good_kernel(vm_memory: &GuestMemoryMmap) -> GuestAddress { function vcpu_configured_for_boot (line 869) | fn vcpu_configured_for_boot() -> (Vm, VcpuHandle, EventFd) { function test_set_mmio_bus (line 931) | fn test_set_mmio_bus() { function test_vcpu_kick (line 939) | fn test_vcpu_kick() { function queue_event_expect_response (line 983) | fn queue_event_expect_response( function test_immediate_exit_shortcircuits_execution (line 1001) | fn test_immediate_exit_shortcircuits_execution() { function test_vcpu_pause_resume (line 1026) | fn test_vcpu_pause_resume() { function test_vcpu_save_state_events (line 1058) | fn test_vcpu_save_state_events() { function test_vcpu_dump_cpu_config (line 1091) | fn test_vcpu_dump_cpu_config() { function test_vcpu_rtsig_offset (line 1123) | fn test_vcpu_rtsig_offset() { FILE: src/vmm/src/vstate/vm.rs type RoutingEntry (line 45) | pub struct RoutingEntry { type VmCommon (line 52) | pub struct VmCommon { type VmError (line 71) | pub enum VmError { method create_common (line 99) | pub fn create_common(kvm: &crate::vstate::kvm::Kvm) -> Result Result<(Vec, Eve... method next_kvm_slot (line 168) | pub fn next_kvm_slot(&self, slot_cnt: u32) -> Option { method set_user_memory_region (line 180) | pub(crate) fn set_user_memory_region( method register_memory_region (line 192) | fn register_memory_region(&mut self, region: Arc) ->... method register_dram_memory_regions (line 213) | pub fn register_dram_memory_regions( method register_hotpluggable_memory_region (line 232) | pub fn register_hotpluggable_memory_region( method restore_memory_regions (line 255) | pub fn restore_memory_regions( method fd (line 280) | pub fn fd(&self) -> &VmFd { method guest_memory (line 285) | pub fn guest_memory(&self) -> &GuestMemoryMmap { method resource_allocator (line 290) | pub fn resource_allocator(&self) -> MutexGuard<'_, ResourceAllocator> { method reset_dirty_bitmap (line 298) | pub fn reset_dirty_bitmap(&self) { method get_dirty_bitmap (line 308) | pub fn get_dirty_bitmap(&self) -> Result { method snapshot_memory_to_file (line 334) | pub(crate) fn snapshot_memory_to_file( method register_irq (line 397) | pub fn register_irq(&self, fd: &EventFd, gsi: u32) -> Result<(), errno::... method register_msi (line 430) | pub fn register_msi( method create_msix_group (line 473) | pub fn create_msix_group(vm: Arc, count: u16) -> Result Result<(), InterruptError> { function mincore_bitmap (line 506) | fn mincore_bitmap(addr: *mut u8, len: usize) -> Result, VmError> { method move_bar (line 540) | fn move_bar( function setup_vm (line 566) | pub(crate) fn setup_vm() -> (Kvm, Vm) { function setup_vm_with_memory (line 573) | pub(crate) fn setup_vm_with_memory(mem_size: usize) -> (Kvm, Vm) { function test_new (line 581) | fn test_new() { function test_register_memory_regions (line 588) | fn test_register_memory_regions() { function test_too_many_regions (line 606) | fn test_too_many_regions() { function test_create_vcpus (line 658) | fn test_create_vcpus() { function enable_irqchip (line 667) | fn enable_irqchip(vm: &mut Vm) { function create_msix_group (line 674) | fn create_msix_group(vm: &Arc) -> MsixVectorGroup { function test_msi_vector_group_new (line 679) | fn test_msi_vector_group_new() { function test_msi_vector_group_enable_disable (line 687) | fn test_msi_vector_group_enable_disable() { function test_msi_vector_group_trigger (line 715) | fn test_msi_vector_group_trigger() { function test_msi_vector_group_notifier (line 732) | fn test_msi_vector_group_notifier() { function test_msi_vector_group_update_invalid_vector (line 745) | fn test_msi_vector_group_update_invalid_vector() { function test_msi_vector_group_update (line 761) | fn test_msi_vector_group_update() { function test_msi_vector_group_persistence (line 837) | fn test_msi_vector_group_persistence() { function test_restore_state_resource_allocator (line 860) | fn test_restore_state_resource_allocator() { FILE: src/vmm/tests/devices.rs function create_serial (line 21) | fn create_serial( type MockSerialInput (line 41) | pub struct MockSerialInput(pub RawFd); method read (line 44) | fn read(&mut self, buf: &mut [u8]) -> std::io::Result { method as_raw_fd (line 52) | fn as_raw_fd(&self) -> RawFd { function test_issue_serial_hangup_anon_pipe_while_registered_stdin (line 58) | fn test_issue_serial_hangup_anon_pipe_while_registered_stdin() { function test_issue_hangup (line 175) | fn test_issue_hangup() { function test_issue_serial_hangup_anon_pipe_while_unregistered_stdin (line 206) | fn test_issue_serial_hangup_anon_pipe_while_unregistered_stdin() { FILE: src/vmm/tests/integration_tests.rs function check_booted_microvm (line 36) | fn check_booted_microvm(vmm: Arc>, mut evmgr: EventManager) { function test_build_and_boot_microvm (line 51) | fn test_build_and_boot_microvm() { function check_build_microvm (line 76) | fn check_build_microvm(vmm: Arc>, mut evmgr: EventManager) { function test_build_microvm (line 95) | fn test_build_microvm() { function pause_resume_microvm (line 104) | fn pause_resume_microvm(vmm: Arc>) { function test_pause_resume_microvm (line 119) | fn test_pause_resume_microvm() { function test_dirty_bitmap_success (line 132) | fn test_dirty_bitmap_success() { function test_disallow_snapshots_without_pausing (line 157) | fn test_disallow_snapshots_without_pausing() { function test_disallow_dump_cpu_config_without_pausing (line 179) | fn test_disallow_dump_cpu_config_without_pausing() { function verify_create_snapshot (line 198) | fn verify_create_snapshot( function verify_load_snapshot (line 276) | fn verify_load_snapshot(snapshot_file: TempFile, memory_file: TempFile) { function test_create_and_load_snapshot (line 309) | fn test_create_and_load_snapshot() { function test_snapshot_load_sanity_checks (line 327) | fn test_snapshot_load_sanity_checks() { function check_snapshot (line 334) | fn check_snapshot(mut microvm_state: MicrovmState) { function get_microvm_state_from_snapshot (line 348) | fn get_microvm_state_from_snapshot(pci_enabled: bool) -> MicrovmState { function verify_load_snap_disallowed_after_boot_resources (line 357) | fn verify_load_snap_disallowed_after_boot_resources(res: VmmAction, res_... function test_preboot_load_snap_disallowed_after_boot_resources (line 397) | fn test_preboot_load_snap_disallowed_after_boot_resources() { FILE: src/vmm/tests/io_uring.rs function drain_cqueue (line 23) | fn drain_cqueue(ring: &mut IoUring) { function drive_submission_and_completion (line 29) | pub fn drive_submission_and_completion( constant NUM_ENTRIES (line 90) | const NUM_ENTRIES: u32 = 128; function test_ring_new (line 93) | fn test_ring_new() { function test_eventfd (line 108) | fn test_eventfd() { function test_restrictions (line 142) | fn test_restrictions() { function test_ring_push (line 175) | fn test_ring_push() { function test_ring_submit (line 260) | fn test_ring_submit() { function test_submit_and_wait_all (line 289) | fn test_submit_and_wait_all() { function test_write (line 334) | fn test_write() { function test_read (line 373) | fn test_read() { FILE: tests/conftest.py function pytest_addoption (line 60) | def pytest_addoption(parser): function pytest_report_header (line 77) | def pytest_report_header(): function pytest_runtest_makereport (line 88) | def pytest_runtest_makereport(item, call): # pylint:disable=unused-argu... function record_props (line 104) | def record_props(request, record_property): function pytest_runtest_logreport (line 122) | def pytest_runtest_logreport(report): function metrics (line 186) | def metrics(results_dir, request): function record_property (line 207) | def record_property(record_property, metrics): function test_fc_session_root_path (line 218) | def test_fc_session_root_path(): function bin_vsock_path (line 232) | def bin_vsock_path(test_fc_session_root_path): function bin_vmclock_path (line 240) | def bin_vmclock_path(test_fc_session_root_path): function change_net_config_space_bin (line 248) | def change_net_config_space_bin(test_fc_session_root_path): function waitpkg_bin (line 262) | def waitpkg_bin(test_fc_session_root_path): function msr_reader_bin (line 274) | def msr_reader_bin(test_fc_session_root_path): function jailer_time_bin (line 285) | def jailer_time_bin(test_fc_session_root_path): function bin_seccomp_paths (line 296) | def bin_seccomp_paths(): function netns_factory (line 313) | def netns_factory(worker_id): function microvm_factory (line 350) | def microvm_factory(request, record_property, results_dir, netns_factory): function custom_cpu_template (line 417) | def custom_cpu_template(request, record_property): function cpu_template_any (line 430) | def cpu_template_any(request, record_property): function io_engine (line 439) | def io_engine(request): function snapshot_type (line 447) | def snapshot_type(request): function results_dir (line 453) | def results_dir(request, pytestconfig): function guest_kernel_fxt (line 484) | def guest_kernel_fxt(request, record_property): function rootfs (line 516) | def rootfs(): function rootfs_rw (line 527) | def rootfs_rw(): function uvm_plain (line 538) | def uvm_plain(microvm_factory, guest_kernel_linux_5_10, rootfs, pci_enab... function uvm_plain_6_1 (line 544) | def uvm_plain_6_1(microvm_factory, guest_kernel_linux_6_1, rootfs, pci_e... function uvm_plain_acpi (line 550) | def uvm_plain_acpi(microvm_factory, guest_kernel_acpi, rootfs, pci_enabl... function uvm_plain_rw (line 556) | def uvm_plain_rw(microvm_factory, guest_kernel_linux_5_10, rootfs_rw): function uvm_nano (line 562) | def uvm_nano(uvm_plain): function artifact_dir (line 572) | def artifact_dir(): function uvm_plain_any (line 578) | def uvm_plain_any(microvm_factory, guest_kernel, rootfs, pci_enabled): function uvm_plain_debug (line 593) | def uvm_plain_debug(microvm_factory, guest_kernel_6_1_debug, rootfs_rw): function vcpu_count (line 599) | def vcpu_count(): function mem_size_mib (line 605) | def mem_size_mib(): function pci_enabled (line 611) | def pci_enabled(request): function huge_pages (line 620) | def huge_pages(request): function uvm_booted (line 625) | def uvm_booted( function uvm_restored (line 644) | def uvm_restored( function uvm_ctor (line 659) | def uvm_ctor(request): function uvm_any (line 665) | def uvm_any( function uvm_any_booted (line 688) | def uvm_any_booted( function uvm_any_with_pci (line 710) | def uvm_any_with_pci( function uvm_any_without_pci (line 732) | def uvm_any_without_pci( FILE: tests/data/msr/msr_reader.c function print_msr (line 11) | void print_msr(int msr_fd, uint64_t msr) { function main (line 17) | int main() { FILE: tests/framework/ab_test.py function default_comparator (line 42) | def default_comparator(ah: T, be: T) -> bool: function git_ab_test (line 51) | def git_ab_test( function git_ab_test_host_command_if_pr (line 96) | def git_ab_test_host_command_if_pr( function git_ab_test_host_command (line 116) | def git_ab_test_host_command( function set_did_not_grow_comparator (line 136) | def set_did_not_grow_comparator( function git_clone (line 148) | def git_clone(clone_path, commitish): FILE: tests/framework/artifacts.py function select_supported_kernels (line 15) | def select_supported_kernels(): function kernels (line 31) | def kernels(glob, artifact_dir: Path = ARTIFACT_DIR) -> Iterator: function disks (line 43) | def disks(glob) -> list: function kernel_params (line 48) | def kernel_params(glob="vmlinux-*", select=kernels, artifact_dir=ARTIFAC... FILE: tests/framework/gitlint_rules.py class EndsSigned (line 10) | class EndsSigned(CommitRule): method validate (line 24) | def validate(self, commit): FILE: tests/framework/guest_stats.py class ByteUnit (line 8) | class ByteUnit: method __init__ (line 13) | def __init__(self, value_bytes: int): method from_kib (line 17) | def from_kib(cls, value_kib: int): method bytes (line 23) | def bytes(self) -> int: method kib (line 27) | def kib(self) -> float: method mib (line 31) | def mib(self) -> float: method gib (line 35) | def gib(self) -> float: class Meminfo (line 40) | class Meminfo: method __init__ (line 49) | def __init__(self): class MeminfoGuest (line 57) | class MeminfoGuest: method __init__ (line 60) | def __init__(self, vm): method get (line 63) | def get(self) -> Meminfo: FILE: tests/framework/http_api.py class Session (line 15) | class Session(requests.Session): method __init__ (line 21) | def __init__(self): class Resource (line 52) | class Resource: method __init__ (line 55) | def __init__(self, api, resource, id_field=None): method get (line 60) | def get(self): method request (line 87) | def request(self, method, path, **kwargs): method put (line 133) | def put(self, **kwargs): method patch (line 140) | def patch(self, **kwargs): class Api (line 148) | class Api: method __init__ (line 151) | def __init__(self, api_usocket_full_name, *, validate=True, on_error=N... FILE: tests/framework/jailer.py class JailerContext (line 21) | class JailerContext: method __init__ (line 42) | def __init__( method construct_param_list (line 85) | def construct_param_list(self): method chroot_base_with_id (line 134) | def chroot_base_with_id(self): method api_socket_path (line 138) | def api_socket_path(self): method chroot_path (line 142) | def chroot_path(self): method jailed_path (line 146) | def jailed_path(self, file_path, create=False, subdir="."): method setup (line 176) | def setup(self): method cleanup (line 180) | def cleanup(self): method _kill_cgroup_tasks (line 219) | def _kill_cgroup_tasks(self, controller): method pid_file (line 246) | def pid_file(self): FILE: tests/framework/microvm.py class SnapshotType (line 50) | class SnapshotType(Enum): method __repr__ (line 57) | def __repr__(self): method needs_rebase (line 62) | def needs_rebase(self) -> bool: method needs_dirty_page_tracking (line 67) | def needs_dirty_page_tracking(self) -> bool: method api_type (line 72) | def api_type(self) -> str: function hardlink_or_copy (line 81) | def hardlink_or_copy(src, dst): class Snapshot (line 92) | class Snapshot: method rebase_snapshot (line 103) | def rebase_snapshot( method copy_to_chroot (line 119) | def copy_to_chroot(self, chroot) -> "Snapshot": method load_from (line 141) | def load_from(cls, src: Path) -> "Snapshot": method save_to (line 155) | def save_to(self, dst: Path): method delete (line 180) | def delete(self): class HugePagesConfig (line 186) | class HugePagesConfig(str, Enum): class Microvm (line 194) | class Microvm: method __init__ (line 204) | def __init__( method __repr__ (line 297) | def __repr__(self): method mark_killed (line 300) | def mark_killed(self): method kill (line 311) | def kill(self, might_be_dead=False): method _validate_api_response_times (line 398) | def _validate_api_response_times(self): method firecracker_version (line 452) | def firecracker_version(self): method path (line 458) | def path(self): method id (line 466) | def id(self): method log_data (line 471) | def log_data(self): method state (line 478) | def state(self): method firecracker_pid (line 483) | def firecracker_pid(self): method ps (line 502) | def ps(self): method dimensions (line 507) | def dimensions(self): method guest_kernel_version (line 521) | def guest_kernel_version(self): method get_metrics (line 531) | def get_metrics(self): method get_all_metrics (line 540) | def get_all_metrics(self): method flush_metrics (line 544) | def flush_metrics(self): method create_jailed_resource (line 550) | def create_jailed_resource(self, path): method get_jailed_resource (line 554) | def get_jailed_resource(self, path): method chroot (line 558) | def chroot(self): method screen_session (line 563) | def screen_session(self): method screen_log (line 571) | def screen_log(self): method screen_pid (line 576) | def screen_pid(self) -> Optional[int]: method pin_vmm (line 582) | def pin_vmm(self, cpu_id: int) -> bool: method pin_vcpu (line 595) | def pin_vcpu(self, vcpu_id: int, cpu_id: int): method pin_api (line 603) | def pin_api(self, cpu_id: int): method pin_threads (line 611) | def pin_threads(self, first_cpu): method add_pre_cmd (line 633) | def add_pre_cmd(self, pre_cmd): method spawn (line 640) | def spawn( method _wait_for_api_socket (line 760) | def _wait_for_api_socket(self): method check_log_message (line 769) | def check_log_message(self, message): method get_exit_code (line 776) | def get_exit_code(self): method check_any_log_message (line 788) | def check_any_log_message(self, messages): method serial_input (line 797) | def serial_input(self, input_string): method basic_config (line 802) | def basic_config( method set_cpu_template (line 884) | def set_cpu_template(self, cpu_template): method add_drive (line 896) | def add_drive( method add_vhost_user_drive (line 920) | def add_vhost_user_drive( method patch_drive (line 955) | def patch_drive(self, drive_id, file=None): method add_net_iface (line 966) | def add_net_iface(self, iface=None, api=True, **kwargs): method add_pmem (line 990) | def add_pmem( method start (line 1008) | def start(self): method pause (line 1024) | def pause(self): method resume (line 1028) | def resume(self): method make_snapshot (line 1032) | def make_snapshot( method snapshot_diff (line 1069) | def snapshot_diff(self, *, mem_path: str = "mem", vmstate_path="vmstat... method snapshot_full (line 1075) | def snapshot_full(self, *, mem_path: str = "mem", vmstate_path="vmstat... method restore_from_snapshot (line 1081) | def restore_from_snapshot( method enable_entropy_device (line 1166) | def enable_entropy_device(self): method restore_from_path (line 1170) | def restore_from_path(self, snap_dir: Path, **kwargs): method ssh_iface (line 1175) | def ssh_iface(self, iface_idx=0): method ssh (line 1193) | def ssh(self): method thread_backtraces (line 1198) | def thread_backtraces(self): method _dump_debug_information (line 1211) | def _dump_debug_information(self, what: str): method wait_for_ssh_up (line 1224) | def wait_for_ssh_up(self): method enable_gdb (line 1230) | def enable_gdb(self): method hotplug_memory (line 1235) | def hotplug_memory( class MicroVMFactory (line 1258) | class MicroVMFactory: method __init__ (line 1261) | def __init__(self, binary_path: Path, **kwargs): method fc_binary_path (line 1271) | def fc_binary_path(self): method jailer_binary_path (line 1276) | def jailer_binary_path(self): method build (line 1280) | def build(self, kernel=None, rootfs=None, **kwargs): method build_from_snapshot (line 1308) | def build_from_snapshot(self, snapshot: Snapshot, uffd_handler_name=No... method build_n_from_snapshot (line 1317) | def build_n_from_snapshot( method kill (line 1375) | def kill(self): class Serial (line 1388) | class Serial: method __init__ (line 1393) | def __init__(self, vm): method open (line 1398) | def open(self): method tx (line 1414) | def tx(self, input_string, end="\n"): method rx_char (line 1420) | def rx_char(self): method rx (line 1434) | def rx(self, token="\n"): FILE: tests/framework/microvm_helpers.py function docker_apt_install (line 14) | def docker_apt_install(packages: str | list[str]): class DockerInfo (line 24) | class DockerInfo: method ip (line 28) | def ip(self): method id (line 40) | def id(self): method in_docker (line 45) | def in_docker(self): class MicrovmHelpers (line 53) | class MicrovmHelpers: method __init__ (line 66) | def __init__(self, vm): method print_log (line 69) | def print_log(self): method resize_disk (line 73) | def resize_disk(self, disk, size: int = 2**30): method gdbserver (line 81) | def gdbserver(self, port=2000): method lldbserver (line 90) | def lldbserver(self, port=2001): method tmux_neww (line 107) | def tmux_neww(self, cmd: str): method how_to_ssh (line 111) | def how_to_ssh(self): method tmux_ssh (line 119) | def tmux_ssh(self, cmd=""): method enable_console (line 125) | def enable_console(self): method how_to_console (line 135) | def how_to_console(self): method tmux_console (line 139) | def tmux_console(self): method how_to_docker (line 143) | def how_to_docker(self): method enable_ip_forwarding (line 147) | def enable_ip_forwarding(self, iface="eth0", ingress_ipv4=None): method trace_cmd_guest (line 227) | def trace_cmd_guest(self, fns, cmd, port=4321): method tmux_gdb (line 250) | def tmux_gdb(self): FILE: tests/framework/properties.py function run_cmd (line 20) | def run_cmd(cmd): function get_os_version (line 25) | def get_os_version(): function get_host_os (line 37) | def get_host_os(kv: str = None): class GlobalProps (line 57) | class GlobalProps: method __init__ (line 60) | def __init__(self): method host_linux_version_tpl (line 103) | def host_linux_version_tpl(self): method is_ec2 (line 108) | def is_ec2(self): method _detect_environment (line 112) | def _detect_environment(self): method _in_git_repo (line 125) | def _in_git_repo(self): FILE: tests/framework/static_analysis.py class Instruction (line 29) | class Instruction(ABC): method is_call (line 39) | def is_call(self): method is_syscall (line 44) | def is_syscall(self): method from_str (line 48) | def from_str(cls, insn_str): method backpropagate_register (line 62) | def backpropagate_register( method __str__ (line 78) | def __str__(self): class InstructionX86_64 (line 82) | class InstructionX86_64(Instruction): # pylint: disable=invalid-name method is_call (line 88) | def is_call(self): method is_syscall (line 92) | def is_syscall(self): method backpropagate_register (line 95) | def backpropagate_register( class InstructionAarch64 (line 137) | class InstructionAarch64(Instruction): method is_call (line 143) | def is_call(self): method is_syscall (line 147) | def is_syscall(self): method backpropagate_register (line 150) | def backpropagate_register( class Architecture (line 225) | class Architecture(Generic[TInstruction]): method __init_subclass__ (line 244) | def __init_subclass__(cls) -> None: method generalize_reg (line 251) | def generalize_reg(reg: str) -> list[str]: method determine_register_value (line 257) | def determine_register_value(cls, instructions: list[TInstruction], re... class ArchitectureX86_64 (line 286) | class ArchitectureX86_64( # pylint: disable=invalid-name method generalize_reg (line 297) | def generalize_reg(reg: str) -> list[str]: class ArchitectureAarch64 (line 312) | class ArchitectureAarch64(Architecture[InstructionAarch64]): method generalize_reg (line 323) | def generalize_reg(reg: str) -> list[str]: class Function (line 349) | class Function: method __init__ (line 352) | def __init__(self, name: str, arch: Architecture): method resolve_registers_before_insn (line 357) | def resolve_registers_before_insn(self, i: int, registers: list[str]): class UnsupportedInstructionError (line 376) | class UnsupportedInstructionError(Exception): method __init__ (line 380) | def __init__(self, insn: Instruction, reg: str): class BackpropagationReachedStartOfFn (line 388) | class BackpropagationReachedStartOfFn(Exception): method __init__ (line 392) | def __init__(self, current_register): function parse_objdump_output (line 398) | def parse_objdump_output(output: str, arch: Architecture) -> list[Functi... function find_syscalls_in_binary (line 441) | def find_syscalls_in_binary(binary_path: Path): # pylint: disable=too-m... function load_seccomp_rules (line 565) | def load_seccomp_rules(seccomp_path: Path): function determine_unneeded_seccomp_rules (line 593) | def determine_unneeded_seccomp_rules(seccomp_rules, found_syscalls): FILE: tests/framework/swagger_validator.py function _filter_none_recursive (line 12) | def _filter_none_recursive(data): class SwaggerValidator (line 20) | class SwaggerValidator: method __new__ (line 26) | def __new__(cls): method __init__ (line 31) | def __init__(self): method _build_validators (line 52) | def _build_validators(self): method _resolve_schema (line 83) | def _resolve_schema(self, schema, definitions): method validate_request (line 107) | def validate_request(self, method, path, body): method validate_response (line 131) | def validate_response(self, method, path, status_code, body): method _normalize_path (line 156) | def _normalize_path(self, path): FILE: tests/framework/utils.py function get_threads (line 36) | def get_threads(pid: int) -> dict: function get_cpu_affinity (line 49) | def get_cpu_affinity(pid: int) -> list: function set_cpu_affinity (line 54) | def set_cpu_affinity(pid: int, cpulist: list) -> list: function get_cpu_times (line 63) | def get_cpu_times(process: psutil.Process) -> Dict[str, CpuTimes]: function get_cpu_utilization (line 89) | def get_cpu_utilization( function track_cpu_utilization (line 112) | def track_cpu_utilization( function get_resident_memory (line 134) | def get_resident_memory(process: psutil.Process): function chroot (line 148) | def chroot(path): class CpuMap (line 170) | class CpuMap: method __new__ (line 182) | def __new__(cls, cpu): method len (line 190) | def len(): method _cpus (line 197) | def _cpus(cls): class CmdBuilder (line 212) | class CmdBuilder: method __init__ (line 215) | def __init__(self, bin_path): method with_arg (line 220) | def with_arg(self, flag, value=""): method build (line 225) | def build(self): function search_output_from_cmd (line 233) | def search_output_from_cmd(cmd: str, find_regex: typing.Pattern) -> typi... function get_stable_rss_mem (line 258) | def get_stable_rss_mem(uvm, percentage_delta=1): function _format_output_message (line 286) | def _format_output_message(proc, stdout, stderr): function run_cmd (line 297) | def run_cmd(cmd, check=False, shell=True, cwd=None, timeout=None) -> Com... function check_output (line 350) | def check_output(cmd, shell=True, cwd=None, timeout=None) -> CommandReturn: function assert_seccomp_level (line 355) | def assert_seccomp_level(pid, seccomp_level): function run_guest_cmd (line 369) | def run_guest_cmd(ssh_connection, cmd, expected, use_json=False): function get_process_pidfd (line 377) | def get_process_pidfd(pid): function wait_process_termination (line 401) | def wait_process_termination(p_pid): function get_firecracker_version_from_toml (line 419) | def get_firecracker_version_from_toml(): function get_kernel_version (line 431) | def get_kernel_version(level=2): function supports_hugetlbfs_discard (line 444) | def supports_hugetlbfs_discard(): function generate_mmds_session_token (line 449) | def generate_mmds_session_token( function generate_mmds_get_request (line 466) | def generate_mmds_get_request( function configure_mmds (line 487) | def configure_mmds( function populate_data_store (line 506) | def populate_data_store(test_microvm, data_store): function start_screen_process (line 516) | def start_screen_process(screen_log, session_name, binary_path, binary_p... function guest_run_fio_iteration (line 556) | def guest_run_fio_iteration(ssh_connection, iteration): function check_filesystem (line 568) | def check_filesystem(ssh_connection, disk_fmt, disk): function check_entropy (line 575) | def check_entropy(ssh_connection): function wait_process_running (line 581) | def wait_process_running(process): class Timeout (line 590) | class Timeout: method __init__ (line 598) | def __init__(self, seconds, msg="Timed out"): method handle_timeout (line 602) | def handle_timeout(self, signum, frame): method __enter__ (line 606) | def __enter__(self): method __exit__ (line 610) | def __exit__(self, _type, _value, _traceback): function pvh_supported (line 614) | def pvh_supported() -> bool: FILE: tests/framework/utils_cpu_templates.py function get_supported_cpu_templates (line 24) | def get_supported_cpu_templates(): function get_supported_custom_cpu_templates (line 43) | def get_supported_custom_cpu_templates(): function custom_cpu_templates_params (line 77) | def custom_cpu_templates_params(): function static_cpu_templates_params (line 87) | def static_cpu_templates_params(): function get_cpu_template_name (line 93) | def get_cpu_template_name(cpu_template, with_type=False): FILE: tests/framework/utils_cpuid.py class CpuVendor (line 16) | class CpuVendor(Enum): class CpuModel (line 24) | class CpuModel(str, Enum): function get_cpu_vendor (line 54) | def get_cpu_vendor(): function get_cpu_model_name (line 65) | def get_cpu_model_name(): function get_cpu_codename (line 79) | def get_cpu_codename(default="Unknown"): function get_instance_type (line 98) | def get_instance_type(): function check_guest_cpuid_output (line 103) | def check_guest_cpuid_output( function build_cpuid_dict (line 145) | def build_cpuid_dict(raw_cpuid_output): function get_guest_cpuid (line 160) | def get_guest_cpuid(vm, leaf=None, subleaf=None): function check_cpuid_feat_flags (line 179) | def check_cpuid_feat_flags(vm, must_be_set, must_be_unset): FILE: tests/framework/utils_drive.py class VhostUserBlkBackendType (line 19) | class VhostUserBlkBackendType(Enum): function partuuid_and_disk_path (line 26) | def partuuid_and_disk_path(rootfs, disk_path): class VhostUserBlkBackend (line 44) | class VhostUserBlkBackend(ABC): method get_all_subclasses (line 48) | def get_all_subclasses(cls): method with_backend (line 57) | def with_backend(cls, backend: VhostUserBlkBackendType, *args, **kwargs): method __init__ (line 62) | def __init__( method spawn (line 74) | def spawn(self, uid, gid): method _spawn_cmd (line 97) | def _spawn_cmd(self): method resize (line 102) | def resize(self, new_size): method pin (line 105) | def pin(self, cpu_id: int): method kill (line 109) | def kill(self): class QemuVhostUserBlkBackend (line 118) | class QemuVhostUserBlkBackend(VhostUserBlkBackend): method _spawn_cmd (line 121) | def _spawn_cmd(self): method resize (line 133) | def resize(self, new_size): class CrosvmVhostUserBlkBackend (line 137) | class CrosvmVhostUserBlkBackend(VhostUserBlkBackend): method __init__ (line 140) | def __init__( method _spawn_cmd (line 155) | def _spawn_cmd(self): method resize (line 170) | def resize(self, new_size): method kill (line 178) | def kill(self): FILE: tests/framework/utils_fio.py class Mode (line 16) | class Mode(str, Enum): class Engine (line 39) | class Engine(str, Enum): function build_cmd (line 48) | def build_cmd( class LogType (line 106) | class LogType(Enum): function process_log_files (line 113) | def process_log_files(root_dir: str, log_type: LogType) -> ([[str]], [[s... function process_json_files (line 176) | def process_json_files(root_dir: str) -> ([[int]], [[int]]): FILE: tests/framework/utils_ftrace.py function ftrace_events (line 10) | def ftrace_events(events: str = "*:*"): FILE: tests/framework/utils_imdsv2.py class IMDSv2Client (line 23) | class IMDSv2Client: method __init__ (line 31) | def __init__(self, endpoint="http://169.254.169.254", version="latest"): method get_token (line 38) | def get_token(self): method get (line 49) | def get(self, path): FILE: tests/framework/utils_iperf.py class IPerf3Test (line 13) | class IPerf3Test: method __init__ (line 16) | def __init__( method run_test (line 40) | def run_test(self, first_free_cpu): method client_mode_to_iperf3_flag (line 83) | def client_mode_to_iperf3_flag(self): method spawn_iperf3_client (line 89) | def spawn_iperf3_client(self, client_idx, client_mode_flag): method host_command (line 105) | def host_command(self, port_offset): method guest_command (line 114) | def guest_command(self, port_offset): function emit_iperf3_metrics (line 130) | def emit_iperf3_metrics(metrics, iperf_result, omit): FILE: tests/framework/utils_repo.py function git_repo_files (line 11) | def git_repo_files(root: str = ".", glob: str = "*"): FILE: tests/framework/utils_uffd.py class UffdHandler (line 17) | class UffdHandler: method __init__ (line 20) | def __init__( method spawn (line 31) | def spawn(self, uid, gid): method proc (line 60) | def proc(self): method is_running (line 64) | def is_running(self): method log_file (line 69) | def log_file(self): method log_data (line 74) | def log_data(self): method kill (line 80) | def kill(self): method mark_killed (line 86) | def mark_killed(self): method __del__ (line 92) | def __del__(self): function spawn_pf_handler (line 98) | def spawn_pf_handler(vm, handler_path, jailed_snapshot): function uffd_handler (line 113) | def uffd_handler(handler_name, **kwargs): FILE: tests/framework/utils_vsock.py class HostEchoWorker (line 24) | class HostEchoWorker(Thread): method __init__ (line 34) | def __init__(self, uds_path, blob_path): method run (line 43) | def run(self): method close_uds (line 56) | def close_uds(self): method _run (line 60) | def _run(self): function make_blob (line 82) | def make_blob(dst_dir, size=BLOB_SIZE): function start_guest_echo_server (line 99) | def start_guest_echo_server(vm): function check_host_connections (line 113) | def check_host_connections(uds_path, blob_path, blob_hash): function check_guest_connections (line 135) | def check_guest_connections(vm, server_port_path, blob_path, blob_hash): function make_host_port_path (line 200) | def make_host_port_path(uds_path, port): function _vsock_connect_to_guest (line 205) | def _vsock_connect_to_guest(uds_path, port): function _copy_vsock_data_to_guest (line 219) | def _copy_vsock_data_to_guest(ssh_connection, blob_path, vm_blob_path, v... function check_vsock_device (line 230) | def check_vsock_device(vm, bin_vsock_path, test_fc_session_root_path, ss... FILE: tests/framework/with_filelock.py function with_filelock (line 21) | def with_filelock(func): FILE: tests/host_tools/cargo_build.py function nightly_toolchain (line 17) | def nightly_toolchain() -> str: function cargo (line 22) | def cargo( function get_rustflags (line 41) | def get_rustflags(): function cargo_test (line 48) | def cargo_test(path, extra_args=""): function get_binary (line 59) | def get_binary(name, *, binary_dir=DEFAULT_BINARY_DIR, example=None): function get_example (line 67) | def get_example(name, *args, package="firecracker", **kwargs): function run_seccompiler_bin (line 72) | def run_seccompiler_bin( function run_snap_editor_rebase (line 101) | def run_snap_editor_rebase(base_snap, diff_snap, binary_dir=DEFAULT_BINA... function run_rebase_snap_bin (line 115) | def run_rebase_snap_bin(base_snap, diff_snap): function gcc_compile (line 127) | def gcc_compile(src_file, output_file, extra_flags="-static -O3"): function build_gdb (line 135) | def build_gdb(): FILE: tests/host_tools/change_net_config_space.c function show_usage (line 16) | int show_usage() { function main (line 23) | int main(int argc, char *argv[]) { FILE: tests/host_tools/cpu_load.py class CpuLoadExceededException (line 12) | class CpuLoadExceededException(Exception): method __init__ (line 15) | def __init__(self, cpu_load_samples, threshold): class CpuLoadMonitor (line 23) | class CpuLoadMonitor(Thread): method __init__ (line 28) | def __init__(self, process_pid, thread_pid, threshold): method process_pid (line 38) | def process_pid(self): method thread_pid (line 43) | def thread_pid(self): method threshold (line 48) | def threshold(self): method cpu_load_samples (line 53) | def cpu_load_samples(self): method signal_stop (line 57) | def signal_stop(self): method run (line 61) | def run(self): method check_samples (line 79) | def check_samples(self): method __enter__ (line 84) | def __enter__(self): method __exit__ (line 93) | def __exit__(self, _type, _value, _traceback): FILE: tests/host_tools/drive.py class FilesystemFile (line 11) | class FilesystemFile: method __init__ (line 17) | def __init__(self, path: str = None, size: int = 256, fs_format: str =... method __repr__ (line 46) | def __repr__(self): method resize (line 49) | def resize(self, new_size): method size (line 54) | def size(self): method __del__ (line 58) | def __del__(self): FILE: tests/host_tools/fcmetrics.py function create_metrics_schema_objects (line 27) | def create_metrics_schema_objects(metrics): function validate_fc_metrics (line 68) | def validate_fc_metrics(metrics): class FcDeviceMetrics (line 406) | class FcDeviceMetrics: method __init__ (line 412) | def __init__(self, name, num_dev, aggr_supported=True): method validate (line 417) | def validate(self, microvm): method validate_per_device_metrics (line 430) | def validate_per_device_metrics(self, fc_metrics): function get_emf_unit_for_fc_metrics (line 465) | def get_emf_unit_for_fc_metrics(full_key): function flush_fc_metrics_to_cw (line 480) | def flush_fc_metrics_to_cw(fc_metrics, metrics): class FCMetricsMonitor (line 531) | class FCMetricsMonitor(Thread): method __init__ (line 541) | def __init__(self, vm, timer=60): method _flush_metrics (line 560) | def _flush_metrics(self): method stop (line 574) | def stop(self): method run (line 599) | def run(self): function find_metrics_files (line 613) | def find_metrics_files(): function extract_fields (line 618) | def extract_fields(file_path): function is_file_production (line 627) | def is_file_production(filepath): function is_metric_used (line 649) | def is_metric_used(field, field_type): FILE: tests/host_tools/jailer_time.c function main (line 9) | int main(int argc, char** argv) { FILE: tests/host_tools/memory.py class MemoryUsageExceededError (line 14) | class MemoryUsageExceededError(Exception): method __init__ (line 17) | def __init__(self, usage, threshold, *args): class MemoryMonitor (line 26) | class MemoryMonitor(Thread): method __init__ (line 46) | def __init__( method signal_stop (line 68) | def signal_stop(self): method set_threshold_for_restored_vm (line 72) | def set_threshold_for_restored_vm(self): method set_threshold_for_snapshot (line 76) | def set_threshold_for_snapshot(self): method stop (line 80) | def stop(self): method run (line 86) | def run(self): method is_guest_mem_x86 (line 116) | def is_guest_mem_x86(self, size, guest_mem_bytes): method is_guest_mem_arch64 (line 140) | def is_guest_mem_arch64(self, size, guest_mem_bytes): method is_guest_mem (line 158) | def is_guest_mem(self, size, guest_mem_bytes): method check_samples (line 169) | def check_samples(self): method current_rss (line 177) | def current_rss(self): method __enter__ (line 183) | def __enter__(self): method __exit__ (line 193) | def __exit__(self, _type, _value, _traceback): FILE: tests/host_tools/metrics.py class MetricsWrapper (line 53) | class MetricsWrapper: method __init__ (line 56) | def __init__(self, logger): method set_dimensions (line 61) | def set_dimensions(self, *dimensions, **kwargs): method put_metric (line 71) | def put_metric(self, name, data, unit): method set_property (line 80) | def set_property(self, *args, **kwargs): method flush (line 85) | def flush(self): method store_data (line 90) | def store_data(self, dir_path): function get_metrics_logger (line 103) | def get_metrics_logger(): FILE: tests/host_tools/network.py class SSHConnection (line 20) | class SSHConnection: method __init__ (line 32) | def __init__( method user_host (line 68) | def user_host(self): method remote_path (line 72) | def remote_path(self, path): method _scp (line 76) | def _scp(self, path1, path2, options): method scp_put (line 80) | def scp_put(self, local_path, remote_path, recursive=False): method scp_get (line 87) | def scp_get(self, remote_path, local_path, recursive=False): method _init_connection (line 99) | def _init_connection(self): method _check_liveness (line 148) | def _check_liveness(self, strict=True) -> int | None: method close (line 170) | def close(self, strict=True): method run (line 191) | def run(self, cmd_string, timeout=100, *, check=False, debug=False): method check_output (line 206) | def check_output(self, cmd_string, timeout=100, *, debug=False): method _exec (line 210) | def _exec(self, cmd, timeout=100, check=False): function mac_from_ip (line 224) | def mac_from_ip(ip_address): function get_guest_net_if_name (line 243) | def get_guest_net_if_name(ssh_connection, guest_ip): function random_str (line 251) | def random_str(k): class Tap (line 257) | class Tap: method __init__ (line 260) | def __init__(self, name, netns, ip=None): method name (line 275) | def name(self): method netns (line 280) | def netns(self): method set_tx_queue_len (line 284) | def set_tx_queue_len(self, tx_queue_len): method __repr__ (line 288) | def __repr__(self): class NetIfaceConfig (line 293) | class NetIfaceConfig: method guest_mac (line 303) | def guest_mac(self): method network (line 308) | def network(self): method with_id (line 313) | def with_id(i, netmask_len=30): class NetNs (line 325) | class NetNs: method path (line 332) | def path(self): method cmd_prefix (line 339) | def cmd_prefix(self): method check_output (line 343) | def check_output(self, cmd: str): method setup (line 347) | def setup(self): method cleanup (line 352) | def cleanup(self): method add_tap (line 357) | def add_tap(self, name, ip): method is_used (line 367) | def is_used(self): FILE: tests/host_tools/proc.py function proc_type (line 9) | def proc_type(): FILE: tests/host_tools/test_syscalls.c function install_bpf_filter (line 19) | void install_bpf_filter(char *bpf_file) { function main (line 54) | int main(int argc, char **argv) { FILE: tests/host_tools/udp_offload.py function eprint (line 15) | def eprint(*args, **kwargs): FILE: tests/host_tools/vmclock-abi.h type vmclock_abi (line 63) | struct vmclock_abi { FILE: tests/host_tools/vmclock.c function open_vmclock (line 19) | int open_vmclock(void) type vmclock_abi (line 30) | struct vmclock_abi type vmclock_abi (line 32) | struct vmclock_abi function read_vmclock (line 68) | void read_vmclock(int fd, struct vmclock_abi *vmclock) function print_vmclock (line 86) | void print_vmclock(struct vmclock_abi *vmclock) function run_poll (line 103) | void run_poll(int fd) function print_help_message (line 149) | void print_help_message() function main (line 158) | int main(int argc, char *argv[]) FILE: tests/host_tools/vsock_helper.c function print_usage (line 27) | int print_usage() { function xfer (line 37) | int xfer(int src_fd, int dst_fd) { function run_echo (line 56) | int run_echo(uint32_t cid, uint32_t port) { function main (line 91) | int main(int argc, char **argv) { FILE: tests/host_tools/waitpkg.c function umwait (line 11) | void umwait(volatile int *addr) { function main (line 20) | int main() { FILE: tests/integration_tests/build/test_clippy.py function test_rust_clippy (line 21) | def test_rust_clippy(target): FILE: tests/integration_tests/build/test_coverage.py function test_coverage (line 37) | def test_coverage(monkeypatch): FILE: tests/integration_tests/build/test_dependencies.py function test_unused_dependencies (line 8) | def test_unused_dependencies(): FILE: tests/integration_tests/build/test_gdb.py function test_gdb_compiles (line 8) | def test_gdb_compiles(): FILE: tests/integration_tests/build/test_seccomp_no_redundant_rules.py function test_redundant_seccomp_rules (line 20) | def test_redundant_seccomp_rules(): FILE: tests/integration_tests/build/test_unittests.py function test_unittests (line 19) | def test_unittests(test_fc_session_root_path): function test_benchmarks_compile (line 29) | def test_benchmarks_compile(): FILE: tests/integration_tests/functional/test_api.py function test_api_happy_start (line 32) | def test_api_happy_start(uvm_plain): function test_drive_io_engine (line 49) | def test_drive_io_engine(uvm_plain, io_engine): function test_api_put_update_pre_boot (line 78) | def test_api_put_update_pre_boot(uvm_plain, io_engine): function test_net_api_put_update_pre_boot (line 175) | def test_net_api_put_update_pre_boot(uvm_plain): function test_api_mmds_config (line 223) | def test_api_mmds_config(uvm_plain): function test_api_machine_config (line 301) | def test_api_machine_config(uvm_plain): function test_negative_machine_config_api (line 411) | def test_negative_machine_config_api(uvm_plain): function test_api_cpu_config (line 442) | def test_api_cpu_config(uvm_plain, custom_cpu_template): function test_api_put_update_post_boot (line 455) | def test_api_put_update_post_boot(uvm_plain, io_engine): function test_rate_limiters_api_config (line 515) | def test_rate_limiters_api_config(uvm_plain, io_engine): function test_api_patch_pre_boot (line 623) | def test_api_patch_pre_boot(uvm_plain, io_engine): function test_negative_api_patch_post_boot (line 673) | def test_negative_api_patch_post_boot(uvm_plain, io_engine): function test_drive_patch (line 715) | def test_drive_patch(uvm_plain, io_engine): function test_send_ctrl_alt_del (line 752) | def test_send_ctrl_alt_del(uvm_plain_any): function _drive_patch (line 772) | def _drive_patch(test_microvm, io_engine): function test_api_version (line 905) | def test_api_version(uvm_plain): function test_api_vsock (line 938) | def test_api_vsock(uvm_nano): function test_api_entropy (line 966) | def test_api_entropy(uvm_plain): function test_api_memory_hotplug (line 987) | def test_api_memory_hotplug(uvm_plain_6_1): function test_api_balloon (line 1030) | def test_api_balloon(uvm_nano): function test_pmem_api (line 1093) | def test_pmem_api(uvm_plain_any, rootfs): function test_get_full_config_after_restoring_snapshot (line 1154) | def test_get_full_config_after_restoring_snapshot(microvm_factory, uvm_n... function test_get_full_config (line 1292) | def test_get_full_config(uvm_plain): function test_map_private_seccomp_regression (line 1425) | def test_map_private_seccomp_regression(uvm_plain): function test_negative_snapshot_load_api (line 1448) | def test_negative_snapshot_load_api(microvm_factory): FILE: tests/integration_tests/functional/test_api_server.py function test_api_socket_in_use (line 10) | def test_api_socket_in_use(uvm_plain): FILE: tests/integration_tests/functional/test_balloon.py function check_guest_dmesg_for_stalls (line 19) | def check_guest_dmesg_for_stalls(ssh_connection): function lower_ssh_oom_chance (line 27) | def lower_ssh_oom_chance(ssh_connection): function make_guest_dirty_memory (line 48) | def make_guest_dirty_memory(ssh_connection, amount_mib=32): function _test_rss_memory_lower (line 63) | def _test_rss_memory_lower(test_microvm): function test_rss_memory_lower (line 96) | def test_rss_memory_lower(uvm_plain_any): function test_inflate_reduces_free (line 117) | def test_inflate_reduces_free(uvm_plain_any): function test_deflate_on_oom (line 153) | def test_deflate_on_oom(uvm_plain_any, deflate_on_oom): function test_reinflate_balloon (line 218) | def test_reinflate_balloon(uvm_plain_any): function test_stats (line 283) | def test_stats(uvm_plain_any): function test_stats_update (line 354) | def test_stats_update(uvm_plain_any): function test_balloon_snapshot (line 406) | def test_balloon_snapshot(uvm_plain_any, microvm_factory): function test_hinting_reporting_snapshot (line 491) | def test_hinting_reporting_snapshot(uvm_plain_any, microvm_factory, meth... function test_memory_scrub (line 578) | def test_memory_scrub(uvm_plain_any, method): FILE: tests/integration_tests/functional/test_binary.py function test_firecracker_binary_static_linking (line 15) | def test_firecracker_binary_static_linking(microvm_factory): function test_release_debuginfo (line 27) | def test_release_debuginfo(microvm_factory): function test_release_no_gdb (line 51) | def test_release_no_gdb(microvm_factory): FILE: tests/integration_tests/functional/test_binary_size.py function test_firecracker_binary_size (line 18) | def test_firecracker_binary_size(record_property, metrics, microvm_facto... function test_jailer_binary_size (line 30) | def test_jailer_binary_size(record_property, metrics, microvm_factory): FILE: tests/integration_tests/functional/test_cmd_line_parameters.py function test_describe_snapshot (line 14) | def test_describe_snapshot(uvm_plain): function test_cli_metrics_path (line 41) | def test_cli_metrics_path(uvm_plain): function test_cli_metrics_path_if_metrics_initialized_twice_fail (line 54) | def test_cli_metrics_path_if_metrics_initialized_twice_fail(uvm_plain): function test_cli_metrics_if_resume_no_metrics (line 78) | def test_cli_metrics_if_resume_no_metrics(uvm_plain, microvm_factory): function test_cli_no_params (line 99) | def test_cli_no_params(microvm_factory): FILE: tests/integration_tests/functional/test_cmd_line_start.py function _configure_vm_from_json (line 23) | def _configure_vm_from_json(test_microvm, vm_config_file): function _add_metadata_file (line 46) | def _add_metadata_file(test_microvm, metadata_file): function _configure_network_interface (line 58) | def _configure_network_interface(test_microvm): function _build_cmd_to_fetch_metadata (line 72) | def _build_cmd_to_fetch_metadata(ssh_connection, version, ipv4_address): function _get_optional_fields_from_file (line 91) | def _get_optional_fields_from_file(vm_config_file): function test_config_start_with_api (line 114) | def test_config_start_with_api(uvm_plain, vm_config_file): function test_config_start_no_api (line 130) | def test_config_start_no_api(uvm_plain, vm_config_file): function test_config_start_no_api_exit (line 159) | def test_config_start_no_api_exit(uvm_plain, vm_config_file): function test_config_bad_machine_config (line 185) | def test_config_bad_machine_config(uvm_plain, vm_config_file): function test_config_machine_config_params (line 205) | def test_config_machine_config_params(uvm_plain, test_config): function test_config_start_with_limit (line 242) | def test_config_start_with_limit(uvm_plain, vm_config_file): function test_config_with_default_limit (line 273) | def test_config_with_default_limit(uvm_plain, vm_config_file): function test_start_with_metadata (line 307) | def test_start_with_metadata(uvm_plain): function test_start_with_metadata_limit (line 327) | def test_start_with_metadata_limit(uvm_plain): function test_start_with_metadata_default_limit (line 345) | def test_start_with_metadata_default_limit(uvm_plain): function test_start_with_missing_metadata (line 365) | def test_start_with_missing_metadata(uvm_plain): function test_start_with_invalid_metadata (line 388) | def test_start_with_invalid_metadata(uvm_plain): function test_config_start_and_mmds_with_api (line 413) | def test_config_start_and_mmds_with_api(uvm_plain, vm_config_file): function test_with_config_and_metadata_no_api (line 472) | def test_with_config_and_metadata_no_api(uvm_plain, vm_config_file, meta... FILE: tests/integration_tests/functional/test_concurrency.py function test_run_concurrency (line 10) | def test_run_concurrency(microvm_factory, guest_kernel, rootfs, pci_enab... FILE: tests/integration_tests/functional/test_cpu_all.py function test_all_vcpus_online (line 19) | def test_all_vcpus_online(uvm_any): function test_all_vcpus_have_same_features (line 28) | def test_all_vcpus_have_same_features(uvm_any): FILE: tests/integration_tests/functional/test_cpu_features_aarch64.py function test_guest_cpu_features (line 34) | def test_guest_cpu_features(uvm_any): FILE: tests/integration_tests/functional/test_cpu_features_host_vs_guest.py function test_host_vs_guest_cpu_features (line 157) | def test_host_vs_guest_cpu_features(uvm_plain_any): FILE: tests/integration_tests/functional/test_cpu_features_x86_64.py function read_msr_csv (line 36) | def read_msr_csv(fd): function clean_and_mkdir (line 42) | def clean_and_mkdir(dir_path): function _check_cpuid_x86 (line 50) | def _check_cpuid_x86(test_microvm, expected_cpu_count, expected_htt): function _check_extended_cache_features (line 63) | def _check_extended_cache_features(vm): function skip_test_based_on_artifacts (line 79) | def skip_test_based_on_artifacts(snapshot_artifacts_dir): function test_cpuid (line 108) | def test_cpuid(uvm_plain_any, num_vcpus, htt): function test_extended_cache_features (line 124) | def test_extended_cache_features(uvm_plain_any): function test_brand_string (line 136) | def test_brand_string(uvm_plain_any): function test_cpu_rdmsr (line 265) | def test_cpu_rdmsr( function dump_msr_state_to_file (line 350) | def dump_msr_state_to_file(msr_reader_bin, dump_fname, ssh_conn): function test_cpu_wrmsr_snapshot (line 368) | def test_cpu_wrmsr_snapshot( function check_msrs_are_equal (line 438) | def check_msrs_are_equal(before_recs, after_recs): function test_cpu_wrmsr_restore (line 471) | def test_cpu_wrmsr_restore( function dump_cpuid_to_file (line 515) | def dump_cpuid_to_file(dump_fname, ssh_conn): function test_cpu_cpuid_snapshot (line 530) | def test_cpu_cpuid_snapshot(microvm_factory, guest_kernel, rootfs, cpu_t... function check_cpuid_is_equal (line 580) | def check_cpuid_is_equal(before_cpuid_fname, after_cpuid_fname): function test_cpu_cpuid_restore (line 600) | def test_cpu_cpuid_restore(microvm_factory, guest_kernel, cpu_template_a... function test_cpu_template (line 640) | def test_cpu_template(uvm_plain_any, cpu_template_any, microvm_factory): function check_masked_features (line 691) | def check_masked_features(test_microvm, cpu_template): function check_enabled_features (line 1163) | def check_enabled_features(test_microvm, cpu_template): function test_intel_amx_reported_on_sapphire_rapids (line 1259) | def test_intel_amx_reported_on_sapphire_rapids( function test_waitpkg_inaccessibility (line 1288) | def test_waitpkg_inaccessibility(uvm_nano, waitpkg_bin): FILE: tests/integration_tests/functional/test_cpu_template_helper.py class CpuTemplateHelper (line 21) | class CpuTemplateHelper: method __init__ (line 29) | def __init__(self): method template_dump (line 33) | def template_dump(self, output_path): method template_strip (line 38) | def template_strip(self, paths, suffix=""): method template_verify (line 44) | def template_verify(self, template_path): method fingerprint_dump (line 49) | def fingerprint_dump(self, output_path): method fingerprint_compare (line 54) | def fingerprint_compare( function cpu_template_helper_fixture (line 71) | def cpu_template_helper_fixture(): function build_cpu_config_dict (line 76) | def build_cpu_config_dict(cpu_config_path): function get_guest_msrs (line 245) | def get_guest_msrs(microvm, msr_index_list): function test_cpu_config_dump_vs_actual (line 270) | def test_cpu_config_dump_vs_actual( function test_guest_cpu_config_change (line 350) | def test_guest_cpu_config_change(results_dir, cpu_template_helper): function test_json_static_templates (line 372) | def test_json_static_templates(cpu_template_helper, tmp_path, custom_cpu... function test_consecutive_fingerprint_consistency (line 385) | def test_consecutive_fingerprint_consistency(cpu_template_helper, tmp_pa... FILE: tests/integration_tests/functional/test_dirty_pages_in_full_snapshot.py function test_dirty_pages_after_full_snapshot (line 6) | def test_dirty_pages_after_full_snapshot(uvm_plain): FILE: tests/integration_tests/functional/test_drive_vhost_user.py function uvm_vhost_user_plain_any (line 17) | def uvm_vhost_user_plain_any(microvm_factory, guest_kernel, pci_enabled): function uvm_vhost_user_booted_ro (line 25) | def uvm_vhost_user_booted_ro(uvm_vhost_user_plain_any, rootfs): function uvm_vhost_user_booted_rw (line 43) | def uvm_vhost_user_booted_rw(uvm_vhost_user_plain_any, rootfs): function _check_block_size (line 65) | def _check_block_size(ssh_connection, dev_path, size): function _check_drives (line 74) | def _check_drives(test_microvm, assert_dict, keys_array): function test_vhost_user_block (line 88) | def test_vhost_user_block(uvm_vhost_user_booted_ro): function test_vhost_user_block_read_write (line 109) | def test_vhost_user_block_read_write(uvm_vhost_user_booted_rw): function test_vhost_user_block_disconnect (line 127) | def test_vhost_user_block_disconnect(uvm_vhost_user_booted_ro): function test_device_ordering (line 142) | def test_device_ordering(uvm_vhost_user_plain_any, rootfs): function test_partuuid_boot (line 213) | def test_partuuid_boot(uvm_vhost_user_plain_any, rootfs): function test_partuuid_update (line 245) | def test_partuuid_update(uvm_vhost_user_plain_any, rootfs): function test_config_change (line 287) | def test_config_change(uvm_plain_any): FILE: tests/integration_tests/functional/test_drive_virtio.py function partuuid_and_disk_path_tmpfs (line 17) | def partuuid_and_disk_path_tmpfs(rootfs, tmp_path): function test_rescan_file (line 26) | def test_rescan_file(uvm_plain_any, io_engine): function test_device_ordering (line 67) | def test_device_ordering(uvm_plain_any, io_engine): function test_rescan_dev (line 114) | def test_rescan_dev(uvm_plain_any, io_engine): function test_non_partuuid_boot (line 154) | def test_non_partuuid_boot(uvm_plain_any, io_engine): function test_partuuid_boot (line 182) | def test_partuuid_boot(uvm_plain_any, partuuid_and_disk_path_tmpfs, io_e... function test_partuuid_update (line 216) | def test_partuuid_update(uvm_plain_any, io_engine): function test_patch_drive (line 254) | def test_patch_drive(uvm_plain_any, io_engine): function test_no_flush (line 292) | def test_no_flush(uvm_plain_any, io_engine): function test_flush (line 326) | def test_flush(uvm_plain_rw, io_engine): function _check_block_size (line 356) | def _check_block_size(ssh_connection, dev_path, size): function _check_file_size (line 362) | def _check_file_size(ssh_connection, dev_path, size): function _process_blockdev_output (line 368) | def _process_blockdev_output(blockdev_out, assert_dict, keys_array): function _check_drives (line 375) | def _check_drives(test_microvm, assert_dict, keys_array): function _check_mount (line 381) | def _check_mount(ssh_connection, dev_path): FILE: tests/integration_tests/functional/test_error_code.py function test_enosys_error_code (line 15) | def test_enosys_error_code(uvm_plain): FILE: tests/integration_tests/functional/test_feat_parity.py function inst_set_cpu_template_fxt (line 25) | def inst_set_cpu_template_fxt(request): function vm_fxt (line 31) | def vm_fxt(uvm_plain_any, inst_set_cpu_template): function test_feat_parity_cpuid_mpx (line 43) | def test_feat_parity_cpuid_mpx(vm): function test_feat_parity_cpuid_inst_set (line 68) | def test_feat_parity_cpuid_inst_set(vm): FILE: tests/integration_tests/functional/test_gdb.py function test_gdb_connects (line 22) | def test_gdb_connects(guest_kernel_linux_6_1, rootfs): FILE: tests/integration_tests/functional/test_instrumented_firecracker.py function build_instrumented_binary (line 33) | def build_instrumented_binary(): function cleanup_instrumentation (line 54) | def cleanup_instrumentation(): function instrumented_binary (line 64) | def instrumented_binary(): function test_log_instrument_firecracker_basic_functionality (line 71) | def test_log_instrument_firecracker_basic_functionality( FILE: tests/integration_tests/functional/test_kernel_cmdline.py function test_init_params (line 9) | def test_init_params(uvm_plain): FILE: tests/integration_tests/functional/test_kvm_ptp.py function test_kvm_ptp (line 9) | def test_kvm_ptp(uvm_any_booted): FILE: tests/integration_tests/functional/test_log_instrument.py function test_instrumentation_example_output (line 76) | def test_instrumentation_example_output(example, expected_output): FILE: tests/integration_tests/functional/test_logging.py function to_formal_log_level (line 20) | def to_formal_log_level(log_level): function check_log_message_format (line 39) | def check_log_message_format(log_str, instance_id, level, show_level, sh... function test_api_requests_logs (line 74) | def test_api_requests_logs(uvm_plain): function test_log_config (line 161) | def test_log_config(uvm_plain, log_level, show_level, show_origin): FILE: tests/integration_tests/functional/test_max_devices.py function max_devices (line 10) | def max_devices(uvm): function test_attach_maximum_devices (line 32) | def test_attach_maximum_devices(uvm_plain_any): function test_attach_too_many_devices (line 56) | def test_attach_too_many_devices(uvm_plain): FILE: tests/integration_tests/functional/test_metrics.py function test_flush_metrics (line 11) | def test_flush_metrics(uvm_plain): function test_net_metrics (line 24) | def test_net_metrics(uvm_plain): function test_block_metrics (line 57) | def test_block_metrics(uvm_plain): FILE: tests/integration_tests/functional/test_mmds.py function test_mmds_token (line 34) | def test_mmds_token(uvm_plain, version, imds_compat): function test_custom_ipv4 (line 96) | def test_custom_ipv4(uvm_plain, version): function test_mmds_response (line 185) | def test_mmds_response(uvm_plain, version, imds_compat, app_json): function test_larger_than_mss_payloads (line 284) | def test_larger_than_mss_payloads(uvm_plain, version): function test_mmds_dummy (line 352) | def test_mmds_dummy(uvm_plain, version): function test_guest_mmds_hang (line 397) | def test_guest_mmds_hang(uvm_plain, version): function test_mmds_limit_scenario (line 450) | def test_mmds_limit_scenario(uvm_plain, version): function test_mmds_snapshot (line 519) | def test_mmds_snapshot(uvm_nano, microvm_factory, version, imds_compat): function test_mmds_v2_negative (line 616) | def test_mmds_v2_negative(uvm_plain): function test_deprecated_mmds_config (line 720) | def test_deprecated_mmds_config(uvm_plain): function _configure_with_aws_credentials (line 751) | def _configure_with_aws_credentials(microvm, version, imds_compat): function test_aws_credential_provider (line 791) | def test_aws_credential_provider(uvm_plain, version, imds_compat, sdk): function test_go_sdk_credential_provider_with_custom_endpoint (line 826) | def test_go_sdk_credential_provider_with_custom_endpoint( FILE: tests/integration_tests/functional/test_net.py function test_high_ingress_traffic (line 17) | def test_high_ingress_traffic(uvm_plain_any): function test_multi_queue_unsupported (line 56) | def test_multi_queue_unsupported(uvm_plain): function uvm_any (line 88) | def uvm_any(microvm_factory, uvm_ctor, guest_kernel, rootfs, pci_enabled): function test_tap_offload (line 93) | def test_tap_offload(uvm_any): FILE: tests/integration_tests/functional/test_net_config_space.py function test_net_change_mac_address (line 16) | def test_net_change_mac_address(uvm_plain_any, change_net_config_space_b... function _create_server (line 96) | def _create_server(jailer, host_ip, port, iterations): function _send_data_g2h (line 129) | def _send_data_g2h(ssh_connection, host_ip, host_port, iterations, data,... function _start_host_server_thread (line 162) | def _start_host_server_thread(jailer, host_ip, host_port, iterations): function _exchange_data (line 171) | def _exchange_data(jailer, ssh_control_connection, host_ip, host_port, i... function _change_guest_if_mac (line 191) | def _change_guest_if_mac(ssh_connection, guest_if_mac, guest_if_name): function _find_iomem_range (line 198) | def _find_iomem_range(ssh_connection, dev_name): function _get_net_mem_addr_base (line 233) | def _get_net_mem_addr_base(ssh_connection, if_name): FILE: tests/integration_tests/functional/test_pause_resume.py function verify_net_emulation_paused (line 12) | def verify_net_emulation_paused(metrics): function test_pause_resume (line 31) | def test_pause_resume(uvm_nano): function test_describe_instance (line 81) | def test_describe_instance(uvm_nano): function test_pause_resume_preboot (line 115) | def test_pause_resume_preboot(uvm_nano): function test_kvmclock_ctrl (line 135) | def test_kvmclock_ctrl(uvm_plain_any): FILE: tests/integration_tests/functional/test_pci.py function test_pci_root_present (line 6) | def test_pci_root_present(uvm_any_with_pci): function test_pci_disabled (line 19) | def test_pci_disabled(uvm_any_without_pci): FILE: tests/integration_tests/functional/test_pmem.py function align (line 14) | def align(size: int) -> int: function check_pmem_exist (line 21) | def check_pmem_exist(vm, index, root, read_only, size, extension): function test_pmem_add (line 49) | def test_pmem_add(uvm_plain_any, microvm_factory): function test_pmem_add_as_root_rw (line 100) | def test_pmem_add_as_root_rw(uvm_plain_any, rootfs_rw, microvm_factory): function test_pmem_add_as_root_ro (line 123) | def test_pmem_add_as_root_ro(uvm_plain_any, rootfs, microvm_factory): function inside_buff_cache (line 146) | def inside_buff_cache(vm) -> int: function outside_rssanon (line 154) | def outside_rssanon(vm) -> int: function test_pmem_dax_memory_saving (line 161) | def test_pmem_dax_memory_saving( FILE: tests/integration_tests/functional/test_pvtime.py function test_guest_has_pvtime_enabled (line 14) | def test_guest_has_pvtime_enabled(uvm_plain): FILE: tests/integration_tests/functional/test_rng.py function uvm_with_rng_booted (line 11) | def uvm_with_rng_booted(uvm_plain_any, microvm_factory, rate_limiter): function uvm_with_rng_restored (line 25) | def uvm_with_rng_restored(uvm_plain_any, microvm_factory, rate_limiter): function uvm_ctor (line 36) | def uvm_ctor(request): function rate_limiter (line 42) | def rate_limiter(request): function uvm_any (line 48) | def uvm_any(microvm_factory, uvm_ctor, uvm_plain_any, rate_limiter): function list_rng_available (line 53) | def list_rng_available(ssh_connection: SSHConnection) -> list[str]: function get_rng_current (line 62) | def get_rng_current(ssh_connection: SSHConnection) -> str: function assert_virtio_rng_is_current_hwrng_device (line 69) | def assert_virtio_rng_is_current_hwrng_device(ssh_connection: SSHConnect... function test_rng_not_present (line 77) | def test_rng_not_present(uvm_nano): function test_rng_present (line 92) | def test_rng_present(uvm_any): function _get_percentage_difference (line 103) | def _get_percentage_difference(measured, base): function _throughput_units_multiplier (line 114) | def _throughput_units_multiplier(units): function _process_dd_output (line 131) | def _process_dd_output(out): function _get_throughput (line 153) | def _get_throughput(ssh, random_bytes): function _check_entropy_rate_limited (line 168) | def _check_entropy_rate_limited(ssh, random_bytes, expected_kbps): function _rate_limiter_id (line 198) | def _rate_limiter_id(rate_limiter): function test_rng_bw_rate_limiter (line 221) | def test_rng_bw_rate_limiter(uvm_any): FILE: tests/integration_tests/functional/test_rtc.py function test_rtc (line 17) | def test_rtc(uvm_plain_any): FILE: tests/integration_tests/functional/test_serial_io.py function test_serial_after_snapshot (line 18) | def test_serial_after_snapshot(uvm_plain, microvm_factory): function test_serial_console_login (line 58) | def test_serial_console_login(uvm_plain_any): function get_total_mem_size (line 82) | def get_total_mem_size(pid): function send_bytes (line 93) | def send_bytes(tty, bytes_count, timeout=60): function test_serial_dos (line 103) | def test_serial_dos(uvm_plain_any): function test_serial_block (line 135) | def test_serial_block(uvm_plain_any): function test_no_serial_fd_error_when_daemonized (line 180) | def test_no_serial_fd_error_when_daemonized(uvm_plain): function test_serial_file_output (line 201) | def test_serial_file_output(uvm_any): FILE: tests/integration_tests/functional/test_shut_down.py function test_reboot (line 12) | def test_reboot(uvm_plain_any): FILE: tests/integration_tests/functional/test_signals.py function test_generic_signal_handler (line 28) | def test_generic_signal_handler(uvm_plain, signum): function test_sigxfsz_handler (line 66) | def test_sigxfsz_handler(uvm_plain_rw): function test_handled_signals (line 103) | def test_handled_signals(uvm_plain): FILE: tests/integration_tests/functional/test_snapshot_basic.py function check_vmgenid_update_count (line 39) | def check_vmgenid_update_count(vm, resume_count): function _get_guest_drive_size (line 48) | def _get_guest_drive_size(ssh_connection, guest_dev_name="/dev/vdb"): function test_resume (line 59) | def test_resume(uvm_nano, microvm_factory, resume_at_restore): function test_snapshot_current_version (line 80) | def test_snapshot_current_version(uvm_nano): function test_cycled_snapshot_restore (line 114) | def test_cycled_snapshot_restore( function test_patch_drive_snapshot (line 181) | def test_patch_drive_snapshot(uvm_nano, microvm_factory): function test_load_snapshot_failure_handling (line 219) | def test_load_snapshot_failure_handling(uvm_plain): function test_cmp_full_and_first_diff_mem (line 247) | def test_cmp_full_and_first_diff_mem(uvm_plain_any): function test_negative_postload_api (line 280) | def test_negative_postload_api(uvm_plain, microvm_factory): function test_negative_snapshot_permissions (line 305) | def test_negative_snapshot_permissions(uvm_plain_rw, microvm_factory): function test_negative_snapshot_create (line 376) | def test_negative_snapshot_create(uvm_nano): function test_create_large_diff_snapshot (line 389) | def test_create_large_diff_snapshot(uvm_plain): function test_diff_snapshot_overlay (line 414) | def test_diff_snapshot_overlay(uvm_plain_any, microvm_factory, mem_size): function test_snapshot_overwrite_self (line 451) | def test_snapshot_overwrite_self(uvm_plain_any, microvm_factory): function test_vmgenid (line 483) | def test_vmgenid(uvm_plain_6_1, microvm_factory, snapshot_type): function test_physical_counter_reset_aarch64 (line 513) | def test_physical_counter_reset_aarch64(uvm_nano): function test_snapshot_rename_interface (line 563) | def test_snapshot_rename_interface(uvm_nano, microvm_factory): function test_snapshot_rename_vsock (line 589) | def test_snapshot_rename_vsock( FILE: tests/integration_tests/functional/test_snapshot_editor.py function test_remove_regs (line 20) | def test_remove_regs(uvm_nano, microvm_factory): FILE: tests/integration_tests/functional/test_snapshot_not_losing_dirty_pages.py function mount_tmpfs_small (line 13) | def mount_tmpfs_small(worker_id): function test_diff_snapshot_works_after_error (line 27) | def test_diff_snapshot_works_after_error( FILE: tests/integration_tests/functional/test_snapshot_phase1.py function test_snapshot_phase1 (line 30) | def test_snapshot_phase1( FILE: tests/integration_tests/functional/test_snapshot_restore_cross_kernel.py function _test_balloon (line 30) | def _test_balloon(microvm): function _test_mmds (line 47) | def _test_mmds(vm, mmds_net_iface): function get_snapshot_dirs (line 70) | def get_snapshot_dirs(): function test_snap_restore_from_artifacts (line 86) | def test_snap_restore_from_artifacts( FILE: tests/integration_tests/functional/test_topology.py function _check_cpu_topology (line 19) | def _check_cpu_topology( function _check_cache_topology_x86 (line 78) | def _check_cache_topology_x86( function _aarch64_parse_cache_info (line 126) | def _aarch64_parse_cache_info(test_microvm, no_cpus): function _check_cache_topology_arm (line 172) | def _check_cache_topology_arm(test_microvm, no_cpus, kernel_version_tpl): function test_cpu_topology (line 197) | def test_cpu_topology(uvm_plain_any, num_vcpus, htt): function test_cache_topology (line 222) | def test_cache_topology(uvm_plain_any, num_vcpus, htt): FILE: tests/integration_tests/functional/test_uffd.py function snapshot_fxt (line 15) | def snapshot_fxt(microvm_factory, guest_kernel_linux_5_10, rootfs): function test_bad_socket_path (line 37) | def test_bad_socket_path(uvm_plain, snapshot): function test_unbinded_socket (line 59) | def test_unbinded_socket(uvm_plain, snapshot): function test_valid_handler (line 85) | def test_valid_handler(uvm_plain, snapshot): function test_malicious_handler (line 107) | def test_malicious_handler(uvm_plain, snapshot): FILE: tests/integration_tests/functional/test_vmclock.py function vm_with_vmclock (line 9) | def vm_with_vmclock(uvm_plain_acpi, bin_vmclock_path): function parse_vmclock (line 22) | def parse_vmclock(vm, use_mmap=False): function parse_vmclock_from_poll (line 36) | def parse_vmclock_from_poll(vm, expected_notifications): function test_vmclock_read_fields (line 52) | def test_vmclock_read_fields(vm_with_vmclock, use_mmap): function test_snapshot_update (line 69) | def test_snapshot_update(vm_with_vmclock, microvm_factory, snapshot_type... function test_vmclock_notifications (line 91) | def test_vmclock_notifications(vm_with_vmclock, microvm_factory, snapsho... FILE: tests/integration_tests/functional/test_vsock.py function test_vsock (line 42) | def test_vsock(uvm_plain_any, bin_vsock_path, test_fc_session_root_path): function negative_test_host_connections (line 62) | def negative_test_host_connections(vm, blob_path, blob_hash): function test_vsock_epipe (line 107) | def test_vsock_epipe(uvm_plain_any, bin_vsock_path, test_fc_session_root... function test_vsock_transport_reset_h2g (line 133) | def test_vsock_transport_reset_h2g( function test_vsock_transport_reset_g2h (line 220) | def test_vsock_transport_reset_g2h(uvm_plain_any, microvm_factory): function test_vsock_after_override (line 289) | def test_vsock_after_override( function test_vsock_override_fails_without_device (line 342) | def test_vsock_override_fails_without_device(uvm_plain_any, microvm_fact... FILE: tests/integration_tests/performance/test_balloon.py function trigger_page_fault_run (line 21) | def trigger_page_fault_run(vm): function get_page_fault_duration (line 30) | def get_page_fault_duration(vm): function test_hinting_reporting_cpu (line 42) | def test_hinting_reporting_cpu( function test_hinting_fault_latency (line 121) | def test_hinting_fault_latency( function test_size_reduction (line 176) | def test_size_reduction(uvm_plain_any, method, huge_pages): FILE: tests/integration_tests/performance/test_block.py function prepare_microvm_for_test (line 27) | def prepare_microvm_for_test(microvm): function run_fio (line 46) | def run_fio( function emit_fio_metrics (line 83) | def emit_fio_metrics(logs_dir, metrics): function test_block_performance (line 107) | def test_block_performance( function test_block_vhost_user_performance (line 157) | def test_block_vhost_user_performance( FILE: tests/integration_tests/performance/test_boottime.py function get_boottime_device_info (line 19) | def get_boottime_device_info(vm): function find_events (line 47) | def find_events(log_data): function get_systemd_analyze_times (line 66) | def get_systemd_analyze_times(microvm): function launch_vm_with_boot_timer (line 97) | def launch_vm_with_boot_timer( function test_boot_timer (line 138) | def test_boot_timer(microvm_factory, guest_kernel_acpi, rootfs, pci_enab... function test_boottime (line 151) | def test_boottime( FILE: tests/integration_tests/performance/test_drive_rate_limiter.py function check_iops_limit (line 13) | def check_iops_limit(ssh_connection, block_size, count, min_time, max_ti... function test_patch_drive_limiter (line 33) | def test_patch_drive_limiter(uvm_plain): FILE: tests/integration_tests/performance/test_hotplug_memory.py function uvm_booted_memhp (line 23) | def uvm_booted_memhp( function uvm_resumed_memhp (line 67) | def uvm_resumed_memhp( function uvm_any_memhp (line 139) | def uvm_any_memhp(request, uvm_plain_6_1, rootfs, microvm_factory): function validate_metrics (line 154) | def validate_metrics(uvm): function check_device_detected (line 167) | def check_device_detected(uvm): function check_memory_usable (line 196) | def check_memory_usable(uvm): function check_hotplug (line 207) | def check_hotplug(uvm, requested_size_mib): function check_hotunplug (line 236) | def check_hotunplug(uvm, requested_size_mib): function test_virtio_mem_hotplug_hotunplug (line 252) | def test_virtio_mem_hotplug_hotunplug(uvm_any_memhp): function test_virtio_mem_configs (line 281) | def test_virtio_mem_configs(uvm_plain_6_1, memhp_config): function test_snapshot_restore_persistence (line 312) | def test_snapshot_restore_persistence(uvm_plain_6_1, microvm_factory, sn... function test_snapshot_restore_incremental (line 352) | def test_snapshot_restore_incremental(uvm_plain_6_1, microvm_factory, sn... function timed_memory_hotplug (line 431) | def timed_memory_hotplug(uvm, size, metrics, metric_prefix, fc_metric_na... function test_memory_hotplug_latency (line 473) | def test_memory_hotplug_latency( FILE: tests/integration_tests/performance/test_huge_pages.py function check_hugetlbfs_in_use (line 15) | def check_hugetlbfs_in_use(pid: int, allocation_name: str): function test_hugetlbfs_boot (line 57) | def test_hugetlbfs_boot(uvm_plain): function test_hugetlbfs_snapshot (line 71) | def test_hugetlbfs_snapshot(microvm_factory, uvm_plain, snapshot_type): function test_ept_violation_count (line 106) | def test_ept_violation_count( FILE: tests/integration_tests/performance/test_initrd.py function uvm_with_initrd (line 12) | def uvm_with_initrd( function test_microvm_initrd_with_serial (line 26) | def test_microvm_initrd_with_serial(uvm_with_initrd, huge_pages): FILE: tests/integration_tests/performance/test_jailer.py function setup_bind_mounts (line 16) | def setup_bind_mounts(tmp_path, n): function clean_up_mounts (line 29) | def clean_up_mounts(tmp_path): function test_jailer_startup (line 39) | def test_jailer_startup( FILE: tests/integration_tests/performance/test_memory_overhead.py function test_memory_overhead (line 32) | def test_memory_overhead( FILE: tests/integration_tests/performance/test_mmds.py function parse_curl_timing (line 18) | def parse_curl_timing(timing_line): function mmds_microvm (line 30) | def mmds_microvm(uvm_plain_any): function test_mmds_token (line 52) | def test_mmds_token(mmds_microvm, metrics): FILE: tests/integration_tests/performance/test_network.py function consume_ping_output (line 14) | def consume_ping_output(ping_putput): function network_microvm (line 41) | def network_microvm(request, uvm_plain_acpi): function test_network_latency (line 60) | def test_network_latency(network_microvm, metrics): function test_network_tcp_throughput (line 95) | def test_network_tcp_throughput( FILE: tests/integration_tests/performance/test_pmem.py function run_fio (line 22) | def run_fio( function emit_fio_metrics (line 55) | def emit_fio_metrics(logs_dir, metrics): function test_pmem_performance (line 79) | def test_pmem_performance( function run_fio_single_read (line 125) | def run_fio_single_read(microvm, run_index, test_output_dir, block_size:... function emit_fio_single_read_metrics (line 151) | def emit_fio_single_read_metrics(logs_dir, metrics): function test_pmem_first_read (line 160) | def test_pmem_first_read( FILE: tests/integration_tests/performance/test_process_startup_time.py function test_startup_time_new_pid_ns (line 16) | def test_startup_time_new_pid_ns( function test_startup_time_daemonize (line 29) | def test_startup_time_daemonize( function test_startup_time_custom_seccomp (line 41) | def test_startup_time_custom_seccomp( function _test_startup_time (line 53) | def _test_startup_time(microvm, metrics, test_suffix: str): function _custom_filter_setup (line 88) | def _custom_filter_setup(test_microvm): FILE: tests/integration_tests/performance/test_rate_limiter.py function test_tx_rate_limiting (line 48) | def test_tx_rate_limiting(uvm_plain): function test_rx_rate_limiting (line 70) | def test_rx_rate_limiting(uvm_plain): function test_rx_rate_limiting_cpu_load (line 93) | def test_rx_rate_limiting_cpu_load(uvm_plain): function _check_tx_rate_limiting (line 136) | def _check_tx_rate_limiting(test_microvm): function _check_rx_rate_limiting (line 182) | def _check_rx_rate_limiting(test_microvm): function _check_tx_rate_limit_patch (line 231) | def _check_tx_rate_limit_patch(test_microvm): function _check_rx_rate_limit_patch (line 257) | def _check_rx_rate_limit_patch(test_microvm): function _get_tx_bandwidth (line 283) | def _get_tx_bandwidth(test_microvm, host_ip): function _get_rx_bandwidth (line 299) | def _get_rx_bandwidth(test_microvm, guest_ip): function _patch_iface_bw (line 317) | def _patch_iface_bw(test_microvm, iface_id, rx_or_tx, new_bucket_size, n... function _start_iperf_server_on_guest (line 333) | def _start_iperf_server_on_guest(test_microvm): function _run_iperf_on_guest (line 345) | def _run_iperf_on_guest(test_microvm, iperf_cmd): function _start_iperf_server_on_host (line 350) | def _start_iperf_server_on_host(netns_cmd_prefix): function _run_iperf_on_host (line 362) | def _run_iperf_on_host(iperf_cmd, test_microvm): function _relative_change (line 375) | def _relative_change(measured, base): function _process_iperf_line (line 381) | def _process_iperf_line(line): function _process_iperf_output (line 388) | def _process_iperf_output(iperf_out): FILE: tests/integration_tests/performance/test_snapshot.py function get_scratch_drives (line 22) | def get_scratch_drives(): class SnapshotRestoreTest (line 32) | class SnapshotRestoreTest: method id (line 43) | def id(self): method boot_vm (line 47) | def boot_vm(self, microvm_factory, guest_kernel, rootfs, pci_enabled) ... function test_restore_latency (line 99) | def test_restore_latency( function test_post_restore_latency (line 149) | def test_post_restore_latency( function test_population_latency (line 209) | def test_population_latency( function test_snapshot_create_latency (line 266) | def test_snapshot_create_latency( FILE: tests/integration_tests/performance/test_steal_time.py function get_steal_time_ms (line 9) | def get_steal_time_ms(vm): function test_pvtime_steal_time_increases (line 17) | def test_pvtime_steal_time_increases(uvm_plain): function test_pvtime_snapshot (line 47) | def test_pvtime_snapshot(uvm_plain, microvm_factory): FILE: tests/integration_tests/performance/test_vhost_user_metrics.py function test_vhost_user_block_metrics (line 13) | def test_vhost_user_block_metrics(uvm_plain_acpi, vcpu_count, metrics): FILE: tests/integration_tests/performance/test_vsock.py class VsockIPerf3Test (line 15) | class VsockIPerf3Test(IPerf3Test): method __init__ (line 32) | def __init__(self, microvm, mode, payload_length): method host_command (line 50) | def host_command(self, port_offset): method spawn_iperf3_client (line 58) | def spawn_iperf3_client(self, client_idx, client_mode_flag): method guest_command (line 68) | def guest_command(self, port_offset): function test_vsock_throughput (line 77) | def test_vsock_throughput( FILE: tests/integration_tests/security/conftest.py function seccompiler (line 15) | def seccompiler(tmp_path): FILE: tests/integration_tests/security/test_custom_seccomp.py function install_filter (line 12) | def install_filter(microvm, bpf_path): function test_allow_all (line 18) | def test_allow_all(uvm_plain, seccompiler): function test_working_filter (line 34) | def test_working_filter(uvm_plain, seccompiler): function test_failing_filter (line 57) | def test_failing_filter(uvm_plain, seccompiler): function test_invalid_bpf (line 106) | def test_invalid_bpf(uvm_plain): FILE: tests/integration_tests/security/test_jail.py function check_stats (line 46) | def check_stats(filepath, stats, uid, gid): function test_empty_jailer_id (line 55) | def test_empty_jailer_id(uvm_plain): function test_exec_file_not_exist (line 77) | def test_exec_file_not_exist(uvm_plain, tmp_path): function test_exec_destination_path_is_symlink (line 110) | def test_exec_destination_path_is_symlink(uvm_plain): function test_exec_destination_path_is_hardlink (line 129) | def test_exec_destination_path_is_hardlink(uvm_plain): function test_default_chroot_hierarchy (line 148) | def test_default_chroot_hierarchy(uvm_plain): function test_arbitrary_usocket_location (line 202) | def test_arbitrary_usocket_location(uvm_plain): class Cgroups (line 219) | class Cgroups: method __init__ (line 222) | def __init__(self): method new_cgroup (line 229) | def new_cgroup(self, cgname): method move_pid (line 233) | def move_pid(self, cgname, pid): method enable_controller_in_subtree (line 238) | def enable_controller_in_subtree(self, cgname, controller): function cgroups_info (line 254) | def cgroups_info(): function check_cgroups_v1 (line 259) | def check_cgroups_v1(cgroups, jailer_id, parent_cgroup=FC_BINARY_NAME): function check_cgroups_v2 (line 278) | def check_cgroups_v2(vm): function get_cpus (line 313) | def get_cpus(node): function check_limits (line 322) | def check_limits(pid, no_file, fsize): function test_cgroups (line 335) | def test_cgroups(uvm_plain, cgroups_info): function test_cgroups_custom_parent (line 363) | def test_cgroups_custom_parent(uvm_plain, cgroups_info): function test_node_cgroups (line 395) | def test_node_cgroups(uvm_plain, cgroups_info): function test_cgroups_without_numa (line 416) | def test_cgroups_without_numa(uvm_plain, cgroups_info): function test_v1_default_cgroups (line 435) | def test_v1_default_cgroups(uvm_plain, cgroups_info): function test_cgroups_parent_cgroup_but_no_cgroup (line 451) | def test_cgroups_parent_cgroup_but_no_cgroup( function test_args_default_resource_limits (line 513) | def test_args_default_resource_limits(uvm_plain): function test_args_resource_limits (line 536) | def test_args_resource_limits(uvm_plain): function test_positive_file_size_limit (line 551) | def test_positive_file_size_limit(uvm_plain): function test_negative_file_size_limit (line 568) | def test_negative_file_size_limit(uvm_plain): function test_negative_no_file_limit (line 603) | def test_negative_no_file_limit(uvm_plain): function test_new_pid_ns_resource_limits (line 621) | def test_new_pid_ns_resource_limits(uvm_plain): function test_new_pid_namespace (line 636) | def test_new_pid_namespace(uvm_plain): function test_firecracker_kill_by_pid (line 675) | def test_firecracker_kill_by_pid(uvm_plain, daemonize, new_pid_ns): function test_cgroupsv2_written_only_once (line 695) | def test_cgroupsv2_written_only_once(uvm_plain, cgroups_info): FILE: tests/integration_tests/security/test_nv.py function test_no_nested_virtualization (line 20) | def test_no_nested_virtualization(uvm_any_booted): FILE: tests/integration_tests/security/test_sec_audit.py function test_cargo_audit (line 20) | def test_cargo_audit(): FILE: tests/integration_tests/security/test_seccomp.py function _get_basic_syscall_list (line 15) | def _get_basic_syscall_list(): function test_seccomp_ls (line 45) | def test_seccomp_ls(bin_seccomp_paths, seccompiler): function test_advanced_seccomp (line 77) | def test_advanced_seccomp(bin_seccomp_paths, seccompiler): function test_no_seccomp (line 165) | def test_no_seccomp(uvm_plain): function test_default_seccomp_level (line 177) | def test_default_seccomp_level(uvm_plain): function test_seccomp_rust_panic (line 188) | def test_seccomp_rust_panic(bin_seccomp_paths, seccompiler): FILE: tests/integration_tests/security/test_seccomp_validate.py function bin_test_syscall (line 20) | def bin_test_syscall(tmp_path): function test_validate_filter (line 29) | def test_validate_filter(seccompiler, bin_test_syscall, monkeypatch, tmp... FILE: tests/integration_tests/security/test_vulnerabilities.py class SpectreMeltdownChecker (line 28) | class SpectreMeltdownChecker: method __init__ (line 31) | def __init__(self, path): method _parse_output (line 34) | def _parse_output(self, output): method get_report_for_guest (line 41) | def get_report_for_guest(self, vm) -> set: method get_report_for_host (line 62) | def get_report_for_host(self) -> set: method expected_vulnerabilities (line 70) | def expected_vulnerabilities(self, cpu_template_name): function download_spectre_meltdown_checker (line 99) | def download_spectre_meltdown_checker(tmp_path_factory): function test_spectre_meltdown_checker_on_host (line 113) | def test_spectre_meltdown_checker_on_host(spectre_meltdown_checker): function test_vulnerabilities_on_host (line 124) | def test_vulnerabilities_on_host(): function get_vuln_files_exception_dict (line 131) | def get_vuln_files_exception_dict(template): function check_vulnerabilities_files_on_guest (line 164) | def check_vulnerabilities_files_on_guest(microvm): function microvm_factory_a (line 195) | def microvm_factory_a(record_property): function uvm_any_a (line 206) | def uvm_any_a(microvm_factory_a, uvm_ctor, guest_kernel, rootfs, cpu_tem... function test_check_vulnerability_files_ab (line 215) | def test_check_vulnerability_files_ab(request, uvm_any_without_pci): function test_spectre_meltdown_checker_on_guest (line 227) | def test_spectre_meltdown_checker_on_guest( FILE: tests/integration_tests/style/test_gitlint.py function test_gitlint (line 11) | def test_gitlint(): FILE: tests/integration_tests/style/test_licenses.py function _has_amazon_copyright (line 38) | def _has_amazon_copyright(string): function _look_for_license (line 45) | def _look_for_license(file, license_msg): function _validate_license (line 54) | def _validate_license(filename): function test_for_valid_licenses (line 112) | def test_for_valid_licenses(): function test_dependency_licenses (line 129) | def test_dependency_licenses(): FILE: tests/integration_tests/style/test_markdown.py function test_markdown_style (line 10) | def test_markdown_style(): function test_markdown_internal_links (line 36) | def test_markdown_internal_links(): FILE: tests/integration_tests/style/test_python.py function test_python_style (line 12) | def test_python_style(formatter): function test_python_pylint (line 26) | def test_python_pylint(): FILE: tests/integration_tests/style/test_repo.py function test_repo_no_spaces_in_paths (line 15) | def test_repo_no_spaces_in_paths(): function test_repo_validate_yaml (line 30) | def test_repo_validate_yaml(): function test_repo_validate_changelog (line 39) | def test_repo_validate_changelog(): FILE: tests/integration_tests/style/test_rust.py function test_rust_order (line 10) | def test_rust_order(): function test_rust_style (line 19) | def test_rust_style(): function test_unused_metrics (line 28) | def test_unused_metrics(): FILE: tests/integration_tests/style/test_swagger.py function validate_swagger (line 11) | def validate_swagger(swagger_spec): function test_firecracker_swagger (line 17) | def test_firecracker_swagger(): FILE: tests/integration_tests/test_kani.py function test_kani (line 26) | def test_kani(results_dir): FILE: tools/ab_plot.py function check_regression (line 28) | def check_regression( function load_data (line 49) | def load_data(data_path: Path): function p50 (line 96) | def p50(a): function p90 (line 101) | def p90(a): function create_table (line 106) | def create_table(df: pd.DataFrame): function create_pdf (line 184) | def create_pdf(args, df: pd.DataFrame): FILE: tools/ab_test.py function reduce_value (line 85) | def reduce_value(value, unit): function format_with_reduced_unit (line 104) | def format_with_reduced_unit(value, unit): function is_ignored (line 158) | def is_ignored(dimensions) -> bool: function load_data_series (line 169) | def load_data_series(data_path: Path): function uninteresting_dimensions (line 192) | def uninteresting_dimensions(data): function collect_data (line 212) | def collect_data( function check_regression (line 247) | def check_regression( function analyze_data (line 273) | def analyze_data( function binary_ab_test (line 399) | def binary_ab_test( function ab_performance_test (line 418) | def ab_performance_test( FILE: tools/gh_release.py function build_tarball (line 20) | def build_tarball(release_dir, release_tgz, arch): function github_release (line 44) | def github_release(tag_version, repo, github_token): function version (line 96) | def version(version_str: str): FILE: tools/sandbox.py function parse_byte_size (line 25) | def parse_byte_size(param): FILE: tools/test_bindings.py function parse_pahole (line 58) | def parse_pahole(pahole_output): function pahole (line 88) | def pahole(binary: str) -> str: function check_pahole_mismatches (line 102) | def check_pahole_mismatches(old: str, new: str) -> bool: