mirror of https://github.com/acidanthera/audk.git
Update AtapiPassThru driver in Option ROM package to support to produce EFI Driver supported EFI version protocol, which is required for EFI drivers that are on PCI and other plug in cards.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4320 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
e89b6bfc01
commit
4cc9af6c58
|
@ -3390,5 +3390,18 @@ InitializeAtapiPassThru(
|
|||
);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
//
|
||||
// Install EFI Driver Supported EFI Version Protocol required for
|
||||
// EFI drivers that are on PCI and other plug in cards.
|
||||
//
|
||||
gAtapiScsiPassThruDriverSupportedEfiVersion.FirmwareVersion = PcdGet32 (PcdDriverSupportedEfiVersion);
|
||||
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||
&ImageHandle,
|
||||
&gEfiDriverSupportedEfiVersionProtocolGuid,
|
||||
&gAtapiScsiPassThruDriverSupportedEfiVersion,
|
||||
NULL
|
||||
);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
#include <Protocol/ScsiPassThru.h>
|
||||
#include <Protocol/ScsiPassThruExt.h>
|
||||
#include <Protocol/PciIo.h>
|
||||
#include <Protocol/DriverSupportedEfiVersion.h>
|
||||
|
||||
#include <Library/DebugLib.h>
|
||||
#include <Library/UefiDriverEntryPoint.h>
|
||||
|
@ -139,9 +140,10 @@ typedef struct {
|
|||
//
|
||||
// Global Variables
|
||||
//
|
||||
extern EFI_DRIVER_BINDING_PROTOCOL gAtapiScsiPassThruDriverBinding;
|
||||
extern EFI_COMPONENT_NAME_PROTOCOL gAtapiScsiPassThruComponentName;
|
||||
extern EFI_COMPONENT_NAME2_PROTOCOL gAtapiScsiPassThruComponentName2;
|
||||
extern EFI_DRIVER_BINDING_PROTOCOL gAtapiScsiPassThruDriverBinding;
|
||||
extern EFI_COMPONENT_NAME_PROTOCOL gAtapiScsiPassThruComponentName;
|
||||
extern EFI_COMPONENT_NAME2_PROTOCOL gAtapiScsiPassThruComponentName2;
|
||||
extern EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL gAtapiScsiPassThruDriverSupportedEfiVersion;
|
||||
|
||||
//
|
||||
// ATAPI Command op code
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
#
|
||||
|
||||
[Sources.common]
|
||||
DriverSupportedEfiVersion.c
|
||||
ComponentName.c
|
||||
AtapiPassThru.c
|
||||
AtapiPassThru.h
|
||||
|
@ -59,7 +60,12 @@
|
|||
gEfiScsiPassThruProtocolGuid # PROTOCOL BY_START
|
||||
gEfiExtScsiPassThruProtocolGuid # PROTOCOL BY_START
|
||||
gEfiPciIoProtocolGuid # PROTOCOL TO_START
|
||||
gEfiDriverSupportedEfiVersionProtocolGuid # PROTOCOL ALWAYS_PRODUCED
|
||||
|
||||
[FeaturePcd]
|
||||
gOptionRomPkgTokenSpaceGuid.PcdSupportScsiPassThru
|
||||
gOptionRomPkgTokenSpaceGuid.PcdSupportExtScsiPassThru
|
||||
|
||||
[Pcd]
|
||||
gOptionRomPkgTokenSpaceGuid.PcdDriverSupportedEfiVersion
|
||||
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
/** @file
|
||||
Copyright (c) 2007, 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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name: DriverSupportEfiVersion.c
|
||||
|
||||
**/
|
||||
#include "AtapiPassThru.h"
|
||||
|
||||
EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL gAtapiScsiPassThruDriverSupportedEfiVersion = {
|
||||
sizeof (EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL), // Size of Protocol structure.
|
||||
0 // Version number to be filled at start up.
|
||||
};
|
||||
|
|
@ -28,4 +28,9 @@
|
|||
gOptionRomPkgTokenSpaceGuid.PcdSupportScsiPassThru|TRUE|BOOLEAN|0x00010001
|
||||
gOptionRomPkgTokenSpaceGuid.PcdSupportExtScsiPassThru|TRUE|BOOLEAN|0x00010002
|
||||
|
||||
[PcdsFixedAtBuild.common]
|
||||
gOptionRomPkgTokenSpaceGuid.PcdDriverSupportedEfiVersion|0x0002000a|UINT32|0x00010003
|
||||
|
||||
[PcdsPatchableInModule.common]
|
||||
gOptionRomPkgTokenSpaceGuid.PcdDriverSupportedEfiVersion|0x0002000a|UINT32|0x00010003
|
||||
|
||||
|
|
|
@ -80,6 +80,7 @@
|
|||
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000042
|
||||
gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x06
|
||||
gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0x0
|
||||
gOptionRomPkgTokenSpaceGuid.PcdDriverSupportedEfiVersion|0x0002000a # EFI_2_10_SYSTEM_TABLE_REVISION
|
||||
|
||||
################################################################################
|
||||
#
|
||||
|
|
Loading…
Reference in New Issue