mirror of
https://github.com/asterinas/asterinas.git
synced 2025-06-18 03:56:42 +00:00
Make VirtioConsolesPrinter heapless
This commit is contained in:
committed by
Tate, Hongliang Tian
parent
d37e60d082
commit
96d83e43b4
@ -13,7 +13,7 @@ use core::any::Any;
|
||||
use component::{init_component, ComponentInitError};
|
||||
use ostd::{
|
||||
mm::{Infallible, VmReader},
|
||||
sync::SpinLock,
|
||||
sync::{LocalIrqDisabled, SpinLock, SpinLockGuard},
|
||||
};
|
||||
use spin::Once;
|
||||
|
||||
@ -52,6 +52,16 @@ pub fn all_devices() -> Vec<(String, Arc<dyn AnyConsoleDevice>)> {
|
||||
.collect()
|
||||
}
|
||||
|
||||
pub fn all_devices_lock<'a>(
|
||||
) -> SpinLockGuard<'a, BTreeMap<String, Arc<dyn AnyConsoleDevice>>, LocalIrqDisabled> {
|
||||
COMPONENT
|
||||
.get()
|
||||
.unwrap()
|
||||
.console_device_table
|
||||
.disable_irq()
|
||||
.lock()
|
||||
}
|
||||
|
||||
static COMPONENT: Once<Component> = Once::new();
|
||||
|
||||
#[init_component]
|
||||
|
Reference in New Issue
Block a user