#[repr(C)]pub struct KernelHeader {Show 21 fields
pub kernel_magic: u32,
pub header_version: u16,
pub arch: u8,
pub kernel_type: u8,
pub kernel_flags: u32,
pub min_memory_mb: u32,
pub entry_point: u64,
pub image_size: u64,
pub compressed_size: u64,
pub compression: u8,
pub api_transport: u8,
pub api_port: u16,
pub api_version: u32,
pub image_hash: [u8; 32],
pub build_id: [u8; 16],
pub build_timestamp: u64,
pub vcpu_count: u32,
pub reserved_0: u32,
pub cmdline_offset: u64,
pub cmdline_length: u32,
pub reserved_1: u32,
}Expand description
128-byte header for KERNEL_SEG payloads.
Follows the standard 64-byte SegmentHeader. All multi-byte fields are
little-endian on the wire except api_port which is network byte order
(big-endian) per ADR-030.
Fields§
§kernel_magic: u32Magic: KERNEL_MAGIC (0x52564B4E, “RVKN”).
header_version: u16KernelHeader format version (currently 1).
arch: u8Target architecture (see KernelArch).
kernel_type: u8Kernel type (see KernelType).
kernel_flags: u32Bitfield flags (see KERNEL_FLAG_* constants).
min_memory_mb: u32Minimum RAM required (MiB).
entry_point: u64Virtual address of kernel entry point.
image_size: u64Uncompressed kernel image size (bytes).
compressed_size: u64Compressed kernel image size (bytes).
compression: u8Compression algorithm (same enum as SegmentHeader.compression).
api_transport: u8API transport (see ApiTransport).
api_port: u16Default API port (network byte order).
api_version: u32Supported RVF query API version.
image_hash: [u8; 32]SHAKE-256-256 of uncompressed kernel image.
build_id: [u8; 16]Unique build identifier (UUID v7).
build_timestamp: u64Build time (nanosecond UNIX timestamp).
vcpu_count: u32Recommended vCPU count (0 = single).
reserved_0: u32Reserved (must be zero).
cmdline_offset: u64Offset to kernel command line within payload.
cmdline_length: u32Length of kernel command line (bytes).
reserved_1: u32Reserved (must be zero).
Implementations§
Trait Implementations§
Source§impl Clone for KernelHeader
impl Clone for KernelHeader
Source§fn clone(&self) -> KernelHeader
fn clone(&self) -> KernelHeader
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more