audk/OvmfPkg/XenResetVector/Ia32
Anthony PERARD f198e254f7 OvmfPkg/XenResetVector: Allow jumpstart from either hvmloader or PVH
This patch allows the ResetVector to be run indenpendently from build
time addresses.

The goal of the patch is to avoid having to create RAM just below 4G
when creating a Xen PVH guest while being compatible with the way
hvmloader currently load OVMF, just below 4G.

Only the new PVH entry point will do the calculation.

The ResetVector will figure out its current running address by creating
a temporary stack, make a call and calculate the difference between the
build time address and the address at run time.

This patch copies and make the necessary modification to some other asm
files:
- copy of UefiCpuPkg/.../Flat32ToFlat64.asm:
  Allow Transition32FlatTo64Flat to be run from anywhere in memory
- copy of UefiCpuPkg/../SearchForBfvBase.asm:
  Add a extra parameter to indicate where to start the search for the
  boot firmware volume.

Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1689
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20190813113119.14804-9-anthony.perard@citrix.com>
2019-08-21 18:03:49 +02:00
..
Flat32ToFlat64.asm OvmfPkg/XenResetVector: Allow jumpstart from either hvmloader or PVH 2019-08-21 18:03:49 +02:00
PageTables64.asm OvmfPkg: Introduce XenResetVector 2019-08-21 18:03:49 +02:00
SearchForBfvBase.asm OvmfPkg/XenResetVector: Allow jumpstart from either hvmloader or PVH 2019-08-21 18:03:49 +02:00
XenPVHMain.asm OvmfPkg/XenResetVector: Allow jumpstart from either hvmloader or PVH 2019-08-21 18:03:49 +02:00