public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Laszlo Ersek" <lersek@redhat.com>
To: "Kinney, Michael D" <michael.d.kinney@intel.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>,
	"anthony.perard@citrix.com" <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
Date: Mon, 3 Jun 2019 14:01:43 +0200	[thread overview]
Message-ID: <972a37a8-196b-55de-41e6-13d4be044a50@redhat.com> (raw)
In-Reply-To: <E92EE9817A31E24EB0585FDF735412F5B9D2254E@ORSMSX113.amr.corp.intel.com>

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
>>
>>
>> 
> 


  parent reply	other threads:[~2019-06-03 12:02 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 [this message]
2019-06-03 14:50     ` Michael D Kinney
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=972a37a8-196b-55de-41e6-13d4be044a50@redhat.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