<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/coreboot/coreboot.git/src/include/console, branch master</title>
<subtitle>review.coreboot.org: coreboot.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/coreboot/coreboot.git/'/>
<entry>
<title>console: Add format-checking __printf() to die()</title>
<updated>2023-05-17T11:23:59+00:00</updated>
<author>
<name>Nico Huber</name>
<email>nico.h@gmx.de</email>
</author>
<published>2023-05-12T13:46:24+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/coreboot/coreboot.git/commit/?id=6a07db21b12b08c7b975921f2ee1196dd0ec92b3'/>
<id>6a07db21b12b08c7b975921f2ee1196dd0ec92b3</id>
<content type='text'>
Code changes are necessary because `-Wformat` warns about empty
format strings by default.

Change-Id: Ic8021b70f4cd4875b06f196f88b84940c9a79fe0
Signed-off-by: Nico Huber &lt;nico.h@gmx.de&gt;
Reviewed-on: https://review.coreboot.org/c/coreboot/+/75147
Reviewed-by: Jérémy Compostella &lt;jeremy.compostella@intel.com&gt;
Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt;
Reviewed-by: Angel Pons &lt;th3fanbus@gmail.com&gt;
Reviewed-by: Arthur Heymans &lt;arthur@aheymans.xyz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Code changes are necessary because `-Wformat` warns about empty
format strings by default.

Change-Id: Ic8021b70f4cd4875b06f196f88b84940c9a79fe0
Signed-off-by: Nico Huber &lt;nico.h@gmx.de&gt;
Reviewed-on: https://review.coreboot.org/c/coreboot/+/75147
Reviewed-by: Jérémy Compostella &lt;jeremy.compostella@intel.com&gt;
Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt;
Reviewed-by: Angel Pons &lt;th3fanbus@gmail.com&gt;
Reviewed-by: Arthur Heymans &lt;arthur@aheymans.xyz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>console: Add SimNow console logging</title>
<updated>2023-02-09T10:01:20+00:00</updated>
<author>
<name>Fred Reitberger</name>
<email>reitbergerfred@gmail.com</email>
</author>
<published>2023-02-01T21:00:54+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/coreboot/coreboot.git/commit/?id=a02176debb88a6e838c3b5f888010ae138b79127'/>
<id>a02176debb88a6e838c3b5f888010ae138b79127</id>
<content type='text'>
The AMD SimNow tool supports fast logging through an IO port.  Add a new
console to support SimNow logging through port 80.

TEST=observe significant speed improvements on SimNow console log

Signed-off-by: Fred Reitberger &lt;reitbergerfred@gmail.com&gt;
Change-Id: I42a431f48ea14ba4adacbd4a32e15abe7c5e4951
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72751
Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt;
Reviewed-by: Angel Pons &lt;th3fanbus@gmail.com&gt;
Reviewed-by: Felix Held &lt;felix-coreboot@felixheld.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The AMD SimNow tool supports fast logging through an IO port.  Add a new
console to support SimNow logging through port 80.

TEST=observe significant speed improvements on SimNow console log

Signed-off-by: Fred Reitberger &lt;reitbergerfred@gmail.com&gt;
Change-Id: I42a431f48ea14ba4adacbd4a32e15abe7c5e4951
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72751
Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt;
Reviewed-by: Angel Pons &lt;th3fanbus@gmail.com&gt;
Reviewed-by: Felix Held &lt;felix-coreboot@felixheld.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>treewide: Add 'IWYU pragma: export' comment</title>
<updated>2022-11-03T13:05:17+00:00</updated>
<author>
<name>Elyes Haouas</name>
<email>ehaouas@noos.fr</email>
</author>
<published>2022-10-27T10:25:12+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/coreboot/coreboot.git/commit/?id=35c3ae3bf4a43a36028fbd9e34ea4cb758029bf1'/>
<id>35c3ae3bf4a43a36028fbd9e34ea4cb758029bf1</id>
<content type='text'>
This pragma says to IWYU (Include What You Use) that the current file
is supposed to provide commented headers.

