Clean up the private GUID definition in module Level.

0. Remove the unused private GUID from module source files.
1. Use gEfiCallerIdGuid replace of the private module GUID.
2. Add the public header files to define HII FormSet and PackageList GUID used in every HII driver.
3. Move two EBC protocols for debug purpose from EBC driver to MdeModulePkg Include directory. 

Signed-off-by: lgao4
Reviewed-by: ydong10 gdong1 tye jfan12 wli12 rsun3 jyao1



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12373 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lgao4 2011-09-18 12:21:01 +00:00
parent b36d134faf
commit c8ad2d7a29
58 changed files with 755 additions and 434 deletions

View File

@ -26,14 +26,6 @@ EFI_DRIVER_BINDING_PROTOCOL gSCSIBusDriverBinding = {
NULL
};
//
// The ScsiBusProtocol is just used to locate ScsiBusDev
// structure in the SCSIBusDriverBindingStop(). Then we can
// Close all opened protocols and release this structure.
//
EFI_GUID mScsiBusProtocolGuid = EFI_SCSI_BUS_PROTOCOL_GUID;
VOID *mWorkingBuffer;
/**
@ -389,7 +381,7 @@ SCSIBusDriverBindingStart (
//
Status = gBS->InstallProtocolInterface (
&Controller,
&mScsiBusProtocolGuid,
&gEfiCallerIdGuid,
EFI_NATIVE_INTERFACE,
&ScsiBusDev->BusIdentify
);
@ -403,7 +395,7 @@ SCSIBusDriverBindingStart (
//
Status = gBS->OpenProtocol (
Controller,
&mScsiBusProtocolGuid,
&gEfiCallerIdGuid,
(VOID **) &BusIdentify,
This->DriverBindingHandle,
Controller,
@ -560,7 +552,7 @@ SCSIBusDriverBindingStop (
//
Status = gBS->OpenProtocol (
Controller,
&mScsiBusProtocolGuid,
&gEfiCallerIdGuid,
(VOID **) &Scsidentifier,
This->DriverBindingHandle,
Controller,
@ -578,7 +570,7 @@ SCSIBusDriverBindingStop (
//
gBS->UninstallProtocolInterface (
Controller,
&mScsiBusProtocolGuid,
&gEfiCallerIdGuid,
&ScsiBusDev->BusIdentify
);

View File

@ -75,11 +75,14 @@ typedef struct {
//
// SCSI Bus Controller device strcuture
//
#define EFI_SCSI_BUS_PROTOCOL_GUID \
{ \
0x5261213D, 0x3A3D, 0x441E, {0xB3, 0xAF, 0x21, 0xD3, 0xF7, 0xA4, 0xCA, 0x17} \
}
//
// The ScsiBusProtocol is just used to locate ScsiBusDev
// structure in the SCSIBusDriverBindingStop(). Then we can
// Close all opened protocols and release this structure.
// ScsiBusProtocol is the private protocol.
// gEfiCallerIdGuid will be used as its protocol guid.
//
typedef struct _EFI_SCSI_BUS_PROTOCOL {
UINT64 Reserved;
} EFI_SCSI_BUS_PROTOCOL;

View File

@ -15,11 +15,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include "UsbBus.h"
//
// USB_BUS_PROTOCOL is only used to locate USB_BUS
//
EFI_GUID mUsbBusProtocolGuid = EFI_USB_BUS_PROTOCOL_GUID;
EFI_USB_IO_PROTOCOL mUsbIoProtocol = {
UsbIoControlTransfer,
UsbIoBulkTransfer,
@ -982,7 +977,7 @@ UsbBusBuildProtocol (
//
Status = gBS->InstallProtocolInterface (
&Controller,
&mUsbBusProtocolGuid,
&gEfiCallerIdGuid,
EFI_NATIVE_INTERFACE,
&UsbBus->BusId
);
@ -1045,7 +1040,7 @@ FREE_ROOTHUB:
}
UNINSTALL_USBBUS:
gBS->UninstallProtocolInterface (Controller, &mUsbBusProtocolGuid, &UsbBus->BusId);
gBS->UninstallProtocolInterface (Controller, &gEfiCallerIdGuid, &UsbBus->BusId);
CLOSE_HC:
if (UsbBus->Usb2Hc != NULL) {
@ -1277,7 +1272,7 @@ UsbBusControllerDriverStart (
//
Status = gBS->OpenProtocol (
Controller,
&mUsbBusProtocolGuid,
&gEfiCallerIdGuid,
(VOID **) &UsbBusId,
This->DriverBindingHandle,
Controller,
@ -1298,7 +1293,7 @@ UsbBusControllerDriverStart (
//
Status = gBS->OpenProtocol (
Controller,
&mUsbBusProtocolGuid,
&gEfiCallerIdGuid,
(VOID **) &UsbBusId,
This->DriverBindingHandle,
Controller,
@ -1417,7 +1412,7 @@ UsbBusControllerDriverStop (
//
Status = gBS->OpenProtocol (
Controller,
&mUsbBusProtocolGuid,
&gEfiCallerIdGuid,
(VOID **) &BusId,
This->DriverBindingHandle,
Controller,
@ -1460,7 +1455,7 @@ UsbBusControllerDriverStop (
//
// Uninstall the bus identifier and close USB_HC/USB2_HC protocols
//
gBS->UninstallProtocolInterface (Controller, &mUsbBusProtocolGuid, &Bus->BusId);
gBS->UninstallProtocolInterface (Controller, &gEfiCallerIdGuid, &Bus->BusId);
if (Bus->Usb2Hc != NULL) {
gBS->CloseProtocol (

View File

@ -138,9 +138,6 @@ typedef struct _USB_HUB_API USB_HUB_API;
#define USB_BIT(a) ((UINTN)(1 << (a)))
#define USB_BIT_IS_SET(Data, Bit) ((BOOLEAN)(((Data) & (Bit)) == (Bit)))
#define EFI_USB_BUS_PROTOCOL_GUID \
{0x2B2F68CC, 0x0CD2, 0x44cf, {0x8E, 0x8B, 0xBB, 0xA2, 0x0B, 0x1B, 0x5B, 0x75}}
#define USB_INTERFACE_FROM_USBIO(a) \
CR(a, USB_INTERFACE, UsbIo, USB_INTERFACE_SIGNATURE)
@ -149,6 +146,8 @@ typedef struct _USB_HUB_API USB_HUB_API;
//
// Used to locate USB_BUS
// UsbBusProtocol is the private protocol.
// gEfiCallerIdGuid will be used as its protocol guid.
//
typedef struct _EFI_USB_BUS_PROTOCOL {
UINT64 Reserved;

View File

@ -24,6 +24,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Protocol/DevicePath.h>
#include <Guid/HiiKeyBoardLayout.h>
#include <Guid/UsbKeyBoardLayout.h>
#include <Library/DebugLib.h>
#include <Library/ReportStatusCodeLib.h>

View File

@ -14,9 +14,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include "KeyBoard.h"
EFI_GUID mUsbKeyboardLayoutPackageGuid = USB_KEYBOARD_LAYOUT_PACKAGE_GUID;
EFI_GUID mUsbKeyboardLayoutKeyGuid = USB_KEYBOARD_LAYOUT_KEY_GUID;
USB_KEYBOARD_LAYOUT_PACK_BIN mUsbKeyboardLayoutBin = {
sizeof (USB_KEYBOARD_LAYOUT_PACK_BIN), // Binary size
@ -338,7 +335,7 @@ InstallDefaultKeyboardLayout (
// Install Keyboard Layout package to HII database
//
HiiHandle = HiiAddPackages (
&mUsbKeyboardLayoutPackageGuid,
&gUsbKeyboardLayoutPackageGuid,
UsbKeyboardDevice->ControllerHandle,
&mUsbKeyboardLayoutBin,
NULL
@ -350,7 +347,7 @@ InstallDefaultKeyboardLayout (
//
// Set current keyboard layout
//
Status = HiiDatabase->SetKeyboardLayout (HiiDatabase, &mUsbKeyboardLayoutKeyGuid);
Status = HiiDatabase->SetKeyboardLayout (HiiDatabase, &gUsbKeyboardLayoutKeyGuid);
return Status;
}

View File

@ -18,16 +18,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include "EfiKey.h"
#define USB_KEYBOARD_LAYOUT_PACKAGE_GUID \
{ \
0xc0f3b43, 0x44de, 0x4907, { 0xb4, 0x78, 0x22, 0x5f, 0x6f, 0x62, 0x89, 0xdc } \
}
#define USB_KEYBOARD_LAYOUT_KEY_GUID \
{ \
0x3a4d7a7c, 0x18a, 0x4b42, { 0x81, 0xb3, 0xdc, 0x10, 0xe3, 0xb5, 0x91, 0xbd } \
}
#define USB_KEYBOARD_KEY_COUNT 104
#define USB_KEYBOARD_LANGUAGE_STR_LEN 5 // RFC4646 Language Code: "en-US"

View File

@ -74,6 +74,8 @@
# which will be triggered by EFI_HII_DATABASE_PROTOCOL.SetKeyboardLayout().
#
gEfiHiiKeyBoardLayoutGuid ## SOMETIME_CONSUMES ## Event
gUsbKeyboardLayoutPackageGuid
gUsbKeyboardLayoutKeyGuid
[Protocols]
gEfiUsbIoProtocolGuid ## TO_START

View File

@ -0,0 +1,41 @@
/** @file
GUIDs used as HII FormSet and HII Package list GUID in Driver Sample driver.
Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that 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.
**/
#ifndef __DRIVER_SAMPLE_HII_GUID_H__
#define __DRIVER_SAMPLE_HII_GUID_H__
#define DRIVER_SAMPLE_FORMSET_GUID \
{ \
0xA04A27f4, 0xDF00, 0x4D42, {0xB5, 0x52, 0x39, 0x51, 0x13, 0x02, 0x11, 0x3D} \
}
#define DRIVER_SAMPLE_INVENTORY_GUID \
{ \
0xb3f56470, 0x6141, 0x4621, {0x8f, 0x19, 0x70, 0x4e, 0x57, 0x7a, 0xa9, 0xe8} \
}
#define EFI_USER_INFO_ACCESS_SETUP_ADMIN_GUID \
{ 0x85b75607, 0xf7ce, 0x471e, { 0xb7, 0xe4, 0x2a, 0xea, 0x5f, 0x72, 0x32, 0xee } }
#define EFI_IFR_REFRESH_ID_OP_GUID \
{ \
0xF5E655D9, 0x02A6, 0x46f2, {0x9E, 0x76, 0xB8, 0xBE, 0x8E, 0x60, 0xAB, 0x22} \
}
extern EFI_GUID gDriverSampleFormSetGuid;
extern EFI_GUID gDriverSampleInventoryGuid;
extern EFI_GUID gEfiUserInfoAccessSetupAdminGuid;
extern EFI_GUID gEfiIfrRefreshIdOpGuid;
#endif

View File

@ -0,0 +1,23 @@
/** @file
GUID used as HII FormSet GUID in HII Resource Sample driver.
Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that 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.
**/
#ifndef __HII_RESOURCE_SAMPLE_HII_GUID_H__
#define __HII_RESOURCE_SAMPLE_HII_GUID_H__
#define HII_RESOURCE_SAMPLE_FORM_SET_GUID \
{ 0x4f4ef7f0, 0xaa29, 0x4ce9, { 0xba, 0x41, 0x64, 0x3e, 0x1, 0x23, 0xa9, 0x9f }}
extern EFI_GUID gHiiResourceSamleFormSetGuid;
#endif

View File

@ -0,0 +1,25 @@
/** @file
GUIDs used as HII FormSet and HII Package list GUID in Ip4ConfigDxe driver.
Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that 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.
**/
#ifndef __IP4_CONFIG_HII_GUID_H__
#define __IP4_CONFIG_HII_GUID_H__
#define EFI_NIC_IP4_CONFIG_NVDATA_GUID \
{ \
0x9d5b53f, 0xf4b0, 0x4f59, { 0xa0, 0xb1, 0x7b, 0x57, 0xd3, 0x5c, 0xe, 0x5 } \
}
extern EFI_GUID gNicIp4ConfigNvDataGuid;
#endif

View File

