mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
vmm: Add ACPI Generic Initiator support
Support ACPI Generic Initiator Affinity to associate PCI devices with NUMA proximity domains Add GenericInitiatorAffinity struct Add from_pci_bdf() to encode PCI Segment:Bus:Device.Function Add from_acpi_device() for ACPI device handles (future use) Generate SRAT Type 5 entries for nodes with device_id Improve create_slit_table() to check distance symmetry when forward distance is missing Track device ID to BDF mappings in DeviceManager Includes comprehensive unit tests Signed-off-by: Saravanan D <saravanand@crusoe.ai>
This commit is contained in:
committed by
Rob Bradford
parent
fa43548975
commit
dc0c306dd9
@@ -58,7 +58,7 @@ use linux_loader::loader::bzimage::BzImage;
|
||||
use linux_loader::loader::elf::PvhBootCapability::PvhEntryPresent;
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "riscv64"))]
|
||||
use linux_loader::loader::pe::Error::InvalidImageMagicNumber;
|
||||
use log::{error, info};
|
||||
use log::{error, info, warn};
|
||||
use seccompiler::SeccompAction;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use thiserror::Error;
|
||||
@@ -1032,6 +1032,12 @@ impl Vm {
|
||||
let dest = distance.destination;
|
||||
let dist = distance.distance;
|
||||
|
||||
if dest == config.guest_numa_id && dist != 10 {
|
||||
warn!(
|
||||
"Ignoring self-distance {dest}@{dist} (must be 10 per ACPI spec)"
|
||||
);
|
||||
}
|
||||
|
||||
if !configs.iter().any(|cfg| cfg.guest_numa_id == dest) {
|
||||
error!("Unknown destination NUMA node {dest}");
|
||||
return Err(Error::InvalidNumaConfig);
|
||||
|
||||
Reference in New Issue
Block a user