| 497 | |
| 498 | #[cfg(target_arch = "x86_64")] |
| 499 | fn pio_write(&self, port: u64, data: &[u8]) -> result::Result<(), HypervisorVmError> { |
| 500 | match self.io_bus.write(port, data) { |
| 501 | Err(vm_device::BusError::MissingAddressRange) => { |
| 502 | info!("Guest PIO write to unregistered address 0x{port:x}"); |
| 503 | } |
| 504 | Ok(Some(barrier)) => { |
| 505 | info!("Waiting for barrier"); |
| 506 | barrier.wait(); |
| 507 | info!("Barrier released"); |
| 508 | } |
| 509 | _ => {} |
| 510 | } |
| 511 | Ok(()) |
| 512 | } |
| 513 | } |
| 514 | |
| 515 | pub fn physical_bits(hypervisor: &dyn hypervisor::Hypervisor, max_phys_bits: u8) -> u8 { |