#include <ubixos/types.h>
Include dependency graph for fdc.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Data Structures | |
struct | DrvGeom |
Defines | |
#define | cmdRead (0xe6) |
#define | cmdRecal (0x07) |
#define | cmdSeek (0x0f) |
#define | cmdSensei (0x08) |
#define | cmdSpecify (0x03) |
#define | cmdWrite (0xc5) |
#define | dg144Gap3rw 0x1b |
#define | dg144Heads 2 |
#define | dg144Spt 18 |
#define | dg144Tracks 80 |
#define | dg168Gap3rw 0x1c |
#define | fdcCcr (0x3f7) |
#define | fdcData (0x3f5) |
#define | fdcDir (0x3f7) |
#define | fdcDor (0x3f2) |
#define | fdcDrs (0x3f4) |
#define | fdcMsr (0x3f4) |
Typedefs | |
typedef DrvGeom | drvGeom |
Functions | |
void | block2Hts (int block, int *head, int *track, int *sector) |
int | fdc_init () |
void | fdcRead (void *info, void *, uInt32 startSector, uInt32 sectorCount) |
bool | fdcRw (int block, Int8 *blockBuffer, bool read, unsigned long numSectors) |
void | fdcWrite (void *info, void *, uInt32 startSector, uInt32 sectorCount) |
void | floppyIsr () |
void | floppyIsrhndlr () |
int | getByte () |
void | motorOff (void) |
void | motorOn (void) |
bool | readBlock (int block, Int8 *blockBuffer, unsigned long numSectors) |
void | recalibrate (void) |
void | reset (void) |
bool | seek (int track) |
void | sendByte (int Int8) |
bool | waitFdc (bool sensei) |
bool | writeBlock (int block, Int8 *blockBuffer, unsigned long numSectors) |
#define cmdRecal (0x07) |
#define fdcData (0x3f5) |
#define fdcMsr (0x3f4) |
void block2Hts | ( | int | block, | |
int * | head, | |||
int * | track, | |||
int * | sector | |||
) |
Definition at line 201 of file fdc.c.
References geometry, DrvGeom::heads, and DrvGeom::spt.
Referenced by fdcRw().
int fdc_init | ( | ) |
Definition at line 63 of file fdc.c.
References devfs_makeNode(), device_add(), dInt, dPresent, fdcInit2(), fdcRead(), fdcWrite(), floppyIsr(), device_interface::init, irqEnable(), kmalloc(), device_interface::major, mVec, device_interface::read, reset(), device_interface::reset, setVector(), and device_interface::write.
Here is the call graph for this function:
Definition at line 303 of file fdc.c.
References fdcSpinLock, readBlock(), spinLock(), and spinUnlock().
Referenced by fdc_init().
Here is the call graph for this function:
Definition at line 129 of file fdc.c.
References block2Hts(), cmdRead, cmdWrite, dg144Gap3rw, dg144Spt, dg168Gap3rw, diskChange, dmaXfer(), FALSE, fdcCcr, fdcDir, fdcRw(), geometry, inportByte(), kprint(), kprintf(), motorOff(), motorOn(), outportByte(), recalibrate(), reset(), seek(), sendByte(), DrvGeom::spt, status, tbaddr, TRUE, and waitFdc().
Referenced by fdcRw(), readBlock(), and writeBlock().
Here is the call graph for this function:
Definition at line 309 of file fdc.c.
References writeBlock().
Referenced by fdc_init().
Here is the call graph for this function:
void floppyIsr | ( | ) |
Referenced by fdc_init().
void floppyIsrhndlr | ( | ) |
int getByte | ( | ) |
void motorOff | ( | void | ) |
void motorOn | ( | void | ) |
Definition at line 207 of file fdc.c.
References FALSE, fdcDor, motor, outportByte(), and TRUE.
Referenced by fdcRw(), and recalibrate().
Here is the call graph for this function:
void recalibrate | ( | void | ) |
Definition at line 280 of file fdc.c.
References cmdRecal, motorOff(), motorOn(), sendByte(), TRUE, and waitFdc().
Referenced by fdcRw(), and reset().
Here is the call graph for this function:
void reset | ( | void | ) |
Definition at line 288 of file fdc.c.
References cmdSpecify, diskChange, done, FALSE, fdcDor, motor, outportByte(), recalibrate(), seek(), sendByte(), TRUE, and waitFdc().
Referenced by fdc_init(), and fdcRw().
Here is the call graph for this function:
bool seek | ( | int | track | ) |
void sendByte | ( | int | Int8 | ) |
Definition at line 103 of file fdc.c.
References fdcData, fdcMsr, inportByte(), and outportByte().
Referenced by fdcRw(), recalibrate(), reset(), seek(), and waitFdc().
Here is the call graph for this function:
Definition at line 252 of file fdc.c.
References FALSE, and fdcRw().
Referenced by fdcWrite().
Here is the call graph for this function: