[PATCH 2/3] ide: preserve HPA by default

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Add CONFIG_IDE_PRESERVE_HPA config option (enabled by default)
to streamline the transition.

The config option help text is heavily based on Alan's
feedback about the issue.

Cc: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
---
 Documentation/kernel-parameters.txt |    4 ++--
 drivers/ide/Kconfig                 |   22 ++++++++++++++++++++++
 drivers/ide/ide.c                   |    4 ++++
 3 files changed, 28 insertions(+), 2 deletions(-)

Index: b/Documentation/kernel-parameters.txt
===================================================================
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -843,8 +843,8 @@ and is between 256 and 4096 characters. 
 			[HW] (E)IDE subsystem
 			Ignore HPA limit
 			Format: { "0" | "1" }
-			0 -- keep BIOS limits
-			1 -- ignore limits, using full disk (default)
+			0 -- keep BIOS limits (default)
+			1 -- ignore limits, using full disk
 
 	ide-pci-generic.all-generic-ide [HW] (E)IDE subsystem
 			Claim all unknown PCI IDE storage controllers.
Index: b/drivers/ide/Kconfig
===================================================================
--- a/drivers/ide/Kconfig
+++ b/drivers/ide/Kconfig
@@ -91,6 +91,28 @@ config BLK_DEV_IDE_SATA
 
 	  If unsure, say N.
 
+config IDE_PRESERVE_HPA
+	bool "Preserve Host Protected Area (please read help)"
+	default y
+	help
+	  From the majority of modern users perspectives ignoring the HPA
+	  breaks vendor RAID formats, GPT partitions or risks corrupting
+	  firmware.
+
+	  Unfortunately the original (kernel versions < 2.6.30) behavior
+	  (ignoring HPA, using full disk capacity) was introduced at the
+	  time when the main HPA use was with the jumper (or software)
+	  to make the drive look small enough for the BIOS to allow boot
+	  with big drives.
+
+	  To allow the maximum compatibility with the existing setups
+	  (using HPA and partitioned with HPA disabled) the default HPA
+	  behavior can be also later adjusted using "ignore_hpa" module
+	  parameter (i.e. "ide_core.ignore_hpa=1").
+
+	  Say Y unless you have such setup and for some reason cannot
+	  use "ignore_hpa" module parameter.
+
 config IDE_GD
 	tristate "generic ATA/ATAPI disk support"
 	default y
Index: b/drivers/ide/ide.c
===================================================================
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -166,7 +166,11 @@ struct bus_type ide_bus_type = {
 
 EXPORT_SYMBOL_GPL(ide_bus_type);
 
+#ifdef CONFIG_IDE_PRESERVE_HPA
+int ide_ignore_hpa = 0;
+#else
 int ide_ignore_hpa = 1;
+#endif
 EXPORT_SYMBOL_GPL(ide_ignore_hpa);
 
 module_param_named(ignore_hpa, ide_ignore_hpa, int, 0);
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux