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 amdgpu;
7pub mod ec;
8pub mod nic;
9pub mod pci_client;
10pub mod storage;
11pub mod thermal;
12pub mod timer;
13pub mod usb;
14pub mod video;
15pub mod virtio;
16
17/// Performs the init operation.
18pub fn init() {
19    ec::init();
20    crate::arch::speaker::beep_phase(7); // EC
21    thermal::init();
22    crate::arch::speaker::beep_phase(8); // Thermal
23    nic::init();
24    crate::arch::speaker::beep_phase(9); // NIC
25    storage::init();
26    crate::arch::speaker::beep_phase(10); // Storage
27    timer::init();
28    crate::arch::speaker::beep_phase(11); // Timer
29    usb::init();
30    crate::arch::speaker::beep_phase(12); // USB
31    virtio::gpu::init();
32    crate::arch::x86_64::speaker::beep_phase(13); // VirtIO GPU
33    amdgpu::init();
34    crate::arch::x86_64::speaker::beep_phase(14); // AMDGPU
35    video::framebuffer::init();
36    crate::arch::x86_64::speaker::beep_phase(15); // Framebuffer
37}