diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc b/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc index d3384a7dc1..1547273956 100644 --- a/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc +++ b/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc @@ -130,25 +130,10 @@ gArmPlatformTokenSpaceGuid.PcdDefaultBootType|0 # - # Use the serial console (ConIn & ConOut), the USB keyboard (ConIn), and the - # Graphic driver (ConOut). + # Settings for ARM BDS -- use the serial console (ConIn & ConOut). # - # For the PCI VGA device path to work, you must start QEMU with the option - # '-device VGA,addr=01.0' (see "Pci(0x1,0x0)"). - # - # For the USB keyboard device path to work, the following QEMU options are - # needed (see "docs/usb2.txt" and "docs/ich9-ehci-uhci.cfg"): - # - # -device ich9-usb-ehci1,multifunction=on,addr=1d.7,id=ehci - # -device ich9-usb-uhci1,multifunction=on,addr=1d.0,masterbus=ehci.0,firstport=0 - # -device ich9-usb-uhci2,multifunction=on,addr=1d.1,masterbus=ehci.0,firstport=2 - # -device ich9-usb-uhci3,multifunction=on,addr=1d.2,masterbus=ehci.0,firstport=4 - # -device usb-kbd,bus=ehci.0 - # - # Note the match between addr=1d.7 and Pci(0x1D,0x7). - # - gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenVt100();PciRoot(0x0)/Pci(0x1,0x0)/AcpiAdr(0x80010100)" - gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenVt100();PciRoot(0x0)/Pci(0x1D,0x7)/USB(0x0,0x0)" + gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenVt100()" + gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenVt100()" gArmPlatformTokenSpaceGuid.PcdPlatformBootTimeOut|3 # diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.c b/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.c index 6501539976..16c1d83089 100644 --- a/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.c +++ b/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.c @@ -14,10 +14,11 @@ **/ -#include "IntelBdsPlatform.h" - +#include #include +#include "IntelBdsPlatform.h" + // // BDS Platform Functions // @@ -34,146 +35,6 @@ PlatformBdsInit ( { } -STATIC -EFI_STATUS -GetConsoleDevicePathFromVariable ( - IN CHAR16* ConsoleVarName, - IN CHAR16* DefaultConsolePaths, - OUT EFI_DEVICE_PATH** DevicePaths - ) -{ - EFI_STATUS Status; - UINTN Size; - EFI_DEVICE_PATH_PROTOCOL* DevicePathInstances; - EFI_DEVICE_PATH_PROTOCOL* DevicePathInstance; - CHAR16* DevicePathStr; - CHAR16* NextDevicePathStr; - EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL *EfiDevicePathFromTextProtocol; - - Status = GetGlobalEnvironmentVariable (ConsoleVarName, NULL, NULL, (VOID**)&DevicePathInstances); - if (EFI_ERROR (Status)) { - // In case no default console device path has been defined we assume a driver handles the console (eg: SimpleTextInOutSerial) - if ((DefaultConsolePaths == NULL) || (DefaultConsolePaths[0] == L'\0')) { - *DevicePaths = NULL; - return EFI_SUCCESS; - } - - Status = gBS->LocateProtocol (&gEfiDevicePathFromTextProtocolGuid, NULL, (VOID **)&EfiDevicePathFromTextProtocol); - ASSERT_EFI_ERROR (Status); - - DevicePathInstances = NULL; - - // Extract the Device Path instances from the multi-device path string - while ((DefaultConsolePaths != NULL) && (DefaultConsolePaths[0] != L'\0')) { - NextDevicePathStr = StrStr (DefaultConsolePaths, L";"); - if (NextDevicePathStr == NULL) { - DevicePathStr = DefaultConsolePaths; - DefaultConsolePaths = NULL; - } else { - DevicePathStr = (CHAR16*)AllocateCopyPool ((NextDevicePathStr - DefaultConsolePaths + 1) * sizeof (CHAR16), DefaultConsolePaths); - *(DevicePathStr + (NextDevicePathStr - DefaultConsolePaths)) = L'\0'; - DefaultConsolePaths = NextDevicePathStr; - if (DefaultConsolePaths[0] == L';') { - DefaultConsolePaths++; - } - } - - DevicePathInstance = EfiDevicePathFromTextProtocol->ConvertTextToDevicePath (DevicePathStr); - ASSERT (DevicePathInstance != NULL); - DevicePathInstances = AppendDevicePathInstance (DevicePathInstances, DevicePathInstance); - - if (NextDevicePathStr != NULL) { - FreePool (DevicePathStr); - } - FreePool (DevicePathInstance); - } - - // Set the environment variable with this device path multi-instances - Size = GetDevicePathSize (DevicePathInstances); - if (Size > 0) { - gRT->SetVariable ( - ConsoleVarName, - &gEfiGlobalVariableGuid, - EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS, - Size, - DevicePathInstances - ); - } else { - Status = EFI_INVALID_PARAMETER; - } - } - - if (!EFI_ERROR (Status)) { - *DevicePaths = DevicePathInstances; - } - return Status; -} - -STATIC -VOID -SetConsoleVariables ( - VOID - ) -{ - EFI_STATUS Status; - EFI_DEVICE_PATH* ConOutDevicePaths; - EFI_DEVICE_PATH* ConInDevicePaths; - EFI_DEVICE_PATH* ConErrDevicePaths; - - // By getting the Console Device Paths from the environment variables before initializing the console pipe, we - // create the 3 environment variables (ConIn, ConOut, ConErr) that allows to initialize all the console interface - // of newly installed console drivers - Status = GetConsoleDevicePathFromVariable (L"ConOut", (CHAR16*)PcdGetPtr (PcdDefaultConOutPaths), &ConOutDevicePaths); - ASSERT_EFI_ERROR (Status); - Status = GetConsoleDevicePathFromVariable (L"ConIn", (CHAR16*)PcdGetPtr (PcdDefaultConInPaths), &ConInDevicePaths); - ASSERT_EFI_ERROR (Status); - Status = GetConsoleDevicePathFromVariable (L"ErrOut", (CHAR16*)PcdGetPtr (PcdDefaultConOutPaths), &ConErrDevicePaths); - ASSERT_EFI_ERROR (Status); -} - -/** - Connect with predefined platform connect sequence, - the OEM/IBV can customize with their own connect sequence. -**/ -VOID -PlatformBdsConnectSequence ( - VOID - ) -{ -} - -/** - Load the predefined driver option, OEM/IBV can customize this - to load their own drivers - - @param BdsDriverLists - The header of the driver option link list. - -**/ -VOID -PlatformBdsGetDriverOption ( - IN OUT LIST_ENTRY *BdsDriverLists - ) -{ -} - -/** - Perform the platform diagnostic, such like test memory. OEM/IBV also - can customize this function to support specific platform diagnostic. - - @param MemoryTestLevel The memory test intensive level - @param QuietBoot Indicate if need to enable the quiet boot - @param BaseMemoryTest A pointer to BdsMemoryTest() - -**/ -VOID -PlatformBdsDiagnostics ( - IN EXTENDMEM_COVERAGE_LEVEL MemoryTestLevel, - IN BOOLEAN QuietBoot, - IN BASEM_MEMORY_TEST BaseMemoryTest - ) -{ -} - /** The function will execute with as the platform policy, current policy is driven by boot mode. IBV/OEM can customize this code for their specific @@ -194,7 +55,6 @@ PlatformBdsPolicyBehavior ( IN BASEM_MEMORY_TEST BaseMemoryTest ) { - SetConsoleVariables (); BdsLibConnectAll (); // @@ -265,24 +125,3 @@ PlatformBdsLockNonUpdatableFlash ( { return; } - - -/** - Lock the ConsoleIn device in system table. All key - presses will be ignored until the Password is typed in. The only way to - disable the password is to type it in to a ConIn device. - - @param Password Password used to lock ConIn device. - - @retval EFI_SUCCESS lock the Console In Spliter virtual handle successfully. - @retval EFI_UNSUPPORTED Password not found - -**/ -EFI_STATUS -EFIAPI -LockKeyboards ( - IN CHAR16 *Password - ) -{ - return EFI_UNSUPPORTED; -} diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.h b/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.h index 4d150d93a3..3d29b0d099 100644 --- a/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.h +++ b/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.h @@ -16,23 +16,14 @@ #ifndef _INTEL_BDS_PLATFORM_H_ #define _INTEL_BDS_PLATFORM_H_ -#include -#include - #include #include -#include #include #include -#include #include -#include -#include #include #include -#include - VOID PlatformBdsEnterFrontPage ( IN UINT16 TimeoutDefault, diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf b/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf index e14b75cd8f..c4e5d609ab 100644 --- a/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf +++ b/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf @@ -1,6 +1,5 @@ ## @file # Implementation for PlatformBdsLib library class interfaces. -# using ARM Platform framework. # # Copyright (c) 2014, ARM Ltd. All rights reserved.
# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.
@@ -35,8 +34,6 @@ QemuKernel.c [Packages] - ArmPkg/ArmPkg.dec - ArmPlatformPkg/ArmPlatformPkg.dec IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec @@ -45,7 +42,6 @@ [LibraryClasses] BaseLib BaseMemoryLib - BdsLib DebugLib DevicePathLib GenericBdsLib @@ -58,18 +54,11 @@ UefiRuntimeServicesTableLib [Guids] - gArmGlobalVariableGuid gEfiFileInfoGuid gEfiFileSystemInfoGuid gEfiFileSystemVolumeLabelInfoIdGuid -[Pcd] - gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths - gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths - [Protocols] - gEfiDevicePathFromTextProtocolGuid gEfiDevicePathProtocolGuid - gEfiDevicePathToTextProtocolGuid gEfiLoadedImageProtocolGuid gEfiSimpleFileSystemProtocolGuid