1 // Copyright 2017 The Chromium OS Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 //! Emulates virtual and hardware devices. 6 7 mod bus; 8 mod cmos; 9 mod i8042; 10 mod ioapic; 11 mod pci; 12 mod pic; 13 mod pit; 14 pub mod pl030; 15 mod proxy; 16 #[macro_use] 17 mod register_space; 18 mod serial; 19 pub mod split_irqchip_common; 20 pub mod usb; 21 mod utils; 22 pub mod virtio; 23 24 pub use self::bus::Error as BusError; 25 pub use self::bus::{Bus, BusDevice, BusRange}; 26 pub use self::cmos::Cmos; 27 pub use self::i8042::I8042Device; 28 pub use self::ioapic::Ioapic; 29 pub use self::pci::{ 30 Ac97Dev, PciConfigIo, PciConfigMmio, PciDevice, PciDeviceError, PciInterruptPin, PciRoot, 31 }; 32 pub use self::pic::Pic; 33 pub use self::pit::{Pit, PitError}; 34 pub use self::pl030::Pl030; 35 pub use self::proxy::Error as ProxyError; 36 pub use self::proxy::ProxyDevice; 37 pub use self::serial::Error as SerialError; 38 pub use self::serial::{ 39 get_serial_tty_string, Serial, SerialParameters, SerialType, DEFAULT_SERIAL_PARAMS, SERIAL_ADDR, 40 }; 41 pub use self::usb::host_backend::host_backend_device_provider::HostBackendDeviceProvider; 42 pub use self::usb::xhci::xhci_controller::XhciController; 43 pub use self::virtio::VirtioPciDevice; 44