From: erictian Date: Tue, 29 May 2012 06:59:26 +0000 (+0000) Subject: MdeModulePkg/Ata: Use a new Pcd named "PcdAtaSmartEnable" to control if enabling... X-Git-Tag: edk2-stable201903~13375 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=fc80ee69cba877e2d8efed767e23ab36fc36d91c MdeModulePkg/Ata: Use a new Pcd named "PcdAtaSmartEnable" to control if enabling S.M.A.R.T feature by default. Signed-off-by: Feng Tian Reviewed-by: Sun Rui git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13369 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.c b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.c index 5a6a3d7d0f..42ee5bc580 100644 --- a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.c +++ b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.c @@ -1,7 +1,7 @@ /** @file The file for AHCI mode of ATA host controller. - Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.
+ Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -2349,7 +2349,7 @@ AhciModeInitialization ( // // If the device is a hard disk, then try to enable S.M.A.R.T feature // - if (DeviceType == EfiIdeHarddisk) { + if ((DeviceType == EfiIdeHarddisk) && PcdGetBool (PcdAtaSmartEnable)) { AhciAtaSmartSupport ( PciIo, AhciRegisters, diff --git a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf index 771eae2c76..7f4a668433 100644 --- a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf +++ b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf @@ -4,7 +4,7 @@ # This driver installs AtaPassThru and ExtScsiPassThru protocol in each ide/sata controller # to access to all attached Ata/Atapi devices. # -# Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.
+# Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.
# # This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License @@ -65,3 +65,6 @@ gEfiIdeControllerInitProtocolGuid # TO_START gEfiDevicePathProtocolGuid # TO_START gEfiPciIoProtocolGuid # TO_START + +[Pcd] + gEfiMdeModulePkgTokenSpaceGuid.PcdAtaSmartEnable diff --git a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/IdeMode.c b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/IdeMode.c index 768b51c1fe..caffc1cde8 100644 --- a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/IdeMode.c +++ b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/IdeMode.c @@ -1,7 +1,7 @@ /** @file Header file for AHCI mode of ATA host controller. - Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.
+ Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -2667,7 +2667,7 @@ DetectAndConfigIdeDevice ( // // If the device is a hard disk, then try to enable S.M.A.R.T feature // - if (DeviceType == EfiIdeHarddisk) { + if ((DeviceType == EfiIdeHarddisk) && PcdGetBool (PcdAtaSmartEnable)) { IdeAtaSmartSupport ( Instance, IdeChannel, diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index ba9e3300cd..62c0bf61b3 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -462,6 +462,9 @@ ## If TRUE, S3 performance data will be supported in ACPI FPDT table. gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwarePerformanceDataTableS3Support|TRUE|BOOLEAN|0x00010064 + ## This PCD specified whether the S.M.A.R.T feature of attached ATA hard disks are enabled. + gEfiMdeModulePkgTokenSpaceGuid.PcdAtaSmartEnable|TRUE|BOOLEAN|0x00010065 + [PcdsFeatureFlag.IA32, PcdsFeatureFlag.X64] ## # This feature flag specifies whether DxeIpl switches to long mode to enter DXE phase.