From 63354d670eba8a612b6140ed02386048f8cbae6f Mon Sep 17 00:00:00 2001 From: jiangjianfeng Date: Tue, 18 Nov 2025 09:04:21 +0000 Subject: [PATCH] Support mknod for /dev/full and /dev/tty0 --- kernel/src/device/mod.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/kernel/src/device/mod.rs b/kernel/src/device/mod.rs index 87d9ae97b..eac235902 100644 --- a/kernel/src/device/mod.rs +++ b/kernel/src/device/mod.rs @@ -88,9 +88,16 @@ pub fn get_device(devid: DeviceId) -> Result> { match (major, minor) { (1, 3) => Ok(Arc::new(null::Null)), (1, 5) => Ok(Arc::new(zero::Zero)), - (5, 0) => Ok(Arc::new(tty::TtyDevice)), + (1, 7) => Ok(Arc::new(full::Full)), (1, 8) => Ok(Arc::new(random::Random)), (1, 9) => Ok(Arc::new(urandom::Urandom)), + (4, minor) => { + let Some(tty) = tty::iter_n_tty().nth(minor as usize) else { + return_errno_with_message!(Errno::EINVAL, "the TTY minor ID is invalid"); + }; + Ok(tty.clone()) + } + (5, 0) => Ok(Arc::new(tty::TtyDevice)), _ => return_errno_with_message!(Errno::EINVAL, "the device ID is invalid or unsupported"), } }