Expand description
§Device Manager Module
This module provides functionality for managing hardware devices in the kernel.
§Overview
The device manager is responsible for:
- Registering and managing serial devices
- Tracking available device drivers
- Device discovery and initialization
- Managing device information
§Key Components
BasicDeviceManager
: Manages fundamental I/O devices like serial portsDeviceManager
: The main device management system that handles all devices and drivers
§Device Discovery
Devices are discovered through the Flattened Device Tree (FDT). The manager:
- Parses the device tree
- Matches compatible devices with registered drivers
- Probes devices with appropriate drivers
§Usage
The device manager is implemented as a global singleton that can be accessed via:
DeviceManager::get_manager()
- Immutable accessDeviceManager::get_mut_manager()
- Mutable access
§Example: Registering a serial device
use crate::device::manager::register_serial;
// Create a new serial device
let my_serial = Box::new(MySerialImplementation::new());
// Register with the device manager
register_serial(my_serial);
Structs§
- Basic
Device Manager - BasicDeviceManager
- Borrowed
Device Guard - Device
Handle - Device
Manager - DeviceManager
Enums§
Statics§
- MANAGER 🔒
Functions§
- register_
serial - Registers a serial device with the device manager.