From 1e999736cafdffc374f22eed37b291129ef82e4e Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Wed, 11 Apr 2007 00:23:13 +0100 Subject: libata: HPA support Signed-off-by: Alan Cox 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 --- include/linux/ata.h | 2 ++ include/linux/libata.h | 1 + 2 files changed, 3 insertions(+) (limited to 'include') diff --git a/include/linux/ata.h b/include/linux/ata.h index ffb6cdc5010..f4dc8dfeadc 100644 --- a/include/linux/ata.h +++ b/include/linux/ata.h @@ -159,6 +159,8 @@ enum { ATA_CMD_INIT_DEV_PARAMS = 0x91, ATA_CMD_READ_NATIVE_MAX = 0xF8, ATA_CMD_READ_NATIVE_MAX_EXT = 0x27, + ATA_CMD_SET_MAX = 0xF9, + ATA_CMD_SET_MAX_EXT = 0x37, ATA_CMD_READ_LOG_EXT = 0x2f, /* READ_LOG_EXT pages */ diff --git a/include/linux/libata.h b/include/linux/libata.h index 7c14a52079d..73b86dd30ae 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h @@ -446,6 +446,7 @@ struct ata_device { struct scsi_device *sdev; /* attached SCSI device */ /* n_sector is used as CLEAR_OFFSET, read comment above CLEAR_OFFSET */ u64 n_sectors; /* size of device, if ATA */ + u64 n_sectors_boot; /* size of ATA device at startup */ unsigned int class; /* ATA_DEV_xxx */ u16 id[ATA_ID_WORDS]; /* IDENTIFY xxx DEVICE data */ u8 pio_mode; -- cgit v1.2.3