<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm63xx/atf/drivers/console/aarch64, branch master</title>
<subtitle>Broadcom-s Trusted Firmware A</subtitle>
<id>https://git.openwrt.org/project/bcm63xx/atf/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/project/bcm63xx/atf/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/'/>
<updated>2019-07-16T13:01:02Z</updated>
<entry>
<title>console: update skeleton</title>
<updated>2019-07-16T13:01:02Z</updated>
<author>
<name>Ambroise Vincent</name>
</author>
<published>2019-05-31T15:21:59Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=52e91081a9f5a97b0aaaed6ad610e4e0f1aec417'/>
<id>urn:sha1:52e91081a9f5a97b0aaaed6ad610e4e0f1aec417</id>
<content type='text'>
Update the skeleton implementation of the console interface.

The 32 bit version was outdated and has been copied from the 64 bit
version.

Change-Id: Ib3e4eb09402ffccb1a30c703a53829a7bf064dfe
Signed-off-by: Ambroise Vincent &lt;ambroise.vincent@arm.com&gt;
</content>
</entry>
<entry>
<title>Remove MULTI_CONSOLE_API flag and references to it</title>
<updated>2019-06-28T09:52:48Z</updated>
<author>
<name>Ambroise Vincent</name>
</author>
<published>2019-04-04T08:13:28Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=5b6ebeec9c99f8d6a539d3b15e5dfb827891174a'/>
<id>urn:sha1:5b6ebeec9c99f8d6a539d3b15e5dfb827891174a</id>
<content type='text'>
The new API becomes the default one.

Change-Id: Ic1d602da3dff4f4ebbcc158b885295c902a24fec
Signed-off-by: Ambroise Vincent &lt;ambroise.vincent@arm.com&gt;
</content>
</entry>
<entry>
<title>Console: removed legacy console API</title>
<updated>2019-06-26T09:52:23Z</updated>
<author>
<name>Ambroise Vincent</name>
</author>
<published>2019-03-27T10:22:10Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=51e24ec2c6f4d72df50cf62766311f3773d4e117'/>
<id>urn:sha1:51e24ec2c6f4d72df50cf62766311f3773d4e117</id>
<content type='text'>
This interface has been deprecated in favour of MULTI_CONSOLE_API.

Change-Id: I6170c1c8c74a890e5bd6d05396743fe62024a08a
Signed-off-by: Ambroise Vincent &lt;ambroise.vincent@arm.com&gt;
</content>
</entry>
<entry>
<title>Console: remove deprecated finish_console_register</title>
<updated>2019-04-03T13:55:18Z</updated>
<author>
<name>Ambroise Vincent</name>
</author>
<published>2019-03-27T15:45:35Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=be3991c0c31bda7b07f002d733c65c65655eb9ad'/>
<id>urn:sha1:be3991c0c31bda7b07f002d733c65c65655eb9ad</id>
<content type='text'>
The old version of the macro is deprecated.

