From bbc3758ab5bc0e526994a63d739d445416ff0c07 Mon Sep 17 00:00:00 2001 From: Ard Biesheuvel Date: Sat, 28 Feb 2015 20:32:27 +0000 Subject: Ovmf/Xen: refactor XenBusDxe hypercall implementation This refactors the Xen hypercall implementation that is part of the XenBusDxe driver, in preparation of splitting it off entirely into a XenHypercallLib library. This involves: - removing the dependency on XENBUS_DEVICE* pointers in the XenHypercall() prototypes - moving the discovered hyperpage address to a global variable - moving XenGetSharedInfoPage() to its only user XenBusDxe.c (the shared info page is not strictly part of the Xen hypercall interface, and is not used by other expected users of XenHypercallLib such as the Xen console version of SerialPortLib - reimplement XenHypercall2() in C and move the indexing of the hyperpage there; the existing asm implementations are renamed to __XenHypercall2() and invoked from the new C implementation. Contributed-under: TianoCore Contribution Agreement 1.0 Acked-by: Laszlo Ersek Reviewed-by: Anthony PERARD Signed-off-by: Ard Biesheuvel Signed-off-by: Laszlo Ersek git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16969 6f19259b-4bc3-4df7-8a09-765794883524 --- OvmfPkg/XenBusDxe/X64/hypercall.nasm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'OvmfPkg/XenBusDxe/X64') diff --git a/OvmfPkg/XenBusDxe/X64/hypercall.nasm b/OvmfPkg/XenBusDxe/X64/hypercall.nasm index 177f271ef0..5e6a0c05c5 100644 --- a/OvmfPkg/XenBusDxe/X64/hypercall.nasm +++ b/OvmfPkg/XenBusDxe/X64/hypercall.nasm @@ -3,13 +3,13 @@ SECTION .text ; INTN ; EFIAPI -; XenHypercall2 ( +; __XenHypercall2 ( ; IN VOID *HypercallAddr, ; IN OUT INTN Arg1, ; IN OUT INTN Arg2 ; ); -global ASM_PFX(XenHypercall2) -ASM_PFX(XenHypercall2): +global ASM_PFX(__XenHypercall2) +ASM_PFX(__XenHypercall2): push rdi push rsi ; Copy HypercallAddr to rax -- cgit v1.2.3