@ -0,0 +1,31 @@
/** @file
GUIDs used as HII FormSet and HII Package list GUID in IP4 IScsiDxe driver.
Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that 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.
**/
#ifndef __IP4_ISCSI_CONFIG_HII_GUID_H__
#define __IP4_ISCSI_CONFIG_HII_GUID_H__
#define IP4_ISCSI_CONFIG_GUID \
{ \
0x6456ed61, 0x3579, 0x41c9, { 0x8a, 0x26, 0x0a, 0x0b, 0xd6, 0x2b, 0x78, 0xfc } \
}
#define ISCSI_CHAP_AUTH_INFO_GUID \
{ \
0x786ec0ac, 0x65ae, 0x4d1b, {0xb1, 0x37, 0xd, 0x11, 0xa, 0x48, 0x37, 0x97} \
}
extern EFI_GUID gIp4IScsiConfigGuid;
extern EFI_GUID gIScsiCHAPAuthInfoGuid;
#endif

View File

@ -0,0 +1,31 @@
/** @file
GUID is for MTC variable.
Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that 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.
**/
#ifndef __MTC_VENDOR_GUID_H__
#define __MTC_VENDOR_GUID_H__
//
// Vendor GUID of the variable for the high part of monotonic counter (UINT32).
//
#define MTC_VENDOR_GUID \
{ 0xeb704011, 0x1402, 0x11d3, { 0x8e, 0x77, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } }
//
// Name of the variable for the high part of monotonic counter
//
#define MTC_VARIABLE_NAME L"MTC"
extern EFI_GUID gMtcVendorGuid;
#endif

View File

@ -0,0 +1,25 @@
/** @file
GUIDs used as HII FormSet and HII Package list GUID in PlatDriOverride driver.
Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that 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.
**/
#ifndef __PLATFORM_DRIVER_OVERRIDE_HII_GUID_H__
#define __PLATFORM_DRIVER_OVERRIDE_HII_GUID_H__
#define PLAT_OVER_MNGR_GUID \
{ \
0x8614567d, 0x35be, 0x4415, {0x8d, 0x88, 0xbd, 0x7d, 0xc, 0x9c, 0x70, 0xc0} \
}
extern EFI_GUID gPlatformOverridesManagerGuid;
#endif

View File

@ -0,0 +1,37 @@
/** @file
USB KeyBoard Layout GUIDs
Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that 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.
**/
#ifndef __USB_KEYBOARD_LAYOUT_GUID_H__
#define __USB_KEYBOARD_LAYOUT_GUID_H__
//
// GUID for USB keyboard HII package list.
//
#define USB_KEYBOARD_LAYOUT_PACKAGE_GUID \
{ \
0xc0f3b43, 0x44de, 0x4907, { 0xb4, 0x78, 0x22, 0x5f, 0x6f, 0x62, 0x89, 0xdc } \
}
//
// GUID for USB keyboard layout
//
#define USB_KEYBOARD_LAYOUT_KEY_GUID \
{ \
0x3a4d7a7c, 0x18a, 0x4b42, { 0x81, 0xb3, 0xdc, 0x10, 0xe3, 0xb5, 0x91, 0xbd } \
}
extern EFI_GUID gUsbKeyboardLayoutPackageGuid;
extern EFI_GUID gUsbKeyboardLayoutKeyGuid;
#endif

View File

@ -0,0 +1,25 @@
/** @file
GUIDs used as HII FormSet and HII Package list GUID in VlanConfig driver.
Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that 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.
**/
#ifndef __VLAN_CONFIG_HII_GUID_H__
#define __VLAN_CONFIG_HII_GUID_H__
#define VLAN_CONFIG_FORM_SET_GUID \
{ \
0xd79df6b0, 0xef44, 0x43bd, {0x97, 0x97, 0x43, 0xe9, 0x3b, 0xcf, 0x5f, 0xa8 } \
}
extern EFI_GUID gVlanConfigFormSetGuid;
#endif

View File

@ -0,0 +1,25 @@
/** @file
GUID has all zero values.
Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that 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.
**/
#ifndef __ZERO_GUID_H__
#define __ZERO_GUID_H__
#define ZERO_GUID \
{ \
0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0} \
}
extern EFI_GUID gZeroGuid;
#endif

View File

@ -0,0 +1,124 @@
/** @file
EBC Simple Debugger protocol for debug EBC code.
Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
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.
**/
#ifndef _EBC_SIMPLE_DEBUGGER_PROTOCOL_H_
#define _EBC_SIMPLE_DEBUGGER_PROTOCOL_H_
#include <Protocol\DebugSupport.h>
#include <Protocol\EbcVmTest.h>
#define EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL_GUID \
{ \
0x2a72d11e, 0x7376, 0x40f6, { 0x9c, 0x68, 0x23, 0xfa, 0x2f, 0xe3, 0x63, 0xf1 } \
}
//
// Defines for a simple EBC debugger interface
//
typedef struct _EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL;
/**
Trig Exception on EBC VM.
@param[in] This A pointer to the EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL structure.
@param[in] VmPtr A pointer to a VM context.
@param[in] ExceptionType Exception to be trigged.
@retval EFI_UNSUPPORTED No support for it.
@retval EFI_SUCCESS Exception is trigged.
**/
typedef
EFI_STATUS
(EFIAPI *EBC_DEBUGGER_SIGNAL_EXCEPTION) (
IN EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL *This,
IN VM_CONTEXT *VmPtr,
IN EFI_EXCEPTION_TYPE ExceptionType
);
/**
Given a pointer to a new VM context, debug one or more instructions.
@param[in] This A pointer to the EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL structure.
@param[in] VmPtr A pointer to a VM context.
@retval EFI_UNSUPPORTED No support for it.
@retval EFI_SUCCESS Debug one or more instructions.
**/
typedef
VOID
(EFIAPI *EBC_DEBUGGER_DEBUG) (
IN EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL *This,
IN VM_CONTEXT *VmPtr
);
/**
Given a pointer to a new VM context, dump one or more instructions.
@param[in] This A pointer to the EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL structure.
@param[in] VmPtr A pointer to a VM context.
@param[in] DasmString Dump string buffer.
@param[in] DasmStringSize Dump string size.
@retval EFI_UNSUPPORTED No support for it.
@retval EFI_SUCCESS Dump one or more instructions.
**/
typedef
UINT32
(EFIAPI *EBC_DEBUGGER_DASM) (
IN EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL *This,
IN VM_CONTEXT *VmPtr,
IN UINT16 *DasmString OPTIONAL,
IN UINT32 DasmStringSize
);
/**
This interface allows you to configure the EBC debug support
driver. For example, turn on or off saving and printing of
delta VM even if called. Or to even disable the entire interface,
in which case all functions become no-ops.
@param[in] This A pointer to the EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL structure.
@param[in] ConfigId ID to be configured.
@param[in] ConfigValue Value to be set.
@retval EFI_UNSUPPORTED No support for it.
@retval EFI_SUCCESS Configure EBC debug.
**/
typedef
EFI_STATUS
(EFIAPI *EBC_DEBUGGER_CONFIGURE) (
IN EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL *This,
IN UINT32 ConfigId,
IN UINTN ConfigValue
);
//
// Prototype for the actual EBC debug support protocol interface
//
struct _EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL {
EBC_DEBUGGER_DEBUG Debugger;
EBC_DEBUGGER_SIGNAL_EXCEPTION SignalException;
EBC_DEBUGGER_DASM Dasm;
EBC_DEBUGGER_CONFIGURE Configure;
};
extern EFI_GUID gEfiEbcSimpleDebuggerProtocolGuid;
#endif

View File

@ -0,0 +1,142 @@
/** @file
EBC VM Test protocol for test purposes.
Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
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.
**/
#ifndef _EBC_VM_TEST_PROTOCOL_H_
#define _EBC_VM_TEST_PROTOCOL_H_
//
// Define a protocol for an EBC VM test interface.
//
#define EFI_EBC_VM_TEST_PROTOCOL_GUID \
{ \
0xAAEACCFD, 0xF27B, 0x4C17, { 0xB6, 0x10, 0x75, 0xCA, 0x1F, 0x2D, 0xFB, 0x52 } \
}
//
// Define for forward reference.
//
typedef struct _EFI_EBC_VM_TEST_PROTOCOL EFI_EBC_VM_TEST_PROTOCOL;
///
/// instruction pointer for the VM
///
typedef UINT8 *VMIP;
typedef INT64 VM_REGISTER;
typedef UINT32 EXCEPTION_FLAGS;
typedef struct {
VM_REGISTER Gpr[8]; ///< General purpose registers.
///< Flags register:
///< 0 Set to 1 if the result of the last compare was true
///< 1 Set to 1 if stepping
UINT64 Flags; ///< 2..63 Reserved.
VMIP Ip; ///< Instruction pointer.
UINTN LastException;
EXCEPTION_FLAGS ExceptionFlags; ///< to keep track of exceptions
UINT32 StopFlags;
UINT32 CompilerVersion; ///< via break(6)
UINTN HighStackBottom; ///< bottom of the upper stack
UINTN LowStackTop; ///< top of the lower stack
UINT64 StackRetAddr; ///< location of final return address on stack
UINTN *StackMagicPtr; ///< pointer to magic value on stack to detect corruption
EFI_HANDLE ImageHandle; ///< for this EBC driver
EFI_SYSTEM_TABLE *SystemTable; ///< for debugging only
UINTN LastAddrConverted; ///< for debug
UINTN LastAddrConvertedValue; ///< for debug
VOID *FramePtr;
VOID *EntryPoint; ///< entry point of EBC image
UINTN ImageBase;
VOID *StackPool;
VOID *StackTop;
} VM_CONTEXT;
/**
Given a pointer to a new VM context, execute one or more instructions. This
function is only used for test purposes.
@param[in] This A pointer to the EFI_EBC_VM_TEST_PROTOCOL structure.
@param[in] VmPtr A pointer to a VM context.
@param[in, out] InstructionCount A pointer to a UINTN value holding the number of
instructions to execute. If it holds value of 0,
then the instruction to be executed is 1.
@retval EFI_UNSUPPORTED At least one of the opcodes is not supported.
@retval EFI_SUCCESS All of the instructions are executed successfully.
**/
typedef
EFI_STATUS
(EFIAPI *EBC_VM_TEST_EXECUTE) (
IN EFI_EBC_VM_TEST_PROTOCOL *This,
IN VM_CONTEXT *VmPtr,
IN OUT UINTN *InstructionCount
);
/**
Convert AsmText to the instruction. This function is only used for test purposes.
@param[in] This A pointer to the EFI_EBC_VM_TEST_PROTOCOL structure.
@param[in] AsmText A pointer to EBC ASM text code.
@param[out] Buffer Buffer to store the instruction.
@param[out] BufferLen Size of buffer that is requried to store data.
@retval EFI_UNSUPPORTED This functionality is unsupported.
@retval EFI_SUCCESS Successfully convert AsmText to the instruction.
**/
typedef
EFI_STATUS
(EFIAPI *EBC_VM_TEST_ASM) (
IN EFI_EBC_VM_TEST_PROTOCOL *This,
IN CHAR16 *AsmText,
IN OUT INT8 *Buffer,
IN OUT UINTN *BufferLen
);
/**
Dump the executed instruction. This function is only used for test purposes.
@param[in] This A pointer to the EFI_EBC_VM_TEST_PROTOCOL structure.
@param[out] AsmText Contain the disasm text.
@param[out] Buffer Buffer to store the instruction.
@param[out] BufferLen Size of buffer that is requried to store data.
@retval EFI_UNSUPPORTED This functionality is unsupported.
@retval EFI_SUCCESS Successfully dump the executed instruction.
**/
typedef
EFI_STATUS
(EFIAPI *EBC_VM_TEST_DASM) (
IN EFI_EBC_VM_TEST_PROTOCOL *This,
IN OUT CHAR16 *AsmText,
IN OUT INT8 *Buffer,
IN OUT UINTN *Len
);
//
// Prototype for the actual EBC test protocol interface
//
struct _EFI_EBC_VM_TEST_PROTOCOL {
EBC_VM_TEST_EXECUTE Execute;
EBC_VM_TEST_ASM Assemble;
EBC_VM_TEST_DASM Disassemble;
};
extern EFI_GUID gEfiEbcVmTestProtocolGuid;
#endif

