diff mbox series

[v3,28/35] OvmfPkg/PlatformBootManagerLib: Use XenDetected from XenPlatformLib

Message ID 20190704144233.27968-29-anthony.perard@citrix.com (mailing list archive)
State Superseded
Headers show
Series Specific platform to run OVMF in Xen PVH and HVM guests | expand

Commit Message

Anthony PERARD July 4, 2019, 2:42 p.m. UTC
Replace the XenDetected() implementation by the one from
XenPlatformLib.

Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1689
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    v3:
    - new patch

 .../PlatformBootManagerLib.inf                |  1 +
 .../PlatformBootManagerLib/BdsPlatform.c      | 33 +------------------
 2 files changed, 2 insertions(+), 32 deletions(-)

Comments

Laszlo Ersek July 10, 2019, 9:45 a.m. UTC | #1
On 07/04/19 16:42, Anthony PERARD wrote:
> Replace the XenDetected() implementation by the one from
> XenPlatformLib.
> 
> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1689
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---
> 
> Notes:
>     v3:
>     - new patch
> 
>  .../PlatformBootManagerLib.inf                |  1 +
>  .../PlatformBootManagerLib/BdsPlatform.c      | 33 +------------------
>  2 files changed, 2 insertions(+), 32 deletions(-)
> 
> diff --git a/OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf b/OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
> index 060a3ab4c5..b2d3b4fb4d 100644
> --- a/OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
> +++ b/OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
> @@ -54,6 +54,7 @@ [LibraryClasses]
>    UefiLib
>    PlatformBmPrintScLib
>    Tcg2PhysicalPresenceLib
> +  XenPlatformLib
>  
>  [Pcd]
>    gUefiOvmfPkgTokenSpaceGuid.PcdEmuVariableEvent
> diff --git a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
> index 797731a41c..e32969e63e 100644
> --- a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
> +++ b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
> @@ -12,6 +12,7 @@
>  #include <Protocol/FirmwareVolume2.h>
>  #include <Library/PlatformBmPrintScLib.h>
>  #include <Library/Tcg2PhysicalPresenceLib.h>
> +#include <Library/XenPlatformLib.h>
>  
>  
>  //
> @@ -1225,38 +1226,6 @@ PciAcpiInitialization (
>    IoOr16 ((PciRead32 (Pmba) & ~BIT0) + 4, BIT0);
>  }
>  
> -/**
> -  This function detects if OVMF is running on Xen.
> -
> -**/
> -STATIC
> -BOOLEAN
> -XenDetected (
> -  VOID
> -  )
> -{
> -  EFI_HOB_GUID_TYPE         *GuidHob;
> -  STATIC INTN               FoundHob = -1;
> -
> -  if (FoundHob == 0) {
> -    return FALSE;
> -  } else if (FoundHob == 1) {
> -    return TRUE;
> -  }
> -
> -  //
> -  // See if a XenInfo HOB is available
> -  //
> -  GuidHob = GetFirstGuidHob (&gEfiXenInfoGuid);
> -  if (GuidHob == NULL) {
> -    FoundHob = 0;
> -    return FALSE;
> -  }
> -
> -  FoundHob = 1;
> -  return TRUE;
> -}
> -
>  EFI_STATUS
>  EFIAPI
>  ConnectRecursivelyIfPciMassStorage (
> 

Is it possible to clean up the remaining code a bit more, such as:

(1) removing

#include <Guid/XenInfo.h>

from "BdsPlatform.c",

(2) removing "gEfiXenInfoGuid" from [Guids] in "PlatformBootManagerLib.inf"?

With those:

Reviewed-by: Laszlo Ersek <lersek@redhat.com>

Thanks
Laszlo
diff mbox series

Patch

diff --git a/OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf b/OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
index 060a3ab4c5..b2d3b4fb4d 100644
--- a/OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
+++ b/OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
@@ -54,6 +54,7 @@  [LibraryClasses]
   UefiLib
   PlatformBmPrintScLib
   Tcg2PhysicalPresenceLib
+  XenPlatformLib
 
 [Pcd]
   gUefiOvmfPkgTokenSpaceGuid.PcdEmuVariableEvent
diff --git a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
index 797731a41c..e32969e63e 100644
--- a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
+++ b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
@@ -12,6 +12,7 @@ 
 #include <Protocol/FirmwareVolume2.h>
 #include <Library/PlatformBmPrintScLib.h>
 #include <Library/Tcg2PhysicalPresenceLib.h>
+#include <Library/XenPlatformLib.h>
 
 
 //
@@ -1225,38 +1226,6 @@  PciAcpiInitialization (
   IoOr16 ((PciRead32 (Pmba) & ~BIT0) + 4, BIT0);
 }
 
-/**
-  This function detects if OVMF is running on Xen.
-
-**/
-STATIC
-BOOLEAN
-XenDetected (
-  VOID
-  )
-{
-  EFI_HOB_GUID_TYPE         *GuidHob;
-  STATIC INTN               FoundHob = -1;
-
-  if (FoundHob == 0) {
-    return FALSE;
-  } else if (FoundHob == 1) {
-    return TRUE;
-  }
-
-  //
-  // See if a XenInfo HOB is available
-  //
-  GuidHob = GetFirstGuidHob (&gEfiXenInfoGuid);
-  if (GuidHob == NULL) {
-    FoundHob = 0;
-    return FALSE;
-  }
-
-  FoundHob = 1;
-  return TRUE;
-}
-
 EFI_STATUS
 EFIAPI
 ConnectRecursivelyIfPciMassStorage (