summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc21
-rw-r--r--ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.c167
-rw-r--r--ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.h9
-rw-r--r--ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf11
4 files changed, 6 insertions, 202 deletions
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc b/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc
index d3384a7..1547273 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 6501539..16c1d83 100644
--- a/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.c
+++ b/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.c
@@ -14,10 +14,11 @@
**/
-#include "IntelBdsPlatform.h"
-
+#include <Library/PlatformBdsLib.h>
#include <Library/QemuBootOrderLib.h>
+#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 4d150d9..3d29b0d 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 <Protocol/DevicePathFromText.h>
-#include <Protocol/DevicePathToText.h>
-
#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
-#include <Library/BdsLib.h>
#include <Library/DebugLib.h>
#include <Library/DevicePathLib.h>
-#include <Library/GenericBdsLib.h>
#include <Library/MemoryAllocationLib.h>
-#include <Library/PcdLib.h>
-#include <Library/PlatformBdsLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiRuntimeServicesTableLib.h>
-#include <Guid/GlobalVariable.h>
-
VOID
PlatformBdsEnterFrontPage (
IN UINT16 TimeoutDefault,
diff --git a/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf b/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf
index e14b75c..c4e5d60 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.<BR>
# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>
@@ -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