#endif
- drive = blk_op.blkdev->driver_data & DRIVE_NR_MASK;
+ drive = blk_op.blkdev->driver_data & IDE_DRIVE_NR_MASK;
ide_select(drive);
{
uint8_t drive;
- drive = blk_op.blkdev->driver_data & DRIVE_NR_MASK;
+ drive = blk_op.blkdev->driver_data & IDE_DRIVE_NR_MASK;
ide_select(drive);
#define IDE_CMD_IDENTIFY 0xEC
#define IDE_CMD_SET_FEATURES 0xEF
+#ifndef IDE_DRIVE_NR_MASK
+#define IDE_DRIVE_NR_MASK 0x0F /* low bit used to select master/slave */
+#endif
+
#ifdef _IDE_PRIVATE
#ifndef IDE_DRIVE_COUNT
-#define IDE_DRIVE_COUNT 2 /* at most 16 drives without adjusting DRIVE_NR_MASK */
+#define IDE_DRIVE_COUNT 2 /* at most 16 drives without adjusting IDE_DRIVE_NR_MASK */
#endif
/* we use the bits in the driver_data field of blkdev_t as follows: */
-#define DRIVE_NR_MASK 0x0F /* low bit used to select master/slave */
#define FLAG_CACHE_DIRTY 0x40
#define FLAG_WRITE_CACHE 0x80
blk->transfer = devide_transfer_sector;
blk->flush = devide_flush_cache;
- blk->driver_data = drive & DRIVE_NR_MASK;
+ blk->driver_data = drive & IDE_DRIVE_NR_MASK;
if( !(((uint16_t*)buffer)[82] == 0x0000 && ((uint16_t*)buffer)[83] == 0x0000) ||
(((uint16_t*)buffer)[82] == 0xFFFF && ((uint16_t*)buffer)[83] == 0xFFFF) ){
devide_reset();
#endif
+ kprintf("X");
for(d=0; d < IDE_DRIVE_COUNT; d++)
devide_init_drive(d);
}