Lines Matching defs:bios_dsk

84     bio_dsk_t __far *bios_dsk;
86 bios_dsk = read_word(0x0040, 0x000E) :> &EbdaData->bdisk;
90 bios_dsk->channels[channel].iface = ATA_IFACE_NONE;
91 bios_dsk->channels[channel].iobase1 = 0x0;
92 bios_dsk->channels[channel].iobase2 = 0x0;
93 bios_dsk->channels[channel].irq = 0;
98 bios_dsk->devices[device].type = DSK_TYPE_NONE;
99 bios_dsk->devices[device].device = DSK_DEVICE_NONE;
100 bios_dsk->devices[device].removable = 0;
101 bios_dsk->devices[device].lock = 0;
102 bios_dsk->devices[device].mode = ATA_MODE_NONE;
103 bios_dsk->devices[device].blksize = 0x200;
104 bios_dsk->devices[device].translation = GEO_TRANSLATION_NONE;
105 bios_dsk->devices[device].lchs.heads = 0;
106 bios_dsk->devices[device].lchs.cylinders = 0;
107 bios_dsk->devices[device].lchs.spt = 0;
108 bios_dsk->devices[device].pchs.heads = 0;
109 bios_dsk->devices[device].pchs.cylinders = 0;
110 bios_dsk->devices[device].pchs.spt = 0;
111 bios_dsk->devices[device].sectors = 0;
116 bios_dsk->hdidmap[device] = BX_MAX_STORAGE_DEVICES;
117 bios_dsk->cdidmap[device] = BX_MAX_STORAGE_DEVICES;
120 bios_dsk->hdcount = 0;
121 bios_dsk->cdcount = 0;
136 bio_dsk_t __far *bios_dsk;
138 bios_dsk = read_word(0x0040, 0x000E) :> &EbdaData->bdisk;
142 iobase1 = bios_dsk->channels[channel].iobase1;
143 iobase2 = bios_dsk->channels[channel].iobase2;
161 if (bios_dsk->devices[device].type != DSK_TYPE_NONE) {
207 uint16_t ata_cmd_data_in(bio_dsk_t __far *bios_dsk, uint16_t command, uint16_t count)
219 device = bios_dsk->drqp.dev_id;
223 iobase1 = bios_dsk->channels[channel].iobase1;
224 iobase2 = bios_dsk->channels[channel].iobase2;
225 mode = bios_dsk->devices[device].mode;
226 blksize = bios_dsk->devices[device].blksize;
248 lba = bios_dsk->drqp.lba;
249 buffer = bios_dsk->drqp.buffer;
250 sector = bios_dsk->drqp.sector;
251 cylinder = bios_dsk->drqp.cylinder;
252 head = bios_dsk->drqp.head;
324 bios_dsk->drqp.trsfsectors += mult_blk_cnt;
366 bio_dsk_t __far *bios_dsk;
368 bios_dsk = ebda_seg :> &EbdaData->bdisk;
371 bios_dsk->channels[0].iface = ATA_IFACE_ISA;
372 bios_dsk->channels[0].iobase1 = 0x1f0;
373 bios_dsk->channels[0].iobase2 = 0x3f0;
374 bios_dsk->channels[0].irq = 14;
377 bios_dsk->channels[1].iface = ATA_IFACE_ISA;
378 bios_dsk->channels[1].iobase1 = 0x170;
379 bios_dsk->channels[1].iobase2 = 0x370;
380 bios_dsk->channels[1].irq = 15;
384 bios_dsk->channels[2].iface = ATA_IFACE_ISA;
385 bios_dsk->channels[2].iobase1 = 0x1e8;
386 bios_dsk->channels[2].iobase2 = 0x3e0;
387 bios_dsk->channels[2].irq = 12;
390 bios_dsk->channels[3].iface = ATA_IFACE_ISA;
391 bios_dsk->channels[3].iobase1 = 0x168;
392 bios_dsk->channels[3].iobase2 = 0x360;
393 bios_dsk->channels[3].irq = 11;
411 iobase1 = bios_dsk->channels[channel].iobase1;
412 iobase2 = bios_dsk->channels[channel].iobase2;
431 bios_dsk->devices[device].type = DSK_TYPE_UNKNOWN;
446 bios_dsk->devices[device].type = DSK_TYPE_ATAPI;
448 bios_dsk->devices[device].type = DSK_TYPE_ATA;
450 bios_dsk->devices[device].type = DSK_TYPE_NONE;
458 type = bios_dsk->devices[device].type;
469 bios_dsk->devices[device].device = DSK_DEVICE_HD;
470 bios_dsk->devices[device].mode = ATA_MODE_PIO16;
471 bios_dsk->drqp.buffer = buffer;
472 bios_dsk->drqp.dev_id = device;
474 if (ata_cmd_data_in(bios_dsk, ATA_CMD_IDENTIFY_DEVICE, 1) !=0 )
518 bios_dsk->devices[device].device = DSK_DEVICE_HD;
519 bios_dsk->devices[device].removable = removable;
520 bios_dsk->devices[device].mode = mode;
521 bios_dsk->devices[device].blksize = blksize;
522 bios_dsk->devices[device].pchs.heads = heads;
523 bios_dsk->devices[device].pchs.cylinders = cylinders;
524 bios_dsk->devices[device].pchs.spt = spt;
525 bios_dsk->devices[device].sectors = sectors;
526 bios_dsk->devices[device].lchs = lgeo;
556 bios_dsk->hdidmap[hdcount] = device;
566 bios_dsk->devices[device].device = DSK_DEVICE_CDROM;
567 bios_dsk->devices[device].mode = ATA_MODE_PIO16;
568 bios_dsk->drqp.buffer = buffer;
569 bios_dsk->drqp.dev_id = device;
571 if (ata_cmd_data_in(bios_dsk, ATA_CMD_IDENTIFY_PACKET, 1) != 0)
579 bios_dsk->devices[device].device = type;
580 bios_dsk->devices[device].removable = removable;
581 bios_dsk->devices[device].mode = mode;
582 bios_dsk->devices[device].blksize = blksize;
585 bios_dsk->cdidmap[cdcount] = device;
597 sizeinmb = bios_dsk->devices[device].sectors;
641 if (bios_dsk->devices[device].device == DSK_DEVICE_CDROM)
655 bios_dsk->hdcount = hdcount;
656 bios_dsk->cdcount = cdcount;
683 uint16_t ata_cmd_data_out(bio_dsk_t __far *bios_dsk, uint16_t command, uint16_t count)
695 device = bios_dsk->drqp.dev_id;
699 iobase1 = bios_dsk->channels[channel].iobase1;
700 iobase2 = bios_dsk->channels[channel].iobase2;
701 mode = bios_dsk->devices[device].mode;
702 blksize = 0x200; // was = bios_dsk->devices[device].blksize;
716 lba = bios_dsk->drqp.lba;
717 buffer = bios_dsk->drqp.buffer;
718 sector = bios_dsk->drqp.sector;
719 cylinder = bios_dsk->drqp.cylinder;
720 head = bios_dsk->drqp.head;
786 bios_dsk->drqp.trsfsectors++;
824 * @param bios_dsk Pointer to disk request packet (in the
827 int ata_read_sectors(bio_dsk_t __far *bios_dsk)
833 device_id = bios_dsk->drqp.dev_id;
834 n_sect = bios_dsk->drqp.nsect;
836 if (bios_dsk->drqp.sector) {
838 bios_dsk->devices[device_id].blksize = n_sect * 0x200;
839 status = ata_cmd_data_in(bios_dsk, ATA_CMD_READ_MULTIPLE, n_sect);
840 bios_dsk->devices[device_id].blksize = 0x200;
843 if (bios_dsk->drqp.lba + n_sect >= 268435456)
844 status = ata_cmd_data_in(bios_dsk, ATA_CMD_READ_SECTORS_EXT, n_sect);
846 bios_dsk->devices[device_id].blksize = n_sect * 0x200;
847 status = ata_cmd_data_in(bios_dsk, ATA_CMD_READ_MULTIPLE, n_sect);
848 bios_dsk->devices[device_id].blksize = 0x200;
858 * @param bios_dsk Pointer to disk request packet (in the
861 int ata_write_sectors(bio_dsk_t __far *bios_dsk)
865 n_sect = bios_dsk->drqp.nsect;
867 if (bios_dsk->drqp.sector) {
869 return ata_cmd_data_out(bios_dsk, ATA_CMD_WRITE_SECTORS, n_sect);
872 if (bios_dsk->drqp.lba + n_sect >= 268435456)
873 return ata_cmd_data_out(bios_dsk, ATA_CMD_WRITE_SECTORS_EXT, n_sect);
875 return ata_cmd_data_out(bios_dsk, ATA_CMD_WRITE_SECTORS, n_sect);
897 bio_dsk_t __far *bios_dsk;
899 bios_dsk = read_word(0x0040, 0x000E) :> &EbdaData->bdisk;
916 iobase1 = bios_dsk->channels[channel].iobase1;
917 iobase2 = bios_dsk->channels[channel].iobase2;
918 mode = bios_dsk->devices[device].mode;
929 bios_dsk->drqp.trsfsectors = 0;
930 bios_dsk->drqp.trsfbytes = 0;
1091 bios_dsk->drqp.trsfbytes = transfer;
1120 bio_dsk_t __far *bios_dsk;
1122 bios_dsk = read_word(0x0040, 0x000E) :> &EbdaData->bdisk;
1127 iobase1 = bios_dsk->channels[channel].iobase1;
1128 iobase2 = bios_dsk->channels[channel].iobase2;