mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 16:22:43 +00:00 
			
		
		
		
	Kernel: Remove type from StorageDevice class
This commit is contained in:
		
							parent
							
								
									9b75b1be5f
								
							
						
					
					
						commit
						a73bd0fff8
					
				
					 14 changed files with 1 additions and 47 deletions
				
			
		|  | @ -48,7 +48,6 @@ public: | ||||||
|     UNMAP_AFTER_INIT static NonnullRefPtr<AHCIController> initialize(PCI::Address address); |     UNMAP_AFTER_INIT static NonnullRefPtr<AHCIController> initialize(PCI::Address address); | ||||||
|     virtual ~AHCIController() override; |     virtual ~AHCIController() override; | ||||||
| 
 | 
 | ||||||
|     virtual Type type() const override { return Type::AHCI; } |  | ||||||
|     virtual RefPtr<StorageDevice> device(u32 index) const override; |     virtual RefPtr<StorageDevice> device(u32 index) const override; | ||||||
|     virtual bool reset() override; |     virtual bool reset() override; | ||||||
|     virtual bool shutdown() override; |     virtual bool shutdown() override; | ||||||
|  |  | ||||||
|  | @ -44,7 +44,6 @@ public: | ||||||
|     static NonnullRefPtr<IDEController> initialize(PCI::Address address, bool force_pio); |     static NonnullRefPtr<IDEController> initialize(PCI::Address address, bool force_pio); | ||||||
|     virtual ~IDEController() override; |     virtual ~IDEController() override; | ||||||
| 
 | 
 | ||||||
|     virtual Type type() const override { return Type::IDE; } |  | ||||||
|     virtual RefPtr<StorageDevice> device(u32 index) const override; |     virtual RefPtr<StorageDevice> device(u32 index) const override; | ||||||
|     virtual bool reset() override; |     virtual bool reset() override; | ||||||
|     virtual bool shutdown() override; |     virtual bool shutdown() override; | ||||||
|  |  | ||||||
|  | @ -60,9 +60,6 @@ public: | ||||||
|     static NonnullRefPtr<PATADiskDevice> create(const IDEController&, IDEChannel&, DriveType, InterfaceType, u16, u64); |     static NonnullRefPtr<PATADiskDevice> create(const IDEController&, IDEChannel&, DriveType, InterfaceType, u16, u64); | ||||||
|     virtual ~PATADiskDevice() override; |     virtual ~PATADiskDevice() override; | ||||||
| 
 | 
 | ||||||
|     // ^StorageDevice
 |  | ||||||
|     virtual Type type() const override { return StorageDevice::Type::IDE; } |  | ||||||
| 
 |  | ||||||
|     // ^BlockDevice
 |     // ^BlockDevice
 | ||||||
|     virtual void start_request(AsyncBlockDeviceRequest&) override; |     virtual void start_request(AsyncBlockDeviceRequest&) override; | ||||||
|     virtual String device_name() const override; |     virtual String device_name() const override; | ||||||
|  |  | ||||||
|  | @ -43,7 +43,6 @@ public: | ||||||
|     static Result<NonnullOwnPtr<EBRPartitionTable>, PartitionTable::Error> try_to_initialize(const StorageDevice&); |     static Result<NonnullOwnPtr<EBRPartitionTable>, PartitionTable::Error> try_to_initialize(const StorageDevice&); | ||||||
|     explicit EBRPartitionTable(const StorageDevice&); |     explicit EBRPartitionTable(const StorageDevice&); | ||||||
|     virtual bool is_valid() const override { return m_valid; }; |     virtual bool is_valid() const override { return m_valid; }; | ||||||
|     virtual Type type() const override { return Type::EBR; }; |  | ||||||
| 
 | 
 | ||||||
| private: | private: | ||||||
|     void search_extended_partition(const StorageDevice&, MBRPartitionTable&, u64, size_t limit); |     void search_extended_partition(const StorageDevice&, MBRPartitionTable&, u64, size_t limit); | ||||||
|  |  | ||||||
|  | @ -43,7 +43,6 @@ public: | ||||||
|     static Result<NonnullOwnPtr<GUIDPartitionTable>, PartitionTable::Error> try_to_initialize(const StorageDevice&); |     static Result<NonnullOwnPtr<GUIDPartitionTable>, PartitionTable::Error> try_to_initialize(const StorageDevice&); | ||||||
|     explicit GUIDPartitionTable(const StorageDevice&); |     explicit GUIDPartitionTable(const StorageDevice&); | ||||||
| 
 | 
 | ||||||
|     virtual Type type() const override { return Type::GPT; }; |  | ||||||
|     virtual bool is_valid() const override { return m_valid; }; |     virtual bool is_valid() const override { return m_valid; }; | ||||||
| 
 | 
 | ||||||
| private: | private: | ||||||
|  |  | ||||||
|  | @ -68,7 +68,6 @@ public: | ||||||
| 
 | 
 | ||||||
|     bool is_protective_mbr() const; |     bool is_protective_mbr() const; | ||||||
|     bool contains_ebr() const; |     bool contains_ebr() const; | ||||||
|     virtual Type type() const override { return Type::MBR; }; |  | ||||||
|     virtual bool is_valid() const override { return m_valid; }; |     virtual bool is_valid() const override { return m_valid; }; | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
|  |  | ||||||
|  | @ -36,12 +36,6 @@ namespace Kernel { | ||||||
| 
 | 
 | ||||||
| class PartitionTable { | class PartitionTable { | ||||||
| public: | public: | ||||||
|     enum class Type { |  | ||||||
|         MBR, |  | ||||||
|         EBR, |  | ||||||
|         GPT, |  | ||||||
|         BSD |  | ||||||
|     }; |  | ||||||
|     enum class Error { |     enum class Error { | ||||||
|         Invalid, |         Invalid, | ||||||
|         MBRProtective, |         MBRProtective, | ||||||
|  | @ -51,7 +45,6 @@ public: | ||||||
| public: | public: | ||||||
|     Optional<DiskPartitionMetadata> partition(unsigned index); |     Optional<DiskPartitionMetadata> partition(unsigned index); | ||||||
|     size_t partitions_count() const { return m_partitions.size(); } |     size_t partitions_count() const { return m_partitions.size(); } | ||||||
|     virtual Type type() const = 0; |  | ||||||
|     virtual ~PartitionTable() = default; |     virtual ~PartitionTable() = default; | ||||||
|     virtual bool is_valid() const = 0; |     virtual bool is_valid() const = 0; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -44,7 +44,6 @@ public: | ||||||
|     static NonnullRefPtr<RamdiskController> initialize(); |     static NonnullRefPtr<RamdiskController> initialize(); | ||||||
|     virtual ~RamdiskController() override; |     virtual ~RamdiskController() override; | ||||||
| 
 | 
 | ||||||
|     virtual Type type() const override { return Type::Ramdisk; } |  | ||||||
|     virtual RefPtr<StorageDevice> device(u32 index) const override; |     virtual RefPtr<StorageDevice> device(u32 index) const override; | ||||||
|     virtual bool reset() override; |     virtual bool reset() override; | ||||||
|     virtual bool shutdown() override; |     virtual bool shutdown() override; | ||||||
|  |  | ||||||
|  | @ -41,9 +41,6 @@ public: | ||||||
|     RamdiskDevice(const RamdiskController&, NonnullOwnPtr<Region>&&, int major, int minor); |     RamdiskDevice(const RamdiskController&, NonnullOwnPtr<Region>&&, int major, int minor); | ||||||
|     virtual ~RamdiskDevice() override; |     virtual ~RamdiskDevice() override; | ||||||
| 
 | 
 | ||||||
|     // ^StorageDevice
 |  | ||||||
|     virtual Type type() const override { return StorageDevice::Type::Ramdisk; } |  | ||||||
| 
 |  | ||||||
|     // ^BlockDevice
 |     // ^BlockDevice
 | ||||||
|     virtual void start_request(AsyncBlockDeviceRequest&) override; |     virtual void start_request(AsyncBlockDeviceRequest&) override; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -48,7 +48,6 @@ public: | ||||||
|     virtual ~SATADiskDevice() override; |     virtual ~SATADiskDevice() override; | ||||||
| 
 | 
 | ||||||
|     // ^StorageDevice
 |     // ^StorageDevice
 | ||||||
|     virtual Type type() const override { return StorageDevice::Type::SATA; } |  | ||||||
|     // ^BlockDevice
 |     // ^BlockDevice
 | ||||||
|     virtual void start_request(AsyncBlockDeviceRequest&) override; |     virtual void start_request(AsyncBlockDeviceRequest&) override; | ||||||
|     virtual String device_name() const override; |     virtual String device_name() const override; | ||||||
|  |  | ||||||
|  | @ -44,17 +44,10 @@ class AsyncBlockDeviceRequest; | ||||||
| class StorageDevice; | class StorageDevice; | ||||||
| class StorageController : public RefCounted<StorageController> { | class StorageController : public RefCounted<StorageController> { | ||||||
|     AK_MAKE_ETERNAL |     AK_MAKE_ETERNAL | ||||||
| public: |  | ||||||
|     enum class Type : u8 { |  | ||||||
|         Ramdisk, |  | ||||||
|         IDE, |  | ||||||
|         AHCI, |  | ||||||
|         NVMe |  | ||||||
|     }; |  | ||||||
| 
 | 
 | ||||||
|  | public: | ||||||
|     virtual ~StorageController() = default; |     virtual ~StorageController() = default; | ||||||
| 
 | 
 | ||||||
|     virtual Type type() const = 0; |  | ||||||
|     virtual RefPtr<StorageDevice> device(u32 index) const = 0; |     virtual RefPtr<StorageDevice> device(u32 index) const = 0; | ||||||
|     virtual size_t devices_count() const = 0; |     virtual size_t devices_count() const = 0; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -37,16 +37,8 @@ namespace Kernel { | ||||||
| class StorageDevice : public BlockDevice { | class StorageDevice : public BlockDevice { | ||||||
|     friend class StorageManagement; |     friend class StorageManagement; | ||||||
|     AK_MAKE_ETERNAL |     AK_MAKE_ETERNAL | ||||||
| public: |  | ||||||
|     enum class Type : u8 { |  | ||||||
|         Ramdisk, |  | ||||||
|         IDE, |  | ||||||
|         SATA, |  | ||||||
|         NVMe, |  | ||||||
|     }; |  | ||||||
| 
 | 
 | ||||||
| public: | public: | ||||||
|     virtual Type type() const = 0; |  | ||||||
|     virtual u64 max_addressable_block() const { return m_max_addressable_block; } |     virtual u64 max_addressable_block() const { return m_max_addressable_block; } | ||||||
| 
 | 
 | ||||||
|     NonnullRefPtr<StorageController> controller() const; |     NonnullRefPtr<StorageController> controller() const; | ||||||
|  |  | ||||||
|  | @ -225,13 +225,4 @@ StorageManagement& StorageManagement::the() | ||||||
|     return *s_the; |     return *s_the; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| NonnullRefPtrVector<StorageController> StorageManagement::ide_controllers() const |  | ||||||
| { |  | ||||||
|     NonnullRefPtrVector<StorageController> ide_controllers; |  | ||||||
|     for (auto& controller : m_controllers) { |  | ||||||
|         if (controller.type() == StorageController::Type::IDE) |  | ||||||
|             ide_controllers.append(controller); |  | ||||||
|     } |  | ||||||
|     return ide_controllers; |  | ||||||
| } |  | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -51,8 +51,6 @@ public: | ||||||
|     static int major_number(); |     static int major_number(); | ||||||
|     static int minor_number(); |     static int minor_number(); | ||||||
| 
 | 
 | ||||||
|     NonnullRefPtrVector<StorageController> ide_controllers() const; |  | ||||||
| 
 |  | ||||||
| private: | private: | ||||||
|     bool boot_argument_contains_partition_uuid(); |     bool boot_argument_contains_partition_uuid(); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Jean-Baptiste Boric
						Jean-Baptiste Boric