From 13514f669596b6029212a164c595c4ffc53602c8 Mon Sep 17 00:00:00 2001 From: LoGin Date: Mon, 24 Mar 2025 23:17:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DnttyData=E7=9A=84buffe?= =?UTF-8?q?r=E5=AF=BC=E8=87=B4=E5=88=9D=E5=A7=8B=E5=8C=96=E6=97=B6,?= =?UTF-8?q?=E6=A0=88=E6=BA=A2=E5=87=BA=E7=9A=84=E9=97=AE=E9=A2=98=20(#1112?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: longjin --- kernel/src/driver/tty/tty_ldisc/ntty.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/kernel/src/driver/tty/tty_ldisc/ntty.rs b/kernel/src/driver/tty/tty_ldisc/ntty.rs index 535e18d3..363fe579 100644 --- a/kernel/src/driver/tty/tty_ldisc/ntty.rs +++ b/kernel/src/driver/tty/tty_ldisc/ntty.rs @@ -1,3 +1,4 @@ +use alloc::boxed::Box; use core::intrinsics::likely; use core::ops::BitXor; @@ -116,8 +117,8 @@ pub struct NTtyData { echo_tail: usize, /// 写者与读者共享 - read_buf: [u8; NTTY_BUFSIZE], - echo_buf: [u8; NTTY_BUFSIZE], + read_buf: Box<[u8; NTTY_BUFSIZE]>, + echo_buf: Box<[u8; NTTY_BUFSIZE]>, read_flags: StaticBitmap, char_map: StaticBitmap<256>, @@ -126,6 +127,7 @@ pub struct NTtyData { } impl NTtyData { + #[inline(never)] pub fn new() -> Self { Self { read_head: 0, @@ -147,8 +149,8 @@ impl NTtyData { cursor_column: 0, canon_cursor_column: 0, echo_tail: 0, - read_buf: [0; NTTY_BUFSIZE], - echo_buf: [0; NTTY_BUFSIZE], + read_buf: Box::new([0; NTTY_BUFSIZE]), + echo_buf: Box::new([0; NTTY_BUFSIZE]), read_flags: StaticBitmap::new(), char_map: StaticBitmap::new(), tty: Weak::default(),