|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [edk2-devel] [PATCH v2 10/31] OvmfPkg/XenPlatformPei: Detect OVMF_INFO from hvmloader
On 04/11/19 13:47, Laszlo Ersek wrote:
> On 04/09/19 13:08, Anthony PERARD wrote:
>> This struct is only useful to retrieve the E820 table. The
>
> (1) please replace "this struct" with the name of the struct.
>
>> mXenHvmloaderInfo isn't used yet, but will be use in a further patch to
>> retrieve the E820 table.
>>
>> Also remove the unused pointer from the XenInfo HOB as that information
>> is only useful in the XenPlatformPei.
>>
>> Contributed-under: TianoCore Contribution Agreement 1.1
>> Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
>> ---
>> OvmfPkg/Include/Guid/XenInfo.h | 4 ----
>> OvmfPkg/PlatformPei/Xen.c | 3 ---
>> OvmfPkg/XenPlatformPei/Xen.c | 23 ++++++++++++++++++--
>> 3 files changed, 21 insertions(+), 9 deletions(-)
>>
>> diff --git a/OvmfPkg/Include/Guid/XenInfo.h b/OvmfPkg/Include/Guid/XenInfo.h
>> index d512b0b63f..5d4579f244 100644
>> --- a/OvmfPkg/Include/Guid/XenInfo.h
>> +++ b/OvmfPkg/Include/Guid/XenInfo.h
>> @@ -24,10 +24,6 @@ typedef struct {
>> ///
>> VOID *HyperPages;
>> ///
>> - /// Location of the hvm_info page.
>> - ///
>> - VOID *HvmInfo;
>> - ///
>> /// Hypervisor major version.
>> ///
>> UINT16 VersionMajor;
>> diff --git a/OvmfPkg/PlatformPei/Xen.c b/OvmfPkg/PlatformPei/Xen.c
>> index ab38f97a67..75181be2fd 100644
>> --- a/OvmfPkg/PlatformPei/Xen.c
>> +++ b/OvmfPkg/PlatformPei/Xen.c
>> @@ -104,9 +104,6 @@ XenConnect (
>> mXenInfo.VersionMajor = (UINT16)(XenVersion >> 16);
>> mXenInfo.VersionMinor = (UINT16)(XenVersion & 0xFFFF);
>>
>> - /* TBD: Locate hvm_info and reserve it away. */
>> - mXenInfo.HvmInfo = NULL;
>> -
>> BuildGuidDataHob (
>> &gEfiXenInfoGuid,
>> &mXenInfo,
>> diff --git a/OvmfPkg/XenPlatformPei/Xen.c b/OvmfPkg/XenPlatformPei/Xen.c
>> index 7c82e5b69b..a866641b67 100644
>> --- a/OvmfPkg/XenPlatformPei/Xen.c
>> +++ b/OvmfPkg/XenPlatformPei/Xen.c
>> @@ -39,6 +39,12 @@ STATIC UINT32 mXenLeaf = 0;
>>
>> EFI_XEN_INFO mXenInfo;
>>
>> +//
>> +// Location of the firmware info struct setup by hvmloader.
>> +// Only the E820 table is used by OVMF.
>> +//
>> +EFI_XEN_OVMF_INFO *mXenHvmloaderInfo;
>> +
>> /**
>> Returns E820 map provided by Xen
>>
>> @@ -84,6 +90,8 @@ XenConnect (
>> UINT32 TransferReg;
>> UINT32 TransferPages;
>> UINT32 XenVersion;
>> + EFI_XEN_OVMF_INFO *Info;
>> + CHAR8 Sig[sizeof (Info->Signature) + 1];
>>
>> AsmCpuid (XenLeaf + 2, &TransferPages, &TransferReg, NULL, NULL);
>> mXenInfo.HyperPages = AllocatePages (TransferPages);
>> @@ -103,8 +111,19 @@ XenConnect (
>> mXenInfo.VersionMajor = (UINT16)(XenVersion >> 16);
>> mXenInfo.VersionMinor = (UINT16)(XenVersion & 0xFFFF);
>>
>> - /* TBD: Locate hvm_info and reserve it away. */
>> - mXenInfo.HvmInfo = NULL;
>> + //
>> + // Check if there are information left by hvmloader
>> + //
>> +
>> + Info = (EFI_XEN_OVMF_INFO *)(UINTN) OVMF_INFO_PHYSICAL_ADDRESS;
>> + // Copy the signature, and make it null-terminated.
>
> (2) Please use the following style:
>
> //
> // Copy the signature, and make it null-terminated.
> //
>
>> + AsciiStrnCpyS(Sig, sizeof (Sig),
>> + (CHAR8 *) &Info->Signature, sizeof (Info->Signature));
>
> (3) This should be indented as:
>
> AsciiStrnCpyS (
> Sig,
> sizeof (Sig),
> (CHAR8 *) &Info->Signature,
> sizeof (Info->Signature)
> );
>
> or:
>
> AsciiStrnCpyS (Sig, sizeof (Sig), (CHAR8 *) &Info->Signature,
> sizeof (Info->Signature));
>
> (note the whitespace before the opening paren, after the function
> designator)
>
>
> I'm not checking the correctness of the parameters, for now.
>
> With (1) and (3) addressed:
sigh, I meant "(1) through (3)".
> Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
>
> If you can, please verify the comment style and the indentation style in
> the other patches too.
>
> Thanks
> Laszlo
>
>> + if (AsciiStrCmp (Sig, "XenHVMOVMF") == 0) {
>> + mXenHvmloaderInfo = Info;
>> + } else {
>> + mXenHvmloaderInfo = NULL;
>> + }
>>
>> BuildGuidDataHob (
>> &gEfiXenInfoGuid,
>>
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |