From e9dda8d59261d021d046074f39bc2c0a140a723a Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 9 Dec 2019 21:03:39 +0100 Subject: 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 94f02331b7..ed83cfa2ea 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 73d2113e51..02bce17d14 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 04a8fc47de..a7715a1678 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 0a5a389ae5..fb005b424f 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) { -- cgit v1.2.3