Change-Id: I482c645f6b5f955e532ad94def1b2f74f15ca908
Signed-off-by: Elyes Haouas &lt;ehaouas@noos.fr&gt;
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68332
Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt;
Reviewed-by: Werner Zeh &lt;werner.zeh@siemens.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This pragma says to IWYU (Include What You Use) that the current file
is supposed to provide commented headers.

Change-Id: I482c645f6b5f955e532ad94def1b2f74f15ca908
Signed-off-by: Elyes Haouas &lt;ehaouas@noos.fr&gt;
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68332
Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt;
Reviewed-by: Werner Zeh &lt;werner.zeh@siemens.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>console: Add an SoC-specific post-code call</title>
<updated>2022-10-25T17:15:58+00:00</updated>
<author>
<name>Martin Roth</name>
<email>gaumless@gmail.com</email>
</author>
<published>2022-10-17T19:52:19+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/coreboot/coreboot.git/commit/?id=771806da4996ab6f1b6a920bbf9ba21fb9e45474'/>
<id>771806da4996ab6f1b6a920bbf9ba21fb9e45474</id>
<content type='text'>
Add a post-code call that SoCs can hook to output or save in any way
that is specific to that SoC.

Signed-off-by: Martin Roth &lt;gaumless@gmail.com&gt;
Change-Id: I0369e4362840d7506d301105d8e1e2fd865919f4
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68545
Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt;
Reviewed-by: Julius Werner &lt;jwerner@chromium.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a post-code call that SoCs can hook to output or save in any way
that is specific to that SoC.

Signed-off-by: Martin Roth &lt;gaumless@gmail.com&gt;
Change-Id: I0369e4362840d7506d301105d8e1e2fd865919f4
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68545
Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt;
Reviewed-by: Julius Werner &lt;jwerner@chromium.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drivers/smbus: add smbus console driver</title>
<updated>2022-09-16T17:01:17+00:00</updated>
<author>
<name>Husni Faiz</name>
<email>ahamedhusni73@gmail.com</email>
</author>
<published>2022-09-05T09:53:15+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/coreboot/coreboot.git/commit/?id=67300f88cd1e950ca18c4e7bdd770ef18b8c06dd'/>
<id>67300f88cd1e950ca18c4e7bdd770ef18b8c06dd</id>
<content type='text'>
This patch adds a new smbus console driver and Kconfig
options to enable the driver.

Change-Id: Ife77fb2c3e1cc77678a4972701317d50624ceb95
Signed-off-by: Husni Faiz &lt;ahamedhusni73@gmail.com&gt;
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67339
Reviewed-by: Raul Rangel &lt;rrangel@chromium.org&gt;
Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds a new smbus console driver and Kconfig
options to enable the driver.

Change-Id: Ife77fb2c3e1cc77678a4972701317d50624ceb95
Signed-off-by: Husni Faiz &lt;ahamedhusni73@gmail.com&gt;
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67339
Reviewed-by: Raul Rangel &lt;rrangel@chromium.org&gt;
Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>include: Add SPDX-License-Identifiers to files missing them</title>
<updated>2022-08-01T13:59:11+00:00</updated>
<author>
<name>Martin Roth</name>
<email>martin.roth@amd.corp-partner.google.com</email>
</author>
<published>2022-07-27T04:18:26+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/coreboot/coreboot.git/commit/?id=239b5df2687e30636688354c852cdca1bafbc80b'/>
<id>239b5df2687e30636688354c852cdca1bafbc80b</id>
<content type='text'>
This adds SPDX-License-Identifiers to all of the files in src/include
that are missing them or have unrecognized identifiers.

Files that were written specifically for coreboot and don't have license
information are licensed GPL-2.0-only, which is the license for the
overall coreboot project.

