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 | ) |