MdeModulePkg: Clean up source files

1. Do not use tab characters
2. No trailing white space in one line
3. All files must end with CRLF

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
This commit is contained in:
Liming Gao 2018-06-27 21:08:52 +08:00
parent ca79bab7af
commit d1102dba72
1010 changed files with 13588 additions and 13588 deletions

View File

@ -1,7 +1,7 @@
/** @file
The application to show the Boot Manager Menu.
Copyright (c) 2011 - 2017, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2011 - 2018, 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
@ -91,19 +91,19 @@ UINTN
GetLineWidth (
IN EFI_STRING_ID StringId
)
{
{
UINTN Index;
UINTN IncrementValue;
EFI_STRING String;
UINTN LineWidth;
LineWidth = 0;
String = HiiGetString (gStringPackHandle, StringId, NULL);
String = HiiGetString (gStringPackHandle, StringId, NULL);
if (String != NULL) {
Index = 0;
IncrementValue = 1;
do {
//
// Advance to the null-terminator or to the first width directive
@ -113,7 +113,7 @@ GetLineWidth (
Index++, LineWidth = LineWidth + IncrementValue
)
;
//
// We hit the null-terminator, we now have a count
//
@ -137,11 +137,11 @@ GetLineWidth (
Index++;
IncrementValue = 2;
}
} while (String[Index] != 0);
} while (String[Index] != 0);
FreePool (String);
}
return LineWidth;
return LineWidth;
}
/**
@ -150,10 +150,10 @@ GetLineWidth (
@param BootMenuData The boot menu data to be processed.
@return EFI_SUCCESS calculate boot menu information successful.
@retval EFI_INVALID_PARAMETER Input parameter is invalid
@retval EFI_INVALID_PARAMETER Input parameter is invalid
**/
EFI_STATUS
EFI_STATUS
InitializeBootMenuScreen (
IN OUT BOOT_MENU_POPUP_DATA *BootMenuData
)
@ -172,21 +172,21 @@ InitializeBootMenuScreen (
//
// Get maximum string width
//
MaxStrWidth = 0;
for (Index = 0; Index < TITLE_TOKEN_COUNT; Index++) {
MaxStrWidth = 0;
for (Index = 0; Index < TITLE_TOKEN_COUNT; Index++) {
StrWidth = GetLineWidth (BootMenuData->TitleToken[Index]);
MaxStrWidth = MaxStrWidth > StrWidth ? MaxStrWidth : StrWidth;
}
for (Index = 0; Index < BootMenuData->ItemCount; Index++) {
StrWidth = GetLineWidth (BootMenuData->PtrTokens[Index]);
MaxStrWidth = MaxStrWidth > StrWidth ? MaxStrWidth : StrWidth;
}
for (Index = 0; Index < HELP_TOKEN_COUNT; Index++) {
MaxStrWidth = MaxStrWidth > StrWidth ? MaxStrWidth : StrWidth;
}
for (Index = 0; Index < HELP_TOKEN_COUNT; Index++) {
StrWidth = GetLineWidth (BootMenuData->HelpToken[Index]);
MaxStrWidth = MaxStrWidth > StrWidth ? MaxStrWidth : StrWidth;
}
}
//
// query current row and column to calculate boot menu location
//
@ -195,10 +195,10 @@ InitializeBootMenuScreen (
gST->ConOut->Mode->Mode,
&Column,
&Row
);
MaxPrintRows = Row - 6;
UnSelectableItmes = TITLE_TOKEN_COUNT + 2 + HELP_TOKEN_COUNT + 2;
);
MaxPrintRows = Row - 6;
UnSelectableItmes = TITLE_TOKEN_COUNT + 2 + HELP_TOKEN_COUNT + 2;
BootMenuData->MenuScreen.Width = MaxStrWidth + 8;
if (BootMenuData->ItemCount + UnSelectableItmes > MaxPrintRows) {
BootMenuData->MenuScreen.Height = MaxPrintRows;
@ -211,10 +211,10 @@ InitializeBootMenuScreen (
BootMenuData->ScrollBarControl.HasScrollBar = FALSE;
BootMenuData->ScrollBarControl.ItemCountPerScreen = BootMenuData->ItemCount;
BootMenuData->ScrollBarControl.FirstItem = 0;
BootMenuData->ScrollBarControl.LastItem = BootMenuData->ItemCount - 1;
BootMenuData->ScrollBarControl.LastItem = BootMenuData->ItemCount - 1;
}
BootMenuData->MenuScreen.StartCol = (Column - BootMenuData->MenuScreen.Width) / 2;
BootMenuData->MenuScreen.StartRow = (Row - BootMenuData->MenuScreen.Height) / 2;
BootMenuData->MenuScreen.StartCol = (Column - BootMenuData->MenuScreen.Width) / 2;
BootMenuData->MenuScreen.StartRow = (Row - BootMenuData->MenuScreen.Height) / 2;
return EFI_SUCCESS;
}
@ -222,7 +222,7 @@ InitializeBootMenuScreen (
This function uses check boot option is wheher setup application or no
@param BootOption Pointer to EFI_BOOT_MANAGER_LOAD_OPTION array.
@retval TRUE This boot option is setup application.
@retval FALSE This boot options isn't setup application
@ -291,9 +291,9 @@ IgnoreBootOption (
@param BootOption Pointer to EFI_BOOT_MANAGER_LOAD_OPTION array.
@param BootOptionCount Number of boot option.
@param BootMenuData The Input BootMenuData to be initialized.
@retval EFI_SUCCESS Initialize boot menu data successful.
@retval EFI_INVALID_PARAMETER Input parameter is invalid.
@retval EFI_INVALID_PARAMETER Input parameter is invalid.
**/
EFI_STATUS
@ -305,7 +305,7 @@ InitializeBootMenuData (
{
UINTN Index;
UINTN StrIndex;
if (BootOption == NULL || BootMenuData == NULL) {
return EFI_INVALID_PARAMETER;
}
@ -324,21 +324,21 @@ InitializeBootMenuData (
ASSERT (BootOption[Index].Description != NULL);
BootMenuData->PtrTokens[StrIndex++] = HiiSetString (
gStringPackHandle,
gStringPackHandle,
0,
BootOption[Index].Description,
NULL
);
}
BootMenuData->ItemCount = StrIndex;
BootMenuData->ItemCount = StrIndex;
BootMenuData->HelpToken[0] = STRING_TOKEN (STR_BOOT_POPUP_MENU_HELP1_STRING);
BootMenuData->HelpToken[1] = STRING_TOKEN (STR_BOOT_POPUP_MENU_HELP2_STRING);
BootMenuData->HelpToken[2] = STRING_TOKEN (STR_BOOT_POPUP_MENU_HELP3_STRING);
InitializeBootMenuScreen (BootMenuData);
BootMenuData->SelectItem = 0;
return EFI_SUCCESS;
}
}
/**
This function uses input select item to highlight selected item
@ -347,9 +347,9 @@ InitializeBootMenuData (
@param WantSelectItem The user wants to select item.
@param BootMenuData The boot menu data to be processed
@return EFI_SUCCESS Highlight selected item and update current selected
item successful
@retval EFI_INVALID_PARAMETER Input parameter is invalid
@return EFI_SUCCESS Highlight selected item and update current selected
item successful
@retval EFI_INVALID_PARAMETER Input parameter is invalid
**/
EFI_STATUS
BootMenuSelectItem (
@ -359,7 +359,7 @@ BootMenuSelectItem (
{
INT32 SavedAttribute;
EFI_STRING String;
UINTN StartCol;
UINTN StartCol;
UINTN StartRow;
UINTN PrintCol;
UINTN PrintRow;
@ -370,7 +370,7 @@ BootMenuSelectItem (
UINTN ItemCountPerScreen;
UINTN Index;
BOOLEAN RePaintItems;
if (BootMenuData == NULL || WantSelectItem >= BootMenuData->ItemCount) {
return EFI_INVALID_PARAMETER;
}
@ -381,20 +381,20 @@ BootMenuSelectItem (
StartRow = BootMenuData->MenuScreen.StartRow;
//
// print selectable items again and adjust scroll bar if need
//
//
if (BootMenuData->ScrollBarControl.HasScrollBar &&
(WantSelectItem < BootMenuData->ScrollBarControl.FirstItem ||
WantSelectItem > BootMenuData->ScrollBarControl.LastItem ||
WantSelectItem == BootMenuData->SelectItem)) {
WantSelectItem == BootMenuData->SelectItem)) {
ItemCountPerScreen = BootMenuData->ScrollBarControl.ItemCountPerScreen;
//
// Set first item and last item
//
//
if (WantSelectItem < BootMenuData->ScrollBarControl.FirstItem) {
BootMenuData->ScrollBarControl.FirstItem = WantSelectItem;
BootMenuData->ScrollBarControl.LastItem = WantSelectItem + ItemCountPerScreen - 1;
BootMenuData->ScrollBarControl.LastItem = WantSelectItem + ItemCountPerScreen - 1;
} else if (WantSelectItem > BootMenuData->ScrollBarControl.LastItem) {
BootMenuData->ScrollBarControl.FirstItem = WantSelectItem - ItemCountPerScreen + 1;
BootMenuData->ScrollBarControl.FirstItem = WantSelectItem - ItemCountPerScreen + 1;
BootMenuData->ScrollBarControl.LastItem = WantSelectItem;
}
gST->ConOut->SetAttribute (gST->ConOut, EFI_WHITE | EFI_BACKGROUND_BLUE);
@ -407,7 +407,7 @@ BootMenuSelectItem (
TopShadeNum++;
}
PrintCol = StartCol + BootMenuData->MenuScreen.Width - 2;
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2;
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2;
for (Index = 0; Index < TopShadeNum; Index++, PrintRow++) {
PrintCharAt (PrintCol, PrintRow, BLOCKELEMENT_LIGHT_SHADE);
}
@ -419,65 +419,65 @@ BootMenuSelectItem (
LowShadeNum++;
}
PrintCol = StartCol + BootMenuData->MenuScreen.Width - 2;
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2 + ItemCountPerScreen - LowShadeNum;
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2 + ItemCountPerScreen - LowShadeNum;
for (Index = 0; Index < LowShadeNum; Index++, PrintRow++) {
PrintCharAt (PrintCol, PrintRow, BLOCKELEMENT_LIGHT_SHADE);
}
}
}
PrintCol = StartCol + BootMenuData->MenuScreen.Width - 2;
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2 + TopShadeNum;
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2 + TopShadeNum;
for (Index = TopShadeNum; Index < ItemCountPerScreen - LowShadeNum; Index++, PrintRow++) {
PrintCharAt (PrintCol, PrintRow, BLOCKELEMENT_FULL_BLOCK);
}
}
//
// Clear selectable items first
//
PrintCol = StartCol + 1;
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2;
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2;
String = AllocateZeroPool ((BootMenuData->MenuScreen.Width - 2) * sizeof (CHAR16));
ASSERT (String != NULL);
for (Index = 0; Index < BootMenuData->MenuScreen.Width - 3; Index++) {
String[Index] = 0x20;
}
for (Index = 0; Index < ItemCountPerScreen; Index++) {
PrintStringAt (PrintCol, PrintRow + Index, String);
}
for (Index = 0; Index < ItemCountPerScreen; Index++) {
PrintStringAt (PrintCol, PrintRow + Index, String);
}
FreePool (String);
//
// print selectable items
// print selectable items
//
for (Index = 0; Index < ItemCountPerScreen; Index++, PrintRow++) {
String = HiiGetString (gStringPackHandle, BootMenuData->PtrTokens[Index + FirstItem], NULL);
PrintStringAt (PrintCol, PrintRow, String);
FreePool (String);
FreePool (String);
}
RePaintItems = TRUE;
}
//
// Print want to select item
// Print want to select item
//
FirstItem = BootMenuData->ScrollBarControl.FirstItem;
gST->ConOut->SetAttribute (gST->ConOut, EFI_WHITE | EFI_BACKGROUND_BLACK);
String = HiiGetString (gStringPackHandle, BootMenuData->PtrTokens[WantSelectItem], NULL);
PrintCol = StartCol + 1;
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2 + WantSelectItem - FirstItem;
PrintCol = StartCol + 1;
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2 + WantSelectItem - FirstItem;
PrintStringAt (PrintCol, PrintRow, String);
FreePool (String);
//
// if Want Select and selected item isn't the same and doesn't re-draw selectable
// if Want Select and selected item isn't the same and doesn't re-draw selectable
// items, clear select item
//
if (WantSelectItem != BootMenuData->SelectItem && !RePaintItems) {
gST->ConOut->SetAttribute (gST->ConOut, EFI_WHITE | EFI_BACKGROUND_BLUE);
String = HiiGetString (gStringPackHandle, BootMenuData->PtrTokens[BootMenuData->SelectItem], NULL);
PrintCol = StartCol + 1;
PrintRow = StartRow + 3 + BootMenuData->SelectItem - FirstItem;
PrintCol = StartCol + 1;
PrintRow = StartRow + 3 + BootMenuData->SelectItem - FirstItem;
PrintStringAt (PrintCol, PrintRow, String);
FreePool (String);
FreePool (String);
}
gST->ConOut->SetAttribute (gST->ConOut, SavedAttribute);
@ -489,28 +489,28 @@ BootMenuSelectItem (
This function uses to draw boot popup menu
@param BootMenuData The Input BootMenuData to be processed.
@retval EFI_SUCCESS Draw boot popup menu successful.
**/
EFI_STATUS
EFI_STATUS
DrawBootPopupMenu (
IN BOOT_MENU_POPUP_DATA *BootMenuData
)
{
EFI_STRING String;
UINTN Index;
UINTN Width;
UINTN Width;
UINTN StartCol;
UINTN StartRow;
UINTN PrintRow;
UINTN PrintCol;
UINTN LineWidth;
INT32 SavedAttribute;
UINTN ItemCountPerScreen;
INT32 SavedAttribute;
UINTN ItemCountPerScreen;
gST->ConOut->ClearScreen (gST->ConOut);
SavedAttribute = gST->ConOut->Mode->Attribute;
gST->ConOut->SetAttribute (gST->ConOut, EFI_WHITE | EFI_BACKGROUND_BLUE);
Width = BootMenuData->MenuScreen.Width;
@ -518,17 +518,17 @@ DrawBootPopupMenu (
StartRow = BootMenuData->MenuScreen.StartRow;
ItemCountPerScreen = BootMenuData->ScrollBarControl.ItemCountPerScreen;
PrintRow = StartRow;
gST->ConOut->EnableCursor (gST->ConOut, FALSE);
//
// Draw Boot popup menu screen
//
PrintCharAt (StartCol, PrintRow, BOXDRAW_DOWN_RIGHT);
for (Index = 1; Index < Width - 1; Index++) {
PrintCharAt (StartCol + Index, PrintRow, BOXDRAW_HORIZONTAL);
PrintCharAt (StartCol + Index, PrintRow, BOXDRAW_HORIZONTAL);
}
PrintCharAt (StartCol + Width - 1, PrintRow, BOXDRAW_DOWN_LEFT);
//
// Draw the screen for title
//
@ -540,18 +540,18 @@ DrawBootPopupMenu (
for (Index = 0; Index < TITLE_TOKEN_COUNT; Index++) {
PrintRow++;
PrintCharAt (StartCol, PrintRow, BOXDRAW_VERTICAL);
PrintCharAt (StartCol, PrintRow, BOXDRAW_VERTICAL);
PrintStringAt (StartCol + 1, PrintRow, String);
PrintCharAt (StartCol + Width - 1, PrintRow, BOXDRAW_VERTICAL);
}
PrintRow++;
PrintCharAt (StartCol, PrintRow, BOXDRAW_VERTICAL_RIGHT);
for (Index = 1; Index < Width - 1; Index++) {
PrintCharAt (StartCol + Index, PrintRow, BOXDRAW_HORIZONTAL);
PrintCharAt (StartCol + Index, PrintRow, BOXDRAW_HORIZONTAL);
}
PrintCharAt (StartCol + Width - 1, PrintRow, BOXDRAW_VERTICAL_LEFT);
PrintCharAt (StartCol + Width - 1, PrintRow, BOXDRAW_VERTICAL_LEFT);
//
// Draw screen for selectable items
//
@ -560,15 +560,15 @@ DrawBootPopupMenu (
PrintCharAt (StartCol, PrintRow, BOXDRAW_VERTICAL);
PrintStringAt (StartCol + 1, PrintRow, String);
PrintCharAt (StartCol + Width - 1, PrintRow, BOXDRAW_VERTICAL);
}
}
PrintRow++;
PrintCharAt (StartCol, PrintRow, BOXDRAW_VERTICAL_RIGHT);
for (Index = 1; Index < Width - 1; Index++) {
PrintCharAt (StartCol + Index, PrintRow, BOXDRAW_HORIZONTAL);
PrintCharAt (StartCol + Index, PrintRow, BOXDRAW_HORIZONTAL);
}
PrintCharAt (StartCol + Width - 1, PrintRow, BOXDRAW_VERTICAL_LEFT);
//
// Draw screen for Help
//
@ -578,39 +578,39 @@ DrawBootPopupMenu (
PrintStringAt (StartCol + 1, PrintRow, String);
PrintCharAt (StartCol + Width - 1, PrintRow, BOXDRAW_VERTICAL);
}
FreePool (String);
PrintRow++;
FreePool (String);
PrintRow++;
PrintCharAt (StartCol, PrintRow, BOXDRAW_UP_RIGHT);
for (Index = 1; Index < Width - 1; Index++) {
PrintCharAt (StartCol + Index, PrintRow, BOXDRAW_HORIZONTAL);
PrintCharAt (StartCol + Index, PrintRow, BOXDRAW_HORIZONTAL);
}
PrintCharAt (StartCol + Width - 1, PrintRow, BOXDRAW_UP_LEFT);
PrintCharAt (StartCol + Width - 1, PrintRow, BOXDRAW_UP_LEFT);
//
// print title strings
//
PrintRow = StartRow + 1;
for (Index = 0; Index < TITLE_TOKEN_COUNT; Index++, PrintRow++) {
String = HiiGetString (gStringPackHandle, BootMenuData->TitleToken[Index], NULL);
LineWidth = GetLineWidth (BootMenuData->TitleToken[Index]);
LineWidth = GetLineWidth (BootMenuData->TitleToken[Index]);
PrintCol = StartCol + (Width - LineWidth) / 2;
PrintStringAt (PrintCol, PrintRow, String);
FreePool (String);
}
//
// print selectable items
//
PrintCol = StartCol + 1;
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2;
PrintRow = StartRow + TITLE_TOKEN_COUNT + 2;
for (Index = 0; Index < ItemCountPerScreen; Index++, PrintRow++) {
String = HiiGetString (gStringPackHandle, BootMenuData->PtrTokens[Index], NULL);
PrintStringAt (PrintCol, PrintRow, String);
FreePool (String);
FreePool (String);
}
//
// Print Help strings
//
@ -622,20 +622,20 @@ DrawBootPopupMenu (
PrintStringAt (PrintCol, PrintRow, String);
FreePool (String);
}
//
// Print scroll bar if has scroll bar
//
if (BootMenuData->ScrollBarControl.HasScrollBar) {
PrintCol = StartCol + Width - 2;
PrintRow = StartRow + 2;
PrintCharAt (PrintCol, PrintRow, GEOMETRICSHAPE_UP_TRIANGLE);
PrintCharAt (PrintCol + 1, PrintRow, BOXDRAW_VERTICAL);
PrintRow += (ItemCountPerScreen + 1);
PrintRow = StartRow + 2;
PrintCharAt (PrintCol, PrintRow, GEOMETRICSHAPE_UP_TRIANGLE);
PrintCharAt (PrintCol + 1, PrintRow, BOXDRAW_VERTICAL);
PrintRow += (ItemCountPerScreen + 1);
PrintCharAt (PrintCol, PrintRow, GEOMETRICSHAPE_DOWN_TRIANGLE);
PrintCharAt (PrintCol + 1, PrintRow, BOXDRAW_VERTICAL);
}
PrintCharAt (PrintCol + 1, PrintRow, BOXDRAW_VERTICAL);
}
gST->ConOut->SetAttribute (gST->ConOut, SavedAttribute);
//
// Print Selected item
@ -645,7 +645,7 @@ DrawBootPopupMenu (
}
/**
This function uses to boot from selected item
This function uses to boot from selected item
@param BootOptions Pointer to EFI_BOOT_MANAGER_LOAD_OPTION array.
@param BootOptionCount Number of boot option.
@ -654,7 +654,7 @@ DrawBootPopupMenu (
VOID
BootFromSelectOption (
IN EFI_BOOT_MANAGER_LOAD_OPTION *BootOptions,
IN UINTN BootOptionCount,
IN UINTN BootOptionCount,
IN UINTN SelectItem
)
{
@ -677,9 +677,9 @@ BootFromSelectOption (
/**
This function will change video resolution and text mode
according to defined setup mode or defined boot mode
according to defined setup mode or defined boot mode
@param IsSetupMode Indicate mode is changed to setup mode or boot mode.
@param IsSetupMode Indicate mode is changed to setup mode or boot mode.
@retval EFI_SUCCESS Mode is changed successfully.
@retval Others Mode failed to be changed.
@ -707,13 +707,13 @@ BdsSetConsoleMode (
EFI_STATUS Status;
UINTN Index;
UINTN CurrentColumn;
UINTN CurrentRow;
UINTN CurrentRow;
MaxGopMode = 0;
MaxTextMode = 0;
//
// Get current video resolution and text mode
// Get current video resolution and text mode
//
Status = gBS->HandleProtocol (
gST->ConsoleOutHandle,
@ -731,7 +731,7 @@ BdsSetConsoleMode (
);
if (EFI_ERROR (Status)) {
SimpleTextOut = NULL;
}
}
if ((GraphicsOutput == NULL) || (SimpleTextOut == NULL)) {
return EFI_UNSUPPORTED;
@ -752,12 +752,12 @@ BdsSetConsoleMode (
NewHorizontalResolution = mBootHorizontalResolution;
NewVerticalResolution = mBootVerticalResolution;
NewColumns = mBootTextModeColumn;
NewRows = mBootTextModeRow;
NewRows = mBootTextModeRow;
}
if (GraphicsOutput != NULL) {
MaxGopMode = GraphicsOutput->Mode->MaxMode;
}
}
if (SimpleTextOut != NULL) {
MaxTextMode = SimpleTextOut->Mode->MaxMode;
@ -861,7 +861,7 @@ BdsSetConsoleMode (
ASSERT_EFI_ERROR (Status);
Status = PcdSet32S (PcdConOutRow, NewRows);
ASSERT_EFI_ERROR (Status);
//
// Video mode is changed, so restart graphics console driver and higher level driver.
// Reconnect graphics console driver and higher level driver.
@ -894,10 +894,10 @@ BdsSetConsoleMode (
@param ImageHandle The image handle.
@param SystemTable The system table.
@retval EFI_SUCCESS Boot from selected boot option, and return success from boot option
@retval EFI_NOT_FOUND User select to enter setup or can not find boot option
**/
EFI_STATUS
EFIAPI
@ -907,7 +907,7 @@ BootManagerMenuEntry (
)
{
EFI_BOOT_MANAGER_LOAD_OPTION *BootOption;
UINTN BootOptionCount;
UINTN BootOptionCount;
EFI_STATUS Status;
BOOT_MENU_POPUP_DATA BootMenuData;
UINTN Index;
@ -950,7 +950,7 @@ BootManagerMenuEntry (
if (!mModeInitialized) {
//
// After the console is ready, get current video resolution
// After the console is ready, get current video resolution
// and text mode before launching setup at first time.
//
Status = gBS->HandleProtocol (
@ -961,7 +961,7 @@ BootManagerMenuEntry (
if (EFI_ERROR (Status)) {
GraphicsOutput = NULL;
}
Status = gBS->HandleProtocol (
gST->ConsoleOutHandle,
&gEfiSimpleTextOutProtocolGuid,
@ -969,7 +969,7 @@ BootManagerMenuEntry (
);
if (EFI_ERROR (Status)) {
SimpleTextOut = NULL;
}
}
if (GraphicsOutput != NULL) {
//
@ -992,14 +992,14 @@ BootManagerMenuEntry (
//
// Get user defined text mode for setup.
//
//
mSetupHorizontalResolution = PcdGet32 (PcdSetupVideoHorizontalResolution);
mSetupVerticalResolution = PcdGet32 (PcdSetupVideoVerticalResolution);
mSetupVerticalResolution = PcdGet32 (PcdSetupVideoVerticalResolution);
mSetupTextModeColumn = PcdGet32 (PcdSetupConOutColumn);
mSetupTextModeRow = PcdGet32 (PcdSetupConOutRow);
mModeInitialized = TRUE;
}
//
// Set back to conventional setup resolution
//
@ -1013,7 +1013,7 @@ BootManagerMenuEntry (
// According to boot menu data to draw boot popup menu
//
DrawBootPopupMenu (&BootMenuData);
//
// check user input to determine want to re-draw or boot from user selected item
//
@ -1023,18 +1023,18 @@ BootManagerMenuEntry (
Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);
if (!EFI_ERROR (Status)) {
switch (Key.UnicodeChar) {
case CHAR_NULL:
switch (Key.ScanCode) {
case CHAR_NULL:
switch (Key.ScanCode) {
case SCAN_UP:
SelectItem = BootMenuData.SelectItem == 0 ? BootMenuData.ItemCount - 1 : BootMenuData.SelectItem - 1;
BootMenuSelectItem (SelectItem, &BootMenuData);
BootMenuSelectItem (SelectItem, &BootMenuData);
break;
case SCAN_DOWN:
SelectItem = BootMenuData.SelectItem == BootMenuData.ItemCount - 1 ? 0 : BootMenuData.SelectItem + 1;
BootMenuSelectItem (SelectItem, &BootMenuData);
BootMenuSelectItem (SelectItem, &BootMenuData);
break;
case SCAN_ESC:
@ -1045,12 +1045,12 @@ BootManagerMenuEntry (
//
BdsSetConsoleMode (FALSE);
break;
default:
break;
}
break;
case CHAR_CARRIAGE_RETURN:
gST->ConOut->ClearScreen (gST->ConOut);
//
@ -1064,7 +1064,7 @@ BootManagerMenuEntry (
BdsSetConsoleMode (TRUE);
DrawBootPopupMenu (&BootMenuData);
break;
default:
break;
}
@ -1076,5 +1076,5 @@ BootManagerMenuEntry (
HiiRemovePackages (gStringPackHandle);
return Status;
}

View File

@ -1,7 +1,7 @@
/** @file
FrontPage routines to handle the callbacks and browser calls
Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2004 - 2018, 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
@ -37,24 +37,24 @@ typedef struct _BOOT_MENU_SCREEN {
UINTN StartRow;
UINTN Width;
UINTN Height;
} BOOT_MENU_SCREEN;
} BOOT_MENU_SCREEN;
typedef struct _BOOT_MENU_SCROLL_BAR_CONTROL {
BOOLEAN HasScrollBar;
UINTN ItemCountPerScreen;
UINTN FirstItem;
UINTN LastItem;
} BOOT_MENU_SCROLL_BAR_CONTROL;
} BOOT_MENU_SCROLL_BAR_CONTROL;
typedef struct _BOOT_MENU_POPUP_DATA {
EFI_STRING_ID TitleToken[TITLE_TOKEN_COUNT]; // Title string ID
UINTN ItemCount; // Selectable item count
EFI_STRING_ID *PtrTokens; // All of selectable items string ID
EFI_STRING_ID HelpToken[HELP_TOKEN_COUNT]; // All of help string ID
UINTN SelectItem; // Current select item
UINTN SelectItem; // Current select item
BOOT_MENU_SCREEN MenuScreen; // Boot menu screen information
BOOT_MENU_SCROLL_BAR_CONTROL ScrollBarControl; // Boot menu scroll bar inoformation
} BOOT_MENU_POPUP_DATA;
#endif
#endif

View File

@ -3,16 +3,16 @@
#
# The application pops up a menu showing all the boot options referenced by
# BootOrder NV variable and user can choose to boot from one of them.
#
#
# Copyright (c) 2011 - 2018, 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.
#
#
##
[Defines]
@ -21,7 +21,7 @@
MODULE_UNI_FILE = BootManagerMenuApp.uni
FILE_GUID = EEC25BDC-67F2-4D95-B1D5-F81B2039D11D
MODULE_TYPE = UEFI_APPLICATION
VERSION_STRING = 1.0
VERSION_STRING = 1.0
ENTRY_POINT = BootManagerMenuEntry
#
@ -47,7 +47,7 @@
UefiBootServicesTableLib
UefiApplicationEntryPoint
UefiBootManagerLib
[Guids]
[Protocols]

View File

@ -4,13 +4,13 @@
// The application pops up a menu showing all the boot options referenced by
// BootOrder NV variable and user can choose to boot from one of them.
//
// Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2015 - 2018, 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.
//

View File

@ -4,7 +4,7 @@
// The application pops up a menu showing all the boot options referenced by
// BootOrder NV variable and user can choose to boot from one of them.
//
// Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2015 - 2018, 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
@ -16,8 +16,8 @@
//
// **/
#string STR_PROPERTIES_MODULE_NAME
#language en-US
#string STR_PROPERTIES_MODULE_NAME
#language en-US
"Boot Manager Menu Application"

View File

@ -1,7 +1,7 @@
// /** @file
// String definitions for BootManagerMenuApp.
//
// Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
//
// Copyright (c) 2004 - 2018, 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

View File

@ -1,15 +1,15 @@
/** @file
This sample application bases on HelloWorld PCD setting
This sample application bases on HelloWorld PCD setting
to print "UEFI Hello World!" to the UEFI Console.
Copyright (c) 2006 - 2016, 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
Copyright (c) 2006 - 2018, 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.
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
@ -32,9 +32,9 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_STRING_ID mStringHelpTokenId = STRING_TOKEN (S
The user Entry Point for Application. The user code starts with this function
as the real entry point for the application.
@param[in] ImageHandle The firmware allocated handle for the EFI image.
@param[in] ImageHandle The firmware allocated handle for the EFI image.
@param[in] SystemTable A pointer to the EFI System Table.
@retval EFI_SUCCESS The entry point is executed successfully.
@retval other Some error occurs when executing this entry point.
@ -46,19 +46,19 @@ UefiMain (
IN EFI_SYSTEM_TABLE *SystemTable
)
{
UINT32 Index;
Index = 0;
UINT32 Index;
Index = 0;
//
// Three PCD type (FeatureFlag, UINT32 and String) are used as the sample.
//
if (FeaturePcdGet (PcdHelloWorldPrintEnable)) {
for (Index = 0; Index < PcdGet32 (PcdHelloWorldPrintTimes); Index ++) {
//
// Use UefiLib Print API to print string to UEFI console
//
Print ((CHAR16*)PcdGetPtr (PcdHelloWorldPrintString));
for (Index = 0; Index < PcdGet32 (PcdHelloWorldPrintTimes); Index ++) {
//
// Use UefiLib Print API to print string to UEFI console
//
Print ((CHAR16*)PcdGetPtr (PcdHelloWorldPrintString));
}
}

View File

@ -3,10 +3,10 @@
//
// This is a sample shell application that will print "UEFI Hello World!" to the
// UEFI Console based on PCD setting.
//
//
// It demos how to use EDKII PCD mechanism to make code more flexible.
//
// Copyright (c) 2008 - 2014, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2008 - 2018, 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

View File

@ -1,7 +1,7 @@
// /** @file
// HelloWorld Localized Strings and Content
//
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2013 - 2018, 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
@ -12,8 +12,8 @@
//
// **/
#string STR_PROPERTIES_MODULE_NAME
#language en-US
#string STR_PROPERTIES_MODULE_NAME
#language en-US
"Hello World Application"

View File

@ -1,7 +1,7 @@
// /** @file
// MemoryProfileInfo Localized Strings and Content
//
// Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2014 - 2018, 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
@ -12,8 +12,8 @@
//
// **/
#string STR_PROPERTIES_MODULE_NAME
#language en-US
#string STR_PROPERTIES_MODULE_NAME
#language en-US
"Memory Profile Information Application"

View File

@ -1,15 +1,15 @@
## @file
# UiApp module is driver for BDS phase.
#
# Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2011 - 2018, 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.
#
#
##
[Defines]
@ -60,7 +60,7 @@
PcdLib
UefiHiiServicesLib
UefiBootManagerLib
[Guids]
gEfiIfrTianoGuid ## CONSUMES ## GUID (Extended IFR Guid Opcode)
gEfiIfrFrontPageGuid ## CONSUMES ## GUID

View File

@ -1,7 +1,7 @@
// /** @file
// VariableInfo Localized Strings and Content
//
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2013 - 2018, 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
@ -12,8 +12,8 @@
//
// **/
#string STR_PROPERTIES_MODULE_NAME
#language en-US
#string STR_PROPERTIES_MODULE_NAME
#language en-US
"Variable Information Application"

View File

@ -820,7 +820,7 @@ AhciPioTransfer (
Offset = EFI_AHCI_PORT_START + Port * EFI_AHCI_PORT_REG_WIDTH + EFI_AHCI_PORT_TFD;
PortTfd = AhciReadReg (PciIo, (UINT32) Offset);
//
// PxTFD will be updated if there is a D2H or SetupFIS received.
// PxTFD will be updated if there is a D2H or SetupFIS received.
//
if ((PortTfd & EFI_AHCI_PORT_TFD_ERR) != 0) {
Status = EFI_DEVICE_ERROR;
@ -2010,7 +2010,7 @@ AhciCreateTransferDescriptor (
//
MaxCommandSlotNumber = (UINT8) (((Capability & 0x1F00) >> 8) + 1);
Support64Bit = (BOOLEAN) (((Capability & BIT31) != 0) ? TRUE : FALSE);
PortImplementBitMap = AhciReadReg(PciIo, EFI_AHCI_PI_OFFSET);
//
// Get the highest bit of implemented ports which decides how many bytes are allocated for recived FIS.

View File

@ -1,14 +1,14 @@
/** @file
Header file for AHCI mode of ATA host controller.
Copyright (c) 2010 - 2018, 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.
Copyright (c) 2010 - 2018, 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 __ATA_HC_AHCI_MODE_H__
@ -68,7 +68,7 @@ typedef union {
#define EFI_AHCI_MAX_DATA_PER_PRDT 0x400000
#define EFI_AHCI_FIS_REGISTER_H2D 0x27 //Register FIS - Host to Device
#define EFI_AHCI_FIS_REGISTER_H2D_LENGTH 20
#define EFI_AHCI_FIS_REGISTER_H2D_LENGTH 20
#define EFI_AHCI_FIS_REGISTER_D2H 0x34 //Register FIS - Device to Host
#define EFI_AHCI_FIS_REGISTER_D2H_LENGTH 20
#define EFI_AHCI_FIS_DMA_ACTIVATE 0x39 //DMA Activate FIS - Device to Host
@ -213,12 +213,12 @@ typedef struct {
UINT32 AhciCmdPrdbc; //Physical Region Descriptor Byte Count
UINT32 AhciCmdCtba; //Command Table Descriptor Base Address
UINT32 AhciCmdCtbau; //Command Table Descriptor Base Address Upper 32-BITs
UINT32 AhciCmdRsvd1[4];
UINT32 AhciCmdRsvd1[4];
} EFI_AHCI_COMMAND_LIST;
//
// This is a software constructed FIS.
// For data transfer operations, this is the H2D Register FIS format as
// For data transfer operations, this is the H2D Register FIS format as
// specified in the Serial ATA Revision 2.6 specification.
//
typedef struct {
@ -257,7 +257,7 @@ typedef struct {
// Physical Region Descriptor Table includes up to 65535 entries
// The entry data structure is listed at the following.
// the actual entry number comes from the PRDTL field in the command
// list entry for this command slot.
// list entry for this command slot.
//
typedef struct {
UINT32 AhciPrdtDba; //Data Base Address
@ -285,13 +285,13 @@ typedef struct {
UINT8 AhciDmaSetupFis[0x1C]; // Dma Setup Fis: offset 0x00
UINT8 AhciDmaSetupFisRsvd[0x04];
UINT8 AhciPioSetupFis[0x14]; // Pio Setup Fis: offset 0x20
UINT8 AhciPioSetupFisRsvd[0x0C];
UINT8 AhciPioSetupFisRsvd[0x0C];
UINT8 AhciD2HRegisterFis[0x14]; // D2H Register Fis: offset 0x40
UINT8 AhciD2HRegisterFisRsvd[0x04];
UINT64 AhciSetDeviceBitsFis; // Set Device Bits Fix: offset 0x58
UINT8 AhciUnknownFis[0x40]; // Unkonwn Fis: offset 0x60
UINT8 AhciUnknownFisRsvd[0x60];
} EFI_AHCI_RECEIVED_FIS;
UINT8 AhciUnknownFisRsvd[0x60];
} EFI_AHCI_RECEIVED_FIS;
typedef struct {
UINT8 Madt : 5;
@ -320,12 +320,12 @@ typedef struct {
} EFI_AHCI_REGISTERS;
/**
This function is used to send out ATAPI commands conforms to the Packet Command
This function is used to send out ATAPI commands conforms to the Packet Command
with PIO Protocol.
@param PciIo The PCI IO protocol instance.
@param AhciRegisters The pointer to the EFI_AHCI_REGISTERS.
@param Port The number of port.
@param Port The number of port.
@param PortMultiplier The number of port multiplier.
@param Packet A pointer to EFI_EXT_SCSI_PASS_THRU_SCSI_REQUEST_PACKET structure.
@ -346,12 +346,12 @@ AhciPacketCommandExecute (
/**
Start command for give slot on specific port.
@param PciIo The PCI IO protocol instance.
@param Port The number of port.
@param CommandSlot The number of CommandSlot.
@param Timeout The timeout value of start, uses 100ns as a unit.
@retval EFI_DEVICE_ERROR The command start unsuccessfully.
@retval EFI_TIMEOUT The operation is time out.
@retval EFI_SUCCESS The command start successfully.
@ -368,11 +368,11 @@ AhciStartCommand (
/**
Stop command running for giving port
@param PciIo The PCI IO protocol instance.
@param Port The number of port.
@param Timeout The timeout value of stop, uses 100ns as a unit.
@retval EFI_DEVICE_ERROR The command stop unsuccessfully.
@retval EFI_TIMEOUT The operation is time out.
@retval EFI_SUCCESS The command stop successfully.

View File

@ -29,9 +29,9 @@
#
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
#
# DRIVER_BINDING = gAtaAtapiPassThruDriverBinding
# DRIVER_BINDING = gAtaAtapiPassThruDriverBinding
# COMPONENT_NAME = gAtaAtapiPassThruComponentName
# COMPONENT_NAME2 = gAtaAtapiPassThruComponentName2
# COMPONENT_NAME2 = gAtaAtapiPassThruComponentName2
#
#
@ -43,7 +43,7 @@
IdeMode.c
IdeMode.h
ComponentName.c
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec

View File

@ -1,7 +1,7 @@
// /** @file
// AtaAtapiPassThruDxe Localized Strings and Content
//
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2013 - 2018, 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
@ -12,8 +12,8 @@
//
// **/
#string STR_PROPERTIES_MODULE_NAME
#language en-US
#string STR_PROPERTIES_MODULE_NAME
#language en-US
"ATA ATAPI Pass Thru DXE Driver"

View File

@ -1,21 +1,21 @@
/** @file
UEFI Component Name(2) protocol implementation for AtaAtapiPassThru driver.
Copyright (c) 2010 - 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.
Copyright (c) 2010 - 2018, 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.
**/
#include "AtaAtapiPassThru.h"
//
// Driver name table
// Driver name table
//
GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mAtaAtapiPassThruDriverNameTable[] = {
{ "eng;en", L"AtaAtapiPassThru Driver" },

View File

@ -1,14 +1,14 @@
/** @file
Header file for IDE mode of ATA host controller.
Copyright (c) 2010 - 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.
Copyright (c) 2010 - 2018, 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 __ATA_HC_IDE_MODE_H__
@ -121,7 +121,7 @@ typedef struct {
#define IDE_SECONDARY_PROGRAMMABLE_INDICATOR BIT3
/**
Get IDE i/o port registers' base addresses by mode.
Get IDE i/o port registers' base addresses by mode.
In 'Compatibility' mode, use fixed addresses.
In Native-PCI mode, get base addresses from BARs in the PCI IDE controller's
@ -144,7 +144,7 @@ typedef struct {
|___________|_______________|_______________|
Table 1. Compatibility resource mappings
b) In Native-PCI mode, IDE registers are mapped into IO space using the BARs
in IDE controller's PCI Configuration Space, shown in the Table 2 below.
___________________________________________________
@ -161,7 +161,7 @@ typedef struct {
@param[in] PciIo Pointer to the EFI_PCI_IO_PROTOCOL instance
@param[in, out] IdeRegisters Pointer to EFI_IDE_REGISTERS which is used to
store the IDE i/o port registers' base addresses
@retval EFI_UNSUPPORTED Return this value when the BARs is not IO type
@retval EFI_SUCCESS Get the Base address successfully
@retval Other Read the pci configureation data error
@ -175,7 +175,7 @@ GetIdeRegisterIoAddr (
);
/**
This function is used to send out ATAPI commands conforms to the Packet Command
This function is used to send out ATAPI commands conforms to the Packet Command
with PIO Data In Protocol.
@param[in] PciIo Pointer to the EFI_PCI_IO_PROTOCOL instance

View File

@ -1,7 +1,7 @@
// /** @file
// AtaBusDxe Localized Strings and Content
//
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2013 - 2018, 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
@ -12,8 +12,8 @@
//
// **/
#string STR_PROPERTIES_MODULE_NAME
#language en-US
#string STR_PROPERTIES_MODULE_NAME
#language en-US
"ATA Bus DXE Driver"

View File

@ -10,7 +10,7 @@
for Security Protocol Specific layout. This implementation uses big endian for
Cylinder register.
Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
@ -633,7 +633,7 @@ AtaTerminateNonBlockingTask (
//
// Aborting operation has been done. From now on, don't need to abort normal operation.
//
//
OldTpl = gBS->RaiseTPL (TPL_NOTIFY);
AtaDevice->Abort = FALSE;
gBS->RestoreTPL (OldTpl);

View File

@ -1,21 +1,21 @@
/** @file
UEFI Component Name(2) protocol implementation for ConPlatform driver.
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
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.
Copyright (c) 2009 - 2018, 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.
**/
#include "AtaBus.h"
//
// Driver name table
// Driver name table
//
GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mAtaBusDriverNameTable[] = {
{ "eng;en", L"ATA Bus Driver" },

View File

@ -1,8 +1,8 @@
/** @file
This file implements I2C IO Protocol which enables the user to manipulate a single
This file implements I2C IO Protocol which enables the user to manipulate a single
I2C device independent of the host controller and I2C design.
Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2013 - 2018, 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
@ -76,7 +76,7 @@ VENDOR_DEVICE_PATH gVendorDevicePathTemplate = {
};
//
// Driver name table
// Driver name table
//
GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mI2cBusDriverNameTable[] = {
{ "eng;en", (CHAR16 *) L"I2C Bus Driver" },
@ -241,12 +241,12 @@ I2cBusComponentNameGetControllerName (
/**
Check if the child of I2C controller has been created.
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] Controller I2C controller handle.
@param[in] RemainingDevicePath A pointer to the remaining portion of a device path.
@param[in] RemainingHasControllerNode Indicate if RemainingDevicePath contains CONTROLLER_DEVICE_PATH.
@param[in] RemainingControllerNumber Controller number in CONTROLLER_DEVICE_PATH.
@retval EFI_SUCCESS The child of I2C controller is not created.
@retval Others The child of I2C controller has been created or other errors happen.
@ -266,11 +266,11 @@ CheckRemainingDevicePath (
UINTN EntryCount;
UINTN Index;
BOOLEAN SystemHasControllerNode;
UINT32 SystemControllerNumber;
UINT32 SystemControllerNumber;
SystemHasControllerNode = FALSE;
SystemControllerNumber = 0;
Status = gBS->OpenProtocolInformation (
Controller,
&gEfiI2cHostProtocolGuid,
@ -280,7 +280,7 @@ CheckRemainingDevicePath (
if (EFI_ERROR (Status)) {
return Status;
}
for (Index = 0; Index < EntryCount; Index++) {
if ((OpenInfoBuffer[Index].Attributes & EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER) != 0) {
Status = gBS->OpenProtocol (
@ -294,7 +294,7 @@ CheckRemainingDevicePath (
if (!EFI_ERROR (Status)) {
//
// Find vendor device path node and compare
//
//
while (!IsDevicePathEnd (SystemDevicePath)) {
if ((DevicePathType (SystemDevicePath) == HARDWARE_DEVICE_PATH) &&
(DevicePathSubType (SystemDevicePath) == HW_VENDOR_DP)) {
@ -469,7 +469,7 @@ I2cBusDriverSupported (
//
// Determine if the I2C Host Protocol is available
//
Status = gBS->OpenProtocol (
Status = gBS->OpenProtocol (
Controller,
&gEfiI2cHostProtocolGuid,
(VOID **) &I2cHost,
@ -489,7 +489,7 @@ I2cBusDriverSupported (
if (Status == EFI_ALREADY_STARTED) {
if ((RemainingDevicePath == NULL) ||
if ((RemainingDevicePath == NULL) ||
((RemainingDevicePath != NULL) && IsDevicePathEnd (RemainingDevicePath))) {
//
// If RemainingDevicePath is NULL or is the End of Device Path Node, return EFI_SUCCESS.
@ -498,7 +498,7 @@ I2cBusDriverSupported (
} else {
//
// Test if the child with the RemainingDevicePath has already been created.
//
//
Status = CheckRemainingDevicePath (
This,
Controller,
@ -647,7 +647,7 @@ I2cBusDriverStart (
Status = EFI_OUT_OF_RESOURCES;
goto Error;
}
/*
+----------------+
.->| I2C_BUS_CONTEXT|<----- This file Protocol (gEfiCallerIdGuid) installed on I2C Controller handle
@ -660,7 +660,7 @@ I2cBusDriverStart (
| I2C IO Protocol Structure | <----- I2C IO Protocol
| |
+----------------------------+
*/
I2cBusContext->I2cHost = I2cHost;
I2cBusContext->I2cEnumerate = I2cEnumerate;
@ -672,9 +672,9 @@ I2cBusDriverStart (
// Parent controller device path used to create children device path
//
I2cBusContext->ParentDevicePath = ParentDevicePath;
I2cBusContext->DriverBindingHandle = This->DriverBindingHandle;
Status = gBS->InstallMultipleProtocolInterfaces (
&Controller,
&gEfiCallerIdGuid,
@ -698,7 +698,7 @@ Error:
if (EFI_ERROR (Status)) {
DEBUG ((EFI_D_ERROR, "I2cBus: Start() function failed, Status = %r\n", Status));
if (ParentDevicePath != NULL) {
gBS->CloseProtocol (
gBS->CloseProtocol (
Controller,
&gEfiDevicePathProtocolGuid,
This->DriverBindingHandle,
@ -716,14 +716,14 @@ Error:
}
if (I2cEnumerate != NULL) {
gBS->CloseProtocol (
gBS->CloseProtocol (
Controller,
&gEfiI2cEnumerateProtocolGuid,
This->DriverBindingHandle,
Controller
);
}
if (I2cBusContext != NULL) {
Status = gBS->UninstallMultipleProtocolInterfaces (
&Controller,
@ -783,7 +783,7 @@ I2cBusDriverStop (
UINTN Index;
if (NumberOfChildren == 0) {
gBS->CloseProtocol (
gBS->CloseProtocol (
Controller,
&gEfiDevicePathProtocolGuid,
This->DriverBindingHandle,
@ -880,14 +880,14 @@ RegisterI2cDevice (
// Default DeviceIndex
//
RemainingPathDeviceIndex = 0;
//
// Determine the controller number in Controller Node Device Path when RemainingDevicePath is not NULL.
//
if (RemainingDevicePath != NULL) {
//
// Check if there is a controller node appended after vendor node
//
//
DevPathNode = NextDevicePathNode (RemainingDevicePath);
if ((DevicePathType (DevPathNode) == HARDWARE_DEVICE_PATH) &&
(DevicePathSubType(DevPathNode) == HW_CONTROLLER_DP)) {
@ -965,7 +965,7 @@ RegisterI2cDevice (
//
if ((!CompareGuid (&((VENDOR_DEVICE_PATH *)RemainingDevicePath)->Guid, Device->DeviceGuid)) ||
(RemainingPathDeviceIndex != Device->DeviceIndex)) {
continue;
continue;
}
}
@ -1015,7 +1015,7 @@ RegisterI2cDevice (
ReleaseI2cDeviceContext (I2cDeviceContext);
continue;
}
//
// Create the child handle
//
@ -1040,7 +1040,7 @@ RegisterI2cDevice (
// Free resources for this I2C device
//
ReleaseI2cDeviceContext (I2cDeviceContext);
continue;
continue;
}
if (RemainingDevicePath != NULL) {
@ -1074,7 +1074,7 @@ RegisterI2cDevice (
The upper layer driver writer provides the following to the platform
vendor:
1. Vendor specific GUID for the I2C part
2. Guidance on proper construction of the slave address array when the
I2C device uses more than one slave address. The I2C bus protocol
@ -1192,7 +1192,7 @@ ReleaseI2cDeviceContext (
if (I2cDeviceContext == NULL) {
return;
}
if (I2cDeviceContext->DevicePath != NULL) {
FreePool (I2cDeviceContext->DevicePath);
}
@ -1282,12 +1282,12 @@ UnRegisterI2cDevice (
);
return Status;
}
//
// Free resources for this I2C device
//
ReleaseI2cDeviceContext (I2cDeviceContext);
return EFI_SUCCESS;
}
@ -1310,12 +1310,12 @@ I2cBusDevicePathAppend (
)
{
EFI_DEVICE_PATH_PROTOCOL *PreviousDevicePath;
PreviousDevicePath = NULL;
//
// Build vendor device path
//
//
CopyMem (&gVendorDevicePathTemplate.Guid, I2cDeviceContext->I2cDevice->DeviceGuid, sizeof (EFI_GUID));
I2cDeviceContext->DevicePath = AppendDevicePathNode (
I2cDeviceContext->I2cBusContext->ParentDevicePath,
@ -1325,13 +1325,13 @@ I2cBusDevicePathAppend (
if (I2cDeviceContext->DevicePath == NULL) {
return EFI_OUT_OF_RESOURCES;
}
if ((BuildControllerNode) && (I2cDeviceContext->DevicePath != NULL)) {
//
// Build the final I2C device path with controller node
//
PreviousDevicePath = I2cDeviceContext->DevicePath;
gControllerDevicePathTemplate.ControllerNumber = I2cDeviceContext->I2cDevice->DeviceIndex;
gControllerDevicePathTemplate.ControllerNumber = I2cDeviceContext->I2cDevice->DeviceIndex;
I2cDeviceContext->DevicePath = AppendDevicePathNode (
I2cDeviceContext->DevicePath,
(EFI_DEVICE_PATH_PROTOCOL *) &gControllerDevicePathTemplate
@ -1379,7 +1379,7 @@ InitializeI2cBus(
);
ASSERT_EFI_ERROR (Status);
return Status;
}

View File

@ -1,7 +1,7 @@
// /** @file
// I2cBusDxe Localized Strings and Content
//
// Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2014 - 2018, 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
@ -12,8 +12,8 @@
//
// **/
#string STR_PROPERTIES_MODULE_NAME
#language en-US
#string STR_PROPERTIES_MODULE_NAME
#language en-US
"I2C Bus DXE Driver"

View File

@ -4,7 +4,7 @@
This file defines common data structures, macro definitions and some module
internal function header files.
Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2013 - 2018, 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
@ -53,7 +53,7 @@ typedef struct {
EFI_I2C_HOST_PROTOCOL *I2cHost;
EFI_HANDLE Controller;
EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath;
EFI_HANDLE DriverBindingHandle;
EFI_HANDLE DriverBindingHandle;
} I2C_BUS_CONTEXT;
//
@ -102,7 +102,7 @@ typedef struct {
// Signature
//
UINT32 Signature;
//
// Next request in the pending request list
//
@ -218,7 +218,7 @@ extern EFI_DRIVER_BINDING_PROTOCOL gI2cHostDriverBinding;
@param[in] RemainingDevicePath A pointer to the remaining portion of a device path.
@retval EFI_SUCCESS Driver API properly initialized
**/
EFI_STATUS
RegisterI2cDevice (
@ -285,7 +285,7 @@ I2cBusDevicePathAppend (
The upper layer driver writer provides the following to the platform
vendor:
1. Vendor specific GUID for the I2C part
2. Guidance on proper construction of the slave address array when the
I2C device uses more than one slave address. The I2C bus protocol
@ -524,7 +524,7 @@ I2cBusComponentNameGetDriverName (
IN CHAR8 *Language,
OUT CHAR16 **DriverName
);
/**
Retrieves a Unicode string that is the user readable name of the controller
that is being managed by a driver.
@ -789,7 +789,7 @@ I2cHostDriverStart (
IN EFI_HANDLE Controller,
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
);
/**
Stops a device controller or a bus controller.
@ -871,7 +871,7 @@ I2cHostComponentNameGetDriverName (
IN CHAR8 *Language,
OUT CHAR16 **DriverName
);
/**
Retrieves a Unicode string that is the user readable name of the controller
that is being managed by a driver.

View File

@ -1,7 +1,7 @@
// /** @file
// I2cDxe Localized Strings and Content
//
// Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2014 - 2018, 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
@ -12,8 +12,8 @@
//
// **/
#string STR_PROPERTIES_MODULE_NAME
#language en-US
#string STR_PROPERTIES_MODULE_NAME
#language en-US
"I2C DXE Driver"

View File

@ -1,9 +1,9 @@
/** @file
This file implements I2C Host Protocol which provides callers with the ability to
This file implements I2C Host Protocol which provides callers with the ability to
do I/O transactions to all of the devices on the I2C bus.
Copyright (c) 2014, Hewlett-Packard Development Company, L.P.<BR>
Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2013 - 2018, 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
@ -26,7 +26,7 @@ EFI_DRIVER_BINDING_PROTOCOL gI2cHostDriverBinding = {
};
//
// Driver name table
// Driver name table
//
GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mI2cHostDriverNameTable[] = {
{ "eng;en", L"I2c Host Driver" },
@ -356,7 +356,7 @@ I2cHostDriverStart (
//
// Locate I2C Master Protocol
//
Status = gBS->OpenProtocol (
Status = gBS->OpenProtocol (
Controller,
&gEfiI2cMasterProtocolGuid,
(VOID **)&I2cMaster,
@ -425,7 +425,7 @@ I2cHostDriverStart (
if (EFI_ERROR (Status)) {
DEBUG ((EFI_D_ERROR, "I2cHost: create bus available event error, Status = %r\n", Status));
goto Exit;
}
}
//
// Build the I2C host protocol for the current I2C controller
@ -451,9 +451,9 @@ Exit:
&gEfiI2cBusConfigurationManagementProtocolGuid,
This->DriverBindingHandle,
Controller
);
);
}
if ((I2cHostContext != NULL) && (I2cHostContext->I2cEvent != NULL)) {
gBS->CloseEvent (I2cHostContext->I2cEvent);
I2cHostContext->I2cEvent = NULL;
@ -513,7 +513,7 @@ I2cHostDriverStop (
IN EFI_HANDLE *ChildHandleBuffer
)
{
EFI_STATUS Status;
EFI_STATUS Status;
I2C_HOST_CONTEXT *I2cHostContext;
EFI_I2C_HOST_PROTOCOL *I2cHost;
EFI_TPL TplPrevious;
@ -543,14 +543,14 @@ I2cHostDriverStop (
// Raise TPL for critical section
//
TplPrevious = gBS->RaiseTPL (TPL_I2C_SYNC);
//
// If there is pending request or pending bus configuration, do not stop
//
Status = EFI_DEVICE_ERROR;
if (( !I2cHostContext->I2cBusConfigurationManagementPending )
&& IsListEmpty (&I2cHostContext->RequestList)) {
//
// Remove the I2C host protocol
//
@ -561,7 +561,7 @@ I2cHostDriverStop (
NULL
);
}
//
// Leave critical section
//
@ -581,12 +581,12 @@ I2cHostDriverStop (
gBS->CloseEvent (I2cHostContext->I2cBusConfigurationEvent);
I2cHostContext->I2cBusConfigurationEvent = NULL;
}
if (I2cHostContext->I2cEvent != NULL) {
gBS->CloseEvent (I2cHostContext->I2cEvent);
I2cHostContext->I2cEvent = NULL;
}
FreePool (I2cHostContext);
}
@ -644,7 +644,7 @@ I2cHostI2cBusConfigurationAvailable (
// Force next operation to enable the I2C bus configuration
//
I2cHostContext->I2cBusConfiguration = (UINTN) -1;
//
// Do not continue current I2C request
//
@ -666,7 +666,7 @@ I2cHostI2cBusConfigurationAvailable (
//
// Start an I2C operation on the host, the status is returned by I2cHostContext->Status
//
Status = I2cMaster->StartRequest (
Status = I2cMaster->StartRequest (
I2cMaster,
I2cRequest->SlaveAddress,
I2cRequest->RequestPacket,
@ -734,7 +734,7 @@ I2cHostRequestComplete (
if(!IsListEmpty (EntryHeader)) {
I2cHostRequestEnable (I2cHostContext);
}
return Status;
}
@ -942,7 +942,7 @@ I2cHostQueueRequest (
if (RequestPacket == NULL) {
return EFI_INVALID_PARAMETER;
}
if ((SlaveAddress & I2C_ADDRESSING_10_BIT) != 0) {
//
// 10-bit address, bits 0-9 are used for 10-bit I2C slave addresses,
@ -970,7 +970,7 @@ I2cHostQueueRequest (
//
// For synchronous transaction, register an event used to wait for finishing synchronous transaction
//
Status = gBS->CreateEvent (
Status = gBS->CreateEvent (
0,
TPL_I2C_SYNC,
NULL,
@ -981,7 +981,7 @@ I2cHostQueueRequest (
return Status;
}
}
//
// TPL should be at or below TPL_NOTIFY.
// For synchronous requests this routine must be called at or below TPL_CALLBACK.
@ -1022,9 +1022,9 @@ I2cHostQueueRequest (
// Synchronize with the other threads
//
gBS->RaiseTPL ( TPL_I2C_SYNC );
FirstRequest = IsListEmpty (&I2cHostContext->RequestList);
//
// Insert new I2C request in the list
//
@ -1034,7 +1034,7 @@ I2cHostQueueRequest (
// Release the thread synchronization
//
gBS->RestoreTPL (TplPrevious);
if (FirstRequest) {
//
// Start the first I2C request, then the subsequent of I2C request will continue

View File

@ -1,7 +1,7 @@
// /** @file
// I2cHostDxe Localized Strings and Content
//
// Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2014 - 2018, 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
@ -12,8 +12,8 @@
//
// **/
#string STR_PROPERTIES_MODULE_NAME
#language en-US
#string STR_PROPERTIES_MODULE_NAME
#language en-US
"I2C Host DXE Driver"

View File

@ -1,14 +1,14 @@
/** @file
UEFI Component Name(2) protocol implementation for IsaBusDxe driver.
Copyright (c) 2015, 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.
Copyright (c) 2015 - 2018, 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.
**/
@ -16,7 +16,7 @@
#include <Library/UefiLib.h>
//
// Driver name table
// Driver name table
//
GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mIsaBusDriverNameTable[] = {
{ "eng;en", L"PI ISA BUS Driver" },

View File

@ -1,14 +1,14 @@
/** @file
UEFI Component Name(2) protocol implementation for IsaBusDxe driver.
Copyright (c) 2015, 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.
Copyright (c) 2015 - 2018, 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.
**/

View File

@ -3,7 +3,7 @@
Controller and installs the ISA Host Controller Service Binding protocol
on the ISA Host Controller's handle.
Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2015 - 2018, 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
@ -19,19 +19,19 @@
#include "ComponentName.h"
/**
Tests to see if this driver supports a given controller. If a child device is provided,
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.
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] ControllerHandle The handle of the controller to test. This handle
must support a protocol interface that supplies
@param[in] ControllerHandle The handle of the controller to test. This handle
must support a protocol interface that supplies
an I/O abstraction to the driver.
@param[in] RemainingDevicePath A pointer to the remaining portion of a device path. This
parameter is ignored by device drivers, and is optional for bus
drivers. For bus drivers, if this parameter is not NULL, then
the bus driver must determine if the bus controller specified
by ControllerHandle and the child controller specified
by RemainingDevicePath are both supported by this
@param[in] RemainingDevicePath A pointer to the remaining portion of a device path. This
parameter is ignored by device drivers, and is optional for bus
drivers. For bus drivers, if this parameter is not NULL, then
the bus driver must determine if the bus controller specified
by ControllerHandle and the child controller specified
by RemainingDevicePath are both supported by this
bus driver.
@retval EFI_SUCCESS The device specified by ControllerHandle and
@ -105,14 +105,14 @@ ISA_BUS_CHILD_PRIVATE_DATA mIsaBusChildPrivateTemplate = {
/**
Creates a child handle and installs a protocol.
The CreateChild() function installs a protocol on ChildHandle.
If ChildHandle is a pointer to NULL, then a new handle is created and returned in ChildHandle.
The CreateChild() function installs a protocol on ChildHandle.
If ChildHandle is a pointer to NULL, then a new handle is created and returned in ChildHandle.
If ChildHandle is not a pointer to NULL, then the protocol installs on the existing ChildHandle.
@param This Pointer to the EFI_SERVICE_BINDING_PROTOCOL instance.
@param ChildHandle Pointer to the handle of the child to create. If it is NULL,
then a new handle is created. If it is a pointer to an existing UEFI handle,
then a new handle is created. If it is a pointer to an existing UEFI handle,
then the protocol is added to the existing UEFI handle.
@retval EFI_SUCCES The protocol was added to ChildHandle.
@ -164,9 +164,9 @@ IsaBusCreateChild (
/**
Destroys a child handle with a protocol installed on it.
The DestroyChild() function does the opposite of CreateChild(). It removes a protocol
that was installed by CreateChild() from ChildHandle. If the removed protocol is the
The DestroyChild() function does the opposite of CreateChild(). It removes a protocol
that was installed by CreateChild() from ChildHandle. If the removed protocol is the
last protocol on ChildHandle, then ChildHandle is destroyed.
@param This Pointer to the EFI_SERVICE_BINDING_PROTOCOL instance.
@ -260,18 +260,18 @@ ISA_BUS_PRIVATE_DATA mIsaBusPrivateTemplate = {
Starts a device controller or a bus controller.
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] ControllerHandle The handle of the controller to start. This handle
must support a protocol interface that supplies
@param[in] ControllerHandle The handle of the controller to start. This handle
must support a protocol interface that supplies
an I/O abstraction to the driver.
@param[in] RemainingDevicePath A pointer to the remaining portion of a device path. This
parameter is ignored by device drivers, and is optional for bus
drivers. For a bus driver, if this parameter is NULL, then handles
for all the children of Controller are created by this driver.
If this parameter is not NULL and the first Device Path Node is
not the End of Device Path Node, then only the handle for the
child device specified by the first Device Path Node of
@param[in] RemainingDevicePath A pointer to the remaining portion of a device path. This
parameter is ignored by device drivers, and is optional for bus
drivers. For a bus driver, if this parameter is NULL, then handles
for all the children of Controller are created by this driver.
If this parameter is not NULL and the first Device Path Node is
not the End of Device Path Node, then only the handle for the
child device specified by the first Device Path Node of
RemainingDevicePath is created by this driver.
If the first Device Path Node of RemainingDevicePath is
If the first Device Path Node of RemainingDevicePath is
the End of Device Path Node, no child handle is created by this
driver.
@ -340,13 +340,13 @@ IsaBusDriverBindingStart (
/**
Stops a device controller or a bus controller.
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] ControllerHandle A handle to the device being stopped. The handle must
support a bus specific I/O protocol for the driver
@param[in] ControllerHandle A handle to the device being stopped. The handle must
support a bus specific I/O protocol for the driver
to use to stop the device.
@param[in] NumberOfChildren The number of child device handles in ChildHandleBuffer.
@param[in] ChildHandleBuffer An array of child handles to be freed. May be NULL
@param[in] ChildHandleBuffer An array of child handles to be freed. May be NULL
if NumberOfChildren is 0.
@retval EFI_SUCCESS The device was stopped.
@ -432,10 +432,10 @@ EFI_DRIVER_BINDING_PROTOCOL gIsaBusDriverBinding = {
/**
Entry point of the IsaBusDxe driver.
@param[in] ImageHandle The firmware allocated handle for the EFI image.
@param[in] ImageHandle The firmware allocated handle for the EFI image.
@param[in] SystemTable A pointer to the EFI System Table.
@retval EFI_SUCCESS The entry point is executed successfully.
@retval other Some error occurs when executing this entry point.
**/
@ -447,7 +447,7 @@ InitializeIsaBus (
)
{
EFI_STATUS Status;
Status = EfiLibInstallDriverBindingComponentName2 (
ImageHandle,
SystemTable,

View File

@ -6,7 +6,7 @@
# the ISA Host Controller and installs the ISA Host Controller Service Binding
# protocol on the ISA Host Controller's handle.
#
# Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2015 - 2018, 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
@ -56,9 +56,9 @@
DebugLib
[Protocols]
## CONSUMES
## CONSUMES
## PRODUCES
gEfiIsaHcProtocolGuid
gEfiIsaHcProtocolGuid
gEfiIsaHcServiceBindingProtocolGuid ## PRODUCES
[UserExtensions.TianoCore."ExtraFiles"]

View File

@ -718,7 +718,7 @@ KeyNotifyProcessHandler (
while (TRUE) {
//
// Enter critical section
//
//
OldTpl = gBS->RaiseTPL (TPL_NOTIFY);
Status = PopEfikeyBufHead (&ConsoleIn->EfiKeyQueueForNotify, &KeyData);
//

View File

@ -1,8 +1,8 @@
/** @file
UEFI Component Name(2) protocol implementation for EHCI driver.
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2018, 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

View File

@ -1,14 +1,14 @@
/** @file
/** @file
The Ehci controller driver.
EhciDxe driver is responsible for managing the behavior of EHCI controller.
It implements the interfaces of monitoring the status of all ports and transferring
EhciDxe driver is responsible for managing the behavior of EHCI controller.
It implements the interfaces of monitoring the status of all ports and transferring
Control, Bulk, Interrupt and Isochronous requests to Usb2.0 device.
Note that EhciDxe driver is enhanced to guarantee that the EHCI controller get attached
to the EHCI controller before a UHCI or OHCI driver attaches to the companion UHCI or
OHCI controller. This way avoids the control transfer on a shared port between EHCI
and companion host controller when UHCI or OHCI gets attached earlier than EHCI and a
to the EHCI controller before a UHCI or OHCI driver attaches to the companion UHCI or
OHCI controller. This way avoids the control transfer on a shared port between EHCI
and companion host controller when UHCI or OHCI gets attached earlier than EHCI and a
USB 2.0 device inserts.
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
@ -1608,7 +1608,7 @@ EhcCreateUsb2Hc (
gBS->FreePool (Ehc);
return NULL;
}
EhcGetUsbDebugPortInfo (Ehc);
//
@ -1781,12 +1781,12 @@ EhcDriverBindingStart (
goto CLOSE_PCIIO;
}
//
// Determine if the device is UHCI or OHCI host controller or not. If yes, then find out the
// Determine if the device is UHCI or OHCI host controller or not. If yes, then find out the
// companion usb ehci host controller and force EHCI driver get attached to it before
// UHCI or OHCI driver attaches to UHCI or OHCI host controller.
//
if ((UsbClassCReg.ProgInterface == PCI_IF_UHCI || UsbClassCReg.ProgInterface == PCI_IF_OHCI) &&
(UsbClassCReg.BaseCode == PCI_CLASS_SERIAL) &&
(UsbClassCReg.BaseCode == PCI_CLASS_SERIAL) &&
(UsbClassCReg.SubClassCode == PCI_CLASS_SERIAL_USB)) {
Status = PciIo->GetLocation (
PciIo,
@ -1835,7 +1835,7 @@ EhcDriverBindingStart (
}
if ((UsbClassCReg.ProgInterface == PCI_IF_EHCI) &&
(UsbClassCReg.BaseCode == PCI_CLASS_SERIAL) &&
(UsbClassCReg.BaseCode == PCI_CLASS_SERIAL) &&
(UsbClassCReg.SubClassCode == PCI_CLASS_SERIAL_USB)) {
Status = Instance->GetLocation (
Instance,
@ -2098,7 +2098,7 @@ EhcDriverBindingStop (
}
//
// Disable routing of all ports to EHCI controller, so all ports are
// Disable routing of all ports to EHCI controller, so all ports are
// routed back to the UHCI or OHCI controller.
//
EhcClearOpRegBit (Ehc, EHC_CONFIG_FLAG_OFFSET, CONFIGFLAG_ROUTE_EHC);

View File

@ -2,7 +2,7 @@
Provides some data struct used by EHCI controller driver.
Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2018, 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
@ -133,7 +133,7 @@ struct _USB2_HC_DEV {
EFI_EVENT PollTimer;
//
// ExitBootServicesEvent is used to stop the EHC DMA operation
// ExitBootServicesEvent is used to stop the EHC DMA operation
// after exit boot service.
//
EFI_EVENT ExitBootServiceEvent;

View File

@ -1,14 +1,14 @@
## @file
# The EhciDxe driver is responsible for managing the behavior of EHCI controller.
# It implements the interfaces of monitoring the status of all ports and transferring
# It implements the interfaces of monitoring the status of all ports and transferring
# Control, Bulk, Interrupt and Isochronous requests to Usb2.0 device.
#
# Note that EhciDxe driver is enhanced to guarantee that the EHCI controller get attached
# to the EHCI controller before the UHCI driver attaches to the companion UHCI controller.
# to the EHCI controller before the UHCI driver attaches to the companion UHCI controller.
# This way avoids the control transfer on a shared port between EHCI and companion host
# controller when UHCI gets attached earlier than EHCI and a USB 2.0 device inserts.
#
# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2006 - 2018, 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
@ -36,7 +36,7 @@
#
# VALID_ARCHITECTURES = IA32 X64 IPF EBC ARM AARCH64
#
# DRIVER_BINDING = gEhciDriverBinding
# DRIVER_BINDING = gEhciDriverBinding
# COMPONENT_NAME = gEhciComponentName
# COMPONENT_NAME2 = gEhciComponentName2
#

View File

@ -3,19 +3,19 @@
//
// It implements the interfaces of monitoring the status of all ports and transferring
// Control, Bulk, Interrupt and Isochronous requests to Usb2.0 device.
//
//
// Note that EhciDxe driver is enhanced to guarantee that the EHCI controller get attached
// to the EHCI controller before the UHCI driver attaches to the companion UHCI controller.
// This way avoids the control transfer on a shared port between EHCI and companion host
// controller when UHCI gets attached earlier than EHCI and a USB 2.0 device inserts.
//
// Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2006 - 2018, 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.
//

View File

@ -1,7 +1,7 @@
// /** @file
// EhciDxe Localized Strings and Content
//
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2013 - 2018, 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
@ -13,8 +13,8 @@
//
// **/
#string STR_PROPERTIES_MODULE_NAME
#language en-US
#string STR_PROPERTIES_MODULE_NAME
#language en-US
"EHCI Controller DXE Driver"

View File

@ -2,7 +2,7 @@
EHCI transfer scheduling routines.
Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2007 - 2018, 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
@ -918,7 +918,7 @@ EhcUpdateAsyncRequest (
//
// calculate physical address by offset.
//
PciAddr = (UINTN)Urb->DataPhy + ((UINTN)Qtd->Data - (UINTN)Urb->Data);
PciAddr = (UINTN)Urb->DataPhy + ((UINTN)Qtd->Data - (UINTN)Urb->Data);
QtdHw->Page[0] = EHC_LOW_32BIT (PciAddr);
QtdHw->PageHigh[0]= EHC_HIGH_32BIT (PciAddr);
}

View File

@ -2,8 +2,8 @@
PEIM to produce gPeiUsb2HostControllerPpiGuid based on gPeiUsbControllerPpiGuid
which is used to enable recovery function from USB Drivers.
Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2010 - 2018, 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
@ -39,7 +39,7 @@ USB_PORT_STATE_MAP mUsbPortChangeMap[] = {
/**
Read Ehc Operation register.
@param Ehc The EHCI device.
@param Offset The operation register offset.
@ -53,17 +53,17 @@ EhcReadOpReg (
)
{
UINT32 Data;
ASSERT (Ehc->CapLen != 0);
Data = MmioRead32 (Ehc->UsbHostControllerBaseAddress + Ehc->CapLen + Offset);
return Data;
}
/**
Write the data to the EHCI operation register.
@param Ehc The EHCI device.
@param Offset EHCI operation register offset.
@param Data The data to write.
@ -85,7 +85,7 @@ EhcWriteOpReg (
/**
Set one bit of the operational register while keeping other bits.
@param Ehc The EHCI device.
@param Offset The offset of the operational register.
@param Bit The bit mask of the register to set.
@ -107,7 +107,7 @@ EhcSetOpRegBit (
/**
Clear one bit of the operational register while keeping other bits.
@param Ehc The EHCI device.
@param Offset The offset of the operational register.
@param Bit The bit mask of the register to clear.
@ -128,9 +128,9 @@ EhcClearOpRegBit (
}
/**
Wait the operation register's bit as specified by Bit
Wait the operation register's bit as specified by Bit
to become set (or clear).
@param Ehc The EHCI device.
@param Offset The offset of the operational register.
@param Bit The bit mask of the register to wait for.
@ -165,7 +165,7 @@ EhcWaitOpRegBit (
/**
Read EHCI capability register.
@param Ehc The EHCI device.
@param Offset Capability register address.
@ -179,16 +179,16 @@ EhcReadCapRegister (
)
{
UINT32 Data;
Data = MmioRead32(Ehc->UsbHostControllerBaseAddress + Offset);
return Data;
}
/**
Set door bell and wait it to be ACKed by host controller.
This function is used to synchronize with the hardware.
@param Ehc The EHCI device.
@param Timeout The time to wait before abort (in millisecond, ms).
@ -223,9 +223,9 @@ EhcSetAndWaitDoorBell (
}
/**
Clear all the interrutp status bits, these bits
Clear all the interrutp status bits, these bits
are Write-Clean.
@param Ehc The EHCI device.
**/
@ -238,9 +238,9 @@ EhcAckAllInterrupt (
}
/**
Enable the periodic schedule then wait EHC to
Enable the periodic schedule then wait EHC to
actually enable it.
@param Ehc The EHCI device.
@param Timeout The time to wait before abort (in millisecond, ms).
@ -264,7 +264,7 @@ EhcEnablePeriodSchd (
/**
Enable asynchrounous schedule.
@param Ehc The EHCI device.
@param Timeout Time to wait before abort.
@ -288,7 +288,7 @@ EhcEnableAsyncSchd (
/**
Check whether Ehc is halted.
@param Ehc The EHCI device.
@retval TRUE The controller is halted.
@ -305,7 +305,7 @@ EhcIsHalt (
/**
Check whether system error occurred.
@param Ehc The EHCI device.
@retval TRUE System error happened.
@ -322,7 +322,7 @@ EhcIsSysError (
/**
Reset the host controller.
@param Ehc The EHCI device.
@param Timeout Time to wait before abort (in millisecond, ms).
@ -356,7 +356,7 @@ EhcResetHC (
/**
Halt the host controller.
@param Ehc The EHCI device.
@param Timeout Time to wait before abort.
@ -379,7 +379,7 @@ EhcHaltHC (
/**
Set the EHCI to run.
@param Ehc The EHCI device.
@param Timeout Time to wait before abort.
@ -402,7 +402,7 @@ EhcRunHC (
/**
Power On All EHCI Ports.
@param Ehc The EHCI device.
**/
@ -414,7 +414,7 @@ EhcPowerOnAllPorts (
UINT8 PortNumber;
UINT8 Index;
UINT32 RegVal;
PortNumber = (UINT8)(Ehc->HcStructParams & HCSP_NPORTS);
for (Index = 0; Index < PortNumber; Index++) {
//
@ -429,14 +429,14 @@ EhcPowerOnAllPorts (
}
/**
Initialize the HC hardware.
Initialize the HC hardware.
EHCI spec lists the five things to do to initialize the hardware.
1. Program CTRLDSSEGMENT.
2. Set USBINTR to enable interrupts.
3. Set periodic list base.
4. Set USBCMD, interrupt threshold, frame list size etc.
5. Write 1 to CONFIGFLAG to route all ports to EHCI.
@param Ehc The EHCI device.
@retval EFI_SUCCESS The EHCI has come out of halt state.
@ -451,7 +451,7 @@ EhcInitHC (
EFI_STATUS Status;
EFI_PHYSICAL_ADDRESS TempPtr;
UINTN PageNumber;
ASSERT (EhcIsHalt (Ehc));
//
@ -472,9 +472,9 @@ EhcInitHC (
return Status;
}
EhcPowerOnAllPorts (Ehc);
EhcPowerOnAllPorts (Ehc);
MicroSecondDelay (EHC_ROOT_PORT_RECOVERY_STALL);
Status = EhcInitSched (Ehc);
if (EFI_ERROR (Status)) {
@ -523,26 +523,26 @@ EhcInitHC (
/**
Submits bulk transfer to a bulk endpoint of a USB device.
@param PeiServices The pointer of EFI_PEI_SERVICES.
@param This The pointer of PEI_USB2_HOST_CONTROLLER_PPI.
@param DeviceAddress Target device address.
@param EndPointAddress Endpoint number and its direction in bit 7.
@param DeviceSpeed Device speed, Low speed device doesn't support
@param DeviceSpeed Device speed, Low speed device doesn't support
bulk transfer.
@param MaximumPacketLength Maximum packet size the endpoint is capable of
@param MaximumPacketLength Maximum packet size the endpoint is capable of
sending or receiving.
@param Data Array of pointers to the buffers of data to transmit
@param Data Array of pointers to the buffers of data to transmit
from or receive into.
@param DataLength The lenght of the data buffer.
@param DataToggle On input, the initial data toggle for the transfer;
On output, it is updated to to next data toggle to use of
On output, it is updated to to next data toggle to use of
the subsequent bulk transfer.
@param TimeOut Indicates the maximum time, in millisecond, which the
transfer is allowed to complete.
If Timeout is 0, then the caller must wait for the function
to be completed until EFI_SUCCESS or EFI_DEVICE_ERROR is returned.
@param Translator A pointr to the transaction translator data.
@param Translator A pointr to the transaction translator data.
@param TransferResult A pointer to the detailed result information of the
bulk transfer.
@ -577,7 +577,7 @@ EhcBulkTransfer (
//
// Validate the parameters
//
if ((DataLength == NULL) || (*DataLength == 0) ||
if ((DataLength == NULL) || (*DataLength == 0) ||
(Data == NULL) || (Data[0] == NULL) || (TransferResult == NULL)) {
return EFI_INVALID_PARAMETER;
}
@ -652,10 +652,10 @@ ON_EXIT:
Retrieves the number of root hub ports.
@param[in] PeiServices The pointer to the PEI Services Table.
@param[in] This The pointer to this instance of the
@param[in] This The pointer to this instance of the
PEI_USB2_HOST_CONTROLLER_PPI.
@param[out] PortNumber The pointer to the number of the root hub ports.
@param[out] PortNumber The pointer to the number of the root hub ports.
@retval EFI_SUCCESS The port number was retrieved successfully.
@retval EFI_INVALID_PARAMETER PortNumber is NULL.
@ -671,19 +671,19 @@ EhcGetRootHubPortNumber (
PEI_USB2_HC_DEV *EhcDev;
EhcDev = PEI_RECOVERY_USB_EHC_DEV_FROM_EHCI_THIS (This);
if (PortNumber == NULL) {
return EFI_INVALID_PARAMETER;
}
}
*PortNumber = (UINT8)(EhcDev->HcStructParams & HCSP_NPORTS);
return EFI_SUCCESS;
}
/**
Clears a feature for the specified root hub port.
@param PeiServices The pointer of EFI_PEI_SERVICES.
@param This The pointer of PEI_USB2_HOST_CONTROLLER_PPI.
@param PortNumber Specifies the root hub port whose feature
@ -691,7 +691,7 @@ EhcGetRootHubPortNumber (
@param PortFeature Indicates the feature selector associated with the
feature clear request.
@retval EFI_SUCCESS The feature specified by PortFeature was cleared
@retval EFI_SUCCESS The feature specified by PortFeature was cleared
for the USB root hub port specified by PortNumber.
@retval EFI_INVALID_PARAMETER PortNumber is invalid or PortFeature is invalid.
@ -805,7 +805,7 @@ ON_EXIT:
/**
Sets a feature for the specified root hub port.
@param PeiServices The pointer of EFI_PEI_SERVICES
@param This The pointer of PEI_USB2_HOST_CONTROLLER_PPI
@param PortNumber Root hub port to set.
@ -876,7 +876,7 @@ EhcSetRootHubPortFeature (
break;
}
}
//
// Set one to PortReset bit must also set zero to PortEnable bit
//
@ -907,10 +907,10 @@ ON_EXIT:
/**
Retrieves the current status of a USB root hub port.
@param PeiServices The pointer of EFI_PEI_SERVICES.
@param This The pointer of PEI_USB2_HOST_CONTROLLER_PPI.
@param PortNumber The root hub port to retrieve the state from.
@param PortNumber The root hub port to retrieve the state from.
@param PortStatus Variable to receive the port state.
@retval EFI_SUCCESS The status of the USB root hub port specified.
@ -957,9 +957,9 @@ EhcGetRootHubPortStatus (
//
// Identify device speed. If in K state, it is low speed.
// If the port is enabled after reset, the device is of
// If the port is enabled after reset, the device is of
// high speed. The USB bus driver should retrieve the actual
// port speed after reset.
// port speed after reset.
//
if (EHC_BIT_IS_SET (State, PORTSC_LINESTATE_K)) {
PortStatus->PortStatus |= USB_PORT_STAT_LOW_SPEED;
@ -967,7 +967,7 @@ EhcGetRootHubPortStatus (
} else if (EHC_BIT_IS_SET (State, PORTSC_ENABLED)) {
PortStatus->PortStatus |= USB_PORT_STAT_HIGH_SPEED;
}
//
// Convert the EHCI port/port change state to UEFI status
//
@ -993,12 +993,12 @@ ON_EXIT:
/**
Submits control transfer to a target USB device.
@param PeiServices The pointer of EFI_PEI_SERVICES.
@param This The pointer of PEI_USB2_HOST_CONTROLLER_PPI.
@param DeviceAddress The target device address.
@param DeviceSpeed Target device speed.
@param MaximumPacketLength Maximum packet size the default control transfer
@param MaximumPacketLength Maximum packet size the default control transfer
endpoint is capable of sending or receiving.
@param Request USB device request to send.
@param TransferDirection Specifies the data direction for the data stage.
@ -1052,12 +1052,12 @@ EhcControlTransfer (
return EFI_INVALID_PARAMETER;
}
if ((TransferDirection == EfiUsbNoData) &&
if ((TransferDirection == EfiUsbNoData) &&
((Data != NULL) || (*DataLength != 0))) {
return EFI_INVALID_PARAMETER;
}
if ((TransferDirection != EfiUsbNoData) &&
if ((TransferDirection != EfiUsbNoData) &&
((Data == NULL) || (*DataLength == 0))) {
return EFI_INVALID_PARAMETER;
}
@ -1225,7 +1225,7 @@ EhcPeimEntry (
if (EFI_ERROR (Status)) {
break;
}
//
// This PEIM is for UHC type controller.
//
@ -1303,19 +1303,19 @@ EhcPeimEntry (
**/
EFI_STATUS
InitializeUsbHC (
IN PEI_USB2_HC_DEV *EhcDev
IN PEI_USB2_HC_DEV *EhcDev
)
{
EFI_STATUS Status;
EhcResetHC (EhcDev, EHC_RESET_TIMEOUT);
Status = EhcInitHC (EhcDev);
if (EFI_ERROR (Status)) {
return EFI_ABORTED;
return EFI_ABORTED;
}
return EFI_SUCCESS;
}

View File

@ -1,8 +1,8 @@
/** @file
Private Header file for Usb Host Controller PEIM
Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2010 - 2018, 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
@ -118,20 +118,20 @@ struct _PEI_USB2_HC_DEV {
//
PEI_EHC_QTD *ShortReadStop;
EFI_EVENT PollTimer;
//
// Asynchronous(bulk and control) transfer schedule data:
// Asynchronous(bulk and control) transfer schedule data:
// ReclaimHead is used as the head of the asynchronous transfer
// list. It acts as the reclamation header.
// list. It acts as the reclamation header.
//
PEI_EHC_QH *ReclaimHead;
//
// Periodic (interrupt) transfer schedule data:
//
VOID *PeriodFrame; // Mapped as common buffer
VOID *PeriodFrame; // Mapped as common buffer
VOID *PeriodFrameMap;
PEI_EHC_QH *PeriodOne;
EFI_LIST_ENTRY AsyncIntTransfers;
@ -156,14 +156,14 @@ struct _PEI_USB2_HC_DEV {
**/
EFI_STATUS
InitializeUsbHC (
IN PEI_USB2_HC_DEV *EhcDev
IN PEI_USB2_HC_DEV *EhcDev
);
/**
Initialize the memory management pool for the host controller.
@param Ehc The EHCI device.
@param Check4G Whether the host controller requires allocated memory
@param Check4G Whether the host controller requires allocated memory
from one 4G address space.
@param Which4G The 4G memory area each memory allocated should be from.
@ -178,7 +178,7 @@ UsbHcInitMemPool (
IN UINT32 Which4G
)
;
/**
Release the memory management pool.
@ -199,7 +199,7 @@ UsbHcFreeMemPool (
/**
Allocate some memory from the host controller's memory pool
which can be used to communicate with host controller.
@param Ehc The EHCI device.
@param Pool The host controller's memory pool.
@param Size Size of the memory to allocate.

View File

@ -4,14 +4,14 @@
# It produces gPeiUsb2HostControllerPpiGuid based on gPeiUsbControllerPpiGuid
# which is used to enable recovery function from USB Drivers.
#
# Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2010 - 2018, 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.
#

View File

@ -4,14 +4,14 @@
// It produces gPeiUsb2HostControllerPpiGuid based on gPeiUsbControllerPpiGuid
// which is used to enable recovery function from USB Drivers.
//
// Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2010 - 2018, 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.
//

View File

@ -1,7 +1,7 @@
// /** @file
// EhciPei Localized Strings and Content
//
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
//
// This program and the accompanying materials
// are licensed and made available under the terms and conditions
@ -14,8 +14,8 @@
//
// **/
#string STR_PROPERTIES_MODULE_NAME
#language en-US
#string STR_PROPERTIES_MODULE_NAME
#language en-US
"EHCI PEI Module for Recovery"

View File

@ -1,8 +1,8 @@
/** @file
Private Header file for Usb Host Controller PEIM
Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2010 - 2018, 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
@ -94,8 +94,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#define EHCI_IS_DATAIN(EndpointAddr) EHC_BIT_IS_SET((EndpointAddr), 0x80)
//
// Structure to map the hardware port states to the
// UEFI's port states.
// Structure to map the hardware port states to the
// UEFI's port states.
//
typedef struct {
UINT16 HwState;
@ -116,7 +116,7 @@ typedef struct {
/**
Read EHCI capability register.
@param Ehc The EHCI device.
@param Offset Capability register address.
@ -132,7 +132,7 @@ EhcReadCapRegister (
/**
Read Ehc Operation register.
@param Ehc The EHCI device.
@param Offset The operation register offset.
@ -148,7 +148,7 @@ EhcReadOpReg (
/**
Write the data to the EHCI operation register.
@param Ehc The EHCI device.
@param Offset EHCI operation register offset.
@param Data The data to write.
@ -164,7 +164,7 @@ EhcWriteOpReg (
/**
Stop the legacy USB SMI support.
@param Ehc The EHCI device.
**/
@ -177,7 +177,7 @@ EhcClearLegacySupport (
/**
Set door bell and wait it to be ACKed by host controller.
This function is used to synchronize with the hardware.
@param Ehc The EHCI device.
@param Timeout The time to wait before abort (in millisecond, ms).
@ -193,9 +193,9 @@ EhcSetAndWaitDoorBell (
;
/**
Clear all the interrutp status bits, these bits
Clear all the interrutp status bits, these bits
are Write-Clean.
@param Ehc The EHCI device.
**/
@ -207,7 +207,7 @@ EhcAckAllInterrupt (
/**
Check whether Ehc is halted.
@param Ehc The EHCI device.
@retval TRUE The controller is halted.
@ -222,7 +222,7 @@ EhcIsHalt (
/**
Check whether system error occurred.
@param Ehc The EHCI device.
@retval TRUE System error happened.
@ -237,7 +237,7 @@ EhcIsSysError (
/**
Reset the host controller.
@param Ehc The EHCI device.
@param Timeout Time to wait before abort (in millisecond, ms).
@ -254,7 +254,7 @@ EhcResetHC (
/**
Halt the host controller.
@param Ehc The EHCI device.
@param Timeout Time to wait before abort.
@ -271,7 +271,7 @@ EhcHaltHC (
/**
Set the EHCI to run
@param Ehc The EHCI device.
@param Timeout Time to wait before abort.
@ -287,14 +287,14 @@ EhcRunHC (
;
/**
Initialize the HC hardware.
Initialize the HC hardware.
EHCI spec lists the five things to do to initialize the hardware.
1. Program CTRLDSSEGMENT.
2. Set USBINTR to enable interrupts.
3. Set periodic list base.
4. Set USBCMD, interrupt threshold, frame list size etc.
5. Write 1 to CONFIGFLAG to route all ports to EHCI.
@param Ehc The EHCI device.
@retval EFI_SUCCESS The EHCI has come out of halt state.

View File

@ -2,8 +2,8 @@
PEIM to produce gPeiUsb2HostControllerPpiGuid based on gPeiUsbControllerPpiGuid
which is used to enable recovery function from USB Drivers.
Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2010 - 2018, 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
@ -19,7 +19,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
/**
Create helper QTD/QH for the EHCI device.
@param Ehc The EHCI device.
@retval EFI_OUT_OF_RESOURCES Failed to allocate resource for helper QTD/QH.
@ -95,7 +95,7 @@ EhcCreateHelpQ (
/**
Initialize the schedule data structure such as frame list.
@param Ehc The EHCI device to init schedule data for.
@retval EFI_OUT_OF_RESOURCES Failed to allocate resource to init schedule data.
@ -162,7 +162,7 @@ EhcInitSched (
if (EFI_ERROR (Status)) {
return Status;
}
//
// Initialize the frame list entries then set the registers
//
@ -186,8 +186,8 @@ EhcInitSched (
/**
Free the schedule data. It may be partially initialized.
@param Ehc The EHCI device.
@param Ehc The EHCI device.
**/
VOID
@ -230,7 +230,7 @@ EhcFreeSched (
due to its interfaces. This simplifies the AsynList
management: A reclamation header is always linked to
the AsyncListAddr, the only active QH is appended to it.
@param Ehc The EHCI device.
@param Qh The queue head to link.
@ -260,7 +260,7 @@ EhcLinkQhToAsync (
/**
Unlink a queue head from the asynchronous schedule list.
Need to synchronize with hardware.
@param Ehc The EHCI device.
@param Qh The queue head to unlink.
@ -291,13 +291,13 @@ EhcUnlinkQhFromAsync (
// Set and wait the door bell to synchronize with the hardware
//
EhcSetAndWaitDoorBell (Ehc, EHC_GENERIC_TIMEOUT);
return;
}
/**
Check the URB's execution result and update the URB's
result accordingly.
result accordingly.
@param Ehc The EHCI device.
@param Urb The URB to check result.
@ -358,13 +358,13 @@ EhcCheckUrbResult (
Finished = TRUE;
goto ON_EXIT;
} else if (EHC_BIT_IS_SET (State, QTD_STAT_ACTIVE)) {
//
// The QTD is still active, no need to check furthur.
//
Urb->Result |= EFI_USB_ERR_NOTEXECUTE;
Finished = FALSE;
goto ON_EXIT;
@ -387,7 +387,7 @@ EhcCheckUrbResult (
// Status Stage of the setup transfer to get the finial result
//
if (QtdHw->AltNext == QTD_LINK (Ehc->ShortReadStop, FALSE)) {
Finished = TRUE;
goto ON_EXIT;
}
@ -412,7 +412,7 @@ ON_EXIT:
/**
Execute the transfer by polling the URB. This is a synchronous operation.
@param Ehc The EHCI device.
@param Urb The URB to execute.
@param TimeOut The time to wait before abort, in millisecond.

View File

@ -1,8 +1,8 @@
/** @file
Private Header file for Usb Host Controller PEIM
Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2010 - 2018, 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
@ -19,7 +19,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
/**
Initialize the schedule data structure such as frame list.
@param Ehc The EHCI device to init schedule data for.
@retval EFI_OUT_OF_RESOURCES Failed to allocate resource to init schedule data.
@ -34,7 +34,7 @@ EhcInitSched (
/**
Free the schedule data. It may be partially initialized.
@param Ehc The EHCI device.
**/
@ -50,7 +50,7 @@ EhcFreeSched (
due to its interfaces. This simplifies the AsynList
management: A reclamation header is always linked to
the AsyncListAddr, the only active QH is appended to it.
@param Ehc The EHCI device.
@param Qh The queue head to link.
@ -65,7 +65,7 @@ EhcLinkQhToAsync (
/**
Unlink a queue head from the asynchronous schedule list.
Need to synchronize with hardware.
@param Ehc The EHCI device.
@param Qh The queue head to unlink.
@ -79,7 +79,7 @@ EhcUnlinkQhFromAsync (
/**
Execute the transfer by polling the URB. This is a synchronous operation.
@param Ehc The EHCI device.
@param Urb The URB to execute.
@param TimeOut The time to wait before abort, in millisecond.

View File

@ -2,8 +2,8 @@
PEIM to produce gPeiUsb2HostControllerPpiGuid based on gPeiUsbControllerPpiGuid
which is used to enable recovery function from USB Drivers.
Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2010 - 2018, 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
@ -20,7 +20,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
/**
Delete a single asynchronous interrupt transfer for
the device and endpoint.
@param Ehc The EHCI device.
@param Data Current data not associated with a QTD.
@param DataLen The length of the data.
@ -96,7 +96,7 @@ EhcCreateQtd (
Len += ThisBufLen;
Data += ThisBufLen;
}
//
// Need to fix the last pointer if the Qtd can't hold all the
// user's data to make sure that the length is in the unit of
@ -120,7 +120,7 @@ EhcCreateQtd (
1. SplitXState in the Status field.
2. Microframe S-mask.
3. Microframe C-mask.
@param Ep The queue head's related endpoint.
@param QhHw The queue head to initialize.
@ -142,7 +142,7 @@ EhcInitIntQh (
QhHw->SMask = QH_MICROFRAME_0;
return ;
}
//
// For low/full speed device, the transfer must go through
// the split transaction. Need to update three fields
@ -160,7 +160,7 @@ EhcInitIntQh (
/**
Allocate and initialize a EHCI queue head.
@param Ehci The EHCI device.
@param Ep The endpoint to create queue head for.
@ -185,7 +185,7 @@ EhcCreateQh (
Qh->Signature = EHC_QH_SIG;
Qh->NextQh = NULL;
Qh->Interval = Ep->PollRate;
InitializeListHead (&Qh->Qtds);
QhHw = &Qh->QhHw;
@ -250,7 +250,7 @@ EhcCreateQh (
can't support high speed endpoint with a interval less
than 8 microframe because interval is specified in
the unit of ms (millisecond).
@param Interval The interval to convert.
@retval The converted interval.
@ -266,7 +266,7 @@ EhcConvertPollRate (
if (Interval == 0) {
return 1;
}
//
// Find the index (1 based) of the highest non-zero bit
//
@ -282,7 +282,7 @@ EhcConvertPollRate (
/**
Free a list of QTDs.
@param Ehc The EHCI device.
@param Qtds The list head of the QTD.
@ -307,7 +307,7 @@ EhcFreeQtds (
/**
Free an allocated URB. It is possible for it to be partially inited.
@param Ehc The EHCI device.
@param Urb The URB to free.
@ -338,7 +338,7 @@ EhcFreeUrb (
/**
Create a list of QTDs for the URB.
@param Ehc The EHCI device.
@param Urb The URB to create QTDs for.
@ -380,7 +380,7 @@ EhcCreateQtds (
if (Ep->Direction == EfiUsbDataIn) {
AlterNext = QTD_LINK (Ehc->ShortReadStop, FALSE);
}
//
// Build the Setup and status packets for control transfer
//
@ -457,7 +457,7 @@ EhcCreateQtds (
Len += Qtd->DataLen;
}
//
// Insert the status packet for control transfer
//
@ -496,7 +496,7 @@ ON_ERROR:
/**
Create a new URB and its associated QTD.
@param Ehc The EHCI device.
@param DevAddr The device address.
@param EpAddr Endpoint addrress & its direction.
@ -519,7 +519,7 @@ PEI_URB *
EhcCreateUrb (
IN PEI_USB2_HC_DEV *Ehc,
IN UINT8 DevAddr,
IN UINT8 EpAddr,
IN UINT8 EpAddr,
IN UINT8 DevSpeed,
IN UINT8 Toggle,
IN UINTN MaxPacket,
@ -540,7 +540,7 @@ EhcCreateUrb (
UINTN Len;
PEI_URB *Urb;
VOID *Map;
Urb = Ehc->Urb;
Urb->Signature = EHC_URB_SIG;
InitializeListHead (&Urb->UrbList);

View File

@ -1,8 +1,8 @@
/** @file
Private Header file for Usb Host Controller PEIM
Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2010 - 2018, 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
@ -73,7 +73,7 @@ typedef struct _PEI_URB PEI_URB;
#define USB_ERR_SHORT_PACKET 0x200
//
// Fill in the hardware link point: pass in a EHC_QH/QH_HW
// Fill in the hardware link point: pass in a EHC_QH/QH_HW
// pointer to QH_LINK; A EHC_QTD/QTD_HW pointer to QTD_LINK
//
#define QH_LINK(Addr, Type, Term) \
@ -82,16 +82,16 @@ typedef struct _PEI_URB PEI_URB;
#define QTD_LINK(Addr, Term) QH_LINK((Addr), 0, (Term))
//
// The defination of EHCI hardware used data structure for
// little endian architecture. The QTD and QH structures
// are required to be 32 bytes aligned. Don't add members
// The defination of EHCI hardware used data structure for
// little endian architecture. The QTD and QH structures
// are required to be 32 bytes aligned. Don't add members
// to the head of the associated software strucuture.
//
#pragma pack(1)
typedef struct {
UINT32 NextQtd;
UINT32 AltNext;
UINT32 Status : 8;
UINT32 Pid : 2;
UINT32 ErrCnt : 2;
@ -105,7 +105,7 @@ typedef struct {
} QTD_HW;
typedef struct {
UINT32 HorizonLink;
UINT32 HorizonLink;
//
// Endpoint capabilities/Characteristics DWord 1 and DWord 2
//
@ -131,7 +131,7 @@ typedef struct {
UINT32 CurQtd;
UINT32 NextQtd;
UINT32 AltQtd;
UINT32 Status : 8;
UINT32 Pid : 2;
UINT32 ErrCnt : 2;
@ -163,7 +163,7 @@ typedef struct _USB_ENDPOINT {
} USB_ENDPOINT;
//
// Software QTD strcture, this is used to manage all the
// Software QTD strcture, this is used to manage all the
// QTD generated from a URB. Don't add fields before QtdHw.
//
struct _PEI_EHC_QTD {
@ -177,17 +177,17 @@ struct _PEI_EHC_QTD {
//
// Software QH structure. All three different transaction types
// supported by UEFI USB, that is the control/bulk/interrupt
// transfers use the queue head and queue token strcuture.
// Software QH structure. All three different transaction types
// supported by UEFI USB, that is the control/bulk/interrupt
// transfers use the queue head and queue token strcuture.
//
// Interrupt QHs are linked to periodic frame list in the reversed
// 2^N tree. Each interrupt QH is linked to the list starting at
// 2^N tree. Each interrupt QH is linked to the list starting at
// frame 0. There is a dummy interrupt QH linked to each frame as
// a sentinental whose polling interval is 1. Synchronous interrupt
// transfer is linked after this dummy QH.
//
// For control/bulk transfer, only synchronous (in the sense of UEFI)
// transfer is linked after this dummy QH.
//
// For control/bulk transfer, only synchronous (in the sense of UEFI)
// transfer is supported. A dummy QH is linked to EHCI AsyncListAddr
// as the reclamation header. New transfer is inserted after this QH.
//
@ -196,17 +196,17 @@ struct _PEI_EHC_QH {
UINT32 Signature;
PEI_EHC_QH *NextQh; // The queue head pointed to by horizontal link
EFI_LIST_ENTRY Qtds; // The list of QTDs to this queue head
UINTN Interval;
UINTN Interval;
};
//
// URB (Usb Request Block) contains information for all kinds of
// URB (Usb Request Block) contains information for all kinds of
// usb requests.
//
struct _PEI_URB {
UINT32 Signature;
EFI_LIST_ENTRY UrbList;
//
// Transaction information
//
@ -218,14 +218,14 @@ struct _PEI_URB {
UINTN DataLen;
VOID *DataPhy; // Address of the mapped user data
VOID *DataMap;
EFI_ASYNC_USB_TRANSFER_CALLBACK Callback;
EFI_ASYNC_USB_TRANSFER_CALLBACK Callback;
VOID *Context;
//
// Schedule data
//
PEI_EHC_QH *Qh;
//
// Transaction result
//
@ -237,7 +237,7 @@ struct _PEI_URB {
/**
Delete a single asynchronous interrupt transfer for
the device and endpoint.
@param Ehc The EHCI device.
@param Data Current data not associated with a QTD.
@param DataLen The length of the data.
@ -261,7 +261,7 @@ EhcCreateQtd (
/**
Allocate and initialize a EHCI queue head.
@param Ehci The EHCI device.
@param Ep The endpoint to create queue head for.
@ -277,7 +277,7 @@ EhcCreateQh (
/**
Free an allocated URB. It is possible for it to be partially inited.
@param Ehc The EHCI device.
@param Urb The URB to free.
@ -291,7 +291,7 @@ EhcFreeUrb (
/**
Create a new URB and its associated QTD.
@param Ehc The EHCI device.
@param DevAddr The device address.
@param EpAddr Endpoint addrress & its direction.
@ -314,7 +314,7 @@ PEI_URB *
EhcCreateUrb (
IN PEI_USB2_HC_DEV *Ehc,
IN UINT8 DevAddr,
IN UINT8 EpAddr,
IN UINT8 EpAddr,
IN UINT8 DevSpeed,
IN UINT8 Toggle,
IN UINTN MaxPacket,

View File

@ -2,8 +2,8 @@
PEIM to produce gPeiUsb2HostControllerPpiGuid based on gPeiUsbControllerPpiGuid
which is used to enable recovery function from USB Drivers.
Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2010 - 2018, 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
@ -54,28 +54,28 @@ UsbHcAllocMemBlock (
return NULL;
}
ZeroMem ((VOID *)(UINTN)TempPtr, PageNumber*EFI_PAGE_SIZE);
//
// each bit in the bit array represents USBHC_MEM_UNIT
// bytes of memory in the memory block.
//
ASSERT (USBHC_MEM_UNIT * 8 <= EFI_PAGE_SIZE);
Block = (USBHC_MEM_BLOCK*)(UINTN)TempPtr;
Block->BufLen = EFI_PAGES_TO_SIZE (Pages);
Block->BitsLen = Block->BufLen / (USBHC_MEM_UNIT * 8);
PageNumber = (Block->BitsLen)/PAGESIZE +1;
Status = PeiServicesAllocatePages (
EfiBootServicesCode,
PageNumber,
&TempPtr
);
if (EFI_ERROR (Status)) {
return NULL;
}
ZeroMem ((VOID *)(UINTN)TempPtr, PageNumber*EFI_PAGE_SIZE);
ZeroMem ((VOID *)(UINTN)TempPtr, PageNumber*EFI_PAGE_SIZE);
Block->Bits = (UINT8 *)(UINTN)TempPtr;
@ -184,7 +184,7 @@ UsbHcAllocMemFromBlock (
if (Available < Units) {
return NULL;
}
//
// Mark the memory as allocated
//
@ -283,7 +283,7 @@ UsbHcIsMemBlockEmpty (
{
UINTN Index;
for (Index = 0; Index < Block->BitsLen; Index++) {
if (Block->Bits[Index] != 0) {
return FALSE;
@ -321,7 +321,7 @@ UsbHcUnlinkMemBlock (
/**
Initialize the memory management pool for the host controller.
@param Ehc The EHCI device.
@param Check4G Whether the host controller requires allocated memory.
from one 4G address space.
@ -342,7 +342,7 @@ UsbHcInitMemPool (
UINTN PageNumber;
EFI_STATUS Status;
EFI_PHYSICAL_ADDRESS TempPtr;
PageNumber = sizeof(USBHC_MEM_POOL)/PAGESIZE +1;
Status = PeiServicesAllocatePages (
EfiBootServicesCode,
@ -353,9 +353,9 @@ UsbHcInitMemPool (
if (EFI_ERROR (Status)) {
return NULL;
}
ZeroMem ((VOID *)(UINTN)TempPtr, PageNumber*EFI_PAGE_SIZE);
ZeroMem ((VOID *)(UINTN)TempPtr, PageNumber*EFI_PAGE_SIZE);
Pool = (USBHC_MEM_POOL *) ((UINTN) TempPtr);
Pool = (USBHC_MEM_POOL *) ((UINTN) TempPtr);
Pool->Check4G = Check4G;
Pool->Which4G = Which4G;
@ -405,7 +405,7 @@ UsbHcFreeMemPool (
/**
Allocate some memory from the host controller's memory pool
which can be used to communicate with host controller.
@param Ehc The EHCI device.
@param Pool The host controller's memory pool.
@param Size Size of the memory to allocate.
@ -464,7 +464,7 @@ UsbHcAllocateMem (
if (NewBlock == NULL) {
return NULL;
}
//
// Add the new memory block to the pool, then allocate memory from it
//

View File

@ -1,8 +1,8 @@
/** @file
Private Header file for Usb Host Controller PEIM
Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2010 - 2018, 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
@ -32,22 +32,22 @@ typedef struct _USBHC_MEM_BLOCK USBHC_MEM_BLOCK;
struct _USBHC_MEM_BLOCK {
UINT8 *Bits; // Bit array to record which unit is allocated
UINTN BitsLen;
UINTN BitsLen;
UINT8 *Buf;
UINT8 *BufHost;
UINTN BufLen; // Memory size in bytes
VOID *Mapping;
VOID *Mapping;
USBHC_MEM_BLOCK *Next;
};
//
// USBHC_MEM_POOL is used to manage the memory used by USB
// USBHC_MEM_POOL is used to manage the memory used by USB
// host controller. EHCI requires the control memory and transfer
// data to be on the same 4G memory.
// data to be on the same 4G memory.
//
typedef struct _USBHC_MEM_POOL {
BOOLEAN Check4G;
UINT32 Which4G;
BOOLEAN Check4G;
UINT32 Which4G;
USBHC_MEM_BLOCK *Head;
} USBHC_MEM_POOL;
@ -71,7 +71,7 @@ typedef struct _USBHC_MEM_POOL {
(Byte)++; \
(Bit) = 0; \
} \
} while (0)
} while (0)
/**

View File

@ -5,7 +5,7 @@ ATA controllers in the platform.
This PPI can be consumed by PEIM which produce gEfiPeiDeviceRecoveryModulePpiGuid
for Atapi CD ROM device.
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions
@ -21,8 +21,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include "AtapiPeim.h"
/**
Initializes the Atapi Block Io PPI.
Initializes the Atapi Block Io PPI.
@param[in] FileHandle Handle of the file being invoked.
@param[in] PeiServices Describes the list of possible PEI Services.
@ -97,16 +97,16 @@ AtapiPeimEntry (
/**
Gets the count of block I/O devices that one specific block driver detects.
This function is used for getting the count of block I/O devices that one
This function is used for getting the count of block I/O devices that one
specific block driver detects. To the PEI ATAPI driver, it returns the number
of all the detected ATAPI devices it detects during the enumeration process.
To the PEI legacy floppy driver, it returns the number of all the legacy
devices it finds during its enumeration process. If no device is detected,
then the function will return zero.
@param[in] PeiServices General-purpose services that are available
of all the detected ATAPI devices it detects during the enumeration process.
To the PEI legacy floppy driver, it returns the number of all the legacy
devices it finds during its enumeration process. If no device is detected,
then the function will return zero.
@param[in] PeiServices General-purpose services that are available
to every PEIM.
@param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI
@param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI
instance.
@param[out] NumberBlockDevices The number of block I/O devices discovered.
@ -135,27 +135,27 @@ AtapiGetNumberOfBlockDevices (
/**
Gets a block device's media information.
This function will provide the caller with the specified block device's media
information. If the media changes, calling this function will update the media
This function will provide the caller with the specified block device's media
information. If the media changes, calling this function will update the media
information accordingly.
@param[in] PeiServices General-purpose services that are available to every
PEIM
@param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI instance.
@param[in] DeviceIndex Specifies the block device to which the function wants
to talk. Because the driver that implements Block I/O
PPIs will manage multiple block devices, the PPIs that
want to talk to a single device must specify the
@param[in] DeviceIndex Specifies the block device to which the function wants
to talk. Because the driver that implements Block I/O
PPIs will manage multiple block devices, the PPIs that
want to talk to a single device must specify the
device index that was assigned during the enumeration
process. This index is a number from one to
process. This index is a number from one to
NumberBlockDevices.
@param[out] MediaInfo The media information of the specified block media.
The caller is responsible for the ownership of this
@param[out] MediaInfo The media information of the specified block media.
The caller is responsible for the ownership of this
data structure.
@retval EFI_SUCCESS Media information about the specified block device
@retval EFI_SUCCESS Media information about the specified block device
was obtained successfully.
@retval EFI_DEVICE_ERROR Cannot get the media information due to a hardware
@retval EFI_DEVICE_ERROR Cannot get the media information due to a hardware
error.
@retval Others Other failure occurs.
@ -196,7 +196,7 @@ AtapiGetBlockDeviceMediaInfo (
//
// probe media and retrieve latest media information
//
DEBUG ((EFI_D_INFO, "Atatpi GetInfo DevicePosition is %d\n", AtapiBlkIoDev->DeviceInfo[Index].DevicePosition));
DEBUG ((EFI_D_INFO, "Atatpi GetInfo DevicePosition is %d\n", AtapiBlkIoDev->DeviceInfo[Index].DevicePosition));
DEBUG ((EFI_D_INFO, "Atatpi GetInfo DeviceType is %d\n", AtapiBlkIoDev->DeviceInfo[Index].MediaInfo.DeviceType));
DEBUG ((EFI_D_INFO, "Atatpi GetInfo MediaPresent is %d\n", AtapiBlkIoDev->DeviceInfo[Index].MediaInfo.MediaPresent));
DEBUG ((EFI_D_INFO, "Atatpi GetInfo BlockSize is 0x%x\n", AtapiBlkIoDev->DeviceInfo[Index].MediaInfo.BlockSize));
@ -217,7 +217,7 @@ AtapiGetBlockDeviceMediaInfo (
DEBUG ((EFI_D_INFO, "Atatpi GetInfo MediaPresent is %d\n", AtapiBlkIoDev->DeviceInfo[Index].MediaInfo.MediaPresent));
DEBUG ((EFI_D_INFO, "Atatpi GetInfo BlockSize is 0x%x\n", AtapiBlkIoDev->DeviceInfo[Index].MediaInfo.BlockSize));
DEBUG ((EFI_D_INFO, "Atatpi GetInfo LastBlock is 0x%x\n", AtapiBlkIoDev->DeviceInfo[Index].MediaInfo.LastBlock));
//
// Get media info from AtapiBlkIoDev
//
@ -229,31 +229,31 @@ AtapiGetBlockDeviceMediaInfo (
/**
Reads the requested number of blocks from the specified block device.
The function reads the requested number of blocks from the device. All the
The function reads the requested number of blocks from the device. All the
blocks are read, or an error is returned. If there is no media in the device,
the function returns EFI_NO_MEDIA.
@param[in] PeiServices General-purpose services that are available to
@param[in] PeiServices General-purpose services that are available to
every PEIM.
@param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI instance.
@param[in] DeviceIndex Specifies the block device to which the function wants
to talk. Because the driver that implements Block I/O
PPIs will manage multiple block devices, the PPIs that
want to talk to a single device must specify the device
index that was assigned during the enumeration process.
@param[in] DeviceIndex Specifies the block device to which the function wants
to talk. Because the driver that implements Block I/O
PPIs will manage multiple block devices, the PPIs that
want to talk to a single device must specify the device
index that was assigned during the enumeration process.
This index is a number from one to NumberBlockDevices.
@param[in] StartLBA The starting logical block address (LBA) to read from
on the device
@param[in] BufferSize The size of the Buffer in bytes. This number must be
a multiple of the intrinsic block size of the device.
@param[out] Buffer A pointer to the destination buffer for the data.
The caller is responsible for the ownership of the
The caller is responsible for the ownership of the
buffer.
@retval EFI_SUCCESS The data was read correctly from the device.
@retval EFI_DEVICE_ERROR The device reported an error while attempting
@retval EFI_DEVICE_ERROR The device reported an error while attempting
to perform the read operation.
@retval EFI_INVALID_PARAMETER The read request contains LBAs that are not
@retval EFI_INVALID_PARAMETER The read request contains LBAs that are not
valid, or the buffer is not properly aligned.
@retval EFI_NO_MEDIA There is no media in the device.
@retval EFI_BAD_BUFFER_SIZE The BufferSize parameter is not a multiple of
@ -553,7 +553,7 @@ AtapiEnumerateDevices (
);
//
// Allow SATA Devices to spin-up. This is needed if
// Allow SATA Devices to spin-up. This is needed if
// SEC and PEI phase is too short, for example Release Build.
//
DEBUG ((EFI_D_INFO, "Delay for %d seconds for SATA devices to spin-up\n", PcdGet16 (PcdSataSpinUpDelayInSecForRecoveryPath)));
@ -571,7 +571,7 @@ AtapiEnumerateDevices (
//
// Using Command and Control Regs Base Address to fill other registers.
//
for (Index1 = 0; Index1 < IdeEnabledNumber; Index1 ++) {
for (Index1 = 0; Index1 < IdeEnabledNumber; Index1 ++) {
CommandBlockBaseAddr = IdeRegsBaseAddr[Index1].CommandBlockBaseAddr;
AtapiBlkIoDev->IdeIoPortReg[Index1].Data = CommandBlockBaseAddr;
AtapiBlkIoDev->IdeIoPortReg[Index1].Reg1.Feature = (UINT16) (CommandBlockBaseAddr + 0x1);
@ -585,7 +585,7 @@ AtapiEnumerateDevices (
ControlBlockBaseAddr = IdeRegsBaseAddr[Index1].ControlBlockBaseAddr;
AtapiBlkIoDev->IdeIoPortReg[Index1].Alt.DeviceControl = ControlBlockBaseAddr;
AtapiBlkIoDev->IdeIoPortReg[Index1].DriveAddress = (UINT16) (ControlBlockBaseAddr + 0x1);
//
// Scan IDE bus for ATAPI devices IDE or Sata device
//
@ -628,7 +628,7 @@ AtapiEnumerateDevices (
/**
Detect Atapi devices.
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
@param[in] DevicePosition An integer to signify device position.
@param[out] MediaInfo The media information of the specified block media.
@ -667,7 +667,7 @@ DiscoverAtapiDevice (
/**
Check power mode of Atapi devices.
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
@param[in] DevicePosition An integer to signify device position.
@param[in] AtaCommand The Ata Command passed in.
@ -800,7 +800,7 @@ CheckPowerMode (
/**
Detect if an IDE controller exists in specified position.
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
@param[in] DevicePosition An integer to signify device position.
@ -842,7 +842,7 @@ DetectIDEController (
/**
Wait specified time interval to poll for BSY bit clear in the Status Register.
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
@param[in] IdeIoRegisters A pointer to IDE IO registers.
@param[in] TimeoutInMilliSeconds Time specified in milliseconds.
@ -887,7 +887,7 @@ WaitForBSYClear (
/**
Wait specified time interval to poll for DRDY bit set in the Status register.
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
@param[in] IdeIoRegisters A pointer to IDE IO registers.
@param[in] TimeoutInMilliSeconds Time specified in milliseconds.
@ -928,7 +928,7 @@ DRDYReady (
return EFI_ABORTED;
}
}
MicroSecondDelay (250);
Delay--;
@ -944,7 +944,7 @@ DRDYReady (
/**
Wait specified time interval to poll for DRQ bit clear in the Status Register.
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
@param[in] IdeIoRegisters A pointer to IDE IO registers.
@param[in] TimeoutInMilliSeconds Time specified in milliseconds.
@ -987,7 +987,7 @@ DRQClear (
return EFI_ABORTED;
}
}
MicroSecondDelay (250);
Delay--;
@ -1002,7 +1002,7 @@ DRQClear (
/**
Wait specified time interval to poll for DRQ bit clear in the Alternate Status Register.
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
@param[in] IdeIoRegisters A pointer to IDE IO registers.
@param[in] TimeoutInMilliSeconds Time specified in milliseconds.
@ -1045,7 +1045,7 @@ DRQClear2 (
return EFI_ABORTED;
}
}
MicroSecondDelay (250);
Delay--;
@ -1406,7 +1406,7 @@ TestUnitReady (
/**
Send out ATAPI commands conforms to the Packet Command with PIO Data In Protocol.
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
@param[in] DevicePosition An integer to signify device position.
@param[in] Packet A pointer to ATAPI command packet.
@ -1702,8 +1702,8 @@ Inquiry (
return EFI_SUCCESS;
}
/**
Used before read/write blocks from/to ATAPI device media.
/**
Used before read/write blocks from/to ATAPI device media.
Since ATAPI device media is removable, it is necessary to detect
whether media is present and get current present media's information.
@ -1739,7 +1739,7 @@ DetectMedia (
if (SenseBuffers == NULL) {
return EFI_OUT_OF_RESOURCES;
}
//
// Test Unit Ready command is used to detect whether device is accessible,
// the device will produce corresponding Sense data.
@ -1878,7 +1878,7 @@ DetectMedia (
return EFI_SUCCESS;
}
/**
/**
Reset specified Atapi device.
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
@ -1976,7 +1976,7 @@ ResetDevice (
}
/**
/**
Sends out ATAPI Request Sense Packet Command to the specified device.
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
@ -2072,7 +2072,7 @@ RequestSense (
return EFI_SUCCESS;
}
/**
/**
Sends out ATAPI Read Capacity Packet Command to the specified device.
This command will return the information regarding the capacity of the
media in the device.
@ -2185,7 +2185,7 @@ ReadCapacity (
}
}
/**
/**
Perform read from disk in block unit.
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
@ -2288,7 +2288,7 @@ ReadSectors (
return Status;
}
/**
/**
Check if there is media according to sense data.
@param[in] SenseData Pointer to sense data.
@ -2324,14 +2324,14 @@ IsNoMedia (
return IsNoMedia;
}
/**
/**
Check if device state is unclear according to sense data.
@param[in] SenseData Pointer to sense data.
@param[in] SenseCounts Count of sense data.
@retval TRUE Device state is unclear
@retval FALSE Device state is clear
@retval FALSE Device state is clear
**/
BOOLEAN
@ -2365,7 +2365,7 @@ IsDeviceStateUnclear (
return Unclear;
}
/**
/**
Check if there is media error according to sense data.
@param[in] SenseData Pointer to sense data.
@ -2438,7 +2438,7 @@ IsMediaError (
return IsError;
}
/**
/**
Check if drive is ready according to sense data.
@param[in] SenseData Pointer to sense data.

View File

@ -1,7 +1,7 @@
/** @file
Private Include file for IdeBus PEIM.
Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions
@ -140,16 +140,16 @@ typedef struct {
/**
Gets the count of block I/O devices that one specific block driver detects.
This function is used for getting the count of block I/O devices that one
This function is used for getting the count of block I/O devices that one
specific block driver detects. To the PEI ATAPI driver, it returns the number
of all the detected ATAPI devices it detects during the enumeration process.
To the PEI legacy floppy driver, it returns the number of all the legacy
devices it finds during its enumeration process. If no device is detected,
then the function will return zero.
@param[in] PeiServices General-purpose services that are available
of all the detected ATAPI devices it detects during the enumeration process.
To the PEI legacy floppy driver, it returns the number of all the legacy
devices it finds during its enumeration process. If no device is detected,
then the function will return zero.
@param[in] PeiServices General-purpose services that are available
to every PEIM.
@param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI
@param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI
instance.
@param[out] NumberBlockDevices The number of block I/O devices discovered.
@ -167,27 +167,27 @@ AtapiGetNumberOfBlockDevices (
/**
Gets a block device's media information.
This function will provide the caller with the specified block device's media
information. If the media changes, calling this function will update the media
This function will provide the caller with the specified block device's media
information. If the media changes, calling this function will update the media
information accordingly.
@param[in] PeiServices General-purpose services that are available to every
PEIM
@param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI instance.
@param[in] DeviceIndex Specifies the block device to which the function wants
to talk. Because the driver that implements Block I/O
PPIs will manage multiple block devices, the PPIs that
want to talk to a single device must specify the
@param[in] DeviceIndex Specifies the block device to which the function wants
to talk. Because the driver that implements Block I/O
PPIs will manage multiple block devices, the PPIs that
want to talk to a single device must specify the
device index that was assigned during the enumeration
process. This index is a number from one to
process. This index is a number from one to
NumberBlockDevices.
@param[out] MediaInfo The media information of the specified block media.
The caller is responsible for the ownership of this
@param[out] MediaInfo The media information of the specified block media.
The caller is responsible for the ownership of this
data structure.
@retval EFI_SUCCESS Media information about the specified block device
@retval EFI_SUCCESS Media information about the specified block device
was obtained successfully.
@retval EFI_DEVICE_ERROR Cannot get the media information due to a hardware
@retval EFI_DEVICE_ERROR Cannot get the media information due to a hardware
error.
@retval Others Other failure occurs.
@ -204,31 +204,31 @@ AtapiGetBlockDeviceMediaInfo (
/**
Reads the requested number of blocks from the specified block device.
The function reads the requested number of blocks from the device. All the
The function reads the requested number of blocks from the device. All the
blocks are read, or an error is returned. If there is no media in the device,
the function returns EFI_NO_MEDIA.
@param[in] PeiServices General-purpose services that are available to
@param[in] PeiServices General-purpose services that are available to
every PEIM.
@param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI instance.
@param[in] DeviceIndex Specifies the block device to which the function wants
to talk. Because the driver that implements Block I/O
PPIs will manage multiple block devices, the PPIs that
want to talk to a single device must specify the device
index that was assigned during the enumeration process.
@param[in] DeviceIndex Specifies the block device to which the function wants
to talk. Because the driver that implements Block I/O
PPIs will manage multiple block devices, the PPIs that
want to talk to a single device must specify the device
index that was assigned during the enumeration process.
This index is a number from one to NumberBlockDevices.
@param[in] StartLBA The starting logical block address (LBA) to read from
on the device
@param[in] BufferSize The size of the Buffer in bytes. This number must be
a multiple of the intrinsic block size of the device.
@param[out] Buffer A pointer to the destination buffer for the data.
The caller is responsible for the ownership of the
The caller is responsible for the ownership of the
buffer.
@retval EFI_SUCCESS The data was read correctly from the device.
@retval EFI_DEVICE_ERROR The device reported an error while attempting
@retval EFI_DEVICE_ERROR The device reported an error while attempting
to perform the read operation.
@retval EFI_INVALID_PARAMETER The read request contains LBAs that are not
@retval EFI_INVALID_PARAMETER The read request contains LBAs that are not
valid, or the buffer is not properly aligned.
@retval EFI_NO_MEDIA There is no media in the device.
@retval EFI_BAD_BUFFER_SIZE The BufferSize parameter is not a multiple of
@ -374,7 +374,7 @@ AtapiEnumerateDevices (
/**
Detect Atapi devices.
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
@param[in] DevicePosition An integer to signify device position.
@param[out] MediaInfo The media information of the specified block media.
@ -394,7 +394,7 @@ DiscoverAtapiDevice (
/**
Detect if an IDE controller exists in specified position.
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
@param[in] DevicePosition An integer to signify device position.
@ -410,7 +410,7 @@ DetectIDEController (
/**
Wait specified time interval to poll for BSY bit clear in the Status Register.
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
@param[in] IdeIoRegisters A pointer to IDE IO registers.
@param[in] TimeoutInMilliSeconds Time specified in milliseconds.
@ -428,7 +428,7 @@ WaitForBSYClear (
/**
Wait specified time interval to poll for DRDY bit set in the Status register.
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
@param[in] IdeIoRegisters A pointer to IDE IO registers.
@param[in] TimeoutInMilliSeconds Time specified in milliseconds.
@ -446,7 +446,7 @@ DRDYReady (
/**
Wait specified time interval to poll for DRQ bit clear in the Status Register.
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
@param[in] IdeIoRegisters A pointer to IDE IO registers.
@param[in] TimeoutInMilliSeconds Time specified in milliseconds.
@ -464,7 +464,7 @@ DRQClear (
/**
Wait specified time interval to poll for DRQ bit clear in the Alternate Status Register.
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
@param[in] IdeIoRegisters A pointer to IDE IO registers.
@param[in] TimeoutInMilliSeconds Time specified in milliseconds.
@ -569,7 +569,7 @@ TestUnitReady (
/**
Send out ATAPI commands conforms to the Packet Command with PIO Data In Protocol.
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
@param[in] DevicePosition An integer to signify device position.
@param[in] Packet A pointer to ATAPI command packet.
@ -613,10 +613,10 @@ Inquiry (
OUT EFI_PEI_BLOCK_IO2_MEDIA *MediaInfo2
);
/**
Used before read/write blocks from/to ATAPI device media.
/**
Used before read/write blocks from/to ATAPI device media.
Since ATAPI device media is removable, it is necessary to detect
whether media is present and get current present media's information.
whether media is present and get current present media's information.
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
@param[in] DevicePosition An integer to signify device position.
@ -636,7 +636,7 @@ DetectMedia (
IN OUT EFI_PEI_BLOCK_IO2_MEDIA *MediaInfo2
);
/**
/**
Reset specified Atapi device.
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
@ -654,7 +654,7 @@ ResetDevice (
IN BOOLEAN Extensive
);
/**
/**
Sends out ATAPI Request Sense Packet Command to the specified device.
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
@ -674,7 +674,7 @@ RequestSense (
IN OUT UINT8 *SenseCounts
);
/**
/**
Sends out ATAPI Read Capacity Packet Command to the specified device.
This command will return the information regarding the capacity of the
media in the device.
@ -696,7 +696,7 @@ ReadCapacity (
IN OUT EFI_PEI_BLOCK_IO2_MEDIA *MediaInfo2
);
/**
/**
Perform read from disk in block unit.
@param[in] AtapiBlkIoDev A pointer to atapi block IO device.
@ -720,7 +720,7 @@ ReadSectors (
IN UINTN BlockSize
);
/**
/**
Check if there is media according to sense data.
@param[in] SenseData Pointer to sense data.
@ -736,14 +736,14 @@ IsNoMedia (
IN UINTN SenseCounts
);
/**
/**
Check if device state is unclear according to sense data.
@param[in] SenseData Pointer to sense data.
@param[in] SenseCounts Count of sense data.
@retval TRUE Device state is unclear
@retval FALSE Device state is clear
@retval FALSE Device state is clear
**/
BOOLEAN
@ -752,7 +752,7 @@ IsDeviceStateUnclear (
IN UINTN SenseCounts
);
/**
/**
Check if there is media error according to sense data.
@param[in] SenseData Pointer to sense data.
@ -768,7 +768,7 @@ IsMediaError (
IN UINTN SenseCounts
);
/**
/**
Check if drive is ready according to sense data.
@param[in] SenseData Pointer to sense data.

View File

@ -3,17 +3,17 @@
//
// This PPI can be consumed by PEIM which produce gEfiPeiDeviceRecoveryModulePpiGuid
// for Atapi CD ROM device.
//
//
// This module discovers CDROM devices in Legacy and native mode and installs block IO ppis for them.
//
// Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2006 - 2018, 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.
//

View File

@ -1,7 +1,7 @@
// /** @file
// IdeBusPei Localized Strings and Content
//
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
//
// This program and the accompanying materials
// are licensed and made available under the terms and conditions
@ -14,8 +14,8 @@
//
// **/
#string STR_PROPERTIES_MODULE_NAME
#language en-US
#string STR_PROPERTIES_MODULE_NAME
#language en-US
"IDE Bus PEI Module for Recovery"

View File

@ -1,7 +1,7 @@
/** @file
This module is one template module for Incompatible PCI Device Support protocol.
It includes one incompatible pci devices list template.
Incompatible PCI Device Support protocol allows the PCI bus driver to support
resource allocation for some PCI devices that do not comply with the PCI Specification.
@ -68,7 +68,7 @@ typedef struct {
the configuration requirement.
@retval EFI_SUCCESS Successfully got ACPI resource for specified PCI device.
@retval EFI_INVALID_PARAMETER Configuration is NULL.
@retval EFI_INVALID_PARAMETER Configuration is NULL.
@retval EFI_OUT_OF_RESOURCES No memory available.
@retval EFI_UNSUPPORTED The specified PCI device wasn't supported.
@ -233,7 +233,7 @@ IncompatiblePciDeviceSupportEntryPoint (
the configuration requirement.
@retval EFI_SUCCESS Successfully got ACPI resource for specified PCI device.
@retval EFI_INVALID_PARAMETER Configuration is NULL.
@retval EFI_INVALID_PARAMETER Configuration is NULL.
@retval EFI_OUT_OF_RESOURCES No memory available.
@retval EFI_UNSUPPORTED The specified PCI device wasn't supported.

View File

@ -1,10 +1,10 @@
## @file
# PCI Incompatible device support module template.
#
# Installs EFI PCI Incompatible Device Support protocol and includes one incompatile
# Installs EFI PCI Incompatible Device Support protocol and includes one incompatile
# pci devices list template.
#
# Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2009 - 2018, 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

View File

@ -1,7 +1,7 @@
// /** @file
// IncompatiblePciDeviceSupport Localized Strings and Content
//
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2013 - 2018, 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
@ -12,8 +12,8 @@
//
// **/
#string STR_PROPERTIES_MODULE_NAME
#language en-US
#string STR_PROPERTIES_MODULE_NAME
#language en-US
"Incompatible PCI Device Support DXE Driver"

View File

@ -4,7 +4,7 @@
# NvmExpressDxe driver is used to manage non-volatile memory subsystem which follows
# NVM Express specification.
#
# Copyright (c) 2013 - 2017, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2013 - 2018, 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,4 +78,4 @@
#
[UserExtensions.TianoCore."ExtraFiles"]
NvmExpressDxeExtra.uni
NvmExpressDxeExtra.uni

View File

@ -1,7 +1,7 @@
// /** @file
// NvmExpressDxe Localized Strings and Content
//
// Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2014 - 2018, 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
@ -12,8 +12,8 @@
//
// **/
#string STR_PROPERTIES_MODULE_NAME
#language en-US
#string STR_PROPERTIES_MODULE_NAME
#language en-US
"NVM Express DXE Driver"

View File

@ -2,7 +2,7 @@
NvmExpressDxe driver is used to manage non-volatile memory subsystem which follows
NVM Express specification.
Copyright (c) 2013 - 2017, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2013 - 2018, 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
@ -1003,7 +1003,7 @@ NvmeControllerInit (
//
if (Private->ControllerData == NULL) {
Private->ControllerData = (NVME_ADMIN_CONTROLLER_DATA *)AllocateZeroPool (sizeof(NVME_ADMIN_CONTROLLER_DATA));
if (Private->ControllerData == NULL) {
return EFI_OUT_OF_RESOURCES;
}

View File

@ -781,7 +781,7 @@ NvmExpressPassThru (
// Copy the Respose Queue entry for this command to the callers response buffer
//
CopyMem(Packet->NvmeCompletion, Cq, sizeof(EFI_NVM_EXPRESS_COMPLETION));
//
// Dump every completion entry status for debugging.
//

View File

@ -140,7 +140,7 @@ PciBusDriverBindingSupported (
//
if (RemainingDevicePath != NULL) {
//
// Check if RemainingDevicePath is the End of Device Path Node,
// Check if RemainingDevicePath is the End of Device Path Node,
// if yes, go on checking other conditions
//
if (!IsDevicePathEnd (RemainingDevicePath)) {
@ -254,7 +254,7 @@ PciBusDriverBindingStart (
//
if (RemainingDevicePath != NULL) {
//
// Check if RemainingDevicePath is the End of Device Path Node,
// Check if RemainingDevicePath is the End of Device Path Node,
// if yes, return EFI_SUCCESS
//
if (IsDevicePathEnd (RemainingDevicePath)) {
@ -282,14 +282,14 @@ PciBusDriverBindingStart (
//
// If PCI Platform protocol doesn't exist, try to Pci Override Protocol.
//
if (gPciPlatformProtocol == NULL) {
if (gPciPlatformProtocol == NULL) {
gPciOverrideProtocol = NULL;
gBS->LocateProtocol (
&gEfiPciOverrideProtocolGuid,
NULL,
(VOID **) &gPciOverrideProtocol
);
}
}
if (mIoMmuProtocol == NULL) {
gBS->LocateProtocol (
@ -315,7 +315,7 @@ PciBusDriverBindingStart (
This->DriverBindingHandle,
Controller,
EFI_OPEN_PROTOCOL_GET_PROTOCOL
);
);
ASSERT_EFI_ERROR (Status);
//

View File

@ -2,7 +2,7 @@
# The PCI bus driver will probe all PCI devices and allocate MMIO and IO space for these devices.
# Please use PCD feature flag PcdPciBusHotplugDeviceSupport to enable hot plug supporting.
#
# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2006 - 2018, 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
@ -90,8 +90,8 @@
gEfiPciHotPlugInitProtocolGuid ## SOMETIMES_CONSUMES
gEfiPciHostBridgeResourceAllocationProtocolGuid ## TO_START
gEfiPciPlatformProtocolGuid ## SOMETIMES_CONSUMES
gEfiPciOverrideProtocolGuid ## SOMETIMES_CONSUMES
gEfiPciEnumerationCompleteProtocolGuid ## PRODUCES
gEfiPciOverrideProtocolGuid ## SOMETIMES_CONSUMES
gEfiPciEnumerationCompleteProtocolGuid ## PRODUCES
gEfiPciRootBridgeIoProtocolGuid ## TO_START
gEfiIncompatiblePciDeviceSupportProtocolGuid ## SOMETIMES_CONSUMES
gEfiLoadFile2ProtocolGuid ## SOMETIMES_PRODUCES

View File

@ -1,7 +1,7 @@
// /** @file
// PciBusDxe Localized Strings and Content
//
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2013 - 2018, 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
@ -12,8 +12,8 @@
//
// **/
#string STR_PROPERTIES_MODULE_NAME
#language en-US
#string STR_PROPERTIES_MODULE_NAME
#language en-US
"PCI Bus DXE Driver"

View File

@ -236,7 +236,7 @@ RegisterPciDevice (
PciIo = &(PciIoDevice->PciIo);
Data8 = PCI_INT_LINE_UNKNOWN;
PciIo->Pci.Write (PciIo, EfiPciIoWidthUint8, 0x3C, 1, &Data8);
//
// Process OpRom
//
@ -296,7 +296,7 @@ RegisterPciDevice (
PciIoDevice->PciIo.RomImage,
PciIoDevice->PciIo.RomSize
);
}
}
}
}

View File

@ -187,7 +187,7 @@ PciRootBridgeEnumerator (
AddrRangeMin = Configuration1->AddrRangeMin;
Configuration1->AddrRangeMin = Configuration2->AddrRangeMin;
Configuration2->AddrRangeMin = AddrRangeMin;
AddrLen = Configuration1->AddrLen;
Configuration1->AddrLen = Configuration2->AddrLen;
Configuration2->AddrLen = AddrLen;
@ -234,7 +234,7 @@ PciRootBridgeEnumerator (
Status = PciAllocateBusNumber (RootBridgeDev, SubBusNumber, PaddedBusRange, &SubBusNumber);
if (EFI_ERROR (Status)) {
return Status;
}
}
//
// Find the bus range which contains the higest bus number, then returns the number of buses
@ -252,7 +252,7 @@ PciRootBridgeEnumerator (
Configuration++;
Desc = Configuration->Desc;
Configuration->Desc = ACPI_END_TAG_DESCRIPTOR;
//
// Set bus number
//
@ -267,7 +267,7 @@ PciRootBridgeEnumerator (
//
Configuration->Desc = Desc;
(Configuration - 1)->AddrLen = AddrLen;
return Status;
}
@ -1812,7 +1812,7 @@ NotifyPhase (
Phase,
ChipsetEntry
);
}
}
Status = PciResAlloc->NotifyPhase (
PciResAlloc,
@ -2043,7 +2043,7 @@ PciHotPlugRequestNotify (
return EFI_INVALID_PARAMETER;
}
}
Status = gBS->OpenProtocol (
Controller,
&gEfiPciIoProtocolGuid,

View File

@ -1736,7 +1736,7 @@ PciIovParseVfBar (
break;
}
}
//
// Check the length again so as to keep compatible with some special bars
//
@ -1745,7 +1745,7 @@ PciIovParseVfBar (
PciIoDevice->VfPciBar[BarIndex].BaseAddress = 0;
PciIoDevice->VfPciBar[BarIndex].Alignment = 0;
}
//
// Increment number of bar
//
@ -2185,7 +2185,7 @@ CreatePciIoDevice (
//
ParentPciIo = &Bridge->PciIo;
ParentPciIo->Pci.Read (
ParentPciIo,
ParentPciIo,
EfiPciIoWidthUint32,
Bridge->PciExpressCapabilityOffset + EFI_PCIE_CAPABILITY_DEVICE_CAPABILITIES_2_OFFSET,
1,

View File

@ -1,7 +1,7 @@
/** @file
EFI PCI IO protocol functions implementation for PCI Bus module.
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2018, 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
@ -232,7 +232,7 @@ PciIoPollMem (
//
// If request is not aligned, then convert request to EfiPciIoWithXXXUint8
//
//
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) {
Status = PciIoMemRead (This, Width, BarIndex, Offset, 1, Result);
@ -262,7 +262,7 @@ PciIoPollMem (
} while (TRUE);
}
}
Status = PciIoDevice->PciRootBridgeIo->PollMem (
PciIoDevice->PciRootBridgeIo,
(EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width,
@ -335,7 +335,7 @@ PciIoPollIo (
//
// If request is not aligned, then convert request to EfiPciIoWithXXXUint8
//
//
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) {
Status = PciIoIoRead (This, Width, BarIndex, Offset, 1, Result);
@ -365,7 +365,7 @@ PciIoPollIo (
} while (TRUE);
}
}
Status = PciIoDevice->PciRootBridgeIo->PollIo (
PciIoDevice->PciRootBridgeIo,
(EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width,
@ -438,14 +438,14 @@ PciIoMemRead (
//
// If request is not aligned, then convert request to EfiPciIoWithXXXUint8
//
//
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) {
Count *= (UINTN)(1 << (Width & 0x03));
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
}
}
}
Status = PciIoDevice->PciRootBridgeIo->Mem.Read (
PciIoDevice->PciRootBridgeIo,
@ -517,7 +517,7 @@ PciIoMemWrite (
//
// If request is not aligned, then convert request to EfiPciIoWithXXXUint8
//
//
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) {
Count *= (UINTN)(1 << (Width & 0x03));
@ -595,13 +595,13 @@ PciIoIoRead (
//
// If request is not aligned, then convert request to EfiPciIoWithXXXUint8
//
//
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) {
Count *= (UINTN)(1 << (Width & 0x03));
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
}
}
}
Status = PciIoDevice->PciRootBridgeIo->Io.Read (
PciIoDevice->PciRootBridgeIo,
@ -673,13 +673,13 @@ PciIoIoWrite (
//
// If request is not aligned, then convert request to EfiPciIoWithXXXUint8
//
//
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) {
Count *= (UINTN)(1 << (Width & 0x03));
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
}
}
}
Status = PciIoDevice->PciRootBridgeIo->Io.Write (
PciIoDevice->PciRootBridgeIo,
@ -739,16 +739,16 @@ PciIoConfigRead (
if (EFI_ERROR (Status)) {
return Status;
}
//
// If request is not aligned, then convert request to EfiPciIoWithXXXUint8
//
//
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) {
Count *= (UINTN)(1 << (Width & 0x03));
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
}
}
}
Status = PciIoDevice->PciRootBridgeIo->Pci.Read (
PciIoDevice->PciRootBridgeIo,
@ -811,14 +811,14 @@ PciIoConfigWrite (
//
// If request is not aligned, then convert request to EfiPciIoWithXXXUint8
//
//
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
if ((Offset & ((1 << (Width & 0x03)) - 1)) != 0) {
Count *= (UINTN)(1 << (Width & 0x03));
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
}
}
}
Status = PciIoDevice->PciRootBridgeIo->Pci.Write (
PciIoDevice->PciRootBridgeIo,
(EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width,
@ -910,13 +910,13 @@ PciIoCopyMem (
//
// If request is not aligned, then convert request to EfiPciIoWithXXXUint8
//
//
if (FeaturePcdGet (PcdUnalignedPciIoEnable)) {
if ((SrcOffset & ((1 << (Width & 0x03)) - 1)) != 0 || (DestOffset & ((1 << (Width & 0x03)) - 1)) != 0) {
Count *= (UINTN)(1 << (Width & 0x03));
Width = (EFI_PCI_IO_PROTOCOL_WIDTH) (Width & (~0x03));
}
}
}
Status = PciIoDevice->PciRootBridgeIo->CopyMem (
PciIoDevice->PciRootBridgeIo,
@ -1790,7 +1790,7 @@ PciIoAttributes (
@param AddrRangeMin The base address of the MMIO.
@param AddrLen The length of the MMIO.
@retval The AddrTranslationOffset from RootBridgeIo for the
@retval The AddrTranslationOffset from RootBridgeIo for the
specified range, or (UINT64) -1 if the range is not
found in RootBridgeIo.
**/

View File

@ -269,11 +269,11 @@ DumpBridgeResource (
/**
Find the corresponding resource node for the Device in child list of BridgeResource.
@param[in] Device Pointer to PCI_IO_DEVICE.
@param[in] BridgeResource Pointer to PCI_RESOURCE_NODE.
@param[out] DeviceResources Pointer to a buffer to receive resources for the Device.
@return Count of the resource descriptors returned.
**/
UINTN
@ -306,7 +306,7 @@ FindResourceNode (
/**
Dump the resource map of all the devices under Bridge.
@param[in] Bridge Bridge device instance.
@param[in] Resources Resource descriptors for the bridge device.
@param[in] ResourceCount Count of resource descriptors.

View File

@ -1,7 +1,7 @@
/** @file
PCI Rom supporting funtions implementation for PCI Bus module.
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2018, 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
@ -342,7 +342,7 @@ ContainEfiImage (
}
//
// The PCI Data Structure must be DWORD aligned.
// The PCI Data Structure must be DWORD aligned.
//
if (RomHeader->PcirOffset == 0 ||
(RomHeader->PcirOffset & 3) != 0 ||
@ -471,8 +471,8 @@ LoadOpRomImage (
FirstCheck = FALSE;
OffsetPcir = RomHeader->PcirOffset;
//
// If the pointer to the PCI Data Structure is invalid, no further images can be located.
// The PCI Data Structure must be DWORD aligned.
// If the pointer to the PCI Data Structure is invalid, no further images can be located.
// The PCI Data Structure must be DWORD aligned.
//
if (OffsetPcir == 0 ||
(OffsetPcir & 3) != 0 ||

View File

@ -1,7 +1,7 @@
/** @file
PCI resouces support functions implemntation for PCI Bus module.
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2018, 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
@ -1116,7 +1116,7 @@ DegradeResource (
PMem64Node,
TRUE
);
}
}
//
// if both PMEM64 and PMEM32 requests from child devices, which can not be satisfied

View File

@ -537,7 +537,7 @@ GetElapsedTick (
)
{
UINT64 PreviousTick;
PreviousTick = *CurrentTick;
*CurrentTick = GetPerformanceCounter();
if (StartTick < EndTick) {

View File

@ -3,13 +3,13 @@
//
// Produces the Serial I/O protocol for standard UARTS using Super I/O or PCI I/O.
//
// Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2007 - 2018, 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.
//

View File

@ -1,7 +1,7 @@
// /** @file
// PciSioSerialDxe Localized Strings and Content
//
// Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2013 - 2018, 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
@ -13,6 +13,6 @@
//
// **/
#string STR_PROPERTIES_MODULE_NAME
#language en-US
#string STR_PROPERTIES_MODULE_NAME
#language en-US
"PCI SIO UART Serial Bus DXE Driver"

View File

@ -1,7 +1,7 @@
/** @file
Serial driver for PCI or SIO UARTS.
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2018, 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
@ -94,7 +94,7 @@ SERIAL_DEV gSerialDevTemplate = {
Check the device path node whether it's the Flow Control node or not.
@param[in] FlowControl The device path node to be checked.
@retval TRUE It's the Flow Control node.
@retval FALSE It's not.
@ -114,9 +114,9 @@ IsUartFlowControlDevicePathNode (
/**
The user Entry Point for module PciSioSerial. The user code starts with this function.
@param[in] ImageHandle The firmware allocated handle for the EFI image.
@param[in] ImageHandle The firmware allocated handle for the EFI image.
@param[in] SystemTable A pointer to the EFI System Table.
@retval EFI_SUCCESS The entry point is executed successfully.
@retval other Some error occurs when executing this entry point.
@ -396,7 +396,7 @@ SerialControllerDriverSupported (
if (EFI_ERROR (Status)) {
Status = IsPciSerialController (Controller);
}
return Status;
return Status;
}
/**

View File

@ -1,7 +1,7 @@
/** @file
Header file for PciSioSerial Driver
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2018, 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
@ -497,7 +497,7 @@ SerialFifoFull (
/**
Detect whether specific FIFO is empty or not.
@param Fifo A pointer to the Data Structure SERIAL_DEV_FIFO
@return whether specific FIFO is empty or not
@ -777,7 +777,7 @@ SkipControllerDevicePathNode (
Check the device path node whether it's the Flow Control node or not.
@param[in] FlowControl The device path node to be checked.
@retval TRUE It's the Flow Control node.
@retval FALSE It's not.

View File

@ -1,7 +1,7 @@
/** @file
SerialIo implementation for PCI or SIO UARTs.
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2018, 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
@ -92,7 +92,7 @@ VerifyUartParameters (
((DataBits >= 6) && (DataBits <= 8) && (StopBits == OneFiveStopBits))
) {
return FALSE;
}
}
//
// Do not verify the baud rate if clock rate is unknown (0).
@ -169,8 +169,8 @@ VerifyUartParameters (
}
//
// ActualBaudRate is higher than requested baud rate and more than 4%
// higher than the requested value. Increment Divisor if it is less
// ActualBaudRate is higher than requested baud rate and more than 4%
// higher than the requested value. Increment Divisor if it is less
// than MAX_UINT16 and computed baud rate with new divisor.
//
if (ComputedDivisor == MAX_UINT16) {
@ -212,7 +212,7 @@ SerialFifoFull (
/**
Detect whether specific FIFO is empty or not.
@param Fifo A pointer to the Data Structure SERIAL_DEV_FIFO
@return whether specific FIFO is empty or not
@ -363,7 +363,7 @@ SerialReceiveTransmit (
Data = READ_RBR (SerialDevice);
SerialFifoAdd (&SerialDevice->Receive, Data);
//
// For full handshake flow control, if receive buffer full
// tell the peer to stop sending data.
@ -1065,7 +1065,7 @@ SerialWrite (
NULL
)
);
for (Index = 0; Index < *BufferSize; Index++) {
SerialFifoAdd (&SerialDevice->Transmit, CharBuffer[Index]);

View File

@ -1,7 +1,7 @@
/** @file
UEFI Component Name(2) protocol implementation for Sata Controller driver.
Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2011 - 2018, 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
@ -72,7 +72,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mSataControllerController
@param DriverName A pointer to the Unicode string to return. This Unicode string
is the name of the driver specified by This in the language
specified by Language.
@retval EFI_SUCCESS The Unicode string for the Driver specified by This
and the language specified by Language was returned
in DriverName.
@ -100,7 +100,7 @@ SataControllerComponentNameGetDriverName (
/**
Retrieves a Unicode string that is the user readable name of the controller
that is being managed by an UEFI Driver.
that is being managed by an UEFI Driver.
@param This A pointer to the EFI_COMPONENT_NAME_PROTOCOL instance.
@param ControllerHandle The handle of a controller that the driver specified by
@ -123,7 +123,7 @@ SataControllerComponentNameGetDriverName (
ControllerHandle and ChildHandle in the language
specified by Language from the point of view of the
driver specified by This.
@retval EFI_SUCCESS The Unicode string for the user readable name in the
language specified by Language for the driver
specified by This was returned in DriverName.

View File

@ -1,7 +1,7 @@
/** @file
This driver module produces IDE_CONTROLLER_INIT protocol for Sata Controllers.
Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2018, ARM Ltd. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
@ -46,7 +46,7 @@ AhciReadReg (
UINT32 Data;
ASSERT (PciIo != NULL);
Data = 0;
PciIo->Mem.Read (
@ -242,9 +242,9 @@ CalculateBestUdmaMode (
/**
The Entry Point of module. It follows the standard UEFI driver model.
@param[in] ImageHandle The firmware allocated handle for the EFI image.
@param[in] ImageHandle The firmware allocated handle for the EFI image.
@param[in] SystemTable A pointer to the EFI System Table.
@retval EFI_SUCCESS The entry point is executed successfully.
@retval other Some error occurs when executing this entry point.
@ -338,7 +338,7 @@ SataControllerSupported (
}
/**
This routine is called right after the .Supported() called and
This routine is called right after the .Supported() called and
Start this driver on ControllerHandle.
@param This Protocol instance pointer.
@ -558,7 +558,7 @@ Done:
@param This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param Controller A handle to the device being stopped.
@param NumberOfChildren The number of child device handles in ChildHandleBuffer.
@param ChildHandleBuffer An array of child handles to be freed.
@param ChildHandleBuffer An array of child handles to be freed.
@retval EFI_SUCCESS This driver is removed from this device.
@retval other Some error occurs when removing this driver from this device.
@ -679,34 +679,34 @@ FlatDeviceIndex (
//
/**
Returns the information about the specified IDE channel.
This function can be used to obtain information about a particular IDE channel.
The driver entity uses this information during the enumeration process.
If Enabled is set to FALSE, the driver entity will not scan the channel. Note
The driver entity uses this information during the enumeration process.
If Enabled is set to FALSE, the driver entity will not scan the channel. Note
that it will not prevent an operating system driver from scanning the channel.
For most of today's controllers, MaxDevices will either be 1 or 2. For SATA
controllers, this value will always be 1. SATA configurations can contain SATA
For most of today's controllers, MaxDevices will either be 1 or 2. For SATA
controllers, this value will always be 1. SATA configurations can contain SATA
port multipliers. SATA port multipliers behave like SATA bridges and can support
up to 16 devices on the other side. If a SATA port out of the IDE controller
is connected to a port multiplier, MaxDevices will be set to the number of SATA
devices that the port multiplier supports. Because today's port multipliers
support up to fifteen SATA devices, this number can be as large as fifteen. The IDE
bus driver is required to scan for the presence of port multipliers behind an SATA
controller and enumerate up to MaxDevices number of devices behind the port
multiplier.
In this context, the devices behind a port multiplier constitute a channel.
up to 16 devices on the other side. If a SATA port out of the IDE controller
is connected to a port multiplier, MaxDevices will be set to the number of SATA
devices that the port multiplier supports. Because today's port multipliers
support up to fifteen SATA devices, this number can be as large as fifteen. The IDE
bus driver is required to scan for the presence of port multipliers behind an SATA
controller and enumerate up to MaxDevices number of devices behind the port
multiplier.
In this context, the devices behind a port multiplier constitute a channel.
@param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.
@param[in] Channel Zero-based channel number.
@param[out] Enabled TRUE if this channel is enabled. Disabled channels
@param[out] Enabled TRUE if this channel is enabled. Disabled channels
are not scanned to see if any devices are present.
@param[out] MaxDevices The maximum number of IDE devices that the bus driver
can expect on this channel. For the ATA/ATAPI
specification, version 6, this number will either be
one or two. For Serial ATA (SATA) configurations with a
can expect on this channel. For the ATA/ATAPI
specification, version 6, this number will either be
one or two. For Serial ATA (SATA) configurations with a
port multiplier, this number can be as large as fifteen.
@retval EFI_SUCCESS Information was returned without any errors.
@ -739,13 +739,13 @@ IdeInitGetChannelInfo (
/**
The notifications from the driver entity that it is about to enter a certain
phase of the IDE channel enumeration process.
This function can be used to notify the IDE controller driver to perform
specific actions, including any chipset-specific initialization, so that the
chipset is ready to enter the next phase. Seven notification points are defined
at this time.
More synchronization points may be added as required in the future.
This function can be used to notify the IDE controller driver to perform
specific actions, including any chipset-specific initialization, so that the
chipset is ready to enter the next phase. Seven notification points are defined
at this time.
More synchronization points may be added as required in the future.
@param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL
instance.
@ -755,9 +755,9 @@ IdeInitGetChannelInfo (
@retval EFI_SUCCESS The notification was accepted without any errors.
@retval EFI_UNSUPPORTED Phase is not supported.
@retval EFI_INVALID_PARAMETER Channel is invalid (Channel >= ChannelCount).
@retval EFI_NOT_READY This phase cannot be entered at this time; for
example, an attempt was made to enter a Phase
without having entered one or more previous
@retval EFI_NOT_READY This phase cannot be entered at this time; for
example, an attempt was made to enter a Phase
without having entered one or more previous
Phase.
**/
@ -775,32 +775,32 @@ IdeInitNotifyPhase (
/**
Submits the device information to the IDE controller driver.
This function is used by the driver entity to pass detailed information about
a particular device to the IDE controller driver. The driver entity obtains
This function is used by the driver entity to pass detailed information about
a particular device to the IDE controller driver. The driver entity obtains
this information by issuing an ATA or ATAPI IDENTIFY_DEVICE command. IdentifyData
is the pointer to the response data buffer. The IdentifyData buffer is owned
by the driver entity, and the IDE controller driver must make a local copy
of the entire buffer or parts of the buffer as needed. The original IdentifyData
is the pointer to the response data buffer. The IdentifyData buffer is owned
by the driver entity, and the IDE controller driver must make a local copy
of the entire buffer or parts of the buffer as needed. The original IdentifyData
buffer pointer may not be valid when
- EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() or
- EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode() is called at a later point.
The IDE controller driver may consult various fields of EFI_IDENTIFY_DATA to
compute the optimum mode for the device. These fields are not limited to the
timing information. For example, an implementation of the IDE controller driver
may examine the vendor and type/mode field to match known bad drives.
The driver entity may submit drive information in any order, as long as it
submits information for all the devices belonging to the enumeration group
The IDE controller driver may consult various fields of EFI_IDENTIFY_DATA to
compute the optimum mode for the device. These fields are not limited to the
timing information. For example, an implementation of the IDE controller driver
may examine the vendor and type/mode field to match known bad drives.
The driver entity may submit drive information in any order, as long as it
submits information for all the devices belonging to the enumeration group
before EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() is called for any device
in that enumeration group. If a device is absent, EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
should be called with IdentifyData set to NULL. The IDE controller driver may
not have any other mechanism to know whether a device is present or not. Therefore,
setting IdentifyData to NULL does not constitute an error condition.
EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData() can be called only once for a
given (Channel, Device) pair.
should be called with IdentifyData set to NULL. The IDE controller driver may
not have any other mechanism to know whether a device is present or not. Therefore,
setting IdentifyData to NULL does not constitute an error condition.
EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData() can be called only once for a
given (Channel, Device) pair.
@param[in] This A pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.
@param[in] Channel Zero-based channel number.
@param[in] Device Zero-based device number on the Channel.
@ -853,31 +853,31 @@ IdeInitSubmitData (
/**
Disqualifies specific modes for an IDE device.
This function allows the driver entity or other drivers (such as platform
This function allows the driver entity or other drivers (such as platform
drivers) to reject certain timing modes and request the IDE controller driver
to recalculate modes. This function allows the driver entity and the IDE
controller driver to negotiate the timings on a per-device basis. This function
is useful in the case of drives that lie about their capabilities. An example
is when the IDE device fails to accept the timing modes that are calculated
to recalculate modes. This function allows the driver entity and the IDE
controller driver to negotiate the timings on a per-device basis. This function
is useful in the case of drives that lie about their capabilities. An example
is when the IDE device fails to accept the timing modes that are calculated
by the IDE controller driver based on the response to the Identify Drive command.
If the driver entity does not want to limit the ATA timing modes and leave that
decision to the IDE controller driver, it can either not call this function for
the given device or call this function and set the Valid flag to FALSE for all
If the driver entity does not want to limit the ATA timing modes and leave that
decision to the IDE controller driver, it can either not call this function for
the given device or call this function and set the Valid flag to FALSE for all
modes that are listed in EFI_ATA_COLLECTIVE_MODE.
The driver entity may disqualify modes for a device in any order and any number
The driver entity may disqualify modes for a device in any order and any number
of times.
This function can be called multiple times to invalidate multiple modes of the
same type (e.g., Programmed Input/Output [PIO] modes 3 and 4). See the ATA/ATAPI
specification for more information on PIO modes.
This function can be called multiple times to invalidate multiple modes of the
same type (e.g., Programmed Input/Output [PIO] modes 3 and 4). See the ATA/ATAPI
specification for more information on PIO modes.
For Serial ATA (SATA) controllers, this member function can be used to disqualify
a higher transfer rate mode on a given channel. For example, a platform driver
may inform the IDE controller driver to not use second-generation (Gen2) speeds
may inform the IDE controller driver to not use second-generation (Gen2) speeds
for a certain SATA drive.
@param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.
@param[in] Channel The zero-based channel number.
@param[in] Device The zero-based device number on the Channel.
@ -888,7 +888,7 @@ IdeInitSubmitData (
@retval EFI_INVALID_PARAMETER Channel is invalid (Channel >= ChannelCount).
@retval EFI_INVALID_PARAMETER Device is invalid.
@retval EFI_INVALID_PARAMETER IdentifyData is NULL.
**/
EFI_STATUS
EFIAPI
@ -928,39 +928,39 @@ IdeInitDisqualifyMode (
Returns the information about the optimum modes for the specified IDE device.
This function is used by the driver entity to obtain the optimum ATA modes for
a specific device. The IDE controller driver takes into account the following
a specific device. The IDE controller driver takes into account the following
while calculating the mode:
- The IdentifyData inputs to EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
- The BadModes inputs to EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode()
The driver entity is required to call EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
for all the devices that belong to an enumeration group before calling
EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() for any device in the same group.
The IDE controller driver will use controller- and possibly platform-specific
algorithms to arrive at SupportedModes. The IDE controller may base its
decision on user preferences and other considerations as well. This function
may be called multiple times because the driver entity may renegotiate the mode
The driver entity is required to call EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
for all the devices that belong to an enumeration group before calling
EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() for any device in the same group.
The IDE controller driver will use controller- and possibly platform-specific
algorithms to arrive at SupportedModes. The IDE controller may base its
decision on user preferences and other considerations as well. This function
may be called multiple times because the driver entity may renegotiate the mode
with the IDE controller driver using EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode().
The driver entity may collect timing information for various devices in any
The driver entity may collect timing information for various devices in any
order. The driver entity is responsible for making sure that all the dependencies
are satisfied. For example, the SupportedModes information for device A that
was previously returned may become stale after a call to
are satisfied. For example, the SupportedModes information for device A that
was previously returned may become stale after a call to
EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode() for device B.
The buffer SupportedModes is allocated by the callee because the caller does
not necessarily know the size of the buffer. The type EFI_ATA_COLLECTIVE_MODE
is defined in a way that allows for future extensibility and can be of variable
length. This memory pool should be deallocated by the caller when it is no
longer necessary.
The IDE controller driver for a Serial ATA (SATA) controller can use this
member function to force a lower speed (first-generation [Gen1] speeds on a
second-generation [Gen2]-capable hardware). The IDE controller driver can
also allow the driver entity to stay with the speed that has been negotiated
The buffer SupportedModes is allocated by the callee because the caller does
not necessarily know the size of the buffer. The type EFI_ATA_COLLECTIVE_MODE
is defined in a way that allows for future extensibility and can be of variable
length. This memory pool should be deallocated by the caller when it is no
longer necessary.
The IDE controller driver for a Serial ATA (SATA) controller can use this
member function to force a lower speed (first-generation [Gen1] speeds on a
second-generation [Gen2]-capable hardware). The IDE controller driver can
also allow the driver entity to stay with the speed that has been negotiated
by the physical layer.
@param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.
@param[in] Channel A zero-based channel number.
@param[in] Device A zero-based device number on the Channel.
@ -968,13 +968,13 @@ IdeInitDisqualifyMode (
@retval EFI_SUCCESS SupportedModes was returned.
@retval EFI_INVALID_PARAMETER Channel is invalid (Channel >= ChannelCount).
@retval EFI_INVALID_PARAMETER Device is invalid.
@retval EFI_INVALID_PARAMETER Device is invalid.
@retval EFI_INVALID_PARAMETER SupportedModes is NULL.
@retval EFI_NOT_READY Modes cannot be calculated due to a lack of
data. This error may happen if
EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
and EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyData()
were not called for at least one drive in the
@retval EFI_NOT_READY Modes cannot be calculated due to a lack of
data. This error may happen if
EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
and EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyData()
were not called for at least one drive in the
same enumeration group.
**/
@ -1061,9 +1061,9 @@ IdeInitCalculateMode (
Commands the IDE controller driver to program the IDE controller hardware
so that the specified device can operate at the specified mode.
This function is used by the driver entity to instruct the IDE controller
driver to program the IDE controller hardware to the specified modes. This
function can be called only once for a particular device. For a Serial ATA
This function is used by the driver entity to instruct the IDE controller
driver to program the IDE controller hardware to the specified modes. This
function can be called only once for a particular device. For a Serial ATA
(SATA) Advanced Host Controller Interface (AHCI) controller, no controller-
specific programming may be required.

View File

@ -1,7 +1,7 @@
/** @file
Header file for Sata Controller driver.
Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2018, ARM Ltd. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
@ -146,7 +146,7 @@ SataControllerSupported (
);
/**
This routine is called right after the .Supported() called and
This routine is called right after the .Supported() called and
Start this driver on ControllerHandle.
@param This Protocol instance pointer.
@ -173,7 +173,7 @@ SataControllerStart (
@param This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param Controller A handle to the device being stopped.
@param NumberOfChildren The number of child device handles in ChildHandleBuffer.
@param ChildHandleBuffer An array of child handles to be freed.
@param ChildHandleBuffer An array of child handles to be freed.
@retval EFI_SUCCESS This driver is removed from this device.
@retval other Some error occurs when removing this driver from this device.
@ -193,34 +193,34 @@ SataControllerStop (
//
/**
Returns the information about the specified IDE channel.
This function can be used to obtain information about a particular IDE channel.
The driver entity uses this information during the enumeration process.
If Enabled is set to FALSE, the driver entity will not scan the channel. Note
The driver entity uses this information during the enumeration process.
If Enabled is set to FALSE, the driver entity will not scan the channel. Note
that it will not prevent an operating system driver from scanning the channel.
For most of today's controllers, MaxDevices will either be 1 or 2. For SATA
controllers, this value will always be 1. SATA configurations can contain SATA
For most of today's controllers, MaxDevices will either be 1 or 2. For SATA
controllers, this value will always be 1. SATA configurations can contain SATA
port multipliers. SATA port multipliers behave like SATA bridges and can support
up to 16 devices on the other side. If a SATA port out of the IDE controller
is connected to a port multiplier, MaxDevices will be set to the number of SATA
devices that the port multiplier supports. Because today's port multipliers
support up to fifteen SATA devices, this number can be as large as fifteen. The IDE
bus driver is required to scan for the presence of port multipliers behind an SATA
controller and enumerate up to MaxDevices number of devices behind the port
multiplier.
In this context, the devices behind a port multiplier constitute a channel.
up to 16 devices on the other side. If a SATA port out of the IDE controller
is connected to a port multiplier, MaxDevices will be set to the number of SATA
devices that the port multiplier supports. Because today's port multipliers
support up to fifteen SATA devices, this number can be as large as fifteen. The IDE
bus driver is required to scan for the presence of port multipliers behind an SATA
controller and enumerate up to MaxDevices number of devices behind the port
multiplier.
In this context, the devices behind a port multiplier constitute a channel.
@param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.
@param[in] Channel Zero-based channel number.
@param[out] Enabled TRUE if this channel is enabled. Disabled channels
@param[out] Enabled TRUE if this channel is enabled. Disabled channels
are not scanned to see if any devices are present.
@param[out] MaxDevices The maximum number of IDE devices that the bus driver
can expect on this channel. For the ATA/ATAPI
specification, version 6, this number will either be
one or two. For Serial ATA (SATA) configurations with a
can expect on this channel. For the ATA/ATAPI
specification, version 6, this number will either be
one or two. For Serial ATA (SATA) configurations with a
port multiplier, this number can be as large as fifteen.
@ -240,13 +240,13 @@ IdeInitGetChannelInfo (
/**
The notifications from the driver entity that it is about to enter a certain
phase of the IDE channel enumeration process.
This function can be used to notify the IDE controller driver to perform
specific actions, including any chipset-specific initialization, so that the
chipset is ready to enter the next phase. Seven notification points are defined
at this time.
More synchronization points may be added as required in the future.
This function can be used to notify the IDE controller driver to perform
specific actions, including any chipset-specific initialization, so that the
chipset is ready to enter the next phase. Seven notification points are defined
at this time.
More synchronization points may be added as required in the future.
@param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL
instance.
@ -256,9 +256,9 @@ IdeInitGetChannelInfo (
@retval EFI_SUCCESS The notification was accepted without any errors.
@retval EFI_UNSUPPORTED Phase is not supported.
@retval EFI_INVALID_PARAMETER Channel is invalid (Channel >= ChannelCount).
@retval EFI_NOT_READY This phase cannot be entered at this time; for
example, an attempt was made to enter a Phase
without having entered one or more previous
@retval EFI_NOT_READY This phase cannot be entered at this time; for
example, an attempt was made to enter a Phase
without having entered one or more previous
Phase.
**/
@ -273,32 +273,32 @@ IdeInitNotifyPhase (
/**
Submits the device information to the IDE controller driver.
This function is used by the driver entity to pass detailed information about
a particular device to the IDE controller driver. The driver entity obtains
This function is used by the driver entity to pass detailed information about
a particular device to the IDE controller driver. The driver entity obtains
this information by issuing an ATA or ATAPI IDENTIFY_DEVICE command. IdentifyData
is the pointer to the response data buffer. The IdentifyData buffer is owned
by the driver entity, and the IDE controller driver must make a local copy
of the entire buffer or parts of the buffer as needed. The original IdentifyData
is the pointer to the response data buffer. The IdentifyData buffer is owned
by the driver entity, and the IDE controller driver must make a local copy
of the entire buffer or parts of the buffer as needed. The original IdentifyData
buffer pointer may not be valid when
- EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() or
- EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode() is called at a later point.
The IDE controller driver may consult various fields of EFI_IDENTIFY_DATA to
compute the optimum mode for the device. These fields are not limited to the
timing information. For example, an implementation of the IDE controller driver
may examine the vendor and type/mode field to match known bad drives.
The driver entity may submit drive information in any order, as long as it
submits information for all the devices belonging to the enumeration group
The IDE controller driver may consult various fields of EFI_IDENTIFY_DATA to
compute the optimum mode for the device. These fields are not limited to the
timing information. For example, an implementation of the IDE controller driver
may examine the vendor and type/mode field to match known bad drives.
The driver entity may submit drive information in any order, as long as it
submits information for all the devices belonging to the enumeration group
before EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() is called for any device
in that enumeration group. If a device is absent, EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
should be called with IdentifyData set to NULL. The IDE controller driver may
not have any other mechanism to know whether a device is present or not. Therefore,
setting IdentifyData to NULL does not constitute an error condition.
EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData() can be called only once for a
given (Channel, Device) pair.
should be called with IdentifyData set to NULL. The IDE controller driver may
not have any other mechanism to know whether a device is present or not. Therefore,
setting IdentifyData to NULL does not constitute an error condition.
EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData() can be called only once for a
given (Channel, Device) pair.
@param[in] This A pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.
@param[in] Channel Zero-based channel number.
@param[in] Device Zero-based device number on the Channel.
@ -321,31 +321,31 @@ IdeInitSubmitData (
/**
Disqualifies specific modes for an IDE device.
This function allows the driver entity or other drivers (such as platform
This function allows the driver entity or other drivers (such as platform
drivers) to reject certain timing modes and request the IDE controller driver
to recalculate modes. This function allows the driver entity and the IDE
controller driver to negotiate the timings on a per-device basis. This function
is useful in the case of drives that lie about their capabilities. An example
is when the IDE device fails to accept the timing modes that are calculated
to recalculate modes. This function allows the driver entity and the IDE
controller driver to negotiate the timings on a per-device basis. This function
is useful in the case of drives that lie about their capabilities. An example
is when the IDE device fails to accept the timing modes that are calculated
by the IDE controller driver based on the response to the Identify Drive command.
If the driver entity does not want to limit the ATA timing modes and leave that
decision to the IDE controller driver, it can either not call this function for
the given device or call this function and set the Valid flag to FALSE for all
If the driver entity does not want to limit the ATA timing modes and leave that
decision to the IDE controller driver, it can either not call this function for
the given device or call this function and set the Valid flag to FALSE for all
modes that are listed in EFI_ATA_COLLECTIVE_MODE.
The driver entity may disqualify modes for a device in any order and any number
The driver entity may disqualify modes for a device in any order and any number
of times.
This function can be called multiple times to invalidate multiple modes of the
same type (e.g., Programmed Input/Output [PIO] modes 3 and 4). See the ATA/ATAPI
specification for more information on PIO modes.
This function can be called multiple times to invalidate multiple modes of the
same type (e.g., Programmed Input/Output [PIO] modes 3 and 4). See the ATA/ATAPI
specification for more information on PIO modes.
For Serial ATA (SATA) controllers, this member function can be used to disqualify
a higher transfer rate mode on a given channel. For example, a platform driver
may inform the IDE controller driver to not use second-generation (Gen2) speeds
may inform the IDE controller driver to not use second-generation (Gen2) speeds
for a certain SATA drive.
@param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.
@param[in] Channel The zero-based channel number.
@param[in] Device The zero-based device number on the Channel.
@ -356,7 +356,7 @@ IdeInitSubmitData (
@retval EFI_INVALID_PARAMETER Channel is invalid (Channel >= ChannelCount).
@retval EFI_INVALID_PARAMETER Device is invalid.
@retval EFI_INVALID_PARAMETER IdentifyData is NULL.
**/
EFI_STATUS
EFIAPI
@ -371,39 +371,39 @@ IdeInitDisqualifyMode (
Returns the information about the optimum modes for the specified IDE device.
This function is used by the driver entity to obtain the optimum ATA modes for
a specific device. The IDE controller driver takes into account the following
a specific device. The IDE controller driver takes into account the following
while calculating the mode:
- The IdentifyData inputs to EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
- The BadModes inputs to EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode()
The driver entity is required to call EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
for all the devices that belong to an enumeration group before calling
EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() for any device in the same group.
The IDE controller driver will use controller- and possibly platform-specific
algorithms to arrive at SupportedModes. The IDE controller may base its
decision on user preferences and other considerations as well. This function
may be called multiple times because the driver entity may renegotiate the mode
The driver entity is required to call EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
for all the devices that belong to an enumeration group before calling
EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() for any device in the same group.
The IDE controller driver will use controller- and possibly platform-specific
algorithms to arrive at SupportedModes. The IDE controller may base its
decision on user preferences and other considerations as well. This function
may be called multiple times because the driver entity may renegotiate the mode
with the IDE controller driver using EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode().
The driver entity may collect timing information for various devices in any
The driver entity may collect timing information for various devices in any
order. The driver entity is responsible for making sure that all the dependencies
are satisfied. For example, the SupportedModes information for device A that
was previously returned may become stale after a call to
are satisfied. For example, the SupportedModes information for device A that
was previously returned may become stale after a call to
EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode() for device B.
The buffer SupportedModes is allocated by the callee because the caller does
not necessarily know the size of the buffer. The type EFI_ATA_COLLECTIVE_MODE
is defined in a way that allows for future extensibility and can be of variable
length. This memory pool should be deallocated by the caller when it is no
longer necessary.
The IDE controller driver for a Serial ATA (SATA) controller can use this
member function to force a lower speed (first-generation [Gen1] speeds on a
second-generation [Gen2]-capable hardware). The IDE controller driver can
also allow the driver entity to stay with the speed that has been negotiated
The buffer SupportedModes is allocated by the callee because the caller does
not necessarily know the size of the buffer. The type EFI_ATA_COLLECTIVE_MODE
is defined in a way that allows for future extensibility and can be of variable
length. This memory pool should be deallocated by the caller when it is no
longer necessary.
The IDE controller driver for a Serial ATA (SATA) controller can use this
member function to force a lower speed (first-generation [Gen1] speeds on a
second-generation [Gen2]-capable hardware). The IDE controller driver can
also allow the driver entity to stay with the speed that has been negotiated
by the physical layer.
@param[in] This The pointer to the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance.
@param[in] Channel A zero-based channel number.
@param[in] Device A zero-based device number on the Channel.
@ -411,13 +411,13 @@ IdeInitDisqualifyMode (
@retval EFI_SUCCESS SupportedModes was returned.
@retval EFI_INVALID_PARAMETER Channel is invalid (Channel >= ChannelCount).
@retval EFI_INVALID_PARAMETER Device is invalid.
@retval EFI_INVALID_PARAMETER Device is invalid.
@retval EFI_INVALID_PARAMETER SupportedModes is NULL.
@retval EFI_NOT_READY Modes cannot be calculated due to a lack of
data. This error may happen if
EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
and EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyData()
were not called for at least one drive in the
@retval EFI_NOT_READY Modes cannot be calculated due to a lack of
data. This error may happen if
EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
and EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyData()
were not called for at least one drive in the
same enumeration group.
**/
@ -434,9 +434,9 @@ IdeInitCalculateMode (
Commands the IDE controller driver to program the IDE controller hardware
so that the specified device can operate at the specified mode.
This function is used by the driver entity to instruct the IDE controller
driver to program the IDE controller hardware to the specified modes. This
function can be called only once for a particular device. For a Serial ATA
This function is used by the driver entity to instruct the IDE controller
driver to program the IDE controller hardware to the specified modes. This
function can be called only once for a particular device. For a Serial ATA
(SATA) Advanced Host Controller Interface (AHCI) controller, no controller-
specific programming may be required.

View File

@ -1,15 +1,15 @@
## @file
# SataController driver to manage SATA compliance IDE/AHCI host controllers.
#
# Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2011 - 2018, 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.
#
#
##
[Defines]
@ -26,7 +26,7 @@
#
# VALID_ARCHITECTURES = IA32 X64 IPF EBC ARM AARCH64
#
# DRIVER_BINDING = gSataControllerDriverBinding
# DRIVER_BINDING = gSataControllerDriverBinding
# COMPONENT_NAME = gSataControllerComponentName
# COMPONENT_NAME2 = gSataControllerComponentName2
#

View File

@ -3,13 +3,13 @@
//
// It consumes PciIo protocol and produces IdeControllerInit protocol for upper layer use.
//
// Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2016 - 2018, 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.
//
@ -19,4 +19,4 @@
#string STR_MODULE_ABSTRACT #language en-US "Responsible for managing the standard SATA controller"
#string STR_MODULE_DESCRIPTION #language en-US "Implements the IdeControllerInit protocol interface for upper layer use\n"

View File

@ -1,7 +1,7 @@
// /** @file
// SataControllerDxe Localized Strings and Content
//
// Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2016 - 2018, 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
@ -13,8 +13,8 @@
//
// **/
#string STR_PROPERTIES_MODULE_NAME
#language en-US
#string STR_PROPERTIES_MODULE_NAME
#language en-US
"SATA Controller DXE Driver"

View File

@ -2,7 +2,7 @@
SdMmcPciHcPei driver is used to provide platform-dependent info, mainly SD/MMC
host controller MMIO base, to upper layer SD/MMC drivers.
Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2015 - 2018, 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
@ -160,7 +160,7 @@ InitializeSdMmcHcPeim (
//
MmioSize = Size & 0xFFFFFFF0;
PciWrite32 (PCI_LIB_ADDRESS(Bus, Device, Function, PCI_BASE_ADDRESSREG_OFFSET + 4), 0xFFFFFFFF);
Size = PciRead32 (PCI_LIB_ADDRESS(Bus, Device, Function, PCI_BASE_ADDRESSREG_OFFSET + 4));
Size = PciRead32 (PCI_LIB_ADDRESS(Bus, Device, Function, PCI_BASE_ADDRESSREG_OFFSET + 4));
//
// Fix the length to support some spefic 64 bit BAR
//

View File

@ -1,7 +1,7 @@
## @file
# Component Description File For SD/MMC Pci Host Controller Pei Module.
#
# Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2015 - 2018, 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
@ -53,4 +53,4 @@
gEfiPeiMasterBootModePpiGuid AND gEfiPeiMemoryDiscoveredPpiGuid
[UserExtensions.TianoCore."ExtraFiles"]
SdMmcPciHcPeiExtra.uni
SdMmcPciHcPeiExtra.uni

View File

@ -2,7 +2,7 @@
UfsHcDxe driver produces EFI_UFS_HOST_CONTROLLER_PROTOCOL. The upper layer module
uses it to query the MMIO base address of the UFS host controller.
Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2014 - 2018, 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
@ -38,7 +38,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mUfsHcDriverNameTable[] =
"eng;en",
L"Universal Flash Storage (UFS) Pci Host Controller Driver"
},
{
{
NULL,
NULL
}

View File

@ -2,7 +2,7 @@
UfsHcDxe driver is used to provide platform-dependent info, mainly UFS host controller
MMIO base, to upper layer UFS drivers.
Copyright (c) 2014 - 2017, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2014 - 2018, 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
@ -95,24 +95,24 @@ UfsHcGetMmioBar (
return Status;
}
/**
/**
Provides the UFS controller-specific addresses needed to access system memory.
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
@param Operation Indicates if the bus master is going to read or write to system memory.
@param HostAddress The system memory address to map to the UFS controller.
@param NumberOfBytes On input the number of bytes to map. On output the number of bytes
that were mapped.
that were mapped.
@param DeviceAddress The resulting map address for the bus master UFS controller to use to
access the hosts HostAddress.
access the hosts HostAddress.
@param Mapping A resulting value to pass to Unmap().
@retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes.
@retval EFI_UNSUPPORTED The HostAddress cannot be mapped as a common buffer.
@retval EFI_UNSUPPORTED The HostAddress cannot be mapped as a common buffer.
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
@retval EFI_DEVICE_ERROR The system hardware could not map the requested address.
**/
EFI_STATUS
EFIAPI
@ -140,15 +140,15 @@ UfsHcMap (
return Status;
}
/**
/**
Completes the Map() operation and releases any corresponding resources.
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
@param Mapping The mapping value returned from Map().
@retval EFI_SUCCESS The range was unmapped.
@retval EFI_DEVICE_ERROR The data was not committed to the target system memory.
**/
EFI_STATUS
EFIAPI
@ -172,25 +172,25 @@ UfsHcUnmap (
return Status;
}
/**
/**
Allocates pages that are suitable for an EfiUfsHcOperationBusMasterCommonBuffer
mapping.
mapping.
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
@param Type This parameter is not used and must be ignored.
@param MemoryType The type of memory to allocate, EfiBootServicesData or
EfiRuntimeServicesData.
@param Pages The number of pages to allocate.
EfiRuntimeServicesData.
@param Pages The number of pages to allocate.
@param HostAddress A pointer to store the base system memory address of the
allocated range.
allocated range.
@param Attributes The requested bit mask of attributes for the allocated range.
@retval EFI_SUCCESS The requested memory pages were allocated.
@retval EFI_UNSUPPORTED Attributes is unsupported. The only legal attribute bits are
MEMORY_WRITE_COMBINE and MEMORY_CACHED.
MEMORY_WRITE_COMBINE and MEMORY_CACHED.
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
@retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated.
@retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated.
**/
EFI_STATUS
EFIAPI
@ -218,17 +218,17 @@ UfsHcAllocateBuffer (
return Status;
}
/**
/**
Frees memory that was allocated with AllocateBuffer().
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
@param Pages The number of pages to free.
@param HostAddress The base system memory address of the allocated range.
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
@param Pages The number of pages to free.
@param HostAddress The base system memory address of the allocated range.
@retval EFI_SUCCESS The requested memory pages were freed.
@retval EFI_INVALID_PARAMETER The memory range specified by HostAddress and Pages
was not allocated with AllocateBuffer().
**/
EFI_STATUS
EFIAPI
@ -253,16 +253,16 @@ UfsHcFreeBuffer (
return Status;
}
/**
/**
Flushes all posted write transactions from the UFS bus to attached UFS device.
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
@retval EFI_SUCCESS The posted write transactions were flushed from the UFS bus
to attached UFS device.
to attached UFS device.
@retval EFI_DEVICE_ERROR The posted write transactions were not flushed from the UFS
bus to attached UFS device due to a hardware error.
bus to attached UFS device due to a hardware error.
**/
EFI_STATUS
EFIAPI
@ -281,7 +281,7 @@ UfsHcFlush (
return Status;
}
/**
/**
Enable a UFS bus driver to access UFS MMIO registers in the UFS Host Controller memory space.
@param This A pointer to the EDKII_UFS_HOST_CONTROLLER_PROTOCOL instance.
@ -323,7 +323,7 @@ UfsHcMmioRead (
return Status;
}
/**
/**
Enable a UFS bus driver to access UFS MMIO registers in the UFS Host Controller memory space.
@param This A pointer to the EDKII_UFS_HOST_CONTROLLER_PROTOCOL instance.

View File

@ -2,7 +2,7 @@
UfsHcDxe driver is used to provide platform-dependent info, mainly UFS host controller
MMIO base, to upper layer UFS drivers.
Copyright (c) 2014 - 2017, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2014 - 2018, 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
@ -55,7 +55,7 @@ struct _UFS_HOST_CONTROLLER_PRIVATE_DATA {
UINT32 Signature;
EDKII_UFS_HOST_CONTROLLER_PROTOCOL UfsHc;
EFI_PCI_IO_PROTOCOL *PciIo;
EFI_PCI_IO_PROTOCOL *PciIo;
UINT8 BarIndex;
UINT64 PciAttributes;
};
@ -336,24 +336,24 @@ UfsHcGetMmioBar (
OUT UINTN *MmioBar
);
/**
/**
Provides the UFS controller-specific addresses needed to access system memory.
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
@param Operation Indicates if the bus master is going to read or write to system memory.
@param HostAddress The system memory address to map to the UFS controller.
@param NumberOfBytes On input the number of bytes to map. On output the number of bytes
that were mapped.
that were mapped.
@param DeviceAddress The resulting map address for the bus master UFS controller to use to
access the hosts HostAddress.
access the hosts HostAddress.
@param Mapping A resulting value to pass to Unmap().
@retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes.
@retval EFI_UNSUPPORTED The HostAddress cannot be mapped as a common buffer.
@retval EFI_UNSUPPORTED The HostAddress cannot be mapped as a common buffer.
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
@retval EFI_DEVICE_ERROR The system hardware could not map the requested address.
**/
EFI_STATUS
EFIAPI
@ -366,15 +366,15 @@ UfsHcMap (
OUT VOID **Mapping
);
/**
/**
Completes the Map() operation and releases any corresponding resources.
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
@param Mapping The mapping value returned from Map().
@retval EFI_SUCCESS The range was unmapped.
@retval EFI_DEVICE_ERROR The data was not committed to the target system memory.
**/
EFI_STATUS
EFIAPI
@ -383,25 +383,25 @@ UfsHcUnmap (
IN VOID *Mapping
);
/**
/**
Allocates pages that are suitable for an EfiUfsHcOperationBusMasterCommonBuffer
mapping.
mapping.
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
@param Type This parameter is not used and must be ignored.
@param MemoryType The type of memory to allocate, EfiBootServicesData or
EfiRuntimeServicesData.
@param Pages The number of pages to allocate.
EfiRuntimeServicesData.
@param Pages The number of pages to allocate.
@param HostAddress A pointer to store the base system memory address of the
allocated range.
allocated range.
@param Attributes The requested bit mask of attributes for the allocated range.
@retval EFI_SUCCESS The requested memory pages were allocated.
@retval EFI_UNSUPPORTED Attributes is unsupported. The only legal attribute bits are
MEMORY_WRITE_COMBINE and MEMORY_CACHED.
MEMORY_WRITE_COMBINE and MEMORY_CACHED.
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
@retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated.
@retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated.
**/
EFI_STATUS
EFIAPI
@ -414,17 +414,17 @@ UfsHcAllocateBuffer (
IN UINT64 Attributes
);
/**
/**
Frees memory that was allocated with AllocateBuffer().
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
@param Pages The number of pages to free.
@param HostAddress The base system memory address of the allocated range.
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
@param Pages The number of pages to free.
@param HostAddress The base system memory address of the allocated range.
@retval EFI_SUCCESS The requested memory pages were freed.
@retval EFI_INVALID_PARAMETER The memory range specified by HostAddress and Pages
was not allocated with AllocateBuffer().
**/
EFI_STATUS
EFIAPI
@ -434,16 +434,16 @@ UfsHcFreeBuffer (
IN VOID *HostAddress
);
/**
/**
Flushes all posted write transactions from the UFS bus to attached UFS device.
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
@param This A pointer to the EFI_UFS_HOST_CONTROLLER_PROTOCOL instance.
@retval EFI_SUCCESS The posted write transactions were flushed from the UFS bus
to attached UFS device.
to attached UFS device.
@retval EFI_DEVICE_ERROR The posted write transactions were not flushed from the UFS
bus to attached UFS device due to a hardware error.
bus to attached UFS device due to a hardware error.
**/
EFI_STATUS
EFIAPI
@ -451,7 +451,7 @@ UfsHcFlush (
IN EDKII_UFS_HOST_CONTROLLER_PROTOCOL *This
);
/**
/**
Enable a UFS bus driver to access UFS MMIO registers in the UFS Host Controller memory space.
@param This A pointer to the EDKII_UFS_HOST_CONTROLLER_PROTOCOL instance.
@ -479,7 +479,7 @@ UfsHcMmioRead (
IN OUT VOID *Buffer
);
/**
/**
Enable a UFS bus driver to access UFS MMIO registers in the UFS Host Controller memory space.
@param This A pointer to the EDKII_UFS_HOST_CONTROLLER_PROTOCOL instance.

View File

@ -1,7 +1,7 @@
## @file
# Component Description File For Universal Flash Storage Pci Host Controller Module.
#
# Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2014 - 2018, 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
@ -53,4 +53,4 @@
gEdkiiUfsHostControllerProtocolGuid ## BY_START
[UserExtensions.TianoCore."ExtraFiles"]
UfsPciHcDxeExtra.uni
UfsPciHcDxeExtra.uni

View File

@ -1,13 +1,13 @@
// /** @file
// The UfsPciHcDxe driver is used by upper layer to retrieve mmio base address of managed pci-based Ufs host controller.
//
// Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2015 - 2018, 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.
//

View File

@ -1,7 +1,7 @@
// /** @file
// UfsPciHcDxe Localized Strings and Content
//
// Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2015 - 2018, 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
@ -13,8 +13,8 @@
//
// **/
#string STR_PROPERTIES_MODULE_NAME
#language en-US
#string STR_PROPERTIES_MODULE_NAME
#language en-US
"UFS PCI-Based HC Driver"

View File

@ -2,7 +2,7 @@
UfsPciHcPei driver is used to provide platform-dependent info, mainly UFS host controller
MMIO base, to upper layer UFS drivers.
Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2014 - 2018, 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
@ -53,7 +53,7 @@ GetUfsHcMmioBar (
if (ControllerId >= Private->TotalUfsHcs) {
return EFI_INVALID_PARAMETER;
}
*MmioBar = (UINTN)Private->UfsHcPciAddr[ControllerId];
return EFI_SUCCESS;
@ -61,7 +61,7 @@ GetUfsHcMmioBar (
/**
The user code starts with this function.
@param FileHandle Handle of the file being invoked.
@param PeiServices Describes the list of possible PEI Services.

View File

@ -1,7 +1,7 @@
## @file
# Component Description File For Universal Flash Storage Pci Host Controller Pei Module.
#
# Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2014 - 2018, 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
@ -53,4 +53,4 @@
gEfiPeiMasterBootModePpiGuid AND gEfiPeiMemoryDiscoveredPpiGuid
[UserExtensions.TianoCore."ExtraFiles"]
UfsPciHcPeiExtra.uni
UfsPciHcPeiExtra.uni

View File

@ -2,14 +2,14 @@
// The UfsPciHcPei driver is used by upper layer to retrieve mmio base address of managed
// pci-based Ufs host controller at PEI phase.
//
// Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2015 - 2018, 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.
//

View File

@ -1,7 +1,7 @@
// /** @file
// UfsPciHcPei Localized Strings and Content
//
// Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
//
// This program and the accompanying materials
// are licensed and made available under the terms and conditions
@ -14,8 +14,8 @@
//
// **/
#string STR_PROPERTIES_MODULE_NAME
#language en-US
#string STR_PROPERTIES_MODULE_NAME
#language en-US
"UFS PCI-Based HC Module for Recovery"

View File

@ -2,7 +2,7 @@
The UHCI driver model and HC protocol routines.
Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2004 - 2018, 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
@ -1519,7 +1519,7 @@ UhciFreeDev (
if (Uhc->ExitBootServiceEvent != NULL) {
gBS->CloseEvent (Uhc->ExitBootServiceEvent);
}
if (Uhc->MemPool != NULL) {
UsbHcFreeMemPool (Uhc->MemPool);
}
@ -1796,7 +1796,7 @@ UhciDriverBindingStart (
UhciWriteReg (Uhc->PciIo, USBCMD_OFFSET, USBCMD_RS | USBCMD_MAXP);
return EFI_SUCCESS;
UNINSTALL_USBHC:
gBS->UninstallMultipleProtocolInterfaces (
Controller,

View File

@ -2,7 +2,7 @@
The definition for UHCI driver model and HC protocol routines.
Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2004 - 2018, 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
@ -145,7 +145,7 @@ struct _USB_HC_DEV {
VOID *FrameMapping;
//
// ExitBootServicesEvent is used to stop the EHC DMA operation
// ExitBootServicesEvent is used to stop the EHC DMA operation
// after exit boot service.
//
EFI_EVENT ExitBootServiceEvent;

View File

@ -1,9 +1,9 @@
## @file
# The UhciDxe driver is responsible for managing the behavior of UHCI controller.
# The UhciDxe driver is responsible for managing the behavior of UHCI controller.
# It implements the interfaces of monitoring the status of all ports and transferring
# Control, Bulk, Interrupt and Isochronous requests to Usb1.x device
#
# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2006 - 2018, 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
@ -23,7 +23,7 @@
FILE_GUID = 2FB92EFA-2EE0-4bae-9EB6-7464125E1EF7
MODULE_TYPE = UEFI_DRIVER
VERSION_STRING = 1.0
ENTRY_POINT = UhciDriverEntryPoint
#
@ -31,7 +31,7 @@
#
# VALID_ARCHITECTURES = IA32 X64 IPF EBC ARM AARCH64
#
# DRIVER_BINDING = gUhciDriverBinding
# DRIVER_BINDING = gUhciDriverBinding
# COMPONENT_NAME = gUhciComponentName
# COMPONENT_NAME2 = gUhciComponentName2
#

View File

@ -4,13 +4,13 @@
// It implements the interfaces of monitoring the status of all ports and transferring
// Control, Bulk, Interrupt and Isochronous requests to Usb1.x device
//
// Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
// Copyright (c) 2006 - 2018, 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.
//

Some files were not shown because too many files have changed in this diff Show More