|
Linux Kernel
3.7.1
|
#include <linux/blkdev.h>#include <linux/errno.h>#include <linux/signal.h>#include <linux/interrupt.h>#include <linux/timer.h>#include <linux/fs.h>#include <linux/kernel.h>#include <linux/genhd.h>#include <linux/string.h>#include <linux/ioport.h>#include <linux/init.h>#include <linux/blkpg.h>#include <linux/ata.h>#include <linux/hdreg.h>#include <asm/io.h>#include <asm/uaccess.h>#include <asm/irq.h>Go to the source code of this file.
Data Structures | |
| struct | hd_i_struct |
Macros | |
| #define | HD_IRQ 14 |
| #define | REALLY_SLOW_IO |
| #define | HD_DATA 0x1f0 /* _CTL when writing */ |
| #define | HD_ERROR 0x1f1 /* see err-bits */ |
| #define | HD_NSECTOR 0x1f2 /* nr of sectors to read/write */ |
| #define | HD_SECTOR 0x1f3 /* starting sector */ |
| #define | HD_LCYL 0x1f4 /* starting cylinder */ |
| #define | HD_HCYL 0x1f5 /* high byte of starting cyl */ |
| #define | HD_CURRENT 0x1f6 /* 101dhhhh , d=drive, hhhh=head */ |
| #define | HD_STATUS 0x1f7 /* see status-bits */ |
| #define | HD_FEATURE HD_ERROR /* same io address, read=error, write=feature */ |
| #define | HD_PRECOMP HD_FEATURE /* obsolete use of this port - predates IDE */ |
| #define | HD_COMMAND HD_STATUS /* same io address, read=status, write=cmd */ |
| #define | HD_CMD 0x3f6 /* used for resets */ |
| #define | HD_ALTSTATUS 0x3f6 /* same as HD_STATUS but doesn't clear irq */ |
| #define | ERR_STAT 0x01 |
| #define | INDEX_STAT 0x02 |
| #define | ECC_STAT 0x04 /* Corrected error */ |
| #define | DRQ_STAT 0x08 |
| #define | SEEK_STAT 0x10 |
| #define | SERVICE_STAT SEEK_STAT |
| #define | WRERR_STAT 0x20 |
| #define | READY_STAT 0x40 |
| #define | BUSY_STAT 0x80 |
| #define | MARK_ERR 0x01 /* Bad address mark */ |
| #define | TRK0_ERR 0x02 /* couldn't find track 0 */ |
| #define | ABRT_ERR 0x04 /* Command aborted */ |
| #define | MCR_ERR 0x08 /* media change request */ |
| #define | ID_ERR 0x10 /* ID field not found */ |
| #define | MC_ERR 0x20 /* media changed */ |
| #define | ECC_ERR 0x40 /* Uncorrectable ECC error */ |
| #define | BBD_ERR 0x80 /* pre-EIDE meaning: block marked bad */ |
| #define | ICRC_ERR 0x80 /* new meaning: CRC error during transfer */ |
| #define | TIMEOUT_VALUE (6*HZ) |
| #define | HD_DELAY 0 |
| #define | MAX_ERRORS 16 /* Max read/write errors/sector */ |
| #define | RESET_FREQ 8 /* Reset controller every 8th retry */ |
| #define | RECAL_FREQ 4 /* Recalibrate every 4th retry */ |
| #define | MAX_HD 2 |
| #define | STAT_OK (READY_STAT|SEEK_STAT) |
| #define | OK_STATUS(s) (((s)&(STAT_OK|(BUSY_STAT|WRERR_STAT|ERR_STAT)))==STAT_OK) |
| #define | TIMEOUT_VALUE (6*HZ) |
| #define | SET_TIMER |
| #define | SET_HANDLER(x) |
Functions | |
| __setup ("hd=", parse_hd_setup) | |
| late_initcall (hd_init) | |
| #define HD_ALTSTATUS 0x3f6 /* same as HD_STATUS but doesn't clear irq */ |
| #define HD_PRECOMP HD_FEATURE /* obsolete use of this port - predates IDE */ |
| #define ICRC_ERR 0x80 /* new meaning: CRC error during transfer */ |
| #define RESET_FREQ 8 /* Reset controller every 8th retry */ |
| #define SET_HANDLER | ( | x | ) |
| #define SET_TIMER |
| #define STAT_OK (READY_STAT|SEEK_STAT) |
| __setup | ( | ) |
| late_initcall | ( | hd_init | ) |
1.8.2