summaryrefslogtreecommitdiffstats
path: root/OptionRomPkg/UndiRuntimeDxe/Init.c
diff options
context:
space:
mode:
authorYe Ting <ting.ye@intel.com>2015-04-30 02:57:10 +0000
committertye1 <tye1@Edk2>2015-04-30 02:57:10 +0000
commit2bbe9553c495bb9024b4b51743142a0a50e0d370 (patch)
tree3cf8c8c3b5e30d44a3f1410115bb1eb5c6f3961e /OptionRomPkg/UndiRuntimeDxe/Init.c
parent1f17c7f71b14307ff5e0f9694ee800364c865374 (diff)
downloadedk2-2bbe9553c495bb9024b4b51743142a0a50e0d370.tar.gz
edk2-2bbe9553c495bb9024b4b51743142a0a50e0d370.tar.bz2
edk2-2bbe9553c495bb9024b4b51743142a0a50e0d370.zip
Add IPV6 support from UNDI
Add new information block ‘IPV6 support from UNDI’ in AIP protocol and provide sample implementation in UNDI driver. Update PXE driver to get ‘Ipv6Available’ of PXE BC Mode data from UNDI driver, if unsupported then not to start PXE over IPv6 path. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ye Ting <ting.ye@intel.com> Reviewed-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17275 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'OptionRomPkg/UndiRuntimeDxe/Init.c')
-rw-r--r--OptionRomPkg/UndiRuntimeDxe/Init.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/OptionRomPkg/UndiRuntimeDxe/Init.c b/OptionRomPkg/UndiRuntimeDxe/Init.c
index 4e4327005f..41892ca2b6 100644
--- a/OptionRomPkg/UndiRuntimeDxe/Init.c
+++ b/OptionRomPkg/UndiRuntimeDxe/Init.c
@@ -435,7 +435,7 @@ UndiDriverStart (
UNDI32Device->NIIProtocol_31.MinorVer = PXE_ROMID_MINORVER_31;
UNDI32Device->NIIProtocol_31.ImageSize = 0;
UNDI32Device->NIIProtocol_31.ImageAddr = 0;
- UNDI32Device->NIIProtocol_31.Ipv6Supported = FALSE;
+ UNDI32Device->NIIProtocol_31.Ipv6Supported = TRUE;
UNDI32Device->NIIProtocol_31.StringId[0] = 'U';
UNDI32Device->NIIProtocol_31.StringId[1] = 'N';
@@ -444,6 +444,10 @@ UndiDriverStart (
UNDI32Device->DeviceHandle = NULL;
+ UNDI32Device->Aip.GetInformation = UndiAipGetInfo;
+ UNDI32Device->Aip.SetInformation = UndiAipSetInfo;
+ UNDI32Device->Aip.GetSupportedTypes = UndiAipGetSupportedTypes;
+
//
// install both the 3.0 and 3.1 NII protocols.
//
@@ -453,6 +457,8 @@ UndiDriverStart (
&UNDI32Device->NIIProtocol_31,
&gEfiDevicePathProtocolGuid,
UNDI32Device->Undi32DevPath,
+ &gEfiAdapterInformationProtocolGuid,
+ &UNDI32Device->Aip,
NULL
);
@@ -497,6 +503,8 @@ UndiErrorAllocDataPointer:
&UNDI32Device->NIIProtocol_31,
&gEfiDevicePathProtocolGuid,
UNDI32Device->Undi32DevPath,
+ &gEfiAdapterInformationProtocolGuid,
+ &UNDI32Device->Aip,
NULL
);