diff options
author | Alan Cox <alan@lxorguk.ukuu.org.uk> | 2007-04-10 19:23:13 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-04-28 14:16:06 -0400 |
commit | 1e999736cafdffc374f22eed37b291129ef82e4e (patch) | |
tree | d71e0907827841de66f172dec0cc4d550bd2cec8 /include | |
parent | 6bfff31e77cfa1b13490337e5a4dbaa3407e83ac (diff) |
libata: HPA support
Signed-off-by: Alan Cox <alan@redhat.com>
Add support for ignoring the BIOS HPA result (off by default) and setting
the disk to the full available size unless already frozen.
Tested with various platforms/disks and confirmed to work with the
Macintosh (which broke earlier) and ata_piix (breakage due to the LBA48
readback that Tejun fixed).
For normal users this brings us, I believe, to feature parity with old IDE
(and of course more featured in some areas too).
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/ata.h | 2 | ||||
-rw-r--r-- | include/linux/libata.h | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/ata.h b/include/linux/ata.h index ffb6cdc5010d..f4dc8dfeadc2 100644 --- a/include/linux/ata.h +++ b/include/linux/ata.h | |||
@@ -159,6 +159,8 @@ enum { | |||
159 | ATA_CMD_INIT_DEV_PARAMS = 0x91, | 159 | ATA_CMD_INIT_DEV_PARAMS = 0x91, |
160 | ATA_CMD_READ_NATIVE_MAX = 0xF8, | 160 | ATA_CMD_READ_NATIVE_MAX = 0xF8, |
161 | ATA_CMD_READ_NATIVE_MAX_EXT = 0x27, | 161 | ATA_CMD_READ_NATIVE_MAX_EXT = 0x27, |
162 | ATA_CMD_SET_MAX = 0xF9, | ||
163 | ATA_CMD_SET_MAX_EXT = 0x37, | ||
162 | ATA_CMD_READ_LOG_EXT = 0x2f, | 164 | ATA_CMD_READ_LOG_EXT = 0x2f, |
163 | 165 | ||
164 | /* READ_LOG_EXT pages */ | 166 | /* READ_LOG_EXT pages */ |
diff --git a/include/linux/libata.h b/include/linux/libata.h index 7c14a52079d5..73b86dd30aec 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -446,6 +446,7 @@ struct ata_device { | |||
446 | struct scsi_device *sdev; /* attached SCSI device */ | 446 | struct scsi_device *sdev; /* attached SCSI device */ |
447 | /* n_sector is used as CLEAR_OFFSET, read comment above CLEAR_OFFSET */ | 447 | /* n_sector is used as CLEAR_OFFSET, read comment above CLEAR_OFFSET */ |
448 | u64 n_sectors; /* size of device, if ATA */ | 448 | u64 n_sectors; /* size of device, if ATA */ |
449 | u64 n_sectors_boot; /* size of ATA device at startup */ | ||
449 | unsigned int class; /* ATA_DEV_xxx */ | 450 | unsigned int class; /* ATA_DEV_xxx */ |
450 | u16 id[ATA_ID_WORDS]; /* IDENTIFY xxx DEVICE data */ | 451 | u16 id[ATA_ID_WORDS]; /* IDENTIFY xxx DEVICE data */ |
451 | u8 pio_mode; | 452 | u8 pio_mode; |