Commit cc5859ca19ff ("Multi-console: Deprecate the
`finish_console_register` macro") provides more details.

Change-Id: I3d1cdf6496db7d8e6cfbb5804f508ff46ae7e67e
Signed-off-by: Ambroise Vincent &lt;ambroise.vincent@arm.com&gt;
</content>
</entry>
<entry>
<title>drivers/console: Reimplement MUTLI_CONSOLE_API framework in C</title>
<updated>2018-12-07T00:18:10Z</updated>
<author>
<name>Julius Werner</name>
</author>
<published>2018-11-28T06:10:56Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=91b48c9f8f44db91ae73635cc543fb89d292a6f7'/>
<id>urn:sha1:91b48c9f8f44db91ae73635cc543fb89d292a6f7</id>
<content type='text'>
Now that we have switched to using the stack in MULTI_CONSOLE_API
framework functions and have factored all code involved in crash
reporting out into a separate file, there's really no reason to keep the
main framework code in assembly anymore. This patch rewrites it in C
which allows us to have a single implementation across aarch32/64 and
should be much easier to maintain going forward.

Change-Id: I6c85a01e89a79e8b233f3f8bee812f0dbd026221
Signed-off-by: Julius Werner &lt;jwerner@chromium.org&gt;
</content>
</entry>
<entry>
<title>drivers/console: Link console framework code by default</title>
<updated>2018-12-07T00:13:50Z</updated>
<author>
<name>Julius Werner</name>
</author>
<published>2018-11-28T01:50:28Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=985ee0b7e8d039105de48f60c0195f391f86a625'/>
<id>urn:sha1:985ee0b7e8d039105de48f60c0195f391f86a625</id>
<content type='text'>
This patch makes the build system link the console framework code by
default, like it already does with other common libraries (e.g. cache
helpers). This should not make a difference in practice since TF is
linked with --gc-sections, so the linker will garbage collect all
functions and data that are not referenced by any other code. Thus, if a
platform doesn't want to include console code for size reasons and
doesn't make any references to console functions, the code will not be
included in the final binary.

To avoid compatibility issues with older platform ports, only make this
change for the MULTI_CONSOLE_API.

Change-Id: I153a9dbe680d57aadb860d1c829759ba701130d3
Signed-off-by: Julius Werner &lt;jwerner@chromium.org&gt;
</content>
</entry>
<entry>
<title>plat/common/crash_console_helpers.S: Fix MULTI_CONSOLE_API support</title>
<updated>2018-12-07T00:10:32Z</updated>
<author>
<name>Julius Werner</name>
</author>
<published>2018-11-19T22:25:55Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=63c52d0071ef4f9252f073fc3ee30fa1b2b2cf90'/>
<id>urn:sha1:63c52d0071ef4f9252f073fc3ee30fa1b2b2cf90</id>
<content type='text'>
Crash reporting via the default consoles registered by MULTI_CONSOLE_API
has been broken since commit d35cc34 (Console: Use callee-saved
registers), which was introduced to allow console drivers written in C.
It's not really possible with the current crash reporting framework to
support console drivers in C, however we should make sure that the
existing assembly drivers that do support crash reporting continue to
work through the MULTI_CONSOLE_API.

This patch fixes the problem by creating custom console_putc() and
console_flush() implementations for the crash reporting case that do not
use the stack. Platforms that want to use this feature will have to link
plat/common/aarch64/crash_console_helpers.S explicitly.

Also update the documentation to better reflect the new reality (of this
being an option rather than the expected default for most platforms).

Change-Id: Id0c761e5e2fddaf25c277bc7b8ab603946ca73cb
Signed-off-by: Julius Werner &lt;jwerner@chromium.org&gt;
</content>
</entry>
<entry>
<title>Multi-console: Deprecate the `finish_console_register` macro</title>
<updated>2018-10-19T16:34:52Z</updated>
<author>
<name>Soby Mathew</name>
</author>
<published>2018-10-10T15:03:09Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=cc5859ca19ff546c35eb0331000dae090b6eabcf'/>
<id>urn:sha1:cc5859ca19ff546c35eb0331000dae090b6eabcf</id>
<content type='text'>
The `finish_console_register` macro is used by the multi console
framework to register the `console_t` driver callbacks. It relied
on weak references to the `ldr` instruction to populate 0 to the
callback in case the driver has not defined the appropriate
function. Use of `ldr` instruction to load absolute address to a
reference makes the binary position dependant. These instructions
should be replaced with adrp/adr instruction for position independant
executable(PIE). But adrp/adr instructions don't work well with weak
references as described in GNU ld bugzilla issue 22589.

This patch defines a new version of `finish_console_register` macro
which can spcify which driver callbacks are valid and deprecates the
old one. If any of the argument is not specified, then the macro
populates 0 for that callback. Hence the functionality of the previous
deprecated macro is preserved. The USE_FINISH_CONSOLE_REG_2 define
is used to select the new variant of the macro and will be removed
once the deprecated variant is removed.

All the upstream console drivers have been migrated to use the new
macro in this patch.

NOTE: Platforms be aware that the new variant of the
`finish_console_register` should be used and the old variant is
deprecated.

Change-Id: Ia6a67aaf2aa3ba93932992d683587bbd0ad25259
Signed-off-by: Soby Mathew &lt;soby.mathew@arm.com&gt;
</content>
</entry>
<entry>
<title>Console: Use callee-saved registers</title>
<updated>2018-08-15T12:03:01Z</updated>
<author>
<name>Sathees Balya</name>
</author>
<published>2018-07-31T14:11:11Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=d35cc347db29987e648d14f8e916422743bdea13'/>
<id>urn:sha1:d35cc347db29987e648d14f8e916422743bdea13</id>
<content type='text'>
This allows the console drivers to be implemented in C

Change-Id: Ibac859c4bcef0e92a0dcacc6b58ac19bc69b8342
Signed-off-by: Sathees Balya &lt;sathees.balya@arm.com&gt;
</content>
</entry>
<entry>
<title>Ensure read and write of flags are 32 bit</title>
<updated>2018-05-17T15:42:41Z</updated>
<author>
<name>Daniel Boulby</name>
</author>
<published>2018-05-16T15:04:35Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/atf/commit/?id=8abcdf921a0b5fd5c33f1a43706cbb4eca8c8742'/>
<id>urn:sha1:8abcdf921a0b5fd5c33f1a43706cbb4eca8c8742</id>
<content type='text'>
In 'console_set_scope' and when registering a console, field 'flags' of
'console_t' is assigned a 32-bit value. However, when it is actually
used, the functions perform 64-bit reads to access its value. This patch
changes all 64-bit reads to 32-bit reads.

Change-Id: I181349371409e60065335f078857946fa3c32dc1
Signed-off-by: Daniel Boulby &lt;daniel.boulby@arm.com&gt;
</content>
</entry>
</feed>
