]> git.proxmox.com Git - mirror_edk2.git/commit - OvmfPkg/XenBusDxe/XenHypercall.h
Ovmf/Xen: refactor XenBusDxe hypercall implementation
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Sat, 28 Feb 2015 20:32:27 +0000 (20:32 +0000)
committerlersek <lersek@Edk2>
Sat, 28 Feb 2015 20:32:27 +0000 (20:32 +0000)
commitbbc3758ab5bc0e526994a63d739d445416ff0c07
treef55eaa48c03a5442fb83891d1207e853de731ec2
parentd6970b9b4155db6835629ec938f86490b3ae5091
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 <lersek@redhat.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16969 6f19259b-4bc3-4df7-8a09-765794883524
OvmfPkg/XenBusDxe/EventChannel.c
OvmfPkg/XenBusDxe/GrantTable.c
OvmfPkg/XenBusDxe/Ia32/hypercall.nasm
OvmfPkg/XenBusDxe/X64/hypercall.nasm
OvmfPkg/XenBusDxe/XenBusDxe.c
OvmfPkg/XenBusDxe/XenBusDxe.h
OvmfPkg/XenBusDxe/XenHypercall.c
OvmfPkg/XenBusDxe/XenHypercall.h
OvmfPkg/XenBusDxe/XenStore.c