]> git.proxmox.com Git - mirror_edk2.git/commitdiff
OvmfPkg: XenHypercallLib: add empty constructor for ARM & AARCH64
authorLaszlo Ersek <lersek@redhat.com>
Tue, 3 Mar 2015 08:13:19 +0000 (08:13 +0000)
committerlersek <lersek@Edk2>
Tue, 3 Mar 2015 08:13:19 +0000 (08:13 +0000)
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 any XenHypercallLib instances (the simple query
function) before XenHypercallLib is constructed itself. For this reason,
introduce an (empty) constructor for ARM & AARCH64 too.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16999 6f19259b-4bc3-4df7-8a09-765794883524

OvmfPkg/Library/XenHypercallLib/ArmXenHypercall.c [new file with mode: 0644]
OvmfPkg/Library/XenHypercallLib/XenHypercallLib.inf

diff --git a/OvmfPkg/Library/XenHypercallLib/ArmXenHypercall.c b/OvmfPkg/Library/XenHypercallLib/ArmXenHypercall.c
new file mode 100644 (file)
index 0000000..1f213d6
--- /dev/null
@@ -0,0 +1,25 @@
+/** @file\r
+  Xen Hypercall Library implementation for ARM architecture\r
+\r
+  Copyright (C) 2015, Red Hat, Inc.\r
+  Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>\r
+\r
+  This program and the accompanying materials are licensed and made available\r
+  under the terms and conditions of the BSD License that accompanies this\r
+  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, WITHOUT\r
+  WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+**/\r
+\r
+#include <Base.h>\r
+\r
+RETURN_STATUS\r
+EFIAPI\r
+XenHypercallLibInit (\r
+  VOID\r
+  )\r
+{\r
+  return RETURN_SUCCESS;\r
+}\r
index efc26fefab4a3efa550924cd4ed5b6ff4fb038d6..f4503a4b01f4450b73311c049a7ebcde0d5036a4 100644 (file)
   FILE_GUID                      = B5EE9A32-CA5A-49A8-82E3-ADA4CCB77C7C\r
   MODULE_TYPE                    = BASE\r
   VERSION_STRING                 = 1.0\r
   FILE_GUID                      = B5EE9A32-CA5A-49A8-82E3-ADA4CCB77C7C\r
   MODULE_TYPE                    = BASE\r
   VERSION_STRING                 = 1.0\r
+  CONSTRUCTOR                    = XenHypercallLibInit\r
 \r
 [Defines.IA32, Defines.X64]\r
   LIBRARY_CLASS                  = XenHypercallLib|DXE_DRIVER UEFI_DRIVER\r
 \r
 [Defines.IA32, Defines.X64]\r
   LIBRARY_CLASS                  = XenHypercallLib|DXE_DRIVER UEFI_DRIVER\r
-  CONSTRUCTOR                    = XenHypercallLibInit\r
 \r
 [Defines.ARM, Defines.AARCH64]\r
   LIBRARY_CLASS                  = XenHypercallLib\r
 \r
 [Defines.ARM, Defines.AARCH64]\r
   LIBRARY_CLASS                  = XenHypercallLib\r
@@ -41,6 +41,9 @@
 [Sources.X64]\r
   X64/hypercall.nasm\r
 \r
 [Sources.X64]\r
   X64/hypercall.nasm\r
 \r
+[Sources.ARM, Sources.AARCH64]\r
+  ArmXenHypercall.c\r
+\r
 [Sources.ARM]\r
   Arm/Hypercall.S\r
 \r
 [Sources.ARM]\r
   Arm/Hypercall.S\r
 \r