将tty输出接入串口 (#555)

This commit is contained in:
GnoCiYeH
2024-03-04 14:10:26 +08:00
committed by GitHub
parent cf45dede2e
commit f3b05a97ec
3 changed files with 15 additions and 12 deletions

View File

@ -1,10 +1,7 @@
use crate::{
driver::{
serial::serial8250::send_to_default_serial8250_port,
tty::{
tty_driver::TtyOperation, tty_port::TTY_PORTS,
virtual_terminal::virtual_console::CURRENT_VCNUM,
},
tty::{tty_port::TTY_PORTS, virtual_terminal::virtual_console::CURRENT_VCNUM},
video::video_refresh_manager,
},
kdebug, kinfo,
@ -1006,8 +1003,9 @@ pub extern "C" fn rs_textui_putchar(character: u8, fr_color: u32, bk_color: u32)
let tty = port.port_data().tty();
if tty.is_some() {
let tty = tty.unwrap();
send_to_default_serial8250_port(&[character]);
return tty
.write(tty.core(), buf.as_bytes(), buf.len())
.write_without_serial(buf.as_bytes(), buf.len())
.map(|_| 0)
.unwrap_or_else(|e| e.to_posix_errno());
}

View File

@ -8,12 +8,9 @@ use alloc::string::ToString;
use super::lib_ui::textui::{textui_putstr, FontColor};
use crate::{
driver::{
serial::serial8250::send_to_default_serial8250_port,
tty::{
tty_driver::TtyOperation, tty_port::TTY_PORTS,
virtual_terminal::virtual_console::CURRENT_VCNUM,
},
driver::tty::{
tty_driver::TtyOperation, tty_port::TTY_PORTS,
virtual_terminal::virtual_console::CURRENT_VCNUM,
},
filesystem::procfs::{
kmsg::KMSG,
@ -109,7 +106,6 @@ impl PrintkWriter {
if tty.is_some() {
let tty = tty.unwrap();
let _ = tty.write(tty.core(), s.as_bytes(), s.len());
send_to_default_serial8250_port(s.as_bytes());
} else {
let _ = textui_putstr(s, FontColor::WHITE, FontColor::BLACK);
}