forked from Bananymous/banan-os
Kernel: Start making device numbers unique for each device
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
#include <kernel/Device/DeviceNumbers.h>
|
||||
#include <kernel/FS/DevFS/FileSystem.h>
|
||||
#include <kernel/IO.h>
|
||||
#include <kernel/Storage/ATA/ATABus.h>
|
||||
@@ -9,12 +10,6 @@
|
||||
namespace Kernel
|
||||
{
|
||||
|
||||
static dev_t get_ata_dev_major()
|
||||
{
|
||||
static dev_t major = DevFileSystem::get().get_next_dev();
|
||||
return major;
|
||||
}
|
||||
|
||||
static dev_t get_ata_dev_minor()
|
||||
{
|
||||
static dev_t minor = 0;
|
||||
@@ -22,7 +17,7 @@ namespace Kernel
|
||||
}
|
||||
|
||||
detail::ATABaseDevice::ATABaseDevice()
|
||||
: m_rdev(makedev(get_ata_dev_major(), get_ata_dev_minor()))
|
||||
: m_rdev(makedev(DeviceNumber::SCSI, get_ata_dev_minor()))
|
||||
{
|
||||
strcpy(m_name, "sda");
|
||||
m_name[2] += minor(m_rdev);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include <BAN/Array.h>
|
||||
#include <kernel/Device/DeviceNumbers.h>
|
||||
#include <kernel/FS/DevFS/FileSystem.h>
|
||||
#include <kernel/Memory/DMARegion.h>
|
||||
#include <kernel/Storage/NVMe/Controller.h>
|
||||
@@ -11,12 +12,6 @@
|
||||
namespace Kernel
|
||||
{
|
||||
|
||||
static dev_t get_ctrl_dev_major()
|
||||
{
|
||||
static dev_t major = DevFileSystem::get().get_next_dev();
|
||||
return major;
|
||||
}
|
||||
|
||||
static dev_t get_ctrl_dev_minor()
|
||||
{
|
||||
static dev_t minor = 0;
|
||||
@@ -36,7 +31,7 @@ namespace Kernel
|
||||
NVMeController::NVMeController(PCI::Device& pci_device)
|
||||
: CharacterDevice(0600, 0, 0)
|
||||
, m_pci_device(pci_device)
|
||||
, m_rdev(makedev(get_ctrl_dev_major(), get_ctrl_dev_minor()))
|
||||
, m_rdev(makedev(DeviceNumber::NVMeController, get_ctrl_dev_minor()))
|
||||
{
|
||||
ASSERT(minor(m_rdev) < 10);
|
||||
strcpy(m_name, "nvmeX");
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#include <kernel/Device/DeviceNumbers.h>
|
||||
#include <kernel/FS/DevFS/FileSystem.h>
|
||||
#include <kernel/Storage/NVMe/Controller.h>
|
||||
#include <kernel/Storage/NVMe/Namespace.h>
|
||||
@@ -7,12 +8,6 @@
|
||||
namespace Kernel
|
||||
{
|
||||
|
||||
static dev_t get_ns_dev_major()
|
||||
{
|
||||
static dev_t major = DevFileSystem::get().get_next_dev();
|
||||
return major;
|
||||
}
|
||||
|
||||
static dev_t get_ns_dev_minor()
|
||||
{
|
||||
static dev_t minor = 0;
|
||||
@@ -34,7 +29,7 @@ namespace Kernel
|
||||
, m_nsid(nsid)
|
||||
, m_block_size(block_size)
|
||||
, m_block_count(block_count)
|
||||
, m_rdev(makedev(get_ns_dev_major(), get_ns_dev_minor()))
|
||||
, m_rdev(makedev(DeviceNumber::NVMeNamespace, get_ns_dev_minor()))
|
||||
{
|
||||
ASSERT(minor(m_rdev) < 10);
|
||||
ASSERT(m_controller.name().size() + 2 < sizeof(m_name));
|
||||
|
||||
Reference in New Issue
Block a user