Jesse 
								
							 
						 
						
							
							
							
							
								
							
							
								ab90d2e251 
								
							 
						 
						
							
							
								
								Kernel: Extended IDE interface to allow slave device usage ( #283 )  
							
							... 
							
							
							
							The IDE Disk Controller driver has been extended to allow the secondary device on the channel to be initialised and used. A test as to whether this is working (for anyone interested) is to modify `init.cpp:87` to `auto dev_hd0 = IDEDiskDevice::create(IdeDiskDevice::DeviceType::SLAVE);`. The kernel will fail to boot, as there is no disk attached to CHANNEL 1's slave. This was born out of the fact that my FAT driver can't be tested as easily without creating a partition on `hda`. 
							
						 
						
							2019-07-08 08:16:52 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								27f699ef0c 
								
							 
						 
						
							
							
								
								AK: Rename the common integer typedefs to make it obvious what they are.  
							
							... 
							
							
							
							These types can be picked up by including <AK/Types.h>:
* u8, u16, u32, u64 (unsigned)
* i8, i16, i32, i64 (signed) 
							
						 
						
							2019-07-03 21:20:13 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								90b1354688 
								
							 
						 
						
							
							
								
								AK: Rename RetainPtr => RefPtr and Retained => NonnullRefPtr.  
							
							
							
						 
						
							2019-06-21 18:37:47 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								bc951ca565 
								
							 
						 
						
							
							
								
								Kernel: Run clang-format on everything.  
							
							
							
						 
						
							2019-06-07 11:43:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								bb288c1baf 
								
							 
						 
						
							
							
								
								IDEDiskDevice: Implement basic DMA writes.  
							
							... 
							
							
							
							This could share more code with reads, and generally be better. But it works
and it's considerably faster than PIO, so let's use it. :^) 
							
						 
						
							2019-05-26 14:58:21 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								ebf645d72a 
								
							 
						 
						
							
							
								
								Kernel: Tidy up IDEDiskDevice a bit.  
							
							... 
							
							
							
							The main cleanup here is putting the I/O address base in a member variable. 
							
						 
						
							2019-05-24 04:17:15 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								5f26f83451 
								
							 
						 
						
							
							
								
								IDEDiskDevice: Add sysctl variable for turning DMA on/off.  
							
							
							
						 
						
							2019-05-19 15:54:33 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								c7d8aa6969 
								
							 
						 
						
							
							
								
								IDEDiskDevice: Support reading multiple sectors at a time with DMA.  
							
							... 
							
							
							
							This is another sizable improvement to GCC compile times. 
							
						 
						
							2019-05-19 04:40:30 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								ed79116e94 
								
							 
						 
						
							
							
								
								IDEDiskDevice: Use wait_for_irq() when waiting for DMA transfers.  
							
							... 
							
							
							
							Also make sure we return any device errors to caller. 
							
						 
						
							2019-05-19 03:56:06 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								c818773983 
								
							 
						 
						
							
							
								
								IDEDiskDevice: Add support for DMA reads.  
							
							... 
							
							
							
							I've only tested this with the PIIX3 chipset QEMU emulates, but it works
pretty well here. GCC compile times are cut roughly in half :^) 
							
						 
						
							2019-05-19 03:46:50 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								c3b7ace3e0 
								
							 
						 
						
							
							
								
								Kernel: Assign Lock names in class member initializers.  
							
							
							
						 
						
							2019-05-02 03:28:20 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								243e1d8462 
								
							 
						 
						
							
							
								
								Kernel: Use rep insw/outsw for IDE transfers.  
							
							... 
							
							
							
							There are much faster ways to do disk transfers, but I'm not implementing
those today. In the meantime, this is slightly nicer. :^) 
							
						 
						
							2019-04-23 03:45:55 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								37498c1566 
								
							 
						 
						
							
							
								
								Kernel: Send IDE flush command after writing sectors.  
							
							
							
						 
						
							2019-04-23 03:16:47 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								11e7ce60e5 
								
							 
						 
						
							
							
								
								Kernel: Use IDE LBA addressing instead of the long-obsolete C/H/S.  
							
							
							
						 
						
							2019-04-23 02:26:51 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								a58d7fd8bb 
								
							 
						 
						
							
							
								
								Kernel: Get rid of Kernel/types.h, separate LinearAddress/PhysicalAddress.  
							
							
							
						 
						
							2019-04-06 14:29:29 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								ab43658c55 
								
							 
						 
						
							
							
								
								Kernel: Move devices into Kernel/Devices/.  
							
							
							
						 
						
							2019-04-03 12:36:40 +02:00