Browse Source

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!
Andreas Kling 5 years ago
parent
commit
e9dda8d592

+ 4 - 0
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);
 }

+ 1 - 1
Kernel/FileSystem/DevPtsFS.cpp

@@ -69,7 +69,7 @@ RefPtr<Inode> 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<DevPtsFS&>(*this), inode_id.index()));

+ 1 - 1
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)
 {

+ 1 - 1
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)
 {