Skip to main content

strat9_kernel/hardware/
mod.rs

1//! Hardware integration layer.
2//!
3//! See also: [Driver Model Guide](https://strat9-os.org/strat9-os-docs/driver-model.html)
4//! for component trait, PCI enumeration, and driver categories.
5
6pub mod ec;
7pub mod nic;
8pub mod pci_client;
9pub mod storage;
10pub mod thermal;
11pub mod timer;
12pub mod usb;
13pub mod video;
14pub mod virtio;
15
16/// Performs the init operation.
17pub fn init() {
18    ec::init();
19    crate::arch::x86_64::speaker::beep_phase(7); // EC
20    thermal::init();
21    crate::arch::x86_64::speaker::beep_phase(8); // Thermal
22    nic::init();
23    crate::arch::x86_64::speaker::beep_phase(9); // NIC
24    storage::init();
25    crate::arch::x86_64::speaker::beep_phase(10); // Storage
26    timer::init();
27    crate::arch::x86_64::speaker::beep_phase(11); // Timer
28    usb::init();
29    crate::arch::x86_64::speaker::beep_phase(12); // USB
30    virtio::gpu::init();
31    crate::arch::x86_64::speaker::beep_phase(13); // VirtIO GPU
32    video::framebuffer::init();
33    crate::arch::x86_64::speaker::beep_phase(14); // Framebuffer
34}