From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2607:f8b0:4864:20::d44; helo=mail-io1-xd44.google.com; envelope-from=ard.biesheuvel@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-io1-xd44.google.com (mail-io1-xd44.google.com [IPv6:2607:f8b0:4864:20::d44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 2C651211A2D83 for ; Thu, 20 Dec 2018 09:41:51 -0800 (PST) Received: by mail-io1-xd44.google.com with SMTP id k7so1472973iob.6 for ; Thu, 20 Dec 2018 09:41:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=6p0rw1YsR9dWOtA5g7mWBX2KDesvKYAciOfT+znQqpw=; b=IJbVBWNk5N/UwcHSNQJUCpmUqnYluN70v+tBTyHBEYKmKuj8w/8AIJUQCGwQIrrEU6 ++OToQX4pO8Dp8psZ2nsTqrcbznGCkGnIRw8vQrUk/yRfnYm8o7lDk1wJc0PhkSid5+H AYrDgSYvjfeLm1hDY3B6HG8SwNGafrPZRkLuA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=6p0rw1YsR9dWOtA5g7mWBX2KDesvKYAciOfT+znQqpw=; b=hdijM7vdOjayHM53s50hvJUKJ2yu3arVlHhEZ0W/4I5SGbgfxxGUnTb7tqJQrQNZjD iniFb84bcaQMYtVbD9F9g/4U71jxYvDXMuFLkibnO7uH59ARlYgqoX+flVgKErnhzAlW yjFhOTAvde4Z+Yruy2OO3y2DzDUHZ0FiRmEnBWR9+kEt/MT6Af8TEE7F3U1Df5+MbVxF EJYzPM2nTP6scgHPlueMRisMpY97o4ZYsQu2z6F2Kz6cJ0OPSL0Fvn6g0epQ/cSZX/Tc TNfOw9wG3tgVqlIK0gMa3twekssSlIStFOVLgA9AO5ibGAgMYEgVNNKxXqbnOaNiQp2k R/IQ== X-Gm-Message-State: AJcUuke3zh1ITrHMdzxOA9+CZLYUtcFkA4SaQ+7ZVGcNLl8GI6vsXcyP DANmu6fWUXClpUjXVbU5d1GZzxNvo8OsEQaXNJ4tpg== X-Google-Smtp-Source: ALg8bN452CFc17uGLflb+pSmkl4bwWlc/AiWK6N7UTDHdcnXESNMcyBV2z7RP6tO42JvjOQNBNQdBYuKAf9zrBRVq/Y= X-Received: by 2002:a5d:8417:: with SMTP id i23mr60744ion.173.1545327710419; Thu, 20 Dec 2018 09:41:50 -0800 (PST) MIME-Version: 1.0 References: <20181217185353.24723-1-ard.biesheuvel@linaro.org> <20181220152035.cmgkmikiaqbuxwg4@bivouac.eciton.net> In-Reply-To: From: Ard Biesheuvel Date: Thu, 20 Dec 2018 18:41:38 +0100 Message-ID: To: Leif Lindholm , =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= Cc: "edk2-devel@lists.01.org" Subject: Re: [PATCH] Platform/FVP-AArch64: use different serial ports for DEBUG and console X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Dec 2018 17:41:51 -0000 Content-Type: text/plain; charset="UTF-8" On Thu, 20 Dec 2018 at 16:30, Ard Biesheuvel wrote: > > On Thu, 20 Dec 2018 at 16:20, Leif Lindholm wrote: > > > > On Mon, Dec 17, 2018 at 07:53:53PM +0100, Ard Biesheuvel wrote: > > > The FVP models expose several emulated serial ports, and always start with > > > Xterm windows connected to at least two of them. So let's switch to the > > > second one for DEBUG output, leaving the original one for console output > > > via SerialDxe. > > > > Could you clarify whether this means _all_ non-DEBUG output will go to > > the first UART, or whether there is a switchover point and some early > > non-DEBUG messages will now appear on the second UART? > > > > Ah yes, good point. > > So any explicit calls to SerialPorWrite () from modules other than > SerialDxe will get directed to the second UART in this case. > > There is such a call in PrePi: > > CharCount = AsciiSPrint (Buffer,sizeof (Buffer), > "UEFI firmware (version %s built at %a on %a)\n\r", > (CHAR16*)PcdGetPtr(PcdFirmwareVersionString), __TIME__, __DATE__); > SerialPortWrite ((UINT8 *) Buffer, CharCount) > > and in one or two other places. Also note that DEBUG() directives in > SerialDxe itself will be sent to the non-DEBUG uart. > > I think it makes sense for the DefaultExceptionHandlerLib to write to > the console instead of doing a SerialPortWrite () on RELEASE builds, > so I'll look into that next. > > > > With that: > > Reviewed-by: Leif Lindholm > > Pushed as 88e5de1a2346..861c200cda14, with the following paragraph added to the commit log: Note that explicit SerialPortWrite() calls made from other modules will now also end up on the DEBUG console. Conversely, DEBUG output generated in the context of SerialDxe will end up on the primary serial console. This is a fundamental consequence of the way that DEBUG() is built on top of SerialPortWrite(), which can only be implemented in one way in each module (but can differ between modules, hence this patch) > > > Contributed-under: TianoCore Contribution Agreement 1.1 > > > Signed-off-by: Ard Biesheuvel > > > --- > > > Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc | 7 +++++-- > > > 1 file changed, 5 insertions(+), 2 deletions(-) > > > > > > diff --git a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc > > > index 7094e57ee13a..7db1c675c3d9 100644 > > > --- a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc > > > +++ b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc > > > @@ -125,7 +125,7 @@ > > > > .inf diff format would have been slightly nicer here. > > > > > gArmPlatformTokenSpaceGuid.PcdSP805WatchdogClockFrequencyInHz|24000000 > > > > > > ## PL011 - Serial Terminal > > > - gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x1c090000 > > > + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x1c0a0000 > > > gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200 > > > gEfiMdePkgTokenSpaceGuid.PcdUartDefaultReceiveFifoDepth|0 > > > > > > @@ -239,7 +239,10 @@ > > > MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf > > > MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf > > > MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf > > > - MdeModulePkg/Universal/SerialDxe/SerialDxe.inf > > > + MdeModulePkg/Universal/SerialDxe/SerialDxe.inf { > > > + > > > + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x1c090000 > > > + } > > > > > > MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf > > > > > > -- > > > 2.17.1 > > >