From e9dda8d59261d021d046074f39bc2c0a140a723a Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 9 Dec 2019 21:03:39 +0100 Subject: [PATCH] Kernel: Give PTY's *actually* unique major ID's Okay, one "dunce hat" point for me. The new PTY majors conflicted with PATAChannel. Now they are 200 for master and 201 for slave, not used by anything else.. I hope! --- Kernel/Devices/Device.cpp | 4 ++++ Kernel/FileSystem/DevPtsFS.cpp | 2 +- Kernel/TTY/MasterPTY.cpp | 2 +- Kernel/TTY/SlavePTY.cpp | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Kernel/Devices/Device.cpp b/Kernel/Devices/Device.cpp index 94f02331b72..ed83cfa2ea7 100644 --- a/Kernel/Devices/Device.cpp +++ b/Kernel/Devices/Device.cpp @@ -30,6 +30,10 @@ Device::Device(unsigned major, unsigned minor) , m_minor(minor) { u32 device_id = encoded_device(major, minor); + auto it = all_devices().find(device_id); + if (it != all_devices().end()) { + dbg() << "Already registered " << major << "," << minor << ": " << it->value->class_name(); + } ASSERT(!all_devices().contains(device_id)); all_devices().set(device_id, this); } diff --git a/Kernel/FileSystem/DevPtsFS.cpp b/Kernel/FileSystem/DevPtsFS.cpp index 73d2113e516..02bce17d141 100644 --- a/Kernel/FileSystem/DevPtsFS.cpp +++ b/Kernel/FileSystem/DevPtsFS.cpp @@ -69,7 +69,7 @@ RefPtr DevPtsFS::get_inode(InodeIdentifier inode_id) const return m_root_inode; unsigned pty_index = inode_index_to_pty_index(inode_id.index()); - auto* device = Device::get_device(11, pty_index); + auto* device = Device::get_device(201, pty_index); ASSERT(device); auto inode = adopt(*new DevPtsFSInode(const_cast(*this), inode_id.index())); diff --git a/Kernel/TTY/MasterPTY.cpp b/Kernel/TTY/MasterPTY.cpp index 04a8fc47def..a7715a1678f 100644 --- a/Kernel/TTY/MasterPTY.cpp +++ b/Kernel/TTY/MasterPTY.cpp @@ -9,7 +9,7 @@ //#define MASTERPTY_DEBUG MasterPTY::MasterPTY(unsigned index) - : CharacterDevice(100, index) + : CharacterDevice(200, index) , m_slave(adopt(*new SlavePTY(*this, index))) , m_index(index) { diff --git a/Kernel/TTY/SlavePTY.cpp b/Kernel/TTY/SlavePTY.cpp index 0a5a389ae5a..fb005b424ff 100644 --- a/Kernel/TTY/SlavePTY.cpp +++ b/Kernel/TTY/SlavePTY.cpp @@ -6,7 +6,7 @@ //#define SLAVEPTY_DEBUG SlavePTY::SlavePTY(MasterPTY& master, unsigned index) - : TTY(101, index) + : TTY(201, index) , m_master(master) , m_index(index) {