So my questions with this are, how does the end-user who has drives with 
HPA on them configure them.

My main fear here is that we are creating yet another knob, with little 
explanation, and no automation behind it.  But maybe I'm missing 
something here.  If indeed there is no automatic selection behind it, 
then I fear the end result will just be more confusion and trouble 
amongst users.

It does seem to me that Linux's behavior here is itself a bug.  If the 
HPA has been explicitly configured, then it seems a poor choice to 
silently clobber it.

    -- Garrett

Alan Perry wrote:
> Template Version: @(#)sac_nextcase 1.64 07/13/07 SMI
> This information is Copyright 2007 Sun Microsystems
> 1. Introduction
>     1.1. Project/Component Working Name:
>        Host Protected Area (HPA) on x86 ATA drives
>     1.2. Name of Document Author/Supplier:
>        Author:  Lawrence Lee
>     1.3  Date of This Document:
>       19 November, 2007
> 4. Technical Description
>
>    4.1. Overview
>
>         This project provides limited support for the Host Protected Area
>         (HPA) feature of ATA disk drives.  The intent is to provide enough
>         support for Solaris to co-exist on drives that are either shipped
>         with this feature enabled or set by other OS's.
>
>    4.2. Problem Description
>
>         The Host Protected Area (HPA) is a feature that is optionally
>         implemented in the ATA drive firmware.  The HPA feature was
>         defined in ATA revision 5 specification and subsequently
>         modified in the ATA 6 specification so that it would also
>         support 48 bit addresses.
>
>         The HPA uses a feature in the ATA specification which sets the
>         maximum address on the ATA drive.  Any attempt to access disk
>         blocks beyond that address returns an invalid address.  Thus
>         creating an area on the disk that is normally safe even from
>         operating systems.
>
>         Dell has shipped systems with this feature enabled. I have been
>         unable to determine what data is in HPA area, and I have been
>         unable to find anyone at Dell who can explain further.
>
>         Linux restores the HPA address to the maximum address on the
>         drive, effectively disabling this feature until the next
>         power cycle. We had reports the Windows Vista also behaved
>         this way, but our tests have demonstrated that WinVT does NOT
>         alter or ignore the HPA.
>
>         The problem for Solaris users is that the HPA feature is restored
>         at the next power cycle and that the disk labels appear to extend
>         beyond the end of the disk. Which Solaris treats as an invalid
>         label and refuses to use the disk until it contains a correct
>         label. Which at present means deleting either the Linux partition
>         or the entire fdisk extended partition.
>
>         Two additional areas where HPA may be used are:
>         1) protecting metadata, either for encryption or RAIDs.    
>         2) laptop manufactures may use HPA to protect Recover CD images.
>
>    4.3. Proposal
>
>         This proposal would add support for a driver property HPA to the
>         x86 ata hba driver and implement configuration of this new
>         capability through the ata.conf file.
>
>         The proposed commitment level of this interface is Committed.
>
>         The proposed release binding is minor/patch.
>
>         The proposed driver property defined in the ata.conf file provides
>         a means to specify 1) a default HPA setting which applies to all
>         ATA drives and 2) to selectively assign a setting to individual
>         drives.
>
>         Drives are selected using the device path found under the
>         /devices tree.  This is something that a user can easily obtain
>         and something that will not change as hardware is added/removed
>         from the system.
>
>         The settings allow any of the following
>         1) Use the HPA setting that is already in the drive.
>         2) specify the amount of space in the protected area.
>         3) specify the amount of space in the unprotected area.
>         4) The setting will persist across reboots of the OS, and may be
>            set to reset or persist at the next drive power cycle.
>
>         The HPA property is specified using a property string array
>
>         'HPA=' default_value  ( ','  device_path ',' device_value  )* ';'
>
>            values are '*' | [ '-' ] number [ 'P' ]
>
>            '*' means don't change the HPA setting, use exactly as booted.
>
>            if '-' is specified, the number is disk capacity in sectors and
>            all sector address above number are assigned to the HPA
>
>            if '-' is omitted, number is size of protected area in sectors.
>
>            'P' means keep setting across power cycles
>
>         Examples:
>
>         -  Set the host protected area to 0 permanently for all ATA disks.
>            Permanently means the setting will persist across power cycles.
>            So Solaris will have access to every sector of the disk.
>
>                HPA="0P";
>
>         -  Don't change the HPA setting on all but two disks.
>            Make one disk a 200GB drive (390625000*512 =  200,000,000,000)
>            Give the other disk a 1MB Protected area
>
>                HPA="*",
>                    "pci at 0,0/pci-ide at 6/ide at 0", "-390625000",
>                    "pci at 0,0/pci-ide at 6/ide at 1", "2000";
>
>         More details/examples are available in the Evaluation section of
>         CR 5044205.
>
>         Solaris's default behavior will match Windows and will be set
>         in the ata.conf file that is shipped with Solaris.  In
>         extraordinary cases the uses may modify the ata.conf
>         properties using a standard text editor.
>
>    4.5. References
>
>         The HPA feature was introduced in the ATA revision 5 specification
>         and modified in the ATA revision 6 to accomodate 48 bit
>         addressing.
>
>         These are available on the internet or at:
>
>             /net/hs-uego02-03.west/export/home1/03/lclee
>                 ATA5-d1321r3-ATA-ATAPI.pdf
>                 ATA6-d1410r3-ATA-ATAPI.pdf
>                 ATA7-d1532v1r4b-ATA-ATAPI.pdf
>
> 6. Resources and Schedule
>     6.4. Steering Committee requested information
>       6.4.1. Consolidation C-team Name:
>               ON
>     6.5. ARC review type: FastTrack
>     6.6. ARC Exposure: open
>
>   


Reply via email to