mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-18 08:06:32 +00:00
fix: 键盘中断上下文不再直接操作tty,而是由专门的kthread来渲染 (#592)
fix: 键盘中断上下文不再直接操作tty,而是由专门的kthread来渲染 1.修正psmouse 日志 2. 键盘中断上下文不再直接操作tty,而是由专门的kthread来渲染 3. 由于调度器设计问题,load balance会由于时序问题导致错误.因此暂时只启用单核.
This commit is contained in:
@ -1,11 +1,4 @@
|
||||
use core::sync::atomic::Ordering;
|
||||
|
||||
use alloc::sync::Arc;
|
||||
|
||||
use crate::driver::tty::{
|
||||
tty_port::{TtyPort, TTY_PORTS},
|
||||
virtual_terminal::virtual_console::CURRENT_VCNUM,
|
||||
};
|
||||
use crate::driver::tty::kthread::send_to_tty_refresh_thread;
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub const NUM_SCAN_CODES: u8 = 0x80;
|
||||
@ -360,12 +353,7 @@ impl TypeOneFSMState {
|
||||
#[inline(always)]
|
||||
fn emit(ch: u8) {
|
||||
// 发送到tty
|
||||
let _ = Self::current_port().receive_buf(&[ch], &[], 1);
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn current_port() -> Arc<dyn TtyPort> {
|
||||
TTY_PORTS[CURRENT_VCNUM.load(Ordering::SeqCst) as usize].clone()
|
||||
send_to_tty_refresh_thread(&[ch]);
|
||||
}
|
||||
|
||||
/// @brief 处理Prtsc按下事件
|
||||
|
Reference in New Issue
Block a user