Files that were sourced from Linux are similarly GPL-2.0-only.

The cpu/power files were committed with source that was licensed as
GPL-2.0-or-later, so presumably that's the license for that entire
commit.

The final file, vbe.h gives a pointer to the BSD-2-Clause license
at opensource.org.

Change-Id: I3f8fd7848ce11c1a0060e05903fb17a7583b4725
Signed-off-by: Martin Roth &lt;martin.roth@amd.corp-partner.google.com&gt;
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66284
Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt;
Reviewed-by: Elyes Haouas &lt;ehaouas@noos.fr&gt;
Reviewed-by: Arthur Heymans &lt;arthur@aheymans.xyz&gt;
Reviewed-by: Felix Singer &lt;felixsinger@posteo.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds SPDX-License-Identifiers to all of the files in src/include
that are missing them or have unrecognized identifiers.

Files that were written specifically for coreboot and don't have license
information are licensed GPL-2.0-only, which is the license for the
overall coreboot project.

Files that were sourced from Linux are similarly GPL-2.0-only.

The cpu/power files were committed with source that was licensed as
GPL-2.0-or-later, so presumably that's the license for that entire
commit.

The final file, vbe.h gives a pointer to the BSD-2-Clause license
at opensource.org.

Change-Id: I3f8fd7848ce11c1a0060e05903fb17a7583b4725
Signed-off-by: Martin Roth &lt;martin.roth@amd.corp-partner.google.com&gt;
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66284
Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt;
Reviewed-by: Elyes Haouas &lt;ehaouas@noos.fr&gt;
Reviewed-by: Arthur Heymans &lt;arthur@aheymans.xyz&gt;
Reviewed-by: Felix Singer &lt;felixsinger@posteo.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cpu/x86/smm,lib/cbmem_console: Enable CBMEMC when using DEBUG_SMI</title>
<updated>2022-03-09T14:26:26+00:00</updated>
<author>
<name>Raul E Rangel</name>
<email>rrangel@chromium.org</email>
</author>
<published>2022-02-24T23:02:49+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/coreboot/coreboot.git/commit/?id=c5160986cf9aa21a5e8b51d0647f18e8c3fc1dc2'/>
<id>c5160986cf9aa21a5e8b51d0647f18e8c3fc1dc2</id>
<content type='text'>
This change will allow the SMI handler to write to the cbmem console
buffer. Normally SMIs can only be debugged using some kind of serial
port (UART). By storing the SMI logs into cbmem we can debug SMIs using
`cbmem -1`. Now that these logs are available to the OS we could also
verify there were no errors in the SMI handler.

Since SMM can write to all of DRAM, we can't trust any pointers
provided by cbmem after the OS has booted. For this reason we store the
cbmem console pointer as part of the SMM runtime parameters. The cbmem
console is implemented as a circular buffer so it will never write
outside of this area.

BUG=b:221231786
TEST=Boot non-serial FW with DEBUG_SMI and verified SMI messages are
visible when running `cbmem -1`. Perform a suspend/resume cycle and
verify new SMI events are written to the cbmem console log.

Signed-off-by: Raul E Rangel &lt;rrangel@chromium.org&gt;
Change-Id: Ia1e310a12ca2f54210ccfaee58807cb808cfff79
Reviewed-on: https://review.coreboot.org/c/coreboot/+/62355
Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt;
Reviewed-by: Karthik Ramasubramanian &lt;kramasub@google.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change will allow the SMI handler to write to the cbmem console
buffer. Normally SMIs can only be debugged using some kind of serial
port (UART). By storing the SMI logs into cbmem we can debug SMIs using
`cbmem -1`. Now that these logs are available to the OS we could also
verify there were no errors in the SMI handler.

Since SMM can write to all of DRAM, we can't trust any pointers
provided by cbmem after the OS has booted. For this reason we store the
cbmem console pointer as part of the SMM runtime parameters. The cbmem
console is implemented as a circular buffer so it will never write
outside of this area.

BUG=b:221231786
TEST=Boot non-serial FW with DEBUG_SMI and verified SMI messages are
visible when running `cbmem -1`. Perform a suspend/resume cycle and
verify new SMI events are written to the cbmem console log.

Signed-off-by: Raul E Rangel &lt;rrangel@chromium.org&gt;
Change-Id: Ia1e310a12ca2f54210ccfaee58807cb808cfff79
Reviewed-on: https://review.coreboot.org/c/coreboot/+/62355
Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt;
Reviewed-by: Karthik Ramasubramanian &lt;kramasub@google.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>console: Add compile-time fast path when only CBMEM console is used</title>
<updated>2022-02-07T23:28:46+00:00</updated>
<author>
<name>Julius Werner</name>
<email>jwerner@chromium.org</email>
</author>
<published>2022-02-04T01:25:44+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/coreboot/coreboot.git/commit/?id=266041f0e62296737617cc2fcfa97f31e2b43aea'/>
<id>266041f0e62296737617cc2fcfa97f31e2b43aea</id>
<content type='text'>
A common use case when running coreboot on production systems is that
only the CBMEM console (the one with the least impact on boot speed) is
enabled. In this case, some of the code in the console subsystem has no
effect. Due to the way it's all genericized over multiple consoles and
tied together with function pointers, not all of this can be
compile-time eliminated automatically, so this patch adds a little
helper to facilitate that. This results in roughly 200 (compressed)
bytes of savings per stage on an arm64 system.

Signed-off-by: Julius Werner &lt;jwerner@chromium.org&gt;
Change-Id: I1d5b8bda80d02a13ee0b7835e0805c4319fd21d8
Reviewed-on: https://review.coreboot.org/c/coreboot/+/61613
Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt;
Reviewed-by: Raul Rangel &lt;rrangel@chromium.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A common use case when running coreboot on production systems is that
only the CBMEM console (the one with the least impact on boot speed) is
enabled. In this case, some of the code in the console subsystem has no
effect. Due to the way it's all genericized over multiple consoles and
tied together with function pointers, not all of this can be
compile-time eliminated automatically, so this patch adds a little
helper to facilitate that. This results in roughly 200 (compressed)
bytes of savings per stage on an arm64 system.

Signed-off-by: Julius Werner &lt;jwerner@chromium.org&gt;
Change-Id: I1d5b8bda80d02a13ee0b7835e0805c4319fd21d8
Reviewed-on: https://review.coreboot.org/c/coreboot/+/61613
Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt;
Reviewed-by: Raul Rangel &lt;rrangel@chromium.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>console: Add loglevel prefix to interactive consoles</title>
<updated>2022-02-07T14:11:44+00:00</updated>
<author>
<name>Julius Werner</name>
<email>jwerner@chromium.org</email>
</author>
<published>2022-01-21T23:15:29+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/coreboot/coreboot.git/commit/?id=7cd8ba6eda6979d61a3a0685057b20bf2da9be31'/>
<id>7cd8ba6eda6979d61a3a0685057b20bf2da9be31</id>
<content type='text'>
In an attempt to make loglevels more visible (and therefore useful,
hopefully), this patch adds a prefix indicating the log level to every
line sent to an "interactive" console (such as a UART). If the code
contains a `printk(BIOS_DEBUG, "This is a debug message!\n"), it will
now show up as

  [DEBUG]  This is a debug message!

on the UART output.

"Stored" consoles (such as in CBMEM) will get a similar but more
space-efficient feature in a later CL.

Signed-off-by: Julius Werner &lt;jwerner@chromium.org&gt;
Change-Id: Ic83413475400821f8097ef1819a293ee8926bb0b
Reviewed-on: https://review.coreboot.org/c/coreboot/+/61306
Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt;
Reviewed-by: Raul Rangel &lt;rrangel@chromium.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In an attempt to make loglevels more visible (and therefore useful,
hopefully), this patch adds a prefix indicating the log level to every
line sent to an "interactive" console (such as a UART). If the code
contains a `printk(BIOS_DEBUG, "This is a debug message!\n"), it will
now show up as

  [DEBUG]  This is a debug message!

