• Alan Cox's avatar
    libata: Disable ATA8-ACS proposed Trusted Computing features by default · ae8d4ee7
    Alan Cox authored
    Historically word 48 in the identify data was used to mean 32bit I/O
    was supported for VLB IDE etc. ATA8 reassigns this word to the Trusted
    Computing Group, where it is used for TCG features. This means that
    an ATA8 TCG drive is going to trigger 32bit I/O on some systems which
    will be funny.
    
    Anyway we need to sort this out ready for ATA8 so:
    - Reorder the ata.h header a bit so the ata_version function occurs early
      in it
    - Make dword_io check the ATA version
    - Add an ATA8 version checking TCG presence test
    
    While we are at it the current drafts have a flaw where it may not be
    possible to disable TCG features at boot (and opt out of the trusted
    model) as TCG intends because it relies on presence of a different
    optional feature (DCS). Handle this in software by refusing the TCG
    commands if libata.allow_tpm is not set. (We must make it possible
    as some environments such as proprietary VDR devices will doubtless
    want to use it to lock up content)
    
    Finally as with CPRM print a warning so that the user knows they may
    not be able to full access and use the device.
    Signed-off-by: default avatarAlan Cox <alan@redhat.com>
    ae8d4ee7
libata-scsi.c 91.8 KB