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 17:06:39 +0000 [thread overview]
Message-ID: <E92EE9817A31E24EB0585FDF735412F5B9D230E9@ORSMSX113.amr.corp.intel.com> (raw)
In-Reply-To: <2017a358-560a-0c32-00a0-e4dc041e22ac@redhat.com>
> -----Original Message-----
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io]
> On Behalf Of Laszlo Ersek
> Sent: Monday, June 3, 2019 9:32 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/03/19 16:50, Kinney, Michael D wrote:
> > 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.
>
> Right.
>
> So, ultimately, we are asking Anthony to:
>
> (1) please introduce the new GUID as
> EDKII_SERIAL_VENDOR_GUID and gEdkiiSerialVendorGuid,
Yes.
>
> (2) please append another patch to this series,
> replacing EFI_CALLER_ID_GUID -- and the comment! -- with
> EDKII_SERIAL_VENDOR_GUID, in the "mSerialDevicePath"
> initializer (in
> "MdeModulePkg/Universal/SerialDxe/SerialIo.c").
>
> Correct?
Yes.
>
> Can we suggest an include file name too, in place of
> "MdeModulePkg/Include/Guid/SerialDxe.h"?
The SerialDxe module uses the services of the SeriaPortLib to
produce the Serial I/O Protocol. Instead of a physical register
interface such as UART in HW, the SW APIs of the SerialPortLib are
used. The GUIDed Vendor HW node in the device path for the HW
register case would be a GUID value and name(s) that represents
the HW device used to perform the Serial I/O actions. Applying
this to the SerialPortLib access would imply GUID and Include
file names that are associated with the SerialPortLib. Perhaps:
MdeModulePkg/Include/Guid/SerialPortLibVendor.h
EDKII_SERIAL_PORT_LIB_VENDOR_GUID
gEdkiiSerialPortLibVendorGuid
>
> Thanks!
> Laszlo
>
>
> >> -----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 17:06 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
2019-06-03 16:31 ` Laszlo Ersek
2019-06-03 17:06 ` Michael D Kinney [this message]
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=E92EE9817A31E24EB0585FDF735412F5B9D230E9@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