summaryrefslogtreecommitdiffstats
path: root/OvmfPkg
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2015-03-03 08:13:19 +0000
committerlersek <lersek@Edk2>2015-03-03 08:13:19 +0000
commitb5d85f622105298f142c0df88370db540a2cc900 (patch)
treeb29bac81799b8dccbcd7b529355d585299a25772 /OvmfPkg
parentdf040c00ae19ff8174a6b6dac7ae57a364de75fc (diff)
downloadedk2-b5d85f622105298f142c0df88370db540a2cc900.tar.gz
edk2-b5d85f622105298f142c0df88370db540a2cc900.tar.bz2
edk2-b5d85f622105298f142c0df88370db540a2cc900.zip
OvmfPkg: XenHypercallLib: add empty constructor for ARM & AARCH64
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
Diffstat (limited to 'OvmfPkg')
-rw-r--r--OvmfPkg/Library/XenHypercallLib/ArmXenHypercall.c25
-rw-r--r--OvmfPkg/Library/XenHypercallLib/XenHypercallLib.inf5
2 files changed, 29 insertions, 1 deletions
diff --git a/OvmfPkg/Library/XenHypercallLib/ArmXenHypercall.c b/OvmfPkg/Library/XenHypercallLib/ArmXenHypercall.c
new file mode 100644
index 0000000000..1f213d6e6f
--- /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
+XenHypercallLibInit (
+ VOID
+ )
+{
+ return RETURN_SUCCESS;
+}
diff --git a/OvmfPkg/Library/XenHypercallLib/XenHypercallLib.inf b/OvmfPkg/Library/XenHypercallLib/XenHypercallLib.inf
index efc26fefab..f4503a4b01 100644
--- a/OvmfPkg/Library/XenHypercallLib/XenHypercallLib.inf
+++ b/OvmfPkg/Library/XenHypercallLib/XenHypercallLib.inf
@@ -18,10 +18,10 @@
FILE_GUID = B5EE9A32-CA5A-49A8-82E3-ADA4CCB77C7C
MODULE_TYPE = BASE
VERSION_STRING = 1.0
+ CONSTRUCTOR = XenHypercallLibInit
[Defines.IA32, Defines.X64]
LIBRARY_CLASS = XenHypercallLib|DXE_DRIVER UEFI_DRIVER
- CONSTRUCTOR = XenHypercallLibInit
[Defines.ARM, Defines.AARCH64]
LIBRARY_CLASS = XenHypercallLib
@@ -41,6 +41,9 @@
[Sources.X64]
X64/hypercall.nasm
+[Sources.ARM, Sources.AARCH64]
+ ArmXenHypercall.c
+
[Sources.ARM]
Arm/Hypercall.S