Re: [PATCH v4 12/35] OvmfPkg/XenPlatformPei: Grab RSDP from PVH guest start of day struct
On Wed, Aug 07, 2019 at 04:35:58PM +0200, Roger Pau Monné wrote:
On Mon, Jul 29, 2019 at 04:39:21PM +0100, Anthony PERARD wrote:I guess one could try to map xen's types to EDKII's type with typedefs,Check if there's a start of the day struct provided to PVH guest, saveYou seem to change the types when importing start_info.h, is that
but I'm not sur how well that would work. Importing the xen headers is
documented so changing the types is fairly easy, see
Also, changing the header further might have been something useful to
do, we could have match EDKII's naming convention and source files would
have looked a bit less weird.
From my experience working with different projects when importing suchI think so, yes. I know that early code does created page table like
that, but I don't know if later code rework those page table or not.
I wonder the size of such identity map, and whether you need to checkPcdXenPvhStartOfDayStructPtr is safe because OVMF owns it. As for the
rspd_paddr* and the HVMStartInfo*, I need to check. As you say, it's
probably fine as long as it's <4GB.
I've looked at the comment here:
This mean that the code executed in the patch (accessing the hvm start
info struct) is executed while the id map is setup up to 4GB. So as long
as the struct is below 4G, it's fine.
As for the RSDP, I think that pointer is accessed much later, when a
different page table is setup, I think that would be that code:
But I'm not sure how much is setup. But I'm guessing that whatever is
pointed by RSDP, it will be in the 1:1, because we tell the UEFI about
it while parsing the e820.