/** @file\r
Platform BDS customizations include file.\r
\r
- Copyright (c) 2006 - 2016, 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
- http://opensource.org/licenses/bsd-license.php\r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
Module Name:\r
\r
#include <IndustryStandard/Acpi.h>\r
#include <IndustryStandard/SmBios.h>\r
#include <IndustryStandard/PeImage.h>\r
+#include <IndustryStandard/Virtio095.h>\r
\r
#include <Library/DebugLib.h>\r
#include <Library/BaseMemoryLib.h>\r
#include <Library/PcdLib.h>\r
#include <Library/PciLib.h>\r
#include <Library/UefiBootManagerLib.h>\r
+#include <Library/BootLogoLib.h>\r
#include <Library/HobLib.h>\r
#include <Library/UefiLib.h>\r
#include <Library/DxeServicesTableLib.h>\r
#include <Library/IoLib.h>\r
#include <Library/NvVarsFileLib.h>\r
#include <Library/QemuFwCfgLib.h>\r
+#include <Library/QemuFwCfgS3Lib.h>\r
#include <Library/QemuBootOrderLib.h>\r
\r
#include <Protocol/Decompress.h>\r
\r
#include <Guid/Acpi.h>\r
#include <Guid/SmBios.h>\r
-#include <Guid/Mps.h>\r
#include <Guid/HobList.h>\r
#include <Guid/GlobalVariable.h>\r
#include <Guid/EventGroup.h>\r
+#include <Guid/DebugAgentGuid.h>\r
\r
#include <OvmfPlatforms.h>\r
\r
extern EFI_DEVICE_PATH_PROTOCOL *gPlatformConnectSequence[];\r
-extern EFI_DEVICE_PATH_PROTOCOL *gPlatformDriverOption[];\r
extern ACPI_HID_DEVICE_PATH gPnpPs2KeyboardDeviceNode;\r
extern ACPI_HID_DEVICE_PATH gPnp16550ComPortDeviceNode;\r
extern UART_DEVICE_PATH gUartDeviceNode;\r
DEVICE_PATH_MESSAGING_PC_ANSI \\r
}\r
\r
+#define gEndEntire \\r
+ { \\r
+ END_DEVICE_PATH_TYPE, \\r
+ END_ENTIRE_DEVICE_PATH_SUBTYPE, \\r
+ { \\r
+ END_DEVICE_PATH_LENGTH, \\r
+ 0 \\r
+ } \\r
+ }\r
+\r
#define PCI_CLASS_SCC 0x07\r
#define PCI_SUBCLASS_SERIAL 0x00\r
#define PCI_IF_16550 0x02\r
#define IS_PCI_16550SERIAL(_p) IS_CLASS3 (_p, PCI_CLASS_SCC, PCI_SUBCLASS_SERIAL, PCI_IF_16550)\r
-\r
-#define EFI_SYSTEM_TABLE_MAX_ADDRESS 0xFFFFFFFF\r
-#define SYS_TABLE_PAD(ptr) (((~ptr) +1) & 0x07 )\r
-\r
#define IS_PCI_ISA_PDECODE(_p) IS_CLASS3 (_p, PCI_CLASS_BRIDGE, PCI_CLASS_BRIDGE_ISA_PDECODE, 0)\r
\r
-typedef struct {\r
- ACPI_HID_DEVICE_PATH PciRootBridge;\r
- PCI_DEVICE_PATH IsaBridge;\r
- ACPI_HID_DEVICE_PATH Keyboard;\r
- EFI_DEVICE_PATH_PROTOCOL End;\r
-} PLATFORM_DUMMY_ISA_KEYBOARD_DEVICE_PATH;\r
-\r
-typedef struct {\r
- ACPI_HID_DEVICE_PATH PciRootBridge;\r
- PCI_DEVICE_PATH IsaBridge;\r
- ACPI_HID_DEVICE_PATH IsaSerial;\r
- UART_DEVICE_PATH Uart;\r
- VENDOR_DEVICE_PATH TerminalType;\r
- EFI_DEVICE_PATH_PROTOCOL End;\r
-} PLATFORM_DUMMY_ISA_SERIAL_DEVICE_PATH;\r
-\r
-typedef struct {\r
- ACPI_HID_DEVICE_PATH PciRootBridge;\r
- PCI_DEVICE_PATH VgaDevice;\r
- EFI_DEVICE_PATH_PROTOCOL End;\r
-} PLATFORM_DUMMY_PCI_VGA_DEVICE_PATH;\r
-\r
-typedef struct {\r
- ACPI_HID_DEVICE_PATH PciRootBridge;\r
- PCI_DEVICE_PATH PciBridge;\r
- PCI_DEVICE_PATH SerialDevice;\r
- UART_DEVICE_PATH Uart;\r
- VENDOR_DEVICE_PATH TerminalType;\r
- EFI_DEVICE_PATH_PROTOCOL End;\r
-} PLATFORM_DUMMY_PCI_SERIAL_DEVICE_PATH;\r
-\r
-//\r
-// the short form device path for Usb keyboard\r
-//\r
-#define CLASS_HID 3\r
-#define SUBCLASS_BOOT 1\r
-#define PROTOCOL_KEYBOARD 1\r
-\r
-typedef struct {\r
- USB_CLASS_DEVICE_PATH UsbClass;\r
- EFI_DEVICE_PATH_PROTOCOL End;\r
-} USB_CLASS_FORMAT_DEVICE_PATH;\r
-\r
typedef struct {\r
EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
UINTN ConnectType;\r
//\r
// Platform BDS Functions\r
//\r
-EFI_STATUS\r
-PlatformBdsShowProgress (\r
- EFI_GRAPHICS_OUTPUT_BLT_PIXEL TitleForeground,\r
- EFI_GRAPHICS_OUTPUT_BLT_PIXEL TitleBackground,\r
- CHAR16 *Title,\r
- EFI_GRAPHICS_OUTPUT_BLT_PIXEL ProgressColor,\r
- UINTN Progress,\r
- UINTN PreviousValue\r
- );\r
-\r
-VOID\r
-PlatformBdsConnectSequence (\r
- VOID\r
- );\r
-\r
-EFI_STATUS\r
-ProcessCapsules (\r
- EFI_BOOT_MODE BootMode\r
- );\r
\r
VOID\r
PlatformInitializeConsole (\r
IN PLATFORM_CONSOLE_CONNECT_ENTRY *PlatformConsole\r
);\r
\r
-EFI_STATUS\r
-ConvertMpsTable (\r
- IN OUT VOID **Table\r
- );\r
-\r
-EFI_STATUS\r
-ConvertSmbiosTable (\r
- IN OUT VOID **Table\r
- );\r
-\r
-EFI_STATUS\r
-ConvertAcpiTable (\r
- IN UINTN TableLen,\r
- IN OUT VOID **Table\r
- );\r
-\r
-EFI_STATUS\r
-ConvertSystemTable (\r
- IN EFI_GUID *TableGuid,\r
- IN OUT VOID **Table\r
- );\r
-\r
/**\r
Loads and boots UEFI Linux via the FwCfg interface.\r
\r