mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 20:12:43 +00:00 
			
		
		
		
	 948be9674a
			
		
	
	
		948be9674a
		
	
	
	
	
		
			
			The ISA IDE controller code makes sense to be compiled in a x86 build as it relies on access to the x86 IO space. For other architectures, we can just omit the code as there's no way we can use that code again. To ensure we can omit the code easily, we move it to the Arch/x86 directory.
		
			
				
	
	
		
			29 lines
		
	
	
	
		
			628 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			628 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2022, Liav A. <liavalb@hotmail.co.il>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <AK/OwnPtr.h>
 | |
| #include <AK/Types.h>
 | |
| #include <Kernel/Library/LockRefPtr.h>
 | |
| #include <Kernel/Storage/ATA/GenericIDE/Controller.h>
 | |
| #include <Kernel/Storage/StorageDevice.h>
 | |
| 
 | |
| namespace Kernel {
 | |
| 
 | |
| class AsyncBlockDeviceRequest;
 | |
| 
 | |
| class ISAIDEController final : public IDEController {
 | |
| public:
 | |
|     static NonnullLockRefPtr<ISAIDEController> initialize();
 | |
| 
 | |
| private:
 | |
|     ISAIDEController();
 | |
| 
 | |
|     LockRefPtr<StorageDevice> device_by_channel_and_position(u32 index) const;
 | |
|     void initialize_channels();
 | |
| };
 | |
| }
 |