on the UART output.

"Stored" consoles (such as in CBMEM) will get a similar but more
space-efficient feature in a later CL.

Signed-off-by: Julius Werner &lt;jwerner@chromium.org&gt;
Change-Id: Ic83413475400821f8097ef1819a293ee8926bb0b
Reviewed-on: https://review.coreboot.org/c/coreboot/+/61306
Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt;
Reviewed-by: Raul Rangel &lt;rrangel@chromium.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>lib/cbmem_console: Add cbmemc_copy_in function</title>
<updated>2022-01-23T16:42:38+00:00</updated>
<author>
<name>Raul E Rangel</name>
<email>rrangel@chromium.org</email>
</author>
<published>2022-01-13T16:46:21+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/coreboot/coreboot.git/commit/?id=1e1aa0ca4d4d5ae9d0b4917220cc72f9c441b8a2'/>
<id>1e1aa0ca4d4d5ae9d0b4917220cc72f9c441b8a2</id>
<content type='text'>
When running in verstage before bootblock, the PSP (ARM co-processor) is
running with limited SRAM. It needs to stash the verstage console data
internally until DRAM is brought up. Once DRAM is brought up the data is
stashed in a "transfer buffer" region. In the current design, we are
using the same region for the transfer buffer and the
preram_cbmem_console region. This has the following downsides:

1) The pre-x86 buffer needs to be large enough to hold all the
   verstage, bootblock and romstage console logs.
2) On AMD platforms, the PSP verstage is signed. Changing the size of
   preram_cbmem_console after the fact will result in a mismatch of the
   transfer buffer between verstage and bootblock.

This CL adds a new method that allows SoC specific code to copy the
CBMEM console in the transfer buffer to the active CBMEM console.

BUG=b:213828947
TEST=Boot guybrush and no longer see
   *** Pre-CBMEM romstage console overflowed, log truncated!

Signed-off-by: Raul E Rangel &lt;rrangel@chromium.org&gt;
Change-Id: Idc0ab8090db740e0d1b3d21d8968f26471f2e930
Reviewed-on: https://review.coreboot.org/c/coreboot/+/61099
Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt;
Reviewed-by: Kangheui Won &lt;khwon@chromium.org&gt;
Reviewed-by: Julius Werner &lt;jwerner@chromium.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When running in verstage before bootblock, the PSP (ARM co-processor) is
running with limited SRAM. It needs to stash the verstage console data
internally until DRAM is brought up. Once DRAM is brought up the data is
stashed in a "transfer buffer" region. In the current design, we are
using the same region for the transfer buffer and the
preram_cbmem_console region. This has the following downsides:

1) The pre-x86 buffer needs to be large enough to hold all the
   verstage, bootblock and romstage console logs.
2) On AMD platforms, the PSP verstage is signed. Changing the size of
   preram_cbmem_console after the fact will result in a mismatch of the
   transfer buffer between verstage and bootblock.

This CL adds a new method that allows SoC specific code to copy the
CBMEM console in the transfer buffer to the active CBMEM console.

BUG=b:213828947
TEST=Boot guybrush and no longer see
   *** Pre-CBMEM romstage console overflowed, log truncated!

Signed-off-by: Raul E Rangel &lt;rrangel@chromium.org&gt;
Change-Id: Idc0ab8090db740e0d1b3d21d8968f26471f2e930
Reviewed-on: https://review.coreboot.org/c/coreboot/+/61099
Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt;
Reviewed-by: Kangheui Won &lt;khwon@chromium.org&gt;
Reviewed-by: Julius Werner &lt;jwerner@chromium.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
