diff --git a/src/configurator/aarch64/fdt.rs b/src/configurator/aarch64/fdt.rs index a688ecfb..9c42f09c 100644 --- a/src/configurator/aarch64/fdt.rs +++ b/src/configurator/aarch64/fdt.rs @@ -40,6 +40,7 @@ impl From for BootConfiguratorError { } /// Boot configurator for device tree. +#[derive(Debug)] pub struct FdtBootConfigurator {} impl BootConfigurator for FdtBootConfigurator { diff --git a/src/configurator/mod.rs b/src/configurator/mod.rs index 91d1ae92..b955d44a 100644 --- a/src/configurator/mod.rs +++ b/src/configurator/mod.rs @@ -128,7 +128,7 @@ pub trait BootConfigurator { } /// Boot parameters to be written in guest memory. -#[derive(Clone)] +#[derive(Debug, Clone)] pub struct BootParams { /// "Header section", always written in guest memory irrespective of boot protocol. pub header: Vec, diff --git a/src/configurator/x86_64/linux.rs b/src/configurator/x86_64/linux.rs index 7e2e06d8..29240663 100644 --- a/src/configurator/x86_64/linux.rs +++ b/src/configurator/x86_64/linux.rs @@ -19,6 +19,7 @@ use crate::configurator::{BootConfigurator, BootParams, Error as BootConfigurato use std::fmt; /// Boot configurator for the Linux boot protocol. +#[derive(Debug)] pub struct LinuxBootConfigurator {} /// Errors specific to the Linux boot protocol configuration. diff --git a/src/configurator/x86_64/pvh.rs b/src/configurator/x86_64/pvh.rs index 60b23048..7636ec9f 100644 --- a/src/configurator/x86_64/pvh.rs +++ b/src/configurator/x86_64/pvh.rs @@ -22,6 +22,7 @@ use crate::loader_gen::start_info::{hvm_memmap_table_entry, hvm_modlist_entry, h use std::fmt; /// Boot configurator for the PVH boot protocol. +#[derive(Debug)] pub struct PvhBootConfigurator {} /// Errors specific to the PVH boot protocol configuration. diff --git a/src/lib.rs b/src/lib.rs index 2620d561..928f5a0b 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -7,7 +7,7 @@ // // SPDX-License-Identifier: Apache-2.0 AND BSD-3-Clause -#![deny(missing_docs)] +#![deny(missing_docs, missing_debug_implementations)] //! A Linux kernel image loading crate. //! @@ -101,7 +101,7 @@ pub mod cmdline; pub mod configurator; pub mod loader; -#[allow(clippy::undocumented_unsafe_blocks)] +#[allow(clippy::undocumented_unsafe_blocks, missing_debug_implementations)] #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] mod loader_gen; #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] diff --git a/src/loader/aarch64/pe/mod.rs b/src/loader/aarch64/pe/mod.rs index cfa23006..67262f69 100644 --- a/src/loader/aarch64/pe/mod.rs +++ b/src/loader/aarch64/pe/mod.rs @@ -21,6 +21,7 @@ use vm_memory::{Address, ByteValued, Bytes, GuestAddress, GuestMemory, GuestUsiz use super::super::{Error as KernelLoaderError, KernelLoader, KernelLoaderResult, Result}; /// ARM64 Image (PE) format support +#[derive(Debug)] pub struct PE; // SAFETY: The layout of the structure is fixed and can be initialized by diff --git a/src/loader/x86_64/bzimage/mod.rs b/src/loader/x86_64/bzimage/mod.rs index 3fa94ae4..cf6065a4 100644 --- a/src/loader/x86_64/bzimage/mod.rs +++ b/src/loader/x86_64/bzimage/mod.rs @@ -62,6 +62,7 @@ impl fmt::Display for Error { impl std::error::Error for Error {} /// Big zImage (bzImage) kernel image support. +#[derive(Debug)] pub struct BzImage; impl KernelLoader for BzImage { diff --git a/src/loader/x86_64/elf/mod.rs b/src/loader/x86_64/elf/mod.rs index 51c2c8df..ef797f30 100644 --- a/src/loader/x86_64/elf/mod.rs +++ b/src/loader/x86_64/elf/mod.rs @@ -133,6 +133,7 @@ impl fmt::Display for PvhBootCapability { } /// Raw ELF (a.k.a. vmlinux) kernel image support. +#[derive(Debug)] pub struct Elf; impl Elf {