Laszlo,

We can keep compatibility.

The value of the GUID in the DEC/Include files can be the
current SerialDxe FFS FILE_GUID.  Then the device path can
use the GUID defined in the DEC/Include file and it will
have the same value as today.

In the future, the SerialDxe FILE_GUID can be changed as
needed with no impacts.

There is actually a build feature in the DSC file to
override the FILE_GUID value of a single module in the
module scoped <Defines> section.  If these feature was
ever used with SerialDxe, then the generated device path
would be wrong if EFI_CALLER_ID_GUID is used.

Mike

> -----Original Message-----
> From: devel@edk2.groups.io
> [mailto:devel@edk2.groups.io] On Behalf Of Laszlo Ersek
> Sent: Monday, June 3, 2019 5:02 AM
> To: Kinney, Michael D <michael.d.kin...@intel.com>;
> devel@edk2.groups.io; anthony.per...@citrix.com
> Cc: Wang, Jian J <jian.j.w...@intel.com>; Ni, Ray
> <ray...@intel.com>; Ard Biesheuvel
> <ard.biesheu...@linaro.org>; Zeng, Star
> <star.z...@intel.com>; Wu, Hao A <hao.a...@intel.com>;
> Julien Grall <julien.gr...@arm.com>; Leif Lindholm
> <leif.lindh...@linaro.org>
> Subject: Re: [edk2-devel] [PATCH 0/4] Define
> SERIAL_DXE_FILE_GUID only once
> 
> On 06/01/19 19:00, Kinney, Michael D wrote:
> > Anthony,
> >
> > I am curious.  I agree that a GUID can be defined in
> DEC file and
> > in an include file that is used as a Vendor GUID in a
> device path.
> >
> > Is there any reason that the FILE_GUID for the module
> needs to be
> > the same GUID value?  Is there any code that looks
> for an FFS file
> > with that GUID value as the FFS file name?
> 
> It's the other way around.
> "MdeModulePkg/Universal/SerialDxe" uses its own
> FILE_GUID for populating a device path node on a handle
> that it creates. Please see in "SerialIo.c":
> 
> SERIAL_DEVICE_PATH mSerialDevicePath = {
>   {
>     { HARDWARE_DEVICE_PATH, HW_VENDOR_DP, { sizeof
> (VENDOR_DEVICE_PATH), 0} },
>     EFI_CALLER_ID_GUID  // Use the driver's GUID
>   },
> 
> In turn, PlatformBootManagerLib instances have to refer
> to this device path (including said FILE_GUID) for
> setting up their console UEFI variables.
> 
> > If not, then it would be better to not over use that
> GUID value.
> > The FILE_GUID of the SerialDxe can be different.
> 
> This would be a valid change, but for that, the device
> path protocol installed by SerialDxe should be
> decoupled from SerialDxe's own FILE_GUID.
> 
> Dependent on platform circumstances, that could be a
> compatibility issue, because the old ConIn / ConOut /
> ErrOut variables could stop working (still referencing
> the original FILE_GUID in the devpath).
> 
> Thanks!
> Laszlo
> 
> >
> > Thanks,
> >
> > Mike
> >
> >> -----Original Message-----
> >> From: devel@edk2.groups.io
> >> [mailto:devel@edk2.groups.io] On Behalf Of Anthony
> >> PERARD
> >> Sent: Wednesday, May 29, 2019 4:37 AM
> >> To: devel@edk2.groups.io
> >> Cc: Wang, Jian J <jian.j.w...@intel.com>; Ni, Ray
> >> <ray...@intel.com>; Ard Biesheuvel
> >> <ard.biesheu...@linaro.org>; Zeng, Star
> >> <star.z...@intel.com>; Wu, Hao A
> <hao.a...@intel.com>;
> >> Julien Grall <julien.gr...@arm.com>; Leif Lindholm
> >> <leif.lindh...@linaro.org>; Laszlo Ersek
> >> <ler...@redhat.com>; Anthony PERARD
> >> <anthony.per...@citrix.com>
> >> Subject: [edk2-devel] [PATCH 0/4] Define
> >> SERIAL_DXE_FILE_GUID only once
> >>
> >> The macro SERIAL_DXE_FILE_GUID is already been
> defined
> >> twice and the GUID is
> >> been used once without defining the macro. This
> patch
> >> series define the macro
> >> in MdeModulePkg where the SerialDxe is, and replace
> all
> >> other use by this new
> >> one.
> >>
> >> Note that I haven't build/test those changes, but I
> >> have test the first patch
> >> by applying a similar change to a patch series I'm
> >> working on.
> >>
> >> Patch series available in this git branch:
> >> https://xenbits.xen.org/git-
> >> http/people/aperard/ovmf.git br.serial-dxe-guid-v1
> >>
> >> Anthony PERARD (4):
> >>   MdeModulePkg: Add SERIAL_DXE_FILE_GUID
> >>   ArmVirtPkg/PlatformBootManagerLib: Use
> >> SERIAL_DXE_FILE_GUID from
> >>     MdeModulePkg
> >>   ArmPkg/PlatformBootManagerLib: Use
> >> SERIAL_DXE_FILE_GUID from
> >>     MdeModulePkg
> >>   UefiPayloadPkg/PlatformBootManagerLib: Use
> >> SERIAL_DXE_FILE_GUID from
> >>     MdeModulePkg
> >>
> >>  MdeModulePkg/MdeModulePkg.dec                 |  3
> +++
> >>  MdeModulePkg/Include/Guid/SerialDxe.h         | 19
> >> +++++++++++++++++++
> >>  .../PlatformBootManagerLib/PlatformBm.c       |  6
> +--
> >> ---
> >>  .../PlatformBootManagerLib/PlatformBm.c       |  6
> +--
> >> ---
> >>  .../PlatformBootManagerLib/PlatformConsole.c  |  3
> ++-
> >>  5 files changed, 26 insertions(+), 11 deletions(-)
> >>  create mode 100644
> >> MdeModulePkg/Include/Guid/SerialDxe.h
> >>
> >> --
> >> Anthony PERARD
> >>
> >>
> >>
> >
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41823): https://edk2.groups.io/g/devel/message/41823
Mute This Topic: https://groups.io/mt/31832613/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to