In the next patch we'll add a simple query function to the XenHypercallLib
library class that is supposed to be called by initialization code in
modules. Among those, in constructors of dependent libraries too.

Library construction ordering is ensured only between libraries with
constructors, plus we shouldn't allow a dependent library with a
constructor to call into ArmXenHypercallLib (the simple query function)
before ArmXenHypercallLib is constructed itself. For this reason,
introduce an empty constructor.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <ler...@redhat.com>
---
 OvmfPkg/Library/XenHypercallLib/ArmXenHypercallLib.inf |  2 ++
 OvmfPkg/Library/XenHypercallLib/ArmXenHypercall.c      | 25 
++++++++++++++++++++
 2 files changed, 27 insertions(+)

diff --git a/OvmfPkg/Library/XenHypercallLib/ArmXenHypercallLib.inf 
b/OvmfPkg/Library/XenHypercallLib/ArmXenHypercallLib.inf
index 0583351..0e49964 100644
--- a/OvmfPkg/Library/XenHypercallLib/ArmXenHypercallLib.inf
+++ b/OvmfPkg/Library/XenHypercallLib/ArmXenHypercallLib.inf
@@ -19,6 +19,7 @@
   MODULE_TYPE                    = BASE
   VERSION_STRING                 = 1.0
   LIBRARY_CLASS                  = XenHypercallLib
+  CONSTRUCTOR                    = ArmXenHypercallLibInit
 
 #
 # The following information is for reference only and not required by the 
build tools.
@@ -34,6 +35,7 @@
 
 [Sources]
   XenHypercall.c
+  ArmXenHypercall.c
 
 [Packages]
   MdePkg/MdePkg.dec
diff --git a/OvmfPkg/Library/XenHypercallLib/ArmXenHypercall.c 
b/OvmfPkg/Library/XenHypercallLib/ArmXenHypercall.c
new file mode 100644
index 0000000..56cc2f6
--- /dev/null
+++ b/OvmfPkg/Library/XenHypercallLib/ArmXenHypercall.c
@@ -0,0 +1,25 @@
+/** @file
+  Xen Hypercall Library implementation for ARM architecture
+
+  Copyright (C) 2015, Red Hat, Inc.
+  Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>
+
+  This program and the accompanying materials are licensed and made available
+  under the terms and conditions of the BSD License that 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 <Base.h>
+
+RETURN_STATUS
+EFIAPI
+ArmXenHypercallLibInit (
+  VOID
+  )
+{
+  return RETURN_SUCCESS;
+}
-- 
1.8.3.1



------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to