//\r
// Update pointers in FADT. If tables don't exist this will put NULL pointers there.\r
//\r
- if (AcpiTableInstance->Fadt3 != NULL) {\r
- AcpiTableInstance->Fadt3->FirmwareCtrl = (UINT32) (UINTN) AcpiTableInstance->Facs3;\r
- Buffer64 = (UINT64) (UINTN) AcpiTableInstance->Facs3;\r
- CopyMem (\r
- &AcpiTableInstance->Fadt3->XFirmwareCtrl,\r
- &Buffer64,\r
- sizeof (UINT64)\r
- );\r
- AcpiTableInstance->Fadt3->Dsdt = (UINT32) (UINTN) AcpiTableInstance->Dsdt3;\r
- Buffer64 = (UINT64) (UINTN) AcpiTableInstance->Dsdt3;\r
- CopyMem (\r
- &AcpiTableInstance->Fadt3->XDsdt,\r
- &Buffer64,\r
- sizeof (UINT64)\r
- );\r
+ AcpiTableInstance->Fadt3->FirmwareCtrl = (UINT32) (UINTN) AcpiTableInstance->Facs3;\r
+ Buffer64 = (UINT64) (UINTN) AcpiTableInstance->Facs3;\r
+ CopyMem (\r
+ &AcpiTableInstance->Fadt3->XFirmwareCtrl,\r
+ &Buffer64,\r
+ sizeof (UINT64)\r
+ );\r
+ AcpiTableInstance->Fadt3->Dsdt = (UINT32) (UINTN) AcpiTableInstance->Dsdt3;\r
+ Buffer64 = (UINT64) (UINTN) AcpiTableInstance->Dsdt3;\r
+ CopyMem (\r
+ &AcpiTableInstance->Fadt3->XDsdt,\r
+ &Buffer64,\r
+ sizeof (UINT64)\r
+ );\r
\r
- //\r
- // RSDP OEM information is updated to match the FADT OEM information\r
- //\r
- CopyMem (\r
- &AcpiTableInstance->Rsdp3->OemId,\r
- &AcpiTableInstance->Fadt3->Header.OemId,\r
- 6\r
- );\r
- \r
- //\r
- // RSDT OEM information is updated to match FADT OEM information.\r
- //\r
- CopyMem (\r
- &AcpiTableInstance->Rsdt3->OemId,\r
- &AcpiTableInstance->Fadt3->Header.OemId,\r
- 6\r
- );\r
- CopyMem (\r
- &AcpiTableInstance->Rsdt3->OemTableId,\r
- &AcpiTableInstance->Fadt3->Header.OemTableId,\r
- sizeof (UINT64)\r
- );\r
- AcpiTableInstance->Rsdt3->OemRevision = AcpiTableInstance->Fadt3->Header.OemRevision;\r
- \r
- //\r
- // XSDT OEM information is updated to match FADT OEM information.\r
- //\r
- CopyMem (\r
- &AcpiTableInstance->Xsdt->OemId,\r
- &AcpiTableInstance->Fadt3->Header.OemId,\r
- 6\r
- );\r
- CopyMem (\r
- &AcpiTableInstance->Xsdt->OemTableId,\r
- &AcpiTableInstance->Fadt3->Header.OemTableId,\r
- sizeof (UINT64)\r
- );\r
- AcpiTableInstance->Xsdt->OemRevision = AcpiTableInstance->Fadt3->Header.OemRevision;\r
- }\r
+ //\r
+ // RSDP OEM information is updated to match the FADT OEM information\r
+ //\r
+ CopyMem (\r
+ &AcpiTableInstance->Rsdp3->OemId,\r
+ &AcpiTableInstance->Fadt3->Header.OemId,\r
+ 6\r
+ );\r
+ \r
+ //\r
+ // RSDT OEM information is updated to match FADT OEM information.\r
+ //\r
+ CopyMem (\r
+ &AcpiTableInstance->Rsdt3->OemId,\r
+ &AcpiTableInstance->Fadt3->Header.OemId,\r
+ 6\r
+ );\r
+ CopyMem (\r
+ &AcpiTableInstance->Rsdt3->OemTableId,\r
+ &AcpiTableInstance->Fadt3->Header.OemTableId,\r
+ sizeof (UINT64)\r
+ );\r
+ AcpiTableInstance->Rsdt3->OemRevision = AcpiTableInstance->Fadt3->Header.OemRevision;\r
+ \r
+ //\r
+ // XSDT OEM information is updated to match FADT OEM information.\r
+ //\r
+ CopyMem (\r
+ &AcpiTableInstance->Xsdt->OemId,\r
+ &AcpiTableInstance->Fadt3->Header.OemId,\r
+ 6\r
+ );\r
+ CopyMem (\r
+ &AcpiTableInstance->Xsdt->OemTableId,\r
+ &AcpiTableInstance->Fadt3->Header.OemTableId,\r
+ sizeof (UINT64)\r
+ );\r
+ AcpiTableInstance->Xsdt->OemRevision = AcpiTableInstance->Fadt3->Header.OemRevision;\r
} \r
//\r
// Checksum the table\r
/** @file\r
Implementation of translation upon VT-UTF8.\r
\r
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
// three-byte utf8 char go on\r
//\r
if ((Temp & 0xc0) == 0x80) {\r
-\r
- Utf8Char->Utf8_3[2 - Index] = Temp;\r
- Index++;\r
- if (Index > 2) {\r
+ if (Index == 1) {\r
+ Utf8Char->Utf8_3[1] = Temp;\r
+ Index++;\r
+ } else {\r
+ Utf8Char->Utf8_3[0] = Temp;\r
FetchFlag = FALSE;\r
}\r
} else {\r
)\r
{\r
UINTN Index;\r
+\r
+ ASSERT (PrivateData != NULL);\r
+\r
if (DriverHandle[0] != NULL) {\r
gBS->UninstallMultipleProtocolInterfaces (\r
DriverHandle[0],\r
HiiRemovePackages (PrivateData->HiiHandle[1]);\r
}\r
\r
- if (PrivateData != NULL) {\r
- for (Index = 0; Index < NAME_VALUE_NAME_NUMBER; Index++) {\r
- if (PrivateData->NameValueName[Index] != NULL) {\r
- FreePool (PrivateData->NameValueName[Index]);\r
- }\r
+ for (Index = 0; Index < NAME_VALUE_NAME_NUMBER; Index++) {\r
+ if (PrivateData->NameValueName[Index] != NULL) {\r
+ FreePool (PrivateData->NameValueName[Index]);\r
}\r
- FreePool (PrivateData);\r
- PrivateData = NULL;\r
}\r
+ FreePool (PrivateData);\r
+ PrivateData = NULL;\r
\r
return EFI_SUCCESS;\r
}\r
return EFI_SUCCESS;\r
\r
Finish:\r
- if (mCallbackInfo->DriverHandle != NULL) {\r
- gBS->UninstallMultipleProtocolInterfaces (\r
- mCallbackInfo->DriverHandle,\r
- &gEfiDevicePathProtocolGuid,\r
- &mHiiVendorDevicePath,\r
- &gEfiHiiConfigAccessProtocolGuid,\r
- &mCallbackInfo->ConfigAccess,\r
- &gEfiPlatformDriverOverrideProtocolGuid,\r
- &mCallbackInfo->PlatformDriverOverride,\r
- NULL\r
- );\r
- }\r
- \r
- if (mCallbackInfo->RegisteredHandle != NULL) {\r
- HiiRemovePackages (mCallbackInfo->RegisteredHandle);\r
- }\r
-\r
- if (mCallbackInfo != NULL) {\r
- FreePool (mCallbackInfo);\r
- }\r
+ PlatDriOverrideDxeUnload (ImageHandle);\r
\r
return Status;\r
}\r
IN EFI_HANDLE ImageHandle\r
)\r
{\r
+ ASSERT (mCallbackInfo != NULL);\r
+\r
if (mCallbackInfo->DriverHandle != NULL) {\r
gBS->UninstallMultipleProtocolInterfaces (\r
mCallbackInfo->DriverHandle,\r
HiiRemovePackages (mCallbackInfo->RegisteredHandle);\r
}\r
\r
- if (mCallbackInfo != NULL) {\r
- FreePool (mCallbackInfo);\r
- }\r
+ FreePool (mCallbackInfo);\r
\r
return EFI_SUCCESS;\r
}\r