View File

@ -206,6 +206,38 @@
gEfiBootScriptExecutorVariableGuid = { 0x3079818c, 0x46d4, 0x4a73, { 0xae, 0xf3, 0xe3, 0xe4, 0x6c, 0xf1, 0xee, 0xdb }}
gEfiBootScriptExecutorContextGuid = { 0x79cb58c4, 0xac51, 0x442f, { 0xaf, 0xd7, 0x98, 0xe4, 0x7d, 0x2e, 0x99, 0x8 }}
## Include/Guid/UsbKeyBoardLayout.h
gUsbKeyboardLayoutPackageGuid = { 0xc0f3b43, 0x44de, 0x4907, { 0xb4, 0x78, 0x22, 0x5f, 0x6f, 0x62, 0x89, 0xdc }}
gUsbKeyboardLayoutKeyGuid = { 0x3a4d7a7c, 0x18a, 0x4b42, { 0x81, 0xb3, 0xdc, 0x10, 0xe3, 0xb5, 0x91, 0xbd }}
## Include/Guid/HiiResourceSampleHii.h
gHiiResourceSamleFormSetGuid = { 0x4f4ef7f0, 0xaa29, 0x4ce9, { 0xba, 0x41, 0x64, 0x3e, 0x1, 0x23, 0xa9, 0x9f }}
## Include/Guid/DriverSampleHii.h
gDriverSampleFormSetGuid = { 0xA04A27f4, 0xDF00, 0x4D42, { 0xB5, 0x52, 0x39, 0x51, 0x13, 0x02, 0x11, 0x3D }}
gDriverSampleInventoryGuid = { 0xb3f56470, 0x6141, 0x4621, { 0x8f, 0x19, 0x70, 0x4e, 0x57, 0x7a, 0xa9, 0xe8 }}
gEfiUserInfoAccessSetupAdminGuid = { 0x85b75607, 0xf7ce, 0x471e, { 0xb7, 0xe4, 0x2a, 0xea, 0x5f, 0x72, 0x32, 0xee }}
gEfiIfrRefreshIdOpGuid = { 0xF5E655D9, 0x02A6, 0x46f2, { 0x9E, 0x76, 0xB8, 0xBE, 0x8E, 0x60, 0xAB, 0x22 }}
## Include/Guid/PlatDriOverrideHii.h
gPlatformOverridesManagerGuid = { 0x8614567d, 0x35be, 0x4415, { 0x8d, 0x88, 0xbd, 0x7d, 0xc, 0x9c, 0x70, 0xc0 }}
## Include/Guid/Ip4ConfigHii.h
gNicIp4ConfigNvDataGuid = { 0x9d5b53f, 0xf4b0, 0x4f59, { 0xa0, 0xb1, 0x7b, 0x57, 0xd3, 0x5c, 0xe, 0x5 }}
## Include/Guid/VlanConfigHii.h
gVlanConfigFormSetGuid = { 0xd79df6b0, 0xef44, 0x43bd, { 0x97, 0x97, 0x43, 0xe9, 0x3b, 0xcf, 0x5f, 0xa8 }}
## Include/Guid/Ip4IScsiConfigHii.h
gIp4IScsiConfigGuid = { 0x6456ed61, 0x3579, 0x41c9, { 0x8a, 0x26, 0x0a, 0x0b, 0xd6, 0x2b, 0x78, 0xfc }}
gIScsiCHAPAuthInfoGuid = { 0x786ec0ac, 0x65ae, 0x4d1b, { 0xb1, 0x37, 0xd, 0x11, 0xa, 0x48, 0x37, 0x97 }}
## Include/Guid/ZeroGuid.h
gZeroGuid = { 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
## Include/Guid/MtcVendor.h
gMtcVendorGuid = { 0xeb704011, 0x1402, 0x11d3, { 0x8e, 0x77, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b }}
[Ppis]
## Include/Ppi/AtaController.h
gPeiAtaControllerPpiGuid = { 0xa45e60d1, 0xc719, 0x44aa, { 0xb0, 0x7a, 0xaa, 0x77, 0x7f, 0x85, 0x90, 0x6d }}
@ -292,6 +324,11 @@
## Include/Protocol/FormBrowserEx.h
gEfiFormBrowserExProtocolGuid = { 0x1f73b18d, 0x4630, 0x43c1, { 0xa1, 0xde, 0x6f, 0x80, 0x85, 0x5d, 0x7d, 0xa4 } }
## Include/Protocol/EbcVmTest.h
gEfiEbcVmTestProtocolGuid = { 0xAAEACCFD, 0xF27B, 0x4C17, { 0xB6, 0x10, 0x75, 0xCA, 0x1F, 0x2D, 0xFB, 0x52 } }
## Include/Protocol/EbcSimpleDebugger.h
gEfiEbcSimpleDebuggerProtocolGuid = { 0x2a72d11e, 0x7376, 0x40f6, { 0x9c, 0x68, 0x23, 0xfa, 0x2f, 0xe3, 0x63, 0xf1 } }
[PcdsFeatureFlag]
## Indicate whether platform can support update capsule across a system reset
gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|FALSE|BOOLEAN|0x0001001d

View File

@ -20,7 +20,7 @@
DSC_SPECIFICATION = 0x00010005
OUTPUT_DIRECTORY = Build/MdeModule
SUPPORTED_ARCHITECTURES = IA32|IPF|X64|EBC|ARM
BUILD_TARGETS = DEBUG|RELEASE
BUILD_TARGETS = DEBUG|RELEASE|NOOPT
SKUID_IDENTIFIER = DEFAULT
[LibraryClasses]

View File

@ -18,10 +18,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#define DISPLAY_ONLY_MY_ITEM 0x0002
EFI_GUID mFormSetGuid = FORMSET_GUID;
EFI_GUID mInventoryGuid = INVENTORY_GUID;
EFI_GUID MyEventGroupGuid = EFI_IFR_REFRESH_ID_OP_GUID;
CHAR16 VariableName[] = L"MyIfrNVData";
CHAR16 MyEfiVar[] = L"MyEfiVar";
EFI_HANDLE DriverHandle[2] = {NULL, NULL};
@ -38,10 +34,7 @@ HII_VENDOR_DEVICE_PATH mHiiVendorDevicePath0 = {
(UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)
}
},
//
// {C153B68D-EBFC-488e-B110-662867745B87}
//
{ 0xc153b68d, 0xebfc, 0x488e, { 0xb1, 0x10, 0x66, 0x28, 0x67, 0x74, 0x5b, 0x87 } }
DRIVER_SAMPLE_FORMSET_GUID
},
{
END_DEVICE_PATH_TYPE,
@ -63,10 +56,7 @@ HII_VENDOR_DEVICE_PATH mHiiVendorDevicePath1 = {
(UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)
}
},
//
// {06F37F07-0C48-40e9-8436-0A08A0BB76B0}
//
{ 0x6f37f07, 0xc48, 0x40e9, { 0x84, 0x36, 0xa, 0x8, 0xa0, 0xbb, 0x76, 0xb0 } }
DRIVER_SAMPLE_INVENTORY_GUID
},
{
END_DEVICE_PATH_TYPE,
@ -293,7 +283,7 @@ ValidatePassword (
BufferSize = sizeof (DRIVER_SAMPLE_CONFIGURATION);
Status = gRT->GetVariable (
VariableName,
&mFormSetGuid,
&gDriverSampleFormSetGuid,
NULL,
&BufferSize,
&PrivateData->Configuration
@ -386,7 +376,7 @@ SetPassword (
BufferSize = sizeof (DRIVER_SAMPLE_CONFIGURATION);
Status = gRT->GetVariable (
VariableName,
&mFormSetGuid,
&gDriverSampleFormSetGuid,
NULL,
&BufferSize,
&PrivateData->Configuration
@ -418,7 +408,7 @@ SetPassword (
//
Configuration = AllocateZeroPool (sizeof (DRIVER_SAMPLE_CONFIGURATION));
ASSERT (Configuration != NULL);
if (HiiGetBrowserData (&mFormSetGuid, VariableName, sizeof (DRIVER_SAMPLE_CONFIGURATION), (UINT8 *) Configuration)) {
if (HiiGetBrowserData (&gDriverSampleFormSetGuid, VariableName, sizeof (DRIVER_SAMPLE_CONFIGURATION), (UINT8 *) Configuration)) {
//
// Update password's clear text in the screen
//
@ -428,7 +418,7 @@ SetPassword (
// Update uncommitted data of Browser
//
HiiSetBrowserData (
&mFormSetGuid,
&gDriverSampleFormSetGuid,
VariableName,
sizeof (DRIVER_SAMPLE_CONFIGURATION),
(UINT8 *) Configuration,
@ -448,7 +438,7 @@ SetPassword (
EncodePassword (Password, StrLen (Password) * 2);
Status = gRT->SetVariable(
VariableName,
&mFormSetGuid,
&gDriverSampleFormSetGuid,
EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,
sizeof (DRIVER_SAMPLE_CONFIGURATION),
&PrivateData->Configuration
@ -834,7 +824,7 @@ ExtractConfig (
BufferSize = sizeof (DRIVER_SAMPLE_CONFIGURATION);
Status = gRT->GetVariable (
VariableName,
&mFormSetGuid,
&gDriverSampleFormSetGuid,
NULL,
&BufferSize,
&PrivateData->Configuration
@ -852,7 +842,7 @@ ExtractConfig (
// Allocate and fill a buffer large enough to hold the <ConfigHdr> template
// followed by "&OFFSET=0&WIDTH=WWWWWWWWWWWWWWWW" followed by a Null-terminator
//
ConfigRequestHdr = HiiConstructConfigHdr (&mFormSetGuid, VariableName, PrivateData->DriverHandle[0]);
ConfigRequestHdr = HiiConstructConfigHdr (&gDriverSampleFormSetGuid, VariableName, PrivateData->DriverHandle[0]);
Size = (StrLen (ConfigRequestHdr) + 32 + 1) * sizeof (CHAR16);
ConfigRequest = AllocateZeroPool (Size);
ASSERT (ConfigRequest != NULL);
@ -865,14 +855,14 @@ ExtractConfig (
// Check routing data in <ConfigHdr>.
// Note: if only one Storage is used, then this checking could be skipped.
//
if (!HiiIsConfigHdrMatch (Request, &mFormSetGuid, NULL)) {
if (!HiiIsConfigHdrMatch (Request, &gDriverSampleFormSetGuid, NULL)) {
return EFI_NOT_FOUND;
}
//
// Check whether request for EFI Varstore. EFI varstore get data
// through hii database, not support in this path.
//
if (HiiIsConfigHdrMatch(Request, &mFormSetGuid, MyEfiVar)) {
if (HiiIsConfigHdrMatch(Request, &gDriverSampleFormSetGuid, MyEfiVar)) {
return EFI_UNSUPPORTED;
}
//
@ -996,7 +986,7 @@ ExtractConfig (
Progress
);
if (!EFI_ERROR (Status)) {
ConfigRequestHdr = HiiConstructConfigHdr (&mFormSetGuid, VariableName, PrivateData->DriverHandle[0]);
ConfigRequestHdr = HiiConstructConfigHdr (&gDriverSampleFormSetGuid, VariableName, PrivateData->DriverHandle[0]);
AppendAltCfgString(Results, ConfigRequestHdr);
}
}
@ -1074,7 +1064,7 @@ RouteConfig (
// Check routing data in <ConfigHdr>.
// Note: if only one Storage is used, then this checking could be skipped.
//
if (!HiiIsConfigHdrMatch (Configuration, &mFormSetGuid, NULL)) {
if (!HiiIsConfigHdrMatch (Configuration, &gDriverSampleFormSetGuid, NULL)) {
return EFI_NOT_FOUND;
}
@ -1082,7 +1072,7 @@ RouteConfig (
// Check whether request for EFI Varstore. EFI varstore get data
// through hii database, not support in this path.
//
if (HiiIsConfigHdrMatch(Configuration, &mFormSetGuid, MyEfiVar)) {
if (HiiIsConfigHdrMatch(Configuration, &gDriverSampleFormSetGuid, MyEfiVar)) {
return EFI_UNSUPPORTED;
}
@ -1092,7 +1082,7 @@ RouteConfig (
BufferSize = sizeof (DRIVER_SAMPLE_CONFIGURATION);
Status = gRT->GetVariable (
VariableName,
&mFormSetGuid,
&gDriverSampleFormSetGuid,
NULL,
&BufferSize,
&PrivateData->Configuration
@ -1211,7 +1201,7 @@ RouteConfig (
//
Status = gRT->SetVariable(
VariableName,
&mFormSetGuid,
&gDriverSampleFormSetGuid,
EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,
sizeof (DRIVER_SAMPLE_CONFIGURATION),
&PrivateData->Configuration
@ -1240,7 +1230,7 @@ RouteConfig (
//
Status = gRT->SetVariable(
VariableName,
&mFormSetGuid,
&gDriverSampleFormSetGuid,
EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,
sizeof (DRIVER_SAMPLE_CONFIGURATION),
&PrivateData->Configuration
@ -1340,7 +1330,7 @@ DriverCallback (
HiiUpdateForm (
PrivateData->HiiHandle[0], // HII handle
&mFormSetGuid, // Formset GUID
&gDriverSampleFormSetGuid, // Formset GUID
0x3, // Form ID
StartOpCodeHandle, // Label for where to insert opcodes
NULL // Insert data
@ -1498,7 +1488,7 @@ DriverCallback (
PrivateData->Configuration.DynamicOneof = 2;
Status = gRT->SetVariable(
VariableName,
&mFormSetGuid,
&gDriverSampleFormSetGuid,
EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,
sizeof (DRIVER_SAMPLE_CONFIGURATION),
&PrivateData->Configuration
@ -1509,14 +1499,14 @@ DriverCallback (
//
Configuration = AllocateZeroPool (sizeof (DRIVER_SAMPLE_CONFIGURATION));
ASSERT (Configuration != NULL);
if (HiiGetBrowserData (&mFormSetGuid, VariableName, sizeof (DRIVER_SAMPLE_CONFIGURATION), (UINT8 *) Configuration)) {
if (HiiGetBrowserData (&gDriverSampleFormSetGuid, VariableName, sizeof (DRIVER_SAMPLE_CONFIGURATION), (UINT8 *) Configuration)) {
Configuration->DynamicOneof = 2;
//
// Update uncommitted data of Browser
//
HiiSetBrowserData (
&mFormSetGuid,
&gDriverSampleFormSetGuid,
VariableName,
sizeof (DRIVER_SAMPLE_CONFIGURATION),
(UINT8 *) Configuration,
@ -1595,7 +1585,7 @@ DriverCallback (
HiiUpdateForm (
PrivateData->HiiHandle[0], // HII handle
&mFormSetGuid, // Formset GUID
&gDriverSampleFormSetGuid, // Formset GUID
0x1234, // Form ID
StartOpCodeHandle, // Label for where to insert opcodes
EndOpCodeHandle // Replace data
@ -1644,7 +1634,7 @@ DriverCallback (
HiiUpdateForm (
PrivateData->HiiHandle[0], // HII handle
&mFormSetGuid, // Formset GUID
&gDriverSampleFormSetGuid, // Formset GUID
FormId, // Form ID
StartOpCodeHandle, // Label for where to insert opcodes
NULL // Insert data
@ -1657,7 +1647,7 @@ DriverCallback (
//
Status = gRT->SetVariable(
VariableName,
&mFormSetGuid,
&gDriverSampleFormSetGuid,
EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,
sizeof (DRIVER_SAMPLE_CONFIGURATION),
&PrivateData->Configuration
@ -1669,10 +1659,10 @@ DriverCallback (
//
EfiData = AllocateZeroPool (sizeof (MY_EFI_VARSTORE_DATA));
ASSERT (EfiData != NULL);
if (HiiGetBrowserData (&mFormSetGuid, MyEfiVar, sizeof (MY_EFI_VARSTORE_DATA), (UINT8 *) EfiData)) {
if (HiiGetBrowserData (&gDriverSampleFormSetGuid, MyEfiVar, sizeof (MY_EFI_VARSTORE_DATA), (UINT8 *) EfiData)) {
EfiData->Field8 = 111;
HiiSetBrowserData (
&mFormSetGuid,
&gDriverSampleFormSetGuid,
MyEfiVar,
sizeof (MY_EFI_VARSTORE_DATA),
(UINT8 *) EfiData,
@ -1886,7 +1876,7 @@ DriverSampleInit (
// Publish our HII data
//
HiiHandle[0] = HiiAddPackages (
&mFormSetGuid,
&gDriverSampleFormSetGuid,
DriverHandle[0],
DriverSampleStrings,
VfrBin,
@ -1912,7 +1902,7 @@ DriverSampleInit (
PrivateData->DriverHandle[1] = DriverHandle[1];
HiiHandle[1] = HiiAddPackages (
&mInventoryGuid,
&gDriverSampleInventoryGuid,
DriverHandle[1],
DriverSampleStrings,
InventoryBin,
@ -1954,18 +1944,18 @@ DriverSampleInit (
//
// Try to read NV config EFI variable first
//
ConfigRequestHdr = HiiConstructConfigHdr (&mFormSetGuid, VariableName, DriverHandle[0]);
ConfigRequestHdr = HiiConstructConfigHdr (&gDriverSampleFormSetGuid, VariableName, DriverHandle[0]);
ASSERT (ConfigRequestHdr != NULL);
BufferSize = sizeof (DRIVER_SAMPLE_CONFIGURATION);
Status = gRT->GetVariable (VariableName, &mFormSetGuid, NULL, &BufferSize, Configuration);
Status = gRT->GetVariable (VariableName, &gDriverSampleFormSetGuid, NULL, &BufferSize, Configuration);
if (EFI_ERROR (Status)) {
//
// Store zero data Buffer Storage to EFI variable
//
Status = gRT->SetVariable(
VariableName,
&mFormSetGuid,
&gDriverSampleFormSetGuid,
EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,
sizeof (DRIVER_SAMPLE_CONFIGURATION),
Configuration
@ -1992,18 +1982,18 @@ DriverSampleInit (
VarStoreConfig = &PrivateData->VarStoreConfig;
ZeroMem (VarStoreConfig, sizeof (MY_EFI_VARSTORE_DATA));
ConfigRequestHdr = HiiConstructConfigHdr (&mFormSetGuid, MyEfiVar, DriverHandle[0]);
ConfigRequestHdr = HiiConstructConfigHdr (&gDriverSampleFormSetGuid, MyEfiVar, DriverHandle[0]);
ASSERT (ConfigRequestHdr != NULL);
BufferSize = sizeof (MY_EFI_VARSTORE_DATA);
Status = gRT->GetVariable (MyEfiVar, &mFormSetGuid, NULL, &BufferSize, VarStoreConfig);
Status = gRT->GetVariable (MyEfiVar, &gDriverSampleFormSetGuid, NULL, &BufferSize, VarStoreConfig);
if (EFI_ERROR (Status)) {
//
// Store zero data to EFI variable Storage.
//
Status = gRT->SetVariable(
MyEfiVar,
&mFormSetGuid,
&gDriverSampleFormSetGuid,
EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,
sizeof (MY_EFI_VARSTORE_DATA),
VarStoreConfig
@ -2029,7 +2019,7 @@ DriverSampleInit (
TPL_NOTIFY,
DriverSampleInternalEmptyFunction,
NULL,
&MyEventGroupGuid,
&gEfiIfrRefreshIdOpGuid,
&mEvent
);
ASSERT_EFI_ERROR (Status);

View File

@ -58,6 +58,9 @@
[Guids]
gEfiIfrTianoGuid ## CONSUMES ## Guid
gDriverSampleFormSetGuid ## PRODUCES ## Guid
gDriverSampleInventoryGuid ## PRODUCES ## Guid
gEfiIfrRefreshIdOpGuid ## SOMETIMES_PRODUCES ## EventGuid
[Protocols]
gEfiHiiStringProtocolGuid ## CONSUMES

View File

@ -2,7 +2,7 @@
//
// Sample Inventory Data
//
// Copyright (c) 2004 - 2008, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
// 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
@ -13,10 +13,10 @@
//
//**/
#define INVENTORY_GUID { 0xb3f56470, 0x6141, 0x4621, 0x8f, 0x19, 0x70, 0x4e, 0x57, 0x7a, 0xa9, 0xe8 }
#include "NVDataStruc.h"
formset
guid = INVENTORY_GUID,
guid = DRIVER_SAMPLE_INVENTORY_GUID,
title = STRING_TOKEN(STR_INV_FORM_SET_TITLE),
help = STRING_TOKEN(STR_INV_FORM_SET_HELP),
class = 0x04,

View File

@ -1,6 +1,6 @@
/** @file
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>
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
@ -27,29 +27,8 @@ Revision History:
#include <Guid/HiiPlatformSetupFormset.h>
#include <Guid/HiiFormMapMethodGuid.h>
#define FORMSET_GUID \
{ \
0xA04A27f4, 0xDF00, 0x4D42, {0xB5, 0x52, 0x39, 0x51, 0x13, 0x02, 0x11, 0x3D} \
}
#define INVENTORY_GUID \
{ \
0xb3f56470, 0x6141, 0x4621, {0x8f, 0x19, 0x70, 0x4e, 0x57, 0x7a, 0xa9, 0xe8} \
}
#define EFI_USER_INFO_ACCESS_SETUP_ADMIN_GUID \
{ 0x85b75607, 0xf7ce, 0x471e, { 0xb7, 0xe4, 0x2a, 0xea, 0x5f, 0x72, 0x32, 0xee } }
#define EFI_IFR_REFRESH_ID_OP_GUID \
{ \
0xF5E655D9, 0x02A6, 0x46f2, {0x9E, 0x76, 0xB8, 0xBE, 0x8E, 0x60, 0xAB, 0x22} \
}
#define ZERO_GUID \
{ \
0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0} \
}
#include <Guid/DriverSampleHii.h>
#include <Guid/ZeroGuid.h>
#define CONFIGURATION_VARSTORE_ID 0x1234

View File

@ -51,7 +51,7 @@
#define LABEL_UPDATE_BBS 0x2222
formset
guid = FORMSET_GUID,
guid = DRIVER_SAMPLE_FORMSET_GUID,
title = STRING_TOKEN(STR_FORM_SET_TITLE),
help = STRING_TOKEN(STR_FORM_SET_TITLE_HELP),
classguid = EFI_HII_PLATFORM_SETUP_FORMSET_GUID,
@ -71,7 +71,7 @@ formset
varstore DRIVER_SAMPLE_CONFIGURATION, // This is the data structure type
varid = CONFIGURATION_VARSTORE_ID, // Optional VarStore ID
name = MyIfrNVData, // Define referenced name in vfr
guid = FORMSET_GUID; // GUID of this buffer storage
guid = DRIVER_SAMPLE_FORMSET_GUID; // GUID of this buffer storage
//
// Define a EFI variable Storage (EFI_IFR_VARSTORE_EFI)
@ -79,7 +79,7 @@ formset
efivarstore MY_EFI_VARSTORE_DATA,
attribute = EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE, // EFI variable attribures
name = MyEfiVar,
guid = FORMSET_GUID;
guid = DRIVER_SAMPLE_FORMSET_GUID;
//
// Define a Name/Value Storage (EFI_IFR_VARSTORE_NAME_VALUE)
@ -88,7 +88,7 @@ formset
name = STRING_TOKEN(STR_NAME_VALUE_VAR_NAME0), // Define Name list of this storage, refer it by MyNameValueVar[0]
name = STRING_TOKEN(STR_NAME_VALUE_VAR_NAME1), // Define Name list of this storage, refer it by MyNameValueVar[1]
name = STRING_TOKEN(STR_NAME_VALUE_VAR_NAME2), // Define Name list of this storage, refer it by MyNameValueVar[2]
guid = FORMSET_GUID; // GUID of this Name/Value storage
guid = DRIVER_SAMPLE_FORMSET_GUID; // GUID of this Name/Value storage
defaultstore MyStandardDefault,
prompt = STRING_TOKEN(STR_STANDARD_DEFAULT_PROMPT),
@ -492,7 +492,7 @@ formset
help = STRING_TOKEN(STR_GOTO_HELP);
guidop
guid = FORMSET_GUID,
guid = DRIVER_SAMPLE_FORMSET_GUID,
datatype = MY_EFI_VARSTORE_DATA,
data.Field8 = 0x21,
data.Field16 = 0x2121,
@ -680,7 +680,7 @@ formset
formmap formid = 4,
maptitle = STRING_TOKEN(STR_SAMPL_MAP_METHOD);
mapguid = FORMSET_GUID;
mapguid = DRIVER_SAMPLE_FORMSET_GUID;
maptitle = STRING_TOKEN(STR_STANDARD_MAP_METHOD);
mapguid = EFI_HII_STANDARD_FORM_GUID;

View File

@ -5,7 +5,7 @@
# platform and processor-independent mechanisms for loading and executing EFI
# device drivers.
#
# Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
# 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
@ -54,7 +54,7 @@
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
[LibraryClasses]
MemoryAllocationLib
@ -68,6 +68,8 @@
[Protocols]
gEfiDebugSupportProtocolGuid ## PRODUCES
gEfiEbcProtocolGuid ## PRODUCES
gEfiEbcVmTestProtocolGuid ## SOMETIMES_PRODUCES
gEfiEbcSimpleDebuggerProtocolGuid ## SOMETIMES_CONSUMES
[Depex]
TRUE

View File

@ -1,7 +1,7 @@
/** @file
Contains code that implements the virtual machine.
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
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
@ -1344,12 +1344,6 @@ CONST VM_TABLE_ENTRY mVmOpcodeTable[] = {
//
CONST UINT8 mJMPLen[] = { 2, 2, 6, 10 };
//
// Simple Debugger Protocol GUID
//
EFI_GUID mEbcSimpleDebuggerProtocolGuid = EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL_GUID;
/**
Given a pointer to a new VM context, execute one or more instructions. This
function is only used for test purposes via the EBC VM test protocol.
@ -1365,6 +1359,7 @@ EFI_GUID mEbcSimpleDebuggerProtocolGuid = EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL_GUID;
**/
EFI_STATUS
EFIAPI
EbcExecuteInstructions (
IN EFI_EBC_VM_TEST_PROTOCOL *This,
IN VM_CONTEXT *VmPtr,
@ -1452,7 +1447,7 @@ EbcExecute (
//
DEBUG_CODE_BEGIN ();
Status = gBS->LocateProtocol (
&mEbcSimpleDebuggerProtocolGuid,
&gEfiEbcSimpleDebuggerProtocolGuid,
NULL,
(VOID **) &EbcSimpleDebugger
);

View File

@ -3,7 +3,7 @@
be of use to a disassembler for the most part. Also provides function
prototypes for VM functions.
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
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
@ -314,54 +314,6 @@ VmWriteMem64 (
IN UINT64 Data
);
//
// Define a protocol for an EBC VM test interface.
//
#define EFI_EBC_VM_TEST_PROTOCOL_GUID \
{ \
0xAAEACCFDL, 0xF27B, 0x4C17, { 0xB6, 0x10, 0x75, 0xCA, 0x1F, 0x2D, 0xFB, 0x52 } \
}
//
// Define for forward reference.
//
typedef struct _EFI_EBC_VM_TEST_PROTOCOL EFI_EBC_VM_TEST_PROTOCOL;
typedef
EFI_STATUS
(*EBC_VM_TEST_EXECUTE) (
IN EFI_EBC_VM_TEST_PROTOCOL * This,
IN VM_CONTEXT * VmPtr,
IN OUT UINTN *InstructionCount
);
typedef
EFI_STATUS
(*EBC_VM_TEST_ASM) (
IN EFI_EBC_VM_TEST_PROTOCOL * This,
IN CHAR16 *AsmText,
IN OUT INT8 *Buffer,
IN OUT UINTN *BufferLen
);
typedef
EFI_STATUS
(*EBC_VM_TEST_DASM) (
IN EFI_EBC_VM_TEST_PROTOCOL * This,
IN OUT CHAR16 *AsmText,
IN OUT INT8 *Buffer,
IN OUT UINTN *Len
);
//
// Prototype for the actual EBC test protocol interface
//
struct _EFI_EBC_VM_TEST_PROTOCOL {
EBC_VM_TEST_EXECUTE Execute;
EBC_VM_TEST_ASM Assemble;
EBC_VM_TEST_DASM Disassemble;
};
/**
Given a pointer to a new VM context, execute one or more instructions. This
function is only used for test purposes via the EBC VM test protocol.
@ -377,6 +329,7 @@ struct _EFI_EBC_VM_TEST_PROTOCOL {
**/
EFI_STATUS
EFIAPI
EbcExecuteInstructions (
IN EFI_EBC_VM_TEST_PROTOCOL *This,
IN VM_CONTEXT *VmPtr,

View File

@ -3,7 +3,7 @@
Provides auxiliary support routines for the VM. That is, routines
that are not particularly related to VM execution of EBC instructions.
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
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
@ -191,6 +191,7 @@ InitEbcVmTestProtocol (
**/
EFI_STATUS
EFIAPI
EbcVmTestUnsupported (
VOID
);
@ -336,7 +337,6 @@ EBC_ICACHE_FLUSH mEbcICacheFlush;
//
EFI_PERIODIC_CALLBACK mDebugPeriodicCallback = NULL;
EFI_EXCEPTION_CALLBACK mDebugExceptionCallback[MAX_EBC_EXCEPTION + 1] = {NULL};
EFI_GUID mEfiEbcVmTestProtocolGuid = EFI_EBC_VM_TEST_PROTOCOL_GUID;
VOID *mStackBuffer[MAX_STACK_NUM];
EFI_HANDLE mStackBufferIndex[MAX_STACK_NUM];
@ -1328,7 +1328,7 @@ InitEbcVmTestProtocol (
// Publish the protocol
//
Handle = NULL;
Status = gBS->InstallProtocolInterface (&Handle, &mEfiEbcVmTestProtocolGuid, EFI_NATIVE_INTERFACE, EbcVmTestProtocol);
Status = gBS->InstallProtocolInterface (&Handle, &gEfiEbcVmTestProtocolGuid, EFI_NATIVE_INTERFACE, EbcVmTestProtocol);
if (EFI_ERROR (Status)) {
FreePool (EbcVmTestProtocol);
}
@ -1343,6 +1343,7 @@ InitEbcVmTestProtocol (
**/
EFI_STATUS
EFIAPI
EbcVmTestUnsupported (
VOID
)

View File

@ -2,7 +2,7 @@
Main routines for the EBC interpreter. Includes the initialization and
main interpreter routines.
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
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
@ -21,6 +21,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Protocol/DebugSupport.h>
#include <Protocol/Ebc.h>
#include <Protocol/EbcVmTest.h>
#include <Protocol/EbcSimpleDebugger.h>
#include <Library/BaseLib.h>
#include <Library/DebugLib.h>
@ -29,36 +31,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Library/UefiBootServicesTableLib.h>
#include <Library/MemoryAllocationLib.h>
typedef INT64 VM_REGISTER;
typedef UINT8 *VMIP; // instruction pointer for the VM
typedef UINT32 EXCEPTION_FLAGS;
typedef struct {
VM_REGISTER Gpr[8]; // General purpose registers.
UINT64 Flags; // Flags register:
// 0 Set to 1 if the result of the last compare was true
// 1 Set to 1 if stepping
// 2..63 Reserved.
VMIP Ip; // Instruction pointer.
UINTN LastException; //
EXCEPTION_FLAGS ExceptionFlags; // to keep track of exceptions
UINT32 StopFlags;
UINT32 CompilerVersion; // via break(6)
UINTN HighStackBottom; // bottom of the upper stack
UINTN LowStackTop; // top of the lower stack
UINT64 StackRetAddr; // location of final return address on stack
UINTN *StackMagicPtr; // pointer to magic value on stack to detect corruption
EFI_HANDLE ImageHandle; // for this EBC driver
EFI_SYSTEM_TABLE *SystemTable; // for debugging only
UINTN LastAddrConverted; // for debug
UINTN LastAddrConvertedValue; // for debug
VOID *FramePtr;
VOID *EntryPoint; // entry point of EBC image
UINTN ImageBase;
VOID *StackPool;
VOID *StackTop;
} VM_CONTEXT;
extern VM_CONTEXT *mVmPtr;
//
@ -317,65 +289,6 @@ ReturnEBCStackByHandle(
IN EFI_HANDLE Handle
);
//
// Defines for a simple EBC debugger interface
//
typedef struct _EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL;
#define EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL_GUID \
{ \
0x2a72d11e, 0x7376, 0x40f6, { 0x9c, 0x68, 0x23, 0xfa, 0x2f, 0xe3, 0x63, 0xf1 } \
}
typedef
EFI_STATUS
(*EBC_DEBUGGER_SIGNAL_EXCEPTION) (
IN EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL *This,
IN VM_CONTEXT *VmPtr,
IN EFI_EXCEPTION_TYPE ExceptionType
);
typedef
VOID
(*EBC_DEBUGGER_DEBUG) (
IN EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL *This,
IN VM_CONTEXT *VmPtr
);
typedef
UINT32
(*EBC_DEBUGGER_DASM) (
IN EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL *This,
IN VM_CONTEXT *VmPtr,
IN UINT16 *DasmString OPTIONAL,
IN UINT32 DasmStringSize
);
//
// This interface allows you to configure the EBC debug support
// driver. For example, turn on or off saving and printing of
// delta VM even if called. Or to even disable the entire interface,
// in which case all functions become no-ops.
//
typedef
EFI_STATUS
(*EBC_DEBUGGER_CONFIGURE) (
IN EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL *This,
IN UINT32 ConfigId,
IN UINTN ConfigValue
);
//
// Prototype for the actual EBC debug support protocol interface
//
struct _EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL {
EBC_DEBUGGER_DEBUG Debugger;
EBC_DEBUGGER_SIGNAL_EXCEPTION SignalException;
EBC_DEBUGGER_DASM Dasm;
EBC_DEBUGGER_CONFIGURE Configure;
};
typedef struct {
EFI_EBC_PROTOCOL *This;
VOID *EntryPoint;

View File

@ -15,12 +15,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include "HiiDatabase.h"
//
// Global variables
//
EFI_GUID mHiiDatabaseNotifyGuid = HII_DATABASE_NOTIFY_GUID;
/**
This function generates a HII_DATABASE_RECORD node and adds into hii database.
This is a internal function.
@ -3419,7 +3413,7 @@ HiiRegisterPackageNotify (
//
Status = gBS->InstallMultipleProtocolInterfaces (
&Notify->NotifyHandle,
&mHiiDatabaseNotifyGuid,
&gEfiCallerIdGuid,
NULL,
NULL
);
@ -3477,7 +3471,7 @@ HiiUnregisterPackageNotify (
Status = gBS->OpenProtocol (
NotificationHandle,
&mHiiDatabaseNotifyGuid,
&gEfiCallerIdGuid,
NULL,
NULL,
NULL,
@ -3498,7 +3492,7 @@ HiiUnregisterPackageNotify (
RemoveEntryList (&Notify->DatabaseNotifyEntry);
Status = gBS->UninstallMultipleProtocolInterfaces (
Notify->NotifyHandle,
&mHiiDatabaseNotifyGuid,
&gEfiCallerIdGuid,
NULL,
NULL
);

View File

@ -42,12 +42,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Library/UefiRuntimeServicesTableLib.h>
#include <Library/PrintLib.h>
#define HII_DATABASE_NOTIFY_GUID \
{ \
0xc1c76, 0xd79e, 0x42fe, {0x86, 0xb, 0x8b, 0xe8, 0x7b, 0x3e, 0x7a, 0x78} \
}
#define MAX_STRING_LENGTH 1024
#define MAX_FONT_NAME_LEN 256
#define NARROW_BASELINE 15

View File

@ -2,7 +2,7 @@
This is an example of how a driver retrieve HII data using HII Package List
Protocol, and how to publish the HII data.
Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
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
@ -14,6 +14,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
#include <Uefi.h>
#include <Guid/HiiResourceSampleHii.h>
#include <Protocol/HiiPackageList.h>
#include <Library/DevicePathLib.h>
#include <Library/UefiDriverEntryPoint.h>
@ -45,10 +46,7 @@ HII_VENDOR_DEVICE_PATH mHiiVendorDevicePath = {
(UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)
}
},
//
// {D49D2EB0-44D5-4621-9FD6-1A92C9109B99}
//
{ 0xD49D2EB0, 0x44D5, 0x4621, { 0x9F, 0xD6, 0x1A, 0x92, 0xC9, 0x10, 0x9B, 0x99 } }
HII_RESOURCE_SAMPLE_FORM_SET_GUID
},
{
END_DEVICE_PATH_TYPE,

View File

@ -1,6 +1,6 @@
// *++
//
// Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
// 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
@ -21,11 +21,10 @@
//
// --*/
#define SAMPLE_GUID { 0x4f4ef7f0, 0xaa29, 0x4ce9, 0xba, 0x41, 0x64, 0x3e, 0x1, 0x23, 0xa9, 0x9f }
#include <Guid/HiiResourceSampleHii.h>
formset
guid = SAMPLE_GUID,
guid = HII_RESOURCE_SAMPLE_FORM_SET_GUID,
title = STRING_TOKEN(STR_SAMPLE_FORM_SET_TITLE),
help = STRING_TOKEN(STR_SAMPLE_FORM_SET_HELP),

View File

@ -2,7 +2,7 @@
Produce the UEFI boot service GetNextMonotonicCount() and runtime service
GetNextHighMonotonicCount().
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
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
@ -16,6 +16,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Uefi.h>
#include <Protocol/MonotonicCounter.h>
#include <Guid/MtcVendor.h>
#include <Library/BaseLib.h>
#include <Library/UefiDriverEntryPoint.h>
@ -39,16 +40,6 @@ UINT64 mEfiMtc;
//
EFI_EVENT mEfiMtcEvent;
//
// Name of the variable for the high part of monotonic counter
//
CHAR16 *mEfiMtcName = (CHAR16 *) L"MTC";
//
// Vendor GUID of the variable for the high part of monotonic counter
//
EFI_GUID mEfiMtcGuid = { 0xeb704011, 0x1402, 0x11d3, { 0x8e, 0x77, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } };
/**
Returns a monotonically increasing count for the platform.
@ -171,8 +162,8 @@ MonotonicCounterDriverGetNextHighMonotonicCount (
// Update the NV variable to match the new high part
//
return EfiSetVariable (
mEfiMtcName,
&mEfiMtcGuid,
MTC_VARIABLE_NAME,
&gMtcVendorGuid,
EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_BOOTSERVICE_ACCESS,
sizeof (UINT32),
HighCount
@ -241,8 +232,8 @@ MonotonicCounterDriverInitialize (
//
BufferSize = sizeof (UINT32);
Status = EfiGetVariable (
mEfiMtcName,
&mEfiMtcGuid,
MTC_VARIABLE_NAME,
&gMtcVendorGuid,
NULL,
&BufferSize,
&HighCount

View File

@ -2,7 +2,7 @@
# This module produces the UEFI boot service GetNextMonotonicCount()
# and runtime service GetNextHighMonotonicCount().
#
# Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@ -34,7 +34,7 @@
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
[LibraryClasses]
UefiRuntimeServicesTableLib
@ -44,6 +44,8 @@
UefiDriverEntryPoint
BaseLib
[Guids]
gMtcVendorGuid
[Protocols]
gEfiMonotonicCounterArchProtocolGuid ## PRODUCES

View File

@ -1,7 +1,7 @@
/** @file
This file is for Challenge-Handshake Authentication Protocol (CHAP) Configuration.
Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
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
@ -15,8 +15,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include "IScsiImpl.h"
#include "Md5.h"
EFI_GUID mIScsiCHAPAuthInfoGuid = ISCSI_CHAP_AUTH_INFO_GUID;
/**
Initator caculates its own expected hash value.

View File

@ -1,7 +1,7 @@
/** @file
The header file of CHAP configuration.
Copyright (c) 2004 - 2009, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
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
@ -15,13 +15,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#ifndef _ISCSI_CHAP_H_
#define _ISCSI_CHAP_H_
#define ISCSI_CHAP_AUTH_INFO_GUID \
{ \
0x786ec0ac, 0x65ae, 0x4d1b, {0xb1, 0x37, 0xd, 0x11, 0xa, 0x48, 0x37, 0x97} \
}
extern EFI_GUID mIScsiCHAPAuthInfoGuid;
#define ISCSI_AUTH_METHOD_CHAP "CHAP"
#define ISCSI_KEY_CHAP_ALGORITHM "CHAP_A"

View File

@ -14,7 +14,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include "IScsiImpl.h"
EFI_GUID mVendorGuid = ISCSI_CONFIG_GUID;
CHAR16 mVendorStorageName[] = L"ISCSI_CONFIG_IFR_NVDATA";
BOOLEAN mIScsiDeviceListUpdated = FALSE;
UINTN mNumberOfIScsiDevices = 0;
@ -35,10 +34,7 @@ HII_VENDOR_DEVICE_PATH mIScsiHiiVendorDevicePath = {
(UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)
}
},
//
// {49D7B73E-143D-4716-977B-C45F1CB038CC}
//
{ 0x49d7b73e, 0x143d, 0x4716, { 0x97, 0x7b, 0xc4, 0x5f, 0x1c, 0xb0, 0x38, 0xcc } }
IP4_ISCSI_CONFIG_GUID
},
{
END_DEVICE_PATH_TYPE,
@ -224,7 +220,7 @@ IScsiUpdateDeviceList (
DataSize = 0;
Status = gRT->GetVariable (
L"iSCSIDeviceList",
&mVendorGuid,
&gIp4IScsiConfigGuid,
NULL,
&DataSize,
NULL
@ -234,7 +230,7 @@ IScsiUpdateDeviceList (
gRT->GetVariable (
L"iSCSIDeviceList",
&mVendorGuid,
&gIp4IScsiConfigGuid,
NULL,
&DataSize,
DeviceList
@ -282,7 +278,7 @@ IScsiUpdateDeviceList (
CurMacInfo = &DeviceList->MacInfo[Index];
IScsiMacAddrToStr (&CurMacInfo->Mac, CurMacInfo->Len, CurMacInfo->VlanId, MacString);
gRT->SetVariable (MacString, &gEfiIScsiInitiatorNameProtocolGuid, 0, 0, NULL);
gRT->SetVariable (MacString, &mIScsiCHAPAuthInfoGuid, 0, 0, NULL);
gRT->SetVariable (MacString, &gIScsiCHAPAuthInfoGuid, 0, 0, NULL);
}
FreePool (DeviceList);
@ -308,7 +304,7 @@ IScsiUpdateDeviceList (
gRT->SetVariable (
L"iSCSIDeviceList",
&mVendorGuid,
&gIp4IScsiConfigGuid,
ISCSI_CONFIG_VAR_ATTR,
DeviceListSize,
DeviceList
@ -488,7 +484,7 @@ IScsiFormExtractConfig (
}
*Progress = Request;
if ((Request != NULL) && !HiiIsConfigHdrMatch (Request, &mVendorGuid, mVendorStorageName)) {
if ((Request != NULL) && !HiiIsConfigHdrMatch (Request, &gIp4IScsiConfigGuid, mVendorStorageName)) {
return EFI_NOT_FOUND;
}
@ -532,7 +528,7 @@ IScsiFormExtractConfig (
// Allocate and fill a buffer large enough to hold the <ConfigHdr> template
// followed by "&OFFSET=0&WIDTH=WWWWWWWWWWWWWWWW" followed by a Null-terminator
//
ConfigRequestHdr = HiiConstructConfigHdr (&mVendorGuid, mVendorStorageName, Private->DriverHandle);
ConfigRequestHdr = HiiConstructConfigHdr (&gIp4IScsiConfigGuid, mVendorStorageName, Private->DriverHandle);
Size = (StrLen (ConfigRequestHdr) + 32 + 1) * sizeof (CHAR16);
ConfigRequest = AllocateZeroPool (Size);
ASSERT (ConfigRequest != NULL);
@ -618,7 +614,7 @@ IScsiFormRouteConfig (
// Check routing data in <ConfigHdr>.
// Note: if only one Storage is used, then this checking could be skipped.
//
if (!HiiIsConfigHdrMatch (Configuration, &mVendorGuid, mVendorStorageName)) {
if (!HiiIsConfigHdrMatch (Configuration, &gIp4IScsiConfigGuid, mVendorStorageName)) {
*Progress = Configuration;
return EFI_NOT_FOUND;
}
@ -687,7 +683,7 @@ IScsiFormCallback (
//
IfrNvData = AllocateZeroPool (sizeof (ISCSI_CONFIG_IFR_NVDATA));
ASSERT (IfrNvData != NULL);
if (!HiiGetBrowserData (&mVendorGuid, mVendorStorageName, sizeof (ISCSI_CONFIG_IFR_NVDATA), (UINT8 *) IfrNvData)) {
if (!HiiGetBrowserData (&gIp4IScsiConfigGuid, mVendorStorageName, sizeof (ISCSI_CONFIG_IFR_NVDATA), (UINT8 *) IfrNvData)) {
FreePool (IfrNvData);
return EFI_NOT_FOUND;
}
@ -884,7 +880,7 @@ IScsiFormCallback (
BufferSize = sizeof (Private->Current->AuthConfigData);
gRT->SetVariable (
Private->Current->MacString,
&mIScsiCHAPAuthInfoGuid,
&gIScsiCHAPAuthInfoGuid,
ISCSI_CONFIG_VAR_ATTR,
BufferSize,
&Private->Current->AuthConfigData
@ -916,7 +912,7 @@ IScsiFormCallback (
//
// Pass changed uncommitted data back to Form Browser
//
HiiSetBrowserData (&mVendorGuid, mVendorStorageName, sizeof (ISCSI_CONFIG_IFR_NVDATA), (UINT8 *) IfrNvData, NULL);
HiiSetBrowserData (&gIp4IScsiConfigGuid, mVendorStorageName, sizeof (ISCSI_CONFIG_IFR_NVDATA), (UINT8 *) IfrNvData, NULL);
}
FreePool (IfrNvData);
@ -1027,7 +1023,7 @@ IScsiConfigUpdateForm (
BufferSize = sizeof (ConfigFormEntry->AuthConfigData);
Status = gRT->GetVariable (
ConfigFormEntry->MacString,
&mIScsiCHAPAuthInfoGuid,
&gIScsiCHAPAuthInfoGuid,
NULL,
&BufferSize,
&ConfigFormEntry->AuthConfigData
@ -1102,7 +1098,7 @@ IScsiConfigUpdateForm (
HiiUpdateForm (
mCallbackInfo->RegisteredHandle,
&mVendorGuid,
&gIp4IScsiConfigGuid,
FORMID_MAIN_FORM,
StartOpCodeHandle, // Label DEVICE_ENTRY_LABEL
EndOpCodeHandle // LABEL_END
@ -1173,7 +1169,7 @@ IScsiConfigFormInit (
// Publish our HII data
//
CallbackInfo->RegisteredHandle = HiiAddPackages (
&mVendorGuid,
&gIp4IScsiConfigGuid,
CallbackInfo->DriverHandle,
IScsiDxeStrings,
IScsiConfigDxeBin,

View File

@ -17,7 +17,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#define EFI_NETWORK_DEVICE_CLASS 0x04
formset
guid = ISCSI_CONFIG_GUID,
guid = IP4_ISCSI_CONFIG_GUID,
title = STRING_TOKEN(STR_ISCSI_CONFIG_FORM_TITLE),
help = STRING_TOKEN(STR_ISCSI_CONFIG_FORM_HELP),
class = EFI_NETWORK_DEVICE_CLASS,
@ -25,7 +25,7 @@ formset
varstore ISCSI_CONFIG_IFR_NVDATA,
name = ISCSI_CONFIG_IFR_NVDATA,
guid = ISCSI_CONFIG_GUID;
guid = IP4_ISCSI_CONFIG_GUID;
form formid = FORMID_MAIN_FORM,
title = STRING_TOKEN(STR_ISCSI_MAIN_FORM_TITLE);

View File

@ -15,10 +15,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#ifndef _ISCSI_NVDATASTRUC_H_
#define _ISCSI_NVDATASTRUC_H_
#define ISCSI_CONFIG_GUID \
{ \
0x6456ed61, 0x3579, 0x41c9, { 0x8a, 0x26, 0x0a, 0x0b, 0xd6, 0x2b, 0x78, 0xfc } \
}
#include <Guid/Ip4IScsiConfigHii.h>
#define VAR_EQ_TEST_NAME 0x100

View File

@ -1,7 +1,7 @@
/** @file
The entry point of IScsi driver.
Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
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
@ -23,9 +23,6 @@ EFI_DRIVER_BINDING_PROTOCOL gIScsiDriverBinding = {
NULL
};
EFI_GUID gIScsiPrivateGuid = ISCSI_PRIVATE_GUID;
/**
Tests to see if this driver supports a given controller. If a child device is provided,
it further tests to see if this driver supports creating a handle for the specified child device.
@ -63,7 +60,7 @@ IScsiDriverBindingSupported (
Status = gBS->OpenProtocol (
ControllerHandle,
&gIScsiPrivateGuid,
&gEfiCallerIdGuid,
NULL,
This->DriverBindingHandle,
ControllerHandle,
@ -179,7 +176,7 @@ IScsiDriverBindingStart (
//
Status = gBS->InstallProtocolInterface (
&ControllerHandle,
&gIScsiPrivateGuid,
&gEfiCallerIdGuid,
EFI_NATIVE_INTERFACE,
&Private->IScsiIdentifier
);
@ -332,7 +329,7 @@ IScsiDriverBindingStop (
Status = gBS->OpenProtocol (
IScsiController,
&gIScsiPrivateGuid,
&gEfiCallerIdGuid,
(VOID **)&IScsiIdentifier,
This->DriverBindingHandle,
ControllerHandle,
@ -370,7 +367,7 @@ IScsiDriverBindingStop (
//
gBS->UninstallProtocolInterface (
IScsiController,
&gIScsiPrivateGuid,
&gEfiCallerIdGuid,
&Private->IScsiIdentifier
);

View File

@ -1,7 +1,7 @@
/** @file
The header file of IScsiDriver.c.
Copyright (c) 2004 - 2008, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
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
@ -27,13 +27,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Protocol/DriverBinding.h>
#include <Protocol/ScsiPassThruExt.h>
#define ISCSI_PRIVATE_GUID \
{ 0xfa3cde4c, 0x87c2, 0x427d, {0xae, 0xde, 0x7d, 0xd0, 0x96, 0xc8, 0x8c, 0x58} }
#define ISCSI_INITIATOR_NAME_VAR_NAME L"I_NAME"
extern EFI_GUID gIScsiPrivateGuid;
typedef struct _ISCSI_PRIVATE_PROTOCOL {
UINT32 Reserved;
} ISCSI_PRIVATE_PROTOCOL;

View File

@ -1,7 +1,7 @@
## @file
# Component description file for IScsi module.
#
# Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
# 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
@ -98,4 +98,6 @@
gEfiIfrTianoGuid ## CONSUMES ## GUID
gEfiAcpiTableGuid ## CONSUMES ## GUID
gEfiAcpi10TableGuid ## CONSUMES ## GUID
gEfiAcpi20TableGuid ## CONSUMES ## GUID
gEfiAcpi20TableGuid ## CONSUMES ## GUID
gIp4IScsiConfigGuid ## PRODUCES ## GUID
gIScsiCHAPAuthInfoGuid

View File

@ -1,7 +1,7 @@
/** @file
Implementation for iSCSI Boot Firmware Table publication.
Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
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
@ -150,7 +150,7 @@ IScsiFillInitiatorSection (
//
// Get the identifier from the handle.
//
Status = gBS->HandleProtocol (Handle, &gIScsiPrivateGuid, (VOID **) &IScsiIdentifier);
Status = gBS->HandleProtocol (Handle, &gEfiCallerIdGuid, (VOID **) &IScsiIdentifier);
if (EFI_ERROR (Status)) {
ASSERT (FALSE);
return ;
@ -288,7 +288,7 @@ IScsiFillNICAndTargetSections (
SectionOffset = &Control->NIC0Offset;
for (Index = 0; Index < HandleCount; Index++) {
Status = gBS->HandleProtocol (Handles[Index], &gIScsiPrivateGuid, (VOID **)&IScsiIdentifier);
Status = gBS->HandleProtocol (Handles[Index], &gEfiCallerIdGuid, (VOID **)&IScsiIdentifier);
if (EFI_ERROR (Status)) {
ASSERT (FALSE);
return ;
@ -484,7 +484,7 @@ IScsiPublishIbft (
//
Status = gBS->LocateHandleBuffer (
ByProtocol,
&gIScsiPrivateGuid,
&gEfiCallerIdGuid,
NULL,
&HandleCount,
&HandleBuffer

View File

@ -1,7 +1,7 @@
/** @file
Miscellaneous routines for iSCSI driver.
Copyright (c) 2004 - 2009, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
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
@ -684,7 +684,7 @@ IScsiGetConfigData (
BufferSize = sizeof (Session->AuthData.AuthConfig);
Status = gRT->GetVariable (
MacString,
&mIScsiCHAPAuthInfoGuid,
&gIScsiCHAPAuthInfoGuid,
NULL,
&BufferSize,
&Session->AuthData.AuthConfig

View File

@ -1,7 +1,7 @@
## @file
# Component name for module Ip4Config
#
# Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@ -67,4 +67,4 @@
[Guids]
gEfiNicIp4ConfigVariableGuid ## CONSUMES ## Guid
gNicIp4ConfigNvDataGuid ## PRODUCES ## Guid

View File

@ -15,9 +15,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include "Ip4ConfigNv.h"
#include "NicIp4Variable.h"
EFI_GUID mNicIp4ConfigNvDataGuid = EFI_NIC_IP4_CONFIG_NVDATA_GUID;
/**
Calculate the prefix length of the IPv4 subnet mask.
@ -431,7 +428,7 @@ Ip4DeviceExtractConfig (
}
}
if ((Request == NULL) || HiiIsConfigHdrMatch (Request, &mNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
if ((Request == NULL) || HiiIsConfigHdrMatch (Request, &gNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
IfrFormNvData = AllocateZeroPool (sizeof (IP4_CONFIG_IFR_NVDATA));
if (IfrFormNvData == NULL) {
@ -447,7 +444,7 @@ Ip4DeviceExtractConfig (
// Allocate and fill a buffer large enough to hold the <ConfigHdr> template
// followed by "&OFFSET=0&WIDTH=WWWWWWWWWWWWWWWW" followed by a Null-terminator
//
ConfigRequestHdr = HiiConstructConfigHdr (&mNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE, Ip4ConfigInstance->ChildHandle);
ConfigRequestHdr = HiiConstructConfigHdr (&gNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE, Ip4ConfigInstance->ChildHandle);
Size = (StrLen (ConfigRequestHdr) + 32 + 1) * sizeof (CHAR16);
ConfigRequest = AllocateZeroPool (Size);
ASSERT (ConfigRequest != NULL);
@ -498,7 +495,7 @@ Ip4DeviceExtractConfig (
FreePool (FormResult);
} else if (HiiIsConfigHdrMatch (Request, &gEfiNicIp4ConfigVariableGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
*Results = DeviceResult;
} else if (HiiIsConfigHdrMatch (Request, &mNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
} else if (HiiIsConfigHdrMatch (Request, &gNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
*Results = FormResult;
} else {
return EFI_NOT_FOUND;
@ -582,7 +579,7 @@ Ip4DeviceRouteConfig (
//
// Check Routing data in <ConfigHdr>.
//
if (HiiIsConfigHdrMatch (Configuration, &mNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
if (HiiIsConfigHdrMatch (Configuration, &gNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
//
// Convert buffer data to <ConfigResp> by helper function BlockToConfig()
//
@ -703,7 +700,7 @@ Ip4FormCallback (
//
// Retrive uncommitted data from Browser
//
if (!HiiGetBrowserData (&mNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE, sizeof (IP4_CONFIG_IFR_NVDATA), (UINT8 *) IfrFormNvData)) {
if (!HiiGetBrowserData (&gNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE, sizeof (IP4_CONFIG_IFR_NVDATA), (UINT8 *) IfrFormNvData)) {
FreePool (IfrFormNvData);
return EFI_NOT_FOUND;
}
@ -841,7 +838,7 @@ Ip4ConfigDeviceInit (
// Publish our HII data
//
Instance->RegisteredHandle = HiiAddPackages (
&mNicIp4ConfigNvDataGuid,
&gNicIp4ConfigNvDataGuid,
Instance->ChildHandle,
Ip4ConfigDxeStrings,
Ip4ConfigDxeBin,

View File

@ -1,7 +1,7 @@
/** @file
Routines used to operate the Ip4 configure variable.
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
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<BR>
@ -15,10 +15,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#ifndef _NIC_IP4_NV_DATA_H_
#define _NIC_IP4_NV_DATA_H_
#define EFI_NIC_IP4_CONFIG_NVDATA_GUID \
{ \
0x9d5b53f, 0xf4b0, 0x4f59, { 0xa0, 0xb1, 0x7b, 0x57, 0xd3, 0x5c, 0xe, 0x5 } \
}
#include <Guid/Ip4ConfigHii.h>
#define FORMID_MAIN_FORM 1
#define FORMID_DEVICE_FORM 2

View File

@ -16,7 +16,7 @@
#include "VlanConfigNvData.h"
formset
guid = VLAN_CONFIG_PRIVATE_GUID,
guid = VLAN_CONFIG_FORM_SET_GUID,
title = STRING_TOKEN(STR_VLAN_FORM_SET_TITLE),
help = STRING_TOKEN(STR_VLAN_FORM_SET_TITLE_HELP),
classguid = EFI_HII_PLATFORM_SETUP_FORMSET_GUID,
@ -24,7 +24,7 @@ formset
varstore VLAN_CONFIGURATION,
varid = VLAN_CONFIGURATION_VARSTORE_ID,
name = VlanNvData,
guid = VLAN_CONFIG_PRIVATE_GUID;
guid = VLAN_CONFIG_FORM_SET_GUID;
form formid = VLAN_HEAD_FORM_ID,
title = STRING_TOKEN(STR_VLAN_FORM_TITLE);

View File

@ -15,8 +15,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include "VlanConfigImpl.h"
EFI_GUID gVlanConfigPrivateGuid = VLAN_CONFIG_PRIVATE_GUID;
EFI_DRIVER_BINDING_PROTOCOL gVlanConfigDriverBinding = {
VlanConfigDriverBindingSupported,
VlanConfigDriverBindingStart,
@ -136,7 +134,7 @@ VlanConfigDriverBindingStart (
//
Status = gBS->OpenProtocol (
ControllerHandle,
&gVlanConfigPrivateGuid,
&gEfiCallerIdGuid,
(VOID **) &PrivateData,
This->DriverBindingHandle,
ControllerHandle,
@ -203,7 +201,7 @@ VlanConfigDriverBindingStart (
//
Status = gBS->InstallMultipleProtocolInterfaces (
&ControllerHandle,
&gVlanConfigPrivateGuid,
&gEfiCallerIdGuid,
PrivateData,
NULL
);
@ -266,7 +264,7 @@ VlanConfigDriverBindingStop (
//
Status = gBS->OpenProtocol (
ControllerHandle,
&gVlanConfigPrivateGuid,
&gEfiCallerIdGuid,
(VOID **) &PrivateData,
This->DriverBindingHandle,
ControllerHandle,
@ -287,7 +285,7 @@ VlanConfigDriverBindingStop (
//
Status = gBS->UninstallMultipleProtocolInterfaces (
ControllerHandle,
&gVlanConfigPrivateGuid,
&gEfiCallerIdGuid,
PrivateData,
NULL
);

View File

@ -52,6 +52,7 @@
[Guids]
gEfiIfrTianoGuid
gVlanConfigFormSetGuid
[Protocols]
gEfiHiiConfigAccessProtocolGuid ## PRODUCES

View File

@ -15,7 +15,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include "VlanConfigImpl.h"
EFI_GUID mVlanFormSetGuid = VLAN_CONFIG_PRIVATE_GUID;
CHAR16 mVlanStorageName[] = L"VlanNvData";
EFI_HII_CONFIG_ROUTING_PROTOCOL *mHiiConfigRouting = NULL;
@ -37,7 +36,7 @@ VENDOR_DEVICE_PATH mHiiVendorDevicePathNode = {
(UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)
}
},
VLAN_CONFIG_PRIVATE_GUID
VLAN_CONFIG_FORM_SET_GUID
};
/**
@ -89,7 +88,7 @@ VlanExtractConfig (
}
*Progress = Request;
if ((Request != NULL) && !HiiIsConfigHdrMatch (Request, &mVlanFormSetGuid, mVlanStorageName)) {
if ((Request != NULL) && !HiiIsConfigHdrMatch (Request, &gVlanConfigFormSetGuid, mVlanStorageName)) {
return EFI_NOT_FOUND;
}
@ -119,7 +118,7 @@ VlanExtractConfig (
// Allocate and fill a buffer large enough to hold the <ConfigHdr> template
// followed by "&OFFSET=0&WIDTH=WWWWWWWWWWWWWWWW" followed by a Null-terminator
//
ConfigRequestHdr = HiiConstructConfigHdr (&mVlanFormSetGuid, mVlanStorageName, PrivateData->DriverHandle);
ConfigRequestHdr = HiiConstructConfigHdr (&gVlanConfigFormSetGuid, mVlanStorageName, PrivateData->DriverHandle);
Size = (StrLen (ConfigRequestHdr) + 32 + 1) * sizeof (CHAR16);
ConfigRequest = AllocateZeroPool (Size);
ASSERT (ConfigRequest != NULL);
@ -187,7 +186,7 @@ VlanRouteConfig (
}
*Progress = Configuration;
if (!HiiIsConfigHdrMatch (Configuration, &mVlanFormSetGuid, mVlanStorageName)) {
if (!HiiIsConfigHdrMatch (Configuration, &gVlanConfigFormSetGuid, mVlanStorageName)) {
return EFI_NOT_FOUND;
}
@ -246,7 +245,7 @@ VlanCallback (
//
Configuration = AllocateZeroPool (sizeof (VLAN_CONFIGURATION));
ASSERT (Configuration != NULL);
HiiGetBrowserData (&mVlanFormSetGuid, mVlanStorageName, sizeof (VLAN_CONFIGURATION), (UINT8 *) Configuration);
HiiGetBrowserData (&gVlanConfigFormSetGuid, mVlanStorageName, sizeof (VLAN_CONFIGURATION), (UINT8 *) Configuration);
VlanConfig = PrivateData->VlanConfig;
@ -316,7 +315,7 @@ VlanCallback (
break;
}
HiiSetBrowserData (&mVlanFormSetGuid, mVlanStorageName, sizeof (VLAN_CONFIGURATION), (UINT8 *) Configuration, NULL);
HiiSetBrowserData (&gVlanConfigFormSetGuid, mVlanStorageName, sizeof (VLAN_CONFIGURATION), (UINT8 *) Configuration, NULL);
FreePool (Configuration);
return EFI_SUCCESS;
}
@ -444,7 +443,7 @@ VlanUpdateForm (
HiiUpdateForm (
PrivateData->HiiHandle, // HII handle
&mVlanFormSetGuid, // Formset GUID
&gVlanConfigFormSetGuid, // Formset GUID
VLAN_CONFIGURATION_FORM_ID, // Form ID
StartOpCodeHandle, // Label for where to insert opcodes
EndOpCodeHandle // Replace data
@ -515,7 +514,7 @@ InstallVlanConfigForm (
// Publish the HII package list
//
HiiHandle = HiiAddPackages (
&mVlanFormSetGuid,
&gVlanConfigFormSetGuid,
DriverHandle,
VlanConfigDxeStrings,
VlanConfigBin,

View File

@ -17,12 +17,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#define __VLAN_CONFIG_NV_DATA_H__
#include <Guid/HiiPlatformSetupFormset.h>
#define VLAN_CONFIG_PRIVATE_GUID \
{ \
0xd79df6b0, 0xef44, 0x43bd, {0x97, 0x97, 0x43, 0xe9, 0x3b, 0xcf, 0x5f, 0xa8 } \
}
#include <Guid/VlanConfigHii.h>
#define VLAN_CONFIGURATION_VARSTORE_ID 0x0001
#define VLAN_CONFIGURATION_FORM_ID 0x0001

View File

@ -61,7 +61,6 @@ extern UINT8 PlatDriOverrideDxeStrings[];
//
// module global data
//
EFI_GUID mPlatformOverridesManagerGuid = PLAT_OVER_MNGR_GUID;
CHAR16 mVariableName[] = L"Data";
LIST_ENTRY mMappingDataBase = INITIALIZE_LIST_HEAD_VARIABLE (mMappingDataBase);
BOOLEAN mEnvironmentVariableRead = FALSE;
@ -92,7 +91,7 @@ HII_VENDOR_DEVICE_PATH mHiiVendorDevicePath = {
(UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)
}
},
EFI_CALLER_ID_GUID
PLAT_OVER_MNGR_GUID
},
{
END_DEVICE_PATH_TYPE,
@ -400,7 +399,7 @@ UpdateDeviceSelectPage (
//
HiiUpdateForm (
Private->RegisteredHandle,
&mPlatformOverridesManagerGuid,
&gPlatformOverridesManagerGuid,
FORM_ID_DEVICE,
StartOpCodeHandle, // Label FORM_ID_DEVICE
EndOpCodeHandle // LABEL_END
@ -531,7 +530,7 @@ UpdateDeviceSelectPage (
//
HiiUpdateForm (
Private->RegisteredHandle,
&mPlatformOverridesManagerGuid,
&gPlatformOverridesManagerGuid,
FORM_ID_DEVICE,
StartOpCodeHandle, // Label FORM_ID_DEVICE
EndOpCodeHandle // LABEL_END
@ -693,7 +692,7 @@ UpdateBindingDriverSelectPage (
//
HiiUpdateForm (
Private->RegisteredHandle,
&mPlatformOverridesManagerGuid,
&gPlatformOverridesManagerGuid,
FORM_ID_DRIVER,
StartOpCodeHandle,
EndOpCodeHandle
@ -860,7 +859,7 @@ UpdateBindingDriverSelectPage (
//
HiiUpdateForm (
Private->RegisteredHandle,
&mPlatformOverridesManagerGuid,
&gPlatformOverridesManagerGuid,
FORM_ID_DRIVER,
StartOpCodeHandle, // Label FORM_ID_DRIVER
EndOpCodeHandle // LABEL_END
@ -937,7 +936,7 @@ UpdatePrioritySelectPage (
//
HiiUpdateForm (
Private->RegisteredHandle,
&mPlatformOverridesManagerGuid,
&gPlatformOverridesManagerGuid,
FORM_ID_ORDER,
StartOpCodeHandle,
EndOpCodeHandle
@ -1060,7 +1059,7 @@ UpdatePrioritySelectPage (
//
HiiUpdateForm (
Private->RegisteredHandle,
&mPlatformOverridesManagerGuid,
&gPlatformOverridesManagerGuid,
FORM_ID_ORDER,
StartOpCodeHandle, // Label FORM_ID_ORDER
EndOpCodeHandle // LABEL_END
@ -1172,7 +1171,7 @@ PlatOverMngrExtractConfig (
}
*Progress = Request;
if ((Request != NULL) && !HiiIsConfigHdrMatch (Request, &mPlatformOverridesManagerGuid, mVariableName)) {
if ((Request != NULL) && !HiiIsConfigHdrMatch (Request, &gPlatformOverridesManagerGuid, mVariableName)) {
return EFI_NOT_FOUND;
}
@ -1190,7 +1189,7 @@ PlatOverMngrExtractConfig (
// Allocate and fill a buffer large enough to hold the <ConfigHdr> template
// followed by "&OFFSET=0&WIDTH=WWWWWWWWWWWWWWWW" followed by a Null-terminator
//
ConfigRequestHdr = HiiConstructConfigHdr (&mPlatformOverridesManagerGuid, mVariableName, Private->DriverHandle);
ConfigRequestHdr = HiiConstructConfigHdr (&gPlatformOverridesManagerGuid, mVariableName, Private->DriverHandle);
Size = (StrLen (ConfigRequestHdr) + 32 + 1) * sizeof (CHAR16);
ConfigRequest = AllocateZeroPool (Size);
ASSERT (ConfigRequest != NULL);
@ -1263,14 +1262,14 @@ PlatOverMngrRouteConfig (
}
*Progress = Configuration;
if (!HiiIsConfigHdrMatch (Configuration, &mPlatformOverridesManagerGuid, mVariableName)) {
if (!HiiIsConfigHdrMatch (Configuration, &gPlatformOverridesManagerGuid, mVariableName)) {
return EFI_NOT_FOUND;
}
*Progress = Configuration + StrLen (Configuration);
Private = EFI_CALLBACK_INFO_FROM_THIS (This);
FakeNvData = &Private->FakeNvData;
if (!HiiGetBrowserData (&mPlatformOverridesManagerGuid, mVariableName, sizeof (PLAT_OVER_MNGR_DATA), (UINT8 *) FakeNvData)) {
if (!HiiGetBrowserData (&gPlatformOverridesManagerGuid, mVariableName, sizeof (PLAT_OVER_MNGR_DATA), (UINT8 *) FakeNvData)) {
//
// FakeNvData can't be got from SetupBrowser, which doesn't need to be set.
//
@ -1338,7 +1337,7 @@ PlatOverMngrCallback (
if (Action == EFI_BROWSER_ACTION_CHANGING) {
Private = EFI_CALLBACK_INFO_FROM_THIS (This);
FakeNvData = &Private->FakeNvData;
if (!HiiGetBrowserData (&mPlatformOverridesManagerGuid, mVariableName, sizeof (PLAT_OVER_MNGR_DATA), (UINT8 *) FakeNvData)) {
if (!HiiGetBrowserData (&gPlatformOverridesManagerGuid, mVariableName, sizeof (PLAT_OVER_MNGR_DATA), (UINT8 *) FakeNvData)) {
return EFI_NOT_FOUND;
}
@ -1401,7 +1400,7 @@ PlatOverMngrCallback (
//
// Pass changed uncommitted data back to Form Browser
//
HiiSetBrowserData (&mPlatformOverridesManagerGuid, mVariableName, sizeof (PLAT_OVER_MNGR_DATA), (UINT8 *) FakeNvData, NULL);
HiiSetBrowserData (&gPlatformOverridesManagerGuid, mVariableName, sizeof (PLAT_OVER_MNGR_DATA), (UINT8 *) FakeNvData, NULL);
return EFI_SUCCESS;
}
@ -1624,7 +1623,7 @@ PlatDriOverrideDxeInit (
// Publish our HII data
//
mCallbackInfo->RegisteredHandle = HiiAddPackages (
&mPlatformOverridesManagerGuid,
&gPlatformOverridesManagerGuid,
mCallbackInfo->DriverHandle,
VfrBin,
PlatDriOverrideDxeStrings,

View File

@ -3,7 +3,7 @@
The defintions are required both by Source code and Vfr file.
The PLAT_OVER_MNGR_DATA structure, form guid and Ifr question ID are defined.
Copyright (c) 2007 - 2008, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>
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
@ -17,10 +17,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#ifndef _PLAT_OVER_MNGR_H_
#define _PLAT_OVER_MNGR_H_
#define PLAT_OVER_MNGR_GUID \
{ \
0x8614567d, 0x35be, 0x4415, {0x8d, 0x88, 0xbd, 0x7d, 0xc, 0x9c, 0x70, 0xc0} \
}
#include <Guid/PlatDriOverrideHii.h>
//
// The max number of the supported driver list.

View File

@ -16,7 +16,7 @@
# 4. It save all the mapping info in NV variables for the following boot,
# which will be consumed by GetDriver API of the produced the platform override protocol.
#
# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@ -78,6 +78,7 @@
#
# gEfiCallerIdGuid ## Private ## Variable:L"PlatDriOver"
gEfiIfrTianoGuid ## CONSUMES ## Guid
gPlatformOverridesManagerGuid ## PRODUCES ## Guid
[Protocols]
gEfiComponentName2ProtocolGuid ## SOMETIMES_CONSUMED (Get Driver Name if ComponentName2Protocol exists)