[edk2-devel] [PATCH v2 2/8] BhyvePkg: Add BhyveFwCtlLibNull

Rebecca Cran rebecca at bsdio.com
Tue Apr 21 02:04:35 UTC 2020


Add a null implementation of BhyveFwCtlLib, to support building
AcpiPlatformDxe for Qemu/Xen.

Signed-off-by: Rebecca Cran <rebecca at bsdio.com>
---
 .../BhyveFwCtlLibNull/BhyveFwCtlLibNull.c     | 53 +++++++++++++++++++
 .../BhyveFwCtlLibNull/BhyveFwCtlLibNull.inf   | 39 ++++++++++++++
 2 files changed, 92 insertions(+)
 create mode 100644 BhyvePkg/Library/BhyveFwCtlLibNull/BhyveFwCtlLibNull.c
 create mode 100644 BhyvePkg/Library/BhyveFwCtlLibNull/BhyveFwCtlLibNull.inf

diff --git a/BhyvePkg/Library/BhyveFwCtlLibNull/BhyveFwCtlLibNull.c b/BhyvePkg/Library/BhyveFwCtlLibNull/BhyveFwCtlLibNull.c
new file mode 100644
index 000000000000..f040119d34a9
--- /dev/null
+++ b/BhyvePkg/Library/BhyveFwCtlLibNull/BhyveFwCtlLibNull.c
@@ -0,0 +1,53 @@
+/** @file
+
+  Copyright (c) 2011 - 2013, Intel Corporation. All rights reserved.<BR>
+  Copyright (C) 2013, Red Hat, Inc.
+  Copyright (c) 2015, Nahanni Systems.
+
+  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 "Uefi.h"
+#include <Library/BaseLib.h>
+#include <Library/BaseMemoryLib.h>
+#include <Library/DebugLib.h>
+#include <Library/IoLib.h>
+#include <Library/BhyveFwCtlLib.h>
+#include <Library/MemoryAllocationLib.h>
+#include <Library/UefiBootServicesTableLib.h>
+
+
+/**
+   Front end to the internal GET_LEN and GET protocols
+ **/
+RETURN_STATUS
+EFIAPI
+BhyveFwCtlGet (
+  IN   CONST CHAR8    *Name,
+  OUT  VOID        *Item,
+  IN OUT  UINTN        *Size
+  )
+{
+  return RETURN_UNSUPPORTED;
+}
+
+
+/**
+   Library initialization. Probe the host to see if the f/w ctl
+   interface is supported.
+ **/
+RETURN_STATUS
+EFIAPI
+BhyveFwCtlInitialize (
+          VOID
+         )
+{
+  return RETURN_SUCCESS;
+}
diff --git a/BhyvePkg/Library/BhyveFwCtlLibNull/BhyveFwCtlLibNull.inf b/BhyvePkg/Library/BhyveFwCtlLibNull/BhyveFwCtlLibNull.inf
new file mode 100644
index 000000000000..143dd536d613
--- /dev/null
+++ b/BhyvePkg/Library/BhyveFwCtlLibNull/BhyveFwCtlLibNull.inf
@@ -0,0 +1,39 @@
+## @file
+#
+#  Copyright (C) 2015 Nahanni Systems
+#  Copyright (c) 2008 - 2012, 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]
+  INF_VERSION                    = 0x00010005
+  BASE_NAME                      = BhyveFwCtlLibNull
+  FILE_GUID                      = D391FFD6-95FA-4143-9F15-F41076F11A05
+  MODULE_TYPE                    = BASE
+  VERSION_STRING                 = 1.0
+  LIBRARY_CLASS                  = BhyveFwCtlLib|PEIM DXE_DRIVER DXE_RUNTIME_DRIVER
+
+  CONSTRUCTOR                    = BhyveFwCtlInitialize
+
+#
+# The following information is for reference only and not required by the build tools.
+#
+#  VALID_ARCHITECTURES           = X64
+#
+
+[Sources]
+  BhyveFwCtlLibNull.c
+
+[Packages]
+  MdePkg/MdePkg.dec
+  BhyvePkg/BhyvePkg.dec
+
+
-- 
2.20.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#57679): https://edk2.groups.io/g/devel/message/57679
Mute This Topic: https://groups.io/mt/73164609/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list