From: "Michael D Kinney" <michael.d.kinney@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
"lersek@redhat.com" <lersek@redhat.com>,
"anthony.perard@citrix.com" <anthony.perard@citrix.com>,
"Kinney, Michael D" <michael.d.kinney@intel.com>
Cc: "Wang, Jian J" <jian.j.wang@intel.com>,
"Ni, Ray" <ray.ni@intel.com>,
"Ard Biesheuvel" <ard.biesheuvel@linaro.org>,
"Zeng, Star" <star.zeng@intel.com>,
"Wu, Hao A" <hao.a.wu@intel.com>,
Julien Grall <julien.grall@arm.com>,
"Leif Lindholm" <leif.lindholm@linaro.org>
Subject: Re: [edk2-devel] [PATCH 0/4] Define SERIAL_DXE_FILE_GUID only once
Date: Mon, 3 Jun 2019 14:50:05 +0000 [thread overview]
Message-ID: <E92EE9817A31E24EB0585FDF735412F5B9D22F67@ORSMSX113.amr.corp.intel.com> (raw)
In-Reply-To: <972a37a8-196b-55de-41e6-13d4be044a50@redhat.com>
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.kinney@intel.com>;
> devel@edk2.groups.io; anthony.perard@citrix.com
> Cc: Wang, Jian J <jian.j.wang@intel.com>; Ni, Ray
> <ray.ni@intel.com>; Ard Biesheuvel
> <ard.biesheuvel@linaro.org>; Zeng, Star
> <star.zeng@intel.com>; Wu, Hao A <hao.a.wu@intel.com>;
> Julien Grall <julien.grall@arm.com>; Leif Lindholm
> <leif.lindholm@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.wang@intel.com>; Ni, Ray
> >> <ray.ni@intel.com>; Ard Biesheuvel
> >> <ard.biesheuvel@linaro.org>; Zeng, Star
> >> <star.zeng@intel.com>; Wu, Hao A
> <hao.a.wu@intel.com>;
> >> Julien Grall <julien.grall@arm.com>; Leif Lindholm
> >> <leif.lindholm@linaro.org>; Laszlo Ersek
> >> <lersek@redhat.com>; Anthony PERARD
> >> <anthony.perard@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
> >>
> >>
> >>
> >
>
>
>
next prev parent reply other threads:[~2019-06-03 14:50 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-29 11:37 [PATCH 0/4] Define SERIAL_DXE_FILE_GUID only once Anthony PERARD
2019-05-29 11:37 ` [PATCH 1/4] MdeModulePkg: Add SERIAL_DXE_FILE_GUID Anthony PERARD
2019-05-29 11:37 ` [PATCH 2/4] ArmVirtPkg/PlatformBootManagerLib: Use SERIAL_DXE_FILE_GUID from MdeModulePkg Anthony PERARD
2019-05-29 11:37 ` [PATCH 3/4] ArmPkg/PlatformBootManagerLib: " Anthony PERARD
2019-05-29 11:37 ` [PATCH 4/4] UefiPayloadPkg/PlatformBootManagerLib: " Anthony PERARD
2019-05-31 9:12 ` [edk2-devel] [PATCH 0/4] Define SERIAL_DXE_FILE_GUID only once Ard Biesheuvel
2019-06-01 8:26 ` Zeng, Star
2019-06-01 17:00 ` Michael D Kinney
2019-06-03 10:24 ` Anthony PERARD
2019-06-03 12:01 ` Laszlo Ersek
2019-06-03 14:50 ` Michael D Kinney [this message]
2019-06-03 16:31 ` Laszlo Ersek
2019-06-03 17:06 ` Michael D Kinney
2019-06-06 12:33 ` Anthony PERARD
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=E92EE9817A31E24EB0585FDF735412F5B9D22F67@ORSMSX113.amr.corp.intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox