-
Notifications
You must be signed in to change notification settings - Fork 47
Open
Labels
aarch64bugSomething isn't workingSomething isn't workingciGithub CIGithub CIquestionFurther information is requestedFurther information is requested
Description
Description:
When starting zone1 in release mode, hvisor panics in mmio_pci_bar_handler. The same zone works fine in debug mode. The panic occurs at the line where panic! is explicitly called, reporting the PCI BAR MMIO address.
How to reproduce
- build hvisor in release mode and start qemu:
make BID=aarch64/qemu-gicv3 MODE=release LOG=info run - then start zone1 as usual
Observed behavior:
[ERROR 3] (hvisor::panic:24) panic occurred: PanicInfo {
payload: Any { .. },
message: Some(
mmio pci bar: 0x8100004014,
),
location: Location {
file: "src/pci/pci.rs",
line: 447,
col: 5,
},
can_unwind: true,
force_no_backtrace: false,
}
Additional information:
- Panic occurs in the following function:
pub fn mmio_pci_bar_handler(mmio: &mut MMIOAccess, base: usize) -> HvResult {
panic!("mmio pci bar: {:#x}", mmio.address + base);
mmio_perform_access(base, mmio);
Ok(())
}- It seems related to PCI BAR MMIO access, and this function call panic explicitly.
Environment:
- Hvisor commit: 2c14ab4
- Architecture: aarch64
- platform: qemu-gicv3
Suggested investigation:
- Why
mmio_pci_bar_handleris triggered in release mode but not debug mode. - Potential differences in memory layout, optimization, or uninitialized variables.
enkerewpo
Metadata
Metadata
Assignees
Labels
aarch64bugSomething isn't workingSomething isn't workingciGithub CIGithub CIquestionFurther information is requestedFurther information is requested