Update for Meta data.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7361 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
75a3814159
commit
7772b1760f
|
@ -37,8 +37,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
#include <Library/MemoryAllocationLib.h>
|
#include <Library/MemoryAllocationLib.h>
|
||||||
#include <Library/PcdLib.h>
|
#include <Library/PcdLib.h>
|
||||||
#include <Library/UefiUsbLib.h>
|
#include <Library/UefiUsbLib.h>
|
||||||
#include <Library/BaseLib.h>
|
|
||||||
#include <Library/UefiUsbLib.h>
|
|
||||||
|
|
||||||
#include <IndustryStandard/Usb.h>
|
#include <IndustryStandard/Usb.h>
|
||||||
|
|
||||||
|
|
|
@ -286,8 +286,6 @@ UINT8 ModifierValueToEfiScanCodeConvertionTable[] = {
|
||||||
SCAN_F12, // EFI_FUNCTION_KEY_TWELVE_MODIFIER
|
SCAN_F12, // EFI_FUNCTION_KEY_TWELVE_MODIFIER
|
||||||
};
|
};
|
||||||
|
|
||||||
EFI_GUID mKeyboardLayoutEventGuid = EFI_HII_SET_KEYBOARD_LAYOUT_EVENT_GUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Initialize Key Convertion Table by using default keyboard layout.
|
Initialize Key Convertion Table by using default keyboard layout.
|
||||||
|
|
||||||
|
@ -719,7 +717,7 @@ InitKeyboardLayout (
|
||||||
TPL_NOTIFY,
|
TPL_NOTIFY,
|
||||||
SetKeyboardLayoutEvent,
|
SetKeyboardLayoutEvent,
|
||||||
UsbKeyboardDevice,
|
UsbKeyboardDevice,
|
||||||
&mKeyboardLayoutEventGuid,
|
&gEfiHiiKeyBoardLayoutGuid,
|
||||||
&UsbKeyboardDevice->KeyboardLayoutEvent
|
&UsbKeyboardDevice->KeyboardLayoutEvent
|
||||||
);
|
);
|
||||||
if (EFI_ERROR (Status)) {
|
if (EFI_ERROR (Status)) {
|
||||||
|
|
|
@ -2,6 +2,17 @@
|
||||||
# USB Keyboard Driver that manages USB keyboard and produces Simple Text Input
|
# USB Keyboard Driver that manages USB keyboard and produces Simple Text Input
|
||||||
# Protocol and Simple Text Input Ex Protocol.
|
# Protocol and Simple Text Input Ex Protocol.
|
||||||
#
|
#
|
||||||
|
# USB Keyboard Driver consumes USB I/O Protocol and Device Path Protocol, and produces
|
||||||
|
# Simple Text Input Protocol and Simple Text Input Ex Protocol on USB keyboard devices.
|
||||||
|
# It initializes the keyboard layout according to info retrieved from HII database.
|
||||||
|
# If HII cannot provide the info, this module uses its carried default one if PCD allows.
|
||||||
|
# It manages the USB keyboard device via Asynchronous Interrupt Transfer of USB I/O Protocol,
|
||||||
|
# and parses the data according to USB HID documents.
|
||||||
|
# This module refers to following specifications:
|
||||||
|
# 1. Universal Serial Bus HID Firmware Specification, ver 1.11
|
||||||
|
# 2. Universal Serial Bus HID Usage Tables, ver 1.12
|
||||||
|
# 3. UEFI Specification, v2.1
|
||||||
|
#
|
||||||
# Copyright (c) 2006 - 2008, Intel Corporation.
|
# Copyright (c) 2006 - 2008, Intel Corporation.
|
||||||
#
|
#
|
||||||
# All rights reserved. This program and the accompanying materials
|
# All rights reserved. This program and the accompanying materials
|
||||||
|
@ -21,7 +32,6 @@
|
||||||
FILE_GUID = 2D2E62CF-9ECF-43b7-8219-94E7FC713DFE
|
FILE_GUID = 2D2E62CF-9ECF-43b7-8219-94E7FC713DFE
|
||||||
MODULE_TYPE = UEFI_DRIVER
|
MODULE_TYPE = UEFI_DRIVER
|
||||||
VERSION_STRING = 1.0
|
VERSION_STRING = 1.0
|
||||||
|
|
||||||
ENTRY_POINT = USBKeyboardDriverBindingEntryPoint
|
ENTRY_POINT = USBKeyboardDriverBindingEntryPoint
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -45,7 +55,6 @@
|
||||||
MdePkg/MdePkg.dec
|
MdePkg/MdePkg.dec
|
||||||
MdeModulePkg/MdeModulePkg.dec
|
MdeModulePkg/MdeModulePkg.dec
|
||||||
|
|
||||||
|
|
||||||
[LibraryClasses]
|
[LibraryClasses]
|
||||||
MemoryAllocationLib
|
MemoryAllocationLib
|
||||||
UefiLib
|
UefiLib
|
||||||
|
@ -57,19 +66,32 @@
|
||||||
DebugLib
|
DebugLib
|
||||||
PcdLib
|
PcdLib
|
||||||
UefiUsbLib
|
UefiUsbLib
|
||||||
BaseLib
|
|
||||||
|
[Guids]
|
||||||
|
##
|
||||||
|
# Event registered to EFI_HII_SET_KEYBOARD_LAYOUT_EVENT_GUID group,
|
||||||
|
# which will be triggered by EFI_HII_DATABASE_PROTOCOL.SetKeyboardLayout().
|
||||||
|
#
|
||||||
|
gEfiHiiKeyBoardLayoutGuid ## SOMETIME_CONSUMES ## Event
|
||||||
|
|
||||||
[Protocols]
|
[Protocols]
|
||||||
gEfiUsbIoProtocolGuid # PROTOCOL TO_START
|
gEfiUsbIoProtocolGuid ## TO_START
|
||||||
gEfiDevicePathProtocolGuid # PROTOCOL TO_START
|
gEfiDevicePathProtocolGuid ## TO_START
|
||||||
gEfiSimpleTextInProtocolGuid # PROTOCOL BY_START
|
gEfiSimpleTextInProtocolGuid ## BY_START
|
||||||
gEfiSimpleTextInputExProtocolGuid # PROTOCOL BY_START
|
gEfiSimpleTextInputExProtocolGuid ## BY_START
|
||||||
gEfiHiiDatabaseProtocolGuid # PROTOCOL TO_START
|
gEfiHotPlugDeviceGuid ## BY_START
|
||||||
gSimpleTextInExNotifyGuid # PROTOCOL ALWAYS_CONSUMED
|
##
|
||||||
gEfiHotPlugDeviceGuid # PROTOCOL ALWAYS_CONSUMED
|
# If HII Database Protocol exists, then keyboard layout from HII database is used.
|
||||||
|
# Otherwise, USB keyboard module tries to use its carried default layout.
|
||||||
|
#
|
||||||
|
gEfiHiiDatabaseProtocolGuid ## SOMETIMES_CONSUMES (Default value is used if it's absent.)
|
||||||
|
##
|
||||||
|
# SimpleTextInExNotify is installed on the handle created by EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL.RegisterKeyNotify().
|
||||||
|
#
|
||||||
|
gSimpleTextInExNotifyGuid ## PRODUCES
|
||||||
|
|
||||||
[FeaturePcd.common]
|
[FeaturePcd.common]
|
||||||
gEfiMdeModulePkgTokenSpaceGuid.PcdDisableDefaultKeyboardLayoutInUsbKbDriver
|
gEfiMdeModulePkgTokenSpaceGuid.PcdDisableDefaultKeyboardLayoutInUsbKbDriver ## SOMETIME_CONSUMES (Checked when no layout is provided by HII.)
|
||||||
|
|
||||||
[FixedPcd]
|
[FixedPcd]
|
||||||
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardEnable
|
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardEnable
|
||||||
|
@ -80,3 +102,24 @@
|
||||||
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardSelfTest
|
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardSelfTest
|
||||||
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardInterfaceError
|
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardInterfaceError
|
||||||
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardInputError
|
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardInputError
|
||||||
|
|
||||||
|
|
||||||
|
# [Event]
|
||||||
|
# ##
|
||||||
|
# # Periodic timer event for generation of repeat key
|
||||||
|
# #
|
||||||
|
# EVENT_TYPE_PERIODIC_TIMER ## PRODUCES
|
||||||
|
# ##
|
||||||
|
# # Periodic timer event for delayed recovery, which deals with device error.
|
||||||
|
# #
|
||||||
|
# EVENT_TYPE_PERIODIC_TIMER ## PRODUCES
|
||||||
|
# ##
|
||||||
|
# # Event for EFI_SIMPLE_TEXT_INPUT_PROTOCOL.WaitForKey
|
||||||
|
# #
|
||||||
|
# EVENT_TYPE_NOTIFY_WAIT ## PRODUCES
|
||||||
|
# ##
|
||||||
|
# # Event for EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL.WaitForKeyEx
|
||||||
|
# #
|
||||||
|
# EVENT_TYPE_NOTIFY_WAIT ## PRODUCES
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
|
@ -8,6 +8,11 @@
|
||||||
# The command set defines the command, data and result.
|
# The command set defines the command, data and result.
|
||||||
# The Bulk-Only-Transport and Control/Bulk/Interrupt transport are two transportation protocol.
|
# The Bulk-Only-Transport and Control/Bulk/Interrupt transport are two transportation protocol.
|
||||||
# USB mass storage class adopts various industrial standard as its command set.
|
# USB mass storage class adopts various industrial standard as its command set.
|
||||||
|
# This module refers to following specifications:
|
||||||
|
# 1. USB Mass Storage Specification for Bootability, Revision 1.0
|
||||||
|
# 2. USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport, Revision 1.1
|
||||||
|
# 3. USB Mass Storage Class Bulk-Only Transport, Revision 1.0.
|
||||||
|
# 4. UEFI Specification, v2.1
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006 - 2008, Intel Corporation.
|
# Copyright (c) 2006 - 2008, Intel Corporation.
|
||||||
#
|
#
|
||||||
|
@ -28,7 +33,6 @@
|
||||||
FILE_GUID = 9FB4B4A7-42C0-4bcd-8540-9BCC6711F83E
|
FILE_GUID = 9FB4B4A7-42C0-4bcd-8540-9BCC6711F83E
|
||||||
MODULE_TYPE = UEFI_DRIVER
|
MODULE_TYPE = UEFI_DRIVER
|
||||||
VERSION_STRING = 1.0
|
VERSION_STRING = 1.0
|
||||||
|
|
||||||
ENTRY_POINT = USBMassStorageEntryPoint
|
ENTRY_POINT = USBMassStorageEntryPoint
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -67,7 +71,7 @@
|
||||||
|
|
||||||
|
|
||||||
[Protocols]
|
[Protocols]
|
||||||
gEfiUsbIoProtocolGuid # PROTOCOL TO_START
|
gEfiUsbIoProtocolGuid ## TO_START
|
||||||
gEfiDevicePathProtocolGuid # PROTOCOL TO_START
|
gEfiDevicePathProtocolGuid ## TO_START
|
||||||
gEfiBlockIoProtocolGuid # PROTOCOL BY_START
|
gEfiBlockIoProtocolGuid ## BY_START
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,14 @@
|
||||||
#/** @file
|
#/** @file
|
||||||
# USB Mouse Driver that manages USB mouse and produces Absolute Pointer Protocol.
|
# USB Mouse Driver that manages USB mouse and produces Absolute Pointer Protocol.
|
||||||
#
|
#
|
||||||
|
# USB Mouse Driver consumes USB I/O Protocol and Device Path Protocol, and produces
|
||||||
|
# Absolute Pointer Protocol on USB mouse devices.
|
||||||
|
# It manages the USB mouse device via Asynchronous Interrupt Transfer of USB I/O Protocol,
|
||||||
|
# and parses the data according to USB HID Specification.
|
||||||
|
# This module refers to following specifications:
|
||||||
|
# 1. Universal Serial Bus HID Firmware Specification, ver 1.11
|
||||||
|
# 2. UEFI Specification, v2.1
|
||||||
|
#
|
||||||
# Copyright (c) 2006 - 2008, Intel Corporation.
|
# Copyright (c) 2006 - 2008, Intel Corporation.
|
||||||
#
|
#
|
||||||
# All rights reserved. This program and the accompanying materials
|
# All rights reserved. This program and the accompanying materials
|
||||||
|
@ -20,7 +28,6 @@
|
||||||
FILE_GUID = 4EA43463-747C-46eb-97FB-B0E5C5F05306
|
FILE_GUID = 4EA43463-747C-46eb-97FB-B0E5C5F05306
|
||||||
MODULE_TYPE = UEFI_DRIVER
|
MODULE_TYPE = UEFI_DRIVER
|
||||||
VERSION_STRING = 1.0
|
VERSION_STRING = 1.0
|
||||||
|
|
||||||
ENTRY_POINT = USBMouseAbsolutePointerDriverBindingEntryPoint
|
ENTRY_POINT = USBMouseAbsolutePointerDriverBindingEntryPoint
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -53,9 +60,9 @@
|
||||||
UefiUsbLib
|
UefiUsbLib
|
||||||
|
|
||||||
[Protocols]
|
[Protocols]
|
||||||
gEfiUsbIoProtocolGuid # PROTOCOL TO_START
|
gEfiUsbIoProtocolGuid ## TO_START
|
||||||
gEfiDevicePathProtocolGuid # PROTOCOL TO_START
|
gEfiDevicePathProtocolGuid ## TO_START
|
||||||
gEfiAbsolutePointerProtocolGuid # PROTOCOL BY_START
|
gEfiAbsolutePointerProtocolGuid ## BY_START
|
||||||
|
|
||||||
[FixedPcd]
|
[FixedPcd]
|
||||||
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseInterfaceError
|
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseInterfaceError
|
||||||
|
@ -64,4 +71,15 @@
|
||||||
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseInputError
|
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseInputError
|
||||||
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseReset
|
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseReset
|
||||||
|
|
||||||
|
# [Event]
|
||||||
|
# ##
|
||||||
|
# # Periodic timer event for delayed recovery, which deals with device error.
|
||||||
|
# #
|
||||||
|
# EVENT_TYPE_PERIODIC_TIMER ## PRODUCES
|
||||||
|
# ##
|
||||||
|
# # Event for EFI_ABSOLUTE_POINTER_PROTOCOL.WaitForInput
|
||||||
|
# #
|
||||||
|
# EVENT_TYPE_NOTIFY_WAIT ## PRODUCES
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
|
|
@ -855,7 +855,7 @@ UsbMouseReset (
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Event notification function for SIMPLE_POINTER.WaitForInput event.
|
Event notification function for EFI_SIMPLE_POINTER_PROTOCOL.WaitForInput event.
|
||||||
|
|
||||||
@param Event Event to be signaled when there's input from mouse.
|
@param Event Event to be signaled when there's input from mouse.
|
||||||
@param Context Points to USB_MOUSE_DEV instance.
|
@param Context Points to USB_MOUSE_DEV instance.
|
||||||
|
|
|
@ -1,6 +1,14 @@
|
||||||
#/** @file
|
#/** @file
|
||||||
# USB Mouse Driver that manages USB mouse and produces Simple Pointer Protocol.
|
# USB Mouse Driver that manages USB mouse and produces Simple Pointer Protocol.
|
||||||
#
|
#
|
||||||
|
# USB Mouse Driver consumes USB I/O Protocol and Device Path Protocol, and produces
|
||||||
|
# Simple Pointer Protocol on USB mouse devices.
|
||||||
|
# It manages the USB mouse device via Asynchronous Interrupt Transfer of USB I/O Protocol,
|
||||||
|
# and parses the data according to USB HID Specification.
|
||||||
|
# This module refers to following specifications:
|
||||||
|
# 1. Universal Serial Bus HID Firmware Specification, ver 1.11
|
||||||
|
# 2. UEFI Specification, v2.1
|
||||||
|
#
|
||||||
# Copyright (c) 2006 - 2008, Intel Corporation.
|
# Copyright (c) 2006 - 2008, Intel Corporation.
|
||||||
#
|
#
|
||||||
# All rights reserved. This program and the accompanying materials
|
# All rights reserved. This program and the accompanying materials
|
||||||
|
@ -20,7 +28,6 @@
|
||||||
FILE_GUID = 2D2E62AA-9ECF-43b7-8219-94E7FC713DFE
|
FILE_GUID = 2D2E62AA-9ECF-43b7-8219-94E7FC713DFE
|
||||||
MODULE_TYPE = UEFI_DRIVER
|
MODULE_TYPE = UEFI_DRIVER
|
||||||
VERSION_STRING = 1.0
|
VERSION_STRING = 1.0
|
||||||
|
|
||||||
ENTRY_POINT = USBMouseDriverBindingEntryPoint
|
ENTRY_POINT = USBMouseDriverBindingEntryPoint
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -53,9 +60,9 @@
|
||||||
UefiUsbLib
|
UefiUsbLib
|
||||||
|
|
||||||
[Protocols]
|
[Protocols]
|
||||||
gEfiUsbIoProtocolGuid # PROTOCOL TO_START
|
gEfiUsbIoProtocolGuid ## TO_START
|
||||||
gEfiDevicePathProtocolGuid # PROTOCOL TO_START
|
gEfiDevicePathProtocolGuid ## TO_START
|
||||||
gEfiSimplePointerProtocolGuid # PROTOCOL BY_START
|
gEfiSimplePointerProtocolGuid ## BY_START
|
||||||
|
|
||||||
[FixedPcd]
|
[FixedPcd]
|
||||||
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseInterfaceError
|
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseInterfaceError
|
||||||
|
@ -64,4 +71,15 @@
|
||||||
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseInputError
|
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseInputError
|
||||||
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseReset
|
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseReset
|
||||||
|
|
||||||
|
# [Event]
|
||||||
|
# ##
|
||||||
|
# # Periodic timer event for delayed recovery, which deals with device error.
|
||||||
|
# #
|
||||||
|
# EVENT_TYPE_PERIODIC_TIMER ## PRODUCES
|
||||||
|
# ##
|
||||||
|
# # Event for EFI_SIMPLE_POINTER_PROTOCOL.WaitForInput
|
||||||
|
# #
|
||||||
|
# EVENT_TYPE_NOTIFY_WAIT ## PRODUCES
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
#/** @file
|
#/** @file
|
||||||
# Instance of Platform Driver Override Library.
|
# Instance of Platform Driver Override Library to manage driver overriding relationship.
|
||||||
|
#
|
||||||
|
# This library instance provides functions to manage the database of overriding relationship
|
||||||
|
# between controllers and drivers. Each entry of the database contains the mapping that Controller
|
||||||
|
# Device Path to a set of Driver Device Paths. The database is stored in non-volatile variables.
|
||||||
#
|
#
|
||||||
# Copyright (c) 2007 - 2008, Intel Corporation. All rights reserved.
|
# Copyright (c) 2007 - 2008, Intel Corporation. All rights reserved.
|
||||||
#
|
#
|
||||||
|
@ -49,12 +53,15 @@
|
||||||
PrintLib
|
PrintLib
|
||||||
|
|
||||||
[Guids]
|
[Guids]
|
||||||
gEfiOverrideVariableGuid # ALWAYS_CONSUMED
|
##
|
||||||
|
# There could be more than one variables, from PlatDriOver, PlatDriOver1, PlatDriOver2,...
|
||||||
|
#
|
||||||
|
gEfiOverrideVariableGuid ## CONSUMES ## Variable:L"PlatDriOver"
|
||||||
|
|
||||||
[Protocols]
|
[Protocols]
|
||||||
gEfiFirmwareVolume2ProtocolGuid # PROTOCOL ALWAYS_CONSUMED
|
gEfiFirmwareVolume2ProtocolGuid ## CONSUMES
|
||||||
gEfiLoadedImageProtocolGuid # PROTOCOL ALWAYS_CONSUMED
|
gEfiLoadedImageProtocolGuid ## CONSUMES
|
||||||
gEfiBusSpecificDriverOverrideProtocolGuid # PROTOCOL ALWAYS_CONSUMED
|
gEfiBusSpecificDriverOverrideProtocolGuid ## CONSUMES
|
||||||
gEfiDriverBindingProtocolGuid # PROTOCOL ALWAYS_CONSUMED
|
gEfiDriverBindingProtocolGuid ## CONSUMES
|
||||||
gEfiDevicePathProtocolGuid # PROTOCOL ALWAYS_CONSUMED
|
gEfiDevicePathProtocolGuid ## CONSUMES
|
||||||
gEfiLoadedImageDevicePathProtocolGuid # PROTOCOL ALWAYS_CONSUMED
|
gEfiLoadedImageDevicePathProtocolGuid ## CONSUMES
|
||||||
|
|
|
@ -41,5 +41,5 @@
|
||||||
|
|
||||||
|
|
||||||
[Protocols]
|
[Protocols]
|
||||||
gEfiPrint2ProtocolGuid # PROTOCOL ALWAYS_CONSUMED
|
gEfiPrint2ProtocolGuid ## CONSUMES
|
||||||
|
|
||||||
|
|
|
@ -317,7 +317,7 @@ ConPlatformTextInDriverBindingStart (
|
||||||
Device GUID on ControllerHandle.
|
Device GUID on ControllerHandle.
|
||||||
|
|
||||||
If this devcie is not one hot-plug devce, append its device path into the
|
If this devcie is not one hot-plug devce, append its device path into the
|
||||||
console environment variables ConOutDev, StdErrDev.
|
console environment variables ConOutDev, ErrOutDev.
|
||||||
|
|
||||||
@param This Protocol instance pointer.
|
@param This Protocol instance pointer.
|
||||||
@param ControllerHandle Handle of device to bind driver to
|
@param ControllerHandle Handle of device to bind driver to
|
||||||
|
@ -374,7 +374,7 @@ ConPlatformTextOutDriverBindingStart (
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
// Check the device handle, if it is a hot plug device,
|
// Check the device handle, if it is a hot plug device,
|
||||||
// do not put the device path into ConOutDev and StdErrDev,
|
// do not put the device path into ConOutDev and ErrOutDev,
|
||||||
// and install gEfiConsoleOutDeviceGuid to the device handle directly.
|
// and install gEfiConsoleOutDeviceGuid to the device handle directly.
|
||||||
// The policy is, make hot plug device plug in and play immediately.
|
// The policy is, make hot plug device plug in and play immediately.
|
||||||
//
|
//
|
||||||
|
@ -396,7 +396,7 @@ ConPlatformTextOutDriverBindingStart (
|
||||||
APPEND
|
APPEND
|
||||||
);
|
);
|
||||||
//
|
//
|
||||||
// Then append the device path to the StdErrDev environment variable
|
// Then append the device path to the ErrOutDev environment variable
|
||||||
//
|
//
|
||||||
ConPlatformUpdateDeviceVariable (
|
ConPlatformUpdateDeviceVariable (
|
||||||
L"ErrOutDev",
|
L"ErrOutDev",
|
||||||
|
@ -424,7 +424,7 @@ ConPlatformTextOutDriverBindingStart (
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
// If the device path is successfully added to the StdErr environment variable,
|
// If the device path is successfully added to the ErrOut environment variable,
|
||||||
// then install EfiStandardErrorDeviceGuid onto ControllerHandle
|
// then install EfiStandardErrorDeviceGuid onto ControllerHandle
|
||||||
//
|
//
|
||||||
Status = ConPlatformUpdateDeviceVariable (
|
Status = ConPlatformUpdateDeviceVariable (
|
||||||
|
@ -557,7 +557,7 @@ ConPlatformTextOutDriverBindingStop (
|
||||||
EFI_DEVICE_PATH_PROTOCOL *DevicePath;
|
EFI_DEVICE_PATH_PROTOCOL *DevicePath;
|
||||||
|
|
||||||
//
|
//
|
||||||
// If it is not a hot-plug device, first delete it from the ConOutDev and StdErrDev variable.
|
// If it is not a hot-plug device, first delete it from the ConOutDev and ErrOutDev variable.
|
||||||
//
|
//
|
||||||
if (!IsHotPlugDevice (This->DriverBindingHandle, ControllerHandle)) {
|
if (!IsHotPlugDevice (This->DriverBindingHandle, ControllerHandle)) {
|
||||||
//
|
//
|
||||||
|
@ -573,7 +573,7 @@ ConPlatformTextOutDriverBindingStop (
|
||||||
);
|
);
|
||||||
if (!EFI_ERROR (Status)) {
|
if (!EFI_ERROR (Status)) {
|
||||||
//
|
//
|
||||||
// Remove DevicePath from ConOutDev, and StdErrDev
|
// Remove DevicePath from ConOutDev, and ErrOutDev
|
||||||
//
|
//
|
||||||
ConPlatformUpdateDeviceVariable (
|
ConPlatformUpdateDeviceVariable (
|
||||||
L"ConOutDev",
|
L"ConOutDev",
|
||||||
|
@ -655,7 +655,7 @@ ConPlatformUnInstallProtocol (
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Get the necessary size of buffer and read the variabe.
|
Get the necessary size of buffer and read the variable.
|
||||||
|
|
||||||
First get the necessary size of buffer. Then read the
|
First get the necessary size of buffer. Then read the
|
||||||
EFI variable (Name) and return a dynamically allocated
|
EFI variable (Name) and return a dynamically allocated
|
||||||
|
@ -824,7 +824,7 @@ ConPlatformMatchDevicePaths (
|
||||||
Update console environment variables.
|
Update console environment variables.
|
||||||
|
|
||||||
@param VariableName Console environment variables, ConOutDev, ConInDev
|
@param VariableName Console environment variables, ConOutDev, ConInDev
|
||||||
StdErrDev, ConIn or ConOut.
|
ErrOutDev, ConIn ,ConOut or ErrOut.
|
||||||
@param DevicePath Console devcie's device path.
|
@param DevicePath Console devcie's device path.
|
||||||
@param Operation Variable operations, including APPEND, CHECK and DELETE.
|
@param Operation Variable operations, including APPEND, CHECK and DELETE.
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
#/** @file
|
#/** @file
|
||||||
# Console Platfrom DXE Driver, install Console protocols and updates environment variables.
|
# Console Platfrom DXE Driver that specifies whether device can be used as console
|
||||||
|
# input/output device or error output device and update global variables accordingly.
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006 - 2008, Intel Corporation
|
# Copyright (c) 2006 - 2008, Intel Corporation
|
||||||
#
|
#
|
||||||
|
@ -54,14 +55,37 @@
|
||||||
DebugLib
|
DebugLib
|
||||||
|
|
||||||
[Guids]
|
[Guids]
|
||||||
gEfiGlobalVariableGuid ## SOMETIMES_CONSUMES ## Variable:L"ErrOut"
|
##
|
||||||
gEfiStandardErrorDeviceGuid
|
# This is the VendorGuid of all architecturally defined variables in UEFI spec.
|
||||||
gEfiConsoleOutDeviceGuid
|
#
|
||||||
gEfiConsoleInDeviceGuid
|
gEfiGlobalVariableGuid ## CONSUMES ## Variable:L"ConIn"
|
||||||
|
gEfiGlobalVariableGuid ## CONSUMES ## Variable:L"ConOut"
|
||||||
|
gEfiGlobalVariableGuid ## CONSUMES ## Variable:L"ErrOut"
|
||||||
|
gEfiGlobalVariableGuid ## CONSUMES ## Variable:L"ConInDev"
|
||||||
|
gEfiGlobalVariableGuid ## CONSUMES ## Variable:L"ConOutDev"
|
||||||
|
gEfiGlobalVariableGuid ## CONSUMES ## Variable:L"ErrOutDev"
|
||||||
|
##
|
||||||
|
# This GUID is used to specify the device is the standard error device.
|
||||||
|
# If the device is a standard error device, this GUID as the protocol GUID will be installed
|
||||||
|
# onto this device handle.
|
||||||
|
#
|
||||||
|
gEfiStandardErrorDeviceGuid ## PROTOCOL
|
||||||
|
##
|
||||||
|
# This GUID is used to specify the device is the console output device.
|
||||||
|
# If the device is a console output device, this GUID as the protocol GUID will be installed
|
||||||
|
# onto this device handle.
|
||||||
|
#
|
||||||
|
gEfiConsoleOutDeviceGuid ## PROTOCOL
|
||||||
|
##
|
||||||
|
# This GUID is used to specify the device is the console input device.
|
||||||
|
# If the device is a console input device, this GUID as the protocol GUID will be installed
|
||||||
|
# onto this device handle.
|
||||||
|
#
|
||||||
|
gEfiConsoleInDeviceGuid ## PROTOCOL
|
||||||
|
|
||||||
[Protocols]
|
[Protocols]
|
||||||
gEfiDevicePathProtocolGuid ## TO_START
|
gEfiDevicePathProtocolGuid ## TO_START
|
||||||
gEfiSimpleTextInProtocolGuid ## TO_START
|
gEfiSimpleTextInProtocolGuid ## TO_START
|
||||||
gEfiSimpleTextOutProtocolGuid ## TO_START
|
gEfiSimpleTextOutProtocolGuid ## TO_START
|
||||||
gEfiHotPlugDeviceGuid ## SOMETIMES_CONSUMES
|
gEfiHotPlugDeviceGuid ## SOMETIMES_CONSUMES (Used to check if it's a hot-plug device)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#/** @file
|
#/** @file
|
||||||
# This PEIM provides memory test PPI for memory test in PEI Phase.
|
# This PEIM provides Base Memory Test PPI for memory test in PEI Phase.
|
||||||
#
|
#
|
||||||
# Copyright (c) 2006 - 2008, Intel Corporation. <BR>
|
# Copyright (c) 2006 - 2008, Intel Corporation. <BR>
|
||||||
# All rights reserved. This program and the accompanying materials
|
# All rights reserved. This program and the accompanying materials
|
||||||
|
@ -41,7 +41,7 @@
|
||||||
PeiServicesLib
|
PeiServicesLib
|
||||||
|
|
||||||
[Ppis]
|
[Ppis]
|
||||||
gPeiBaseMemoryTestPpiGuid # PPI ALWAYS_PRODUCED
|
gPeiBaseMemoryTestPpiGuid ## PRODUCES
|
||||||
|
|
||||||
[FixedPcd.common]
|
[FixedPcd.common]
|
||||||
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMemoryTestStarted
|
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMemoryTestStarted
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
DebugLib
|
DebugLib
|
||||||
|
|
||||||
[Protocols]
|
[Protocols]
|
||||||
gEfiGenericMemTestProtocolGuid # PROTOCOL ALWAYS_PRODUCED
|
gEfiGenericMemTestProtocolGuid ## PRODUCES
|
||||||
|
|
||||||
[Depex]
|
[Depex]
|
||||||
TRUE
|
TRUE
|
||||||
|
|
|
@ -1,6 +1,15 @@
|
||||||
#/** @file
|
#/** @file
|
||||||
# This module produces the Metronome Architectural Protocol on top of an instance
|
# This module produces the Metronome Architectural Protocol on top of Timer Library.
|
||||||
# of the Timer Library defined in the MdePkg.
|
#
|
||||||
|
# This is a generic implementation of the Metronome Architectural Protocol that
|
||||||
|
# layers on top of an instance of the Timer Library. The Timer Library provides
|
||||||
|
# functions for nanosecond and microsecond delays. This generic implementation
|
||||||
|
# produces a fixed TickPeriod of 100ns unit, and when the WaitForTick() service
|
||||||
|
# is called, the number of ticks passed in is converted to either nanosecond or
|
||||||
|
# microsecond units. If the number of ticks is small, then nanoseconds are used.
|
||||||
|
# If the number of ticks is large, then microseconds are used. This prevents
|
||||||
|
# overflows that could occur for long delays if only nanoseconds were used and also
|
||||||
|
# provides the greatest accuracy for small delays.
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008, Intel Corporation
|
# Copyright (c) 2008, Intel Corporation
|
||||||
# All rights reserved. This program and the accompanying materials
|
# All rights reserved. This program and the accompanying materials
|
||||||
|
@ -41,7 +50,7 @@
|
||||||
Metronome.h
|
Metronome.h
|
||||||
|
|
||||||
[Protocols]
|
[Protocols]
|
||||||
gEfiMetronomeArchProtocolGuid
|
gEfiMetronomeArchProtocolGuid ## PRODUCES
|
||||||
|
|
||||||
[Depex]
|
[Depex]
|
||||||
TRUE
|
TRUE
|
||||||
|
|
|
@ -46,9 +46,17 @@
|
||||||
|
|
||||||
|
|
||||||
[Protocols]
|
[Protocols]
|
||||||
gEfiMonotonicCounterArchProtocolGuid # PROTOCOL ALWAYS_PRODUCED
|
gEfiMonotonicCounterArchProtocolGuid ## PRODUCES
|
||||||
|
|
||||||
|
|
||||||
[Depex]
|
[Depex]
|
||||||
gEfiVariableArchProtocolGuid AND gEfiVariableWriteArchProtocolGuid
|
gEfiVariableArchProtocolGuid AND gEfiVariableWriteArchProtocolGuid
|
||||||
|
|
||||||
|
|
||||||
|
# [Event]
|
||||||
|
# ##
|
||||||
|
# # This is a private event to update the Monotonic Counter's high part when low part overflows.
|
||||||
|
# #
|
||||||
|
# EVT_NOTIFY_SIGNAL ## PRODUCES
|
||||||
|
#
|
||||||
|
#
|
|
@ -40,9 +40,10 @@
|
||||||
ReportStatusCodeLib
|
ReportStatusCodeLib
|
||||||
UefiDriverEntryPoint
|
UefiDriverEntryPoint
|
||||||
DebugLib
|
DebugLib
|
||||||
|
PcdLib
|
||||||
|
|
||||||
[Protocols]
|
[Protocols]
|
||||||
gEfiWatchdogTimerArchProtocolGuid # PROTOCOL ALWAYS_PRODUCED
|
gEfiWatchdogTimerArchProtocolGuid ## PRODUCES
|
||||||
|
|
||||||
[FixedPcd.common]
|
[FixedPcd.common]
|
||||||
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueEfiWatchDogTimerExpired
|
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueEfiWatchDogTimerExpired
|
||||||
|
@ -50,4 +51,10 @@
|
||||||
[depex]
|
[depex]
|
||||||
gEfiTimerArchProtocolGuid
|
gEfiTimerArchProtocolGuid
|
||||||
|
|
||||||
|
# [Event]
|
||||||
|
# ##
|
||||||
|
# # Relative timer event set by EFI_WATCHDOG_TIMER_ARCH_PROTOCOL.SetTimerPeriod()
|
||||||
|
# #
|
||||||
|
# EVENT_TYPE_RELATIVE_TIMER ## PRODUCES
|
||||||
|
#
|
||||||
|
#
|
Loading…
Reference in New Issue