linux/drivers/ide
Bartlomiej Zolnierkiewicz 075affcbe0 ide: preserve Host Protected Area by default (v2)
From the perspective of most users of recent systems, disabling Host
Protected Area (HPA) can break vendor RAID formats, GPT partitions and
risks corrupting firmware or overwriting vendor system recovery tools.

Unfortunately the original (kernels < 2.6.30) behavior (unconditionally
disabling HPA and using full disk capacity) was introduced at the time
when the main use of HPA was to make the drive look small enough for the
BIOS to allow the system to boot with large capacity drives.

Thus to allow the maximum compatibility with the existing setups (using
HPA and partitioned with HPA disabled) we automically disable HPA if
any partitions overlapping HPA are detected.  Additionally HPA can also
be disabled using the "nohpa" module parameter (i.e. "ide_core.nohpa=0.0"
to disable HPA on /dev/hda).

v2:
Fix ->resume HPA support.

While at it:
- remove stale "idebus=" entry from Documentation/kernel-parameters.txt

Cc: Robert Hancock <hancockrwd@gmail.com>
Cc: Frans Pop <elendil@planet.nl>
Cc: "Andries E. Brouwer" <Andries.Brouwer@cwi.nl>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
[patch description was based on input from Alan Cox and Frans Pop]
Emphatically-Acked-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2009-06-07 13:52:52 +02:00
..
aec62xx.c
ali14xx.c
alim15x3.c
amd74xx.c
at91_ide.c at91_ide: turn on PIO 6 support 2009-04-08 14:13:04 +02:00
atiixp.c
au1xxx-ide.c ide: turn selectproc() method into dev_select() method (take 5) 2009-03-31 20:15:32 +02:00
buddha.c
cmd64x.c
cmd640.c
cs5520.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
cs5530.c
cs5535.c
cs5536.c cs5536: define dma_sff_read_status() method 2009-04-18 17:42:20 +02:00
cy82c693.c
delkin_cb.c
dtc2278.c
falconide.c ide: falconide/q40ide - Use __ide_mm_{in,out}sw() for data 2009-04-08 14:12:48 +02:00
gayle.c ide: remove CONFIG_BLK_DEV_IDEDOUBLER config option 2009-03-31 20:15:26 +02:00
hpt366.c hpt366: use ATA_DMA_* constants 2009-04-18 17:42:19 +02:00
ht6560b.c ide: turn selectproc() method into dev_select() method (take 5) 2009-03-31 20:15:32 +02:00
icside.c icside: register second channel of version 6 PCB 2009-05-16 19:03:36 +02:00
ide_platform.c
ide-4drives.c
ide-acpi.c ide: simplify 'struct ide_taskfile' 2009-04-08 14:13:02 +02:00
ide-atapi.c ide: refactor tf_read() method 2009-04-08 14:13:03 +02:00
ide-cd_ioctl.c
ide-cd_verbose.c
ide-cd.c ide-cd: fix REQ_QUIET tests in cdrom_decode_status 2009-04-30 18:24:34 +02:00
ide-cd.h
ide-cs.c
ide-devsets.c
ide-disk_ioctl.c
ide-disk_proc.c ide: replace IDE_TFLAG_* flags by IDE_VALID_* 2009-04-08 14:13:01 +02:00
ide-disk.c ide: preserve Host Protected Area by default (v2) 2009-06-07 13:52:52 +02:00
ide-disk.h
ide-dma-sff.c ide: remove wmb() from ide-dma-sff.c and scc_pata.c 2009-04-08 14:12:49 +02:00
ide-dma.c ide: add support for CFA specified transfer modes (take 3) 2009-03-31 20:15:28 +02:00
ide-eh.c ide: inline SELECT_DRIVE() 2009-03-31 20:15:33 +02:00
ide-floppy_ioctl.c
ide-floppy_proc.c
ide-floppy.c
ide-floppy.h
ide-gd.c ide-gd: implement block device ->set_capacity method (v2) 2009-06-07 13:52:52 +02:00
ide-gd.h
ide-generic.c
ide-h8300.c ide-h8300: remove custom tf_{read|load}() methods 2009-04-08 14:12:51 +02:00
ide-io-std.c ide: refactor tf_read() method 2009-04-08 14:13:03 +02:00
ide-io.c ide: fix OOPS during ide-cd error recovery 2009-05-22 16:23:37 +02:00
ide-ioctls.c ide: simplify 'struct ide_taskfile' 2009-04-08 14:13:02 +02:00
ide-iops.c ide: fix 40-wire cable detection for TSST SH-S202* ATAPI devices (v2) 2009-05-22 16:23:36 +02:00
ide-legacy.c
ide-lib.c ide: improve failed opcode reporting 2009-05-22 16:23:38 +02:00
ide-park.c ide: replace IDE_TFLAG_* flags by IDE_VALID_* 2009-04-08 14:13:01 +02:00
ide-pci-generic.c ide_pci_generic: add quirk for Netcell ATA RAID 2009-05-30 20:06:54 +02:00
ide-pio-blacklist.c
ide-pm.c ide: replace IDE_TFLAG_* flags by IDE_VALID_* 2009-04-08 14:13:01 +02:00
ide-pnp.c
ide-probe.c ide: report timeouts in ide_busy_sleep() 2009-05-22 16:23:38 +02:00
ide-proc.c ide: replace IDE_TFLAG_* flags by IDE_VALID_* 2009-04-08 14:13:01 +02:00
ide-scan-pci.c
ide-sysfs.c
ide-tape.c ide-tape: remove back-to-back REQUEST_SENSE detection 2009-05-16 19:03:18 +02:00
ide-taskfile.c ide: refactor tf_read() method 2009-04-08 14:13:03 +02:00
ide-timings.c ide: add support for CFA specified transfer modes (take 3) 2009-03-31 20:15:28 +02:00
ide-xfer-mode.c ide: add support for CFA specified transfer modes (take 3) 2009-03-31 20:15:28 +02:00
ide.c ide: preserve Host Protected Area by default (v2) 2009-06-07 13:52:52 +02:00
it821x.c
it8172.c
it8213.c
jmicron.c
Kconfig ide: be able to build pmac driver without IDE built-in 2009-03-31 20:15:34 +02:00
macide.c
Makefile
ns87415.c ide: refactor tf_read() method 2009-04-08 14:13:03 +02:00
opti621.c
palm_bk3710.c palm_bk3710: palm_bk3710_udmatimings[] CodingStyle fixup 2009-04-23 22:53:45 +02:00
pdc202xx_new.c
pdc202xx_old.c pdc202xx_old: fix resetproc() method 2009-06-07 13:52:50 +02:00
piix.c piix: The Sony TZ90 needs the cable type hardcoding 2009-05-16 19:03:36 +02:00
pmac.c ide: Remove void casts 2009-04-18 17:42:19 +02:00
q40ide.c ide: falconide/q40ide - Use __ide_mm_{in,out}sw() for data 2009-04-08 14:12:48 +02:00
qd65xx.c ide: turn selectproc() method into dev_select() method (take 5) 2009-03-31 20:15:32 +02:00
qd65xx.h
rapide.c
rz1000.c
sc1200.c
scc_pata.c ide: refactor tf_read() method 2009-04-08 14:13:03 +02:00
serverworks.c
setup-pci.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sgiioc4.c ide: turn selectproc() method into dev_select() method (take 5) 2009-03-31 20:15:32 +02:00
siimage.c
sis5513.c
sl82c105.c ide: add support for CFA specified transfer modes (take 3) 2009-03-31 20:15:28 +02:00
slc90e66.c
tc86c001.c
triflex.c
trm290.c ide: turn selectproc() method into dev_select() method (take 5) 2009-03-31 20:15:32 +02:00
tx4938ide.c tx493[89]ide: Remove big endian version of tx493[89]ide_tf_{load,read} 2009-04-08 14:12:52 +02:00
tx4939ide.c ide: refactor tf_load() method 2009-04-08 14:13:03 +02:00
umc8672.c ide: merge ide_hwgroup_t with ide_hwif_t (v2) 2009-01-06 17:20:50 +01:00
via82cxxx.c via82cxxx: Add VIA VX855 PCI Device ID 2009-05-22 16:23:39 +02:00