public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Laszlo Ersek <lersek@redhat.com>
To: Leif Lindholm <leif.lindholm@linaro.org>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: edk2-devel@lists.01.org, ruiyu.ni@intel.com,
	michael.d.kinney@intel.com, liming.gao@intel.com,
	star.zeng@intel.com, afish@apple.com
Subject: Re: [PATCH 3/3] MdePkg/BaseDebugLibSerialPort: blacklist for use by DXE runtime drivers
Date: Tue, 20 Feb 2018 17:59:38 +0100	[thread overview]
Message-ID: <4f855121-1417-26fa-c3a4-05a3e0a3de1d@redhat.com> (raw)
In-Reply-To: <20180220142244.i6sbbeph2mbycayz@bivouac.eciton.net>

On 02/20/18 15:22, Leif Lindholm wrote:
> On Tue, Feb 20, 2018 at 11:05:24AM +0000, Ard Biesheuvel wrote:
>> BaseDebugLibSerialPort is not suitable for use by DXE_RUNTIME_DRIVER
>> modules, so blacklist it for use by such modules.
>>
>> Contributed-under: TianoCore Contribution Agreement 1.1
>> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>> ---
>>  MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf b/MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
>> index 823511b22f6b..25da1fb9363a 100644
>> --- a/MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
>> +++ b/MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
>> @@ -21,7 +21,7 @@ [Defines]
>>    FILE_GUID                      = BB83F95F-EDBC-4884-A520-CD42AF388FAE
>>    MODULE_TYPE                    = BASE
>>    VERSION_STRING                 = 1.0
>> -  LIBRARY_CLASS                  = DebugLib 
>> +  LIBRARY_CLASS                  = DebugLib|SEC PEI_CORE PEIM DXE_CORE DXE_DRIVER DXE_SMM_DRIVER DXE_SAL_DRIVER UEFI_DRIVER UEFI_APPLICATION SMM_CORE MM_STANDALONE MM_CORE_STANDALONE
> 
> Not a comment on this patch as such (which looks sensible to me), but
> what you're doing here isn't blacklisting DXE_RUNTIME_DRIVER, but
> rather whitelisting every other module type.
> 
> Could we use a ! operator added to the syntax?

No, I don't think so, based on the INF file spec.

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

(

A future customization would be to give a similar treatment to SMM (or
"MM") drivers. While MM has its own set of (identity mapped) page
tables, and therefore I'd expect an MMIO serial port to "just work", we
still shouldn't mess with the serial port once the OS owns it,
regardless of the fact that we're in MM. So, for that, the lib instance
meant for MM drivers would have to catch EBS too.

Of course, that doesn't work the same way -- the SMM_CORE catches the
normal EBS notification, and "forwards" it into the MM protocol database
(see SmmExitBootServicesHandler() in
"MdeModulePkg/Core/PiSmmCore/PiSmmCore.c"). So the MM lib instance would
have to register an MM protocol notify for
"gEdkiiSmmExitBootServicesProtocolGuid".

But, that's for the future at best.

*This* lib instance should remain correct for the SMM_CORE itself, however.

)

Thanks,
Laszlo



> /
>     Leif
> 
>>    CONSTRUCTOR                    = BaseDebugLibSerialPortConstructor
>>  
>>  #
>> -- 
>> 2.11.0
>>



  reply	other threads:[~2018-02-20 16:53 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-20 11:05 [PATCH 0/3] Create UART DebugLib implementation for runtime drivers Ard Biesheuvel
2018-02-20 11:05 ` [PATCH 1/3] MdePkg: introduce DxeRuntimeDebugLibSerialPort Ard Biesheuvel
2018-02-20 14:16   ` Leif Lindholm
2018-02-20 16:20     ` Andrew Fish
2018-02-20 17:08       ` Leif Lindholm
2018-02-20 16:35   ` Laszlo Ersek
2018-02-20 19:22   ` Kinney, Michael D
2018-02-22 15:21     ` Ard Biesheuvel
2018-02-20 11:05 ` [PATCH 2/3] ArmVirtPkg: switch to DXE runtime version of DebugLib where appropriate Ard Biesheuvel
2018-02-20 16:44   ` Laszlo Ersek
2018-02-20 11:05 ` [PATCH 3/3] MdePkg/BaseDebugLibSerialPort: blacklist for use by DXE runtime drivers Ard Biesheuvel
2018-02-20 14:22   ` Leif Lindholm
2018-02-20 16:59     ` Laszlo Ersek [this message]
2018-02-20 18:02       ` Kinney, Michael D
2018-02-21 10:27         ` Laszlo Ersek

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=4f855121-1417-26fa-c3a4-05a3e0a3de1d@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