<feed xmlns='http://www.w3.org/2005/Atom'>
<title>opensbi.git/firmware/objects.mk, branch v1.3</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/opensbi.git/atom/firmware/objects.mk?h=v1.3</id>
<link rel='self' href='http://cgit.235523.xyz/opensbi.git/atom/firmware/objects.mk?h=v1.3'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/'/>
<updated>2021-07-11T14:33:06Z</updated>
<entry>
<title>firmware: Only default FW_PIC to y if supported</title>
<updated>2021-07-11T14:33:06Z</updated>
<author>
<name>Jessica Clarke</name>
<email>jrtc27@jrtc27.com</email>
</author>
<published>2021-07-11T02:28:22Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=09ad811ec4661b99a67b87f28c93177367ae911e'/>
<id>urn:sha1:09ad811ec4661b99a67b87f28c93177367ae911e</id>
<content type='text'>
Bare-metal GNU ld does not support PIE, so if using it this will result
in a failure to build. Instead, default to FW_PIC=n if not supported.
Note that an explicit FW_PIC=y is not overridden, to ensure the build
fails rather than silently producing a position-dependent binary.

Signed-off-by: Jessica Clarke &lt;jrtc27@jrtc27.com&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Tested-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Reviewed-by: Anup Patel &lt;anup.patel@wdc.com&gt;
</content>
</entry>
<entry>
<title>firmware: Explicitly pass -pie to the linker, not just the driver</title>
<updated>2021-07-11T14:31:56Z</updated>
<author>
<name>Jessica Clarke</name>
<email>jrtc27@jrtc27.com</email>
</author>
<published>2021-07-11T02:28:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=a3d328ae33a3e64d219b50269b4c013d363e9b82'/>
<id>urn:sha1:a3d328ae33a3e64d219b50269b4c013d363e9b82</id>
<content type='text'>
When using Clang with a bare-metal triple, -pie does not get passed to
the linker as it's not normally a thing that makes sense, unlike GCC
which will unconditionally forward it on and potentially result in a
linker error. However, LLD does support it, and manually forwarding it
on works as desired, so do so to fully support FW_PIC with Clang and
LLD.

Signed-off-by: Jessica Clarke &lt;jrtc27@jrtc27.com&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Tested-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Reviewed-by: Anup Patel &lt;anup.patel@wdc.com&gt;
</content>
</entry>
<entry>
<title>firmware: Enable FW_PIC by default</title>
<updated>2021-04-28T10:08:22Z</updated>
<author>
<name>Guo Ren</name>
<email>guoren@linux.alibaba.com</email>
</author>
<published>2021-04-27T07:00:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=bf3ef53bb7f59edd2a54b34e080fd4462d938630'/>
<id>urn:sha1:bf3ef53bb7f59edd2a54b34e080fd4462d938630</id>
<content type='text'>
Let's have FW_PIC enabled by default so that OpenSBI firmware
can by default run from any physical address.

Tested with qemu_rv32 &amp; rv64, T-HEAD all hardwares.

Suggested-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Signed-off-by: Guo Ren &lt;guoren@linux.alibaba.com&gt;
Tested-by: Guo Ren &lt;guoren@linux.alibaba.com&gt;
Reviewed-by: Anup Patel &lt;anup.patel@wdc.com&gt;
</content>
</entry>
<entry>
<title>firmware: Support position independent execution</title>
<updated>2021-03-19T09:30:50Z</updated>
<author>
<name>Vincent Chen</name>
<email>vincent.chen@sifive.com</email>
</author>
<published>2021-03-17T01:16:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=0f20e8adcf42d31bc478d6700b625d00a68cb30e'/>
<id>urn:sha1:0f20e8adcf42d31bc478d6700b625d00a68cb30e</id>
<content type='text'>
Enable OpenSBI to support position independent execution. Because the
position independent code will cause an additional GOT reference when
accessing the global variables, it will reduce performance a bit. Therefore,
the position independent execution is disabled by default. Users can
through specifying "FW_PIC=y" on the make command to enable this feature.

In theory, after enabling position-independent execution, the OpenSBI
can run at arbitrary address with appropriate alignment. Therefore, the
original relocation mechanism will be skipped. In other words, OpenSBI will
directly run at the load address without any code movement.

Signed-off-by: Vincent Chen &lt;vincent.chen@sifive.com&gt;
Reviewed-by: Anup Patel &lt;anup.patel@wdc.com&gt;
</content>
</entry>
<entry>
<title>firmware: Remove FW_PAYLOAD_FDT_PATH compile-time option</title>
<updated>2020-10-18T04:59:59Z</updated>
<author>
<name>Anup Patel</name>
<email>anup.patel@wdc.com</email>
</author>
<published>2020-10-14T11:13:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=9c07c513aa9b2df64a971432e8dae3338a8e22ab'/>
<id>urn:sha1:9c07c513aa9b2df64a971432e8dae3338a8e22ab</id>
<content type='text'>
The FW_PAYLOAD_FDT_PATH compile-time option is replaced by
FW_FDT_PATH compile-time option which is more flexible and
common across all OpenSBI firmwares.

This patch removes FW_PAYLOAD_FDT_PATH and updates related
documentation to use FW_FDT_PATH.

Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Reviewed-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
<entry>
<title>firmware: Add common FW_FDT_PATH compile-time option</title>
<updated>2020-10-18T04:58:26Z</updated>
<author>
<name>Anup Patel</name>
<email>anup.patel@wdc.com</email>
</author>
<published>2020-10-14T10:33:35Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=6ca096977d723f3ac50291d668719bd938a85544'/>
<id>urn:sha1:6ca096977d723f3ac50291d668719bd938a85544</id>
<content type='text'>
Currently, only FW_PAYLOAD has mechanism to embed external
FDT using FW_PAYLOAD_FDT_PATH compile-time option.

This patch adds a common FW_FDT_PATH compile-time option to
embed external FDT for all OpenSBI firmwares (i.e FW_JUMP,
FW_PAYLOAD, and FW_DYNAMIC).

Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Reviewed-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
<entry>
<title>firmware: Remove FW_PAYLOAD_FDT and related documentation</title>
<updated>2020-06-05T03:33:05Z</updated>
<author>
<name>Anup Patel</name>
<email>anup.patel@wdc.com</email>
</author>
<published>2020-05-25T09:43:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=51f0e4a0533fe8b5d713379ab3a6cb676add82da'/>
<id>urn:sha1:51f0e4a0533fe8b5d713379ab3a6cb676add82da</id>
<content type='text'>
Now that no platform is using FW_PAYLOAD_FDT mechanism, we
remove related code from Makefile and related documentation.

Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Reviewed-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
<entry>
<title>firmware: Add fw_dynamic firmware</title>
<updated>2019-05-10T06:56:22Z</updated>
<author>
<name>Anup Patel</name>
<email>anup.patel@wdc.com</email>
</author>
<published>2019-04-29T06:25:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=bae54f764570f3fa5c592f313b45352d9f6f1d8a'/>
<id>urn:sha1:bae54f764570f3fa5c592f313b45352d9f6f1d8a</id>
<content type='text'>
This patch provides first-cut implementation of fw_dynamic firmware.

As compared to fw_jump and fw_payload, the fw_dynamic obtains next
address, next mode and OpenSBI options from struct fw_dynamic_info.

The previous booting stage can create struct fw_dynamic_info in memory
and pass address of struct fw_dynamic_info in 'a2' register. Also, the
struct fw_dynamic_info has versioning as well so changes to the struct
fw_dynamic_info can be done in a backward compatible manner.

Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Reviewed-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
<entry>
<title>TOP: Allow building platform out-of-tree</title>
<updated>2019-04-09T03:44:09Z</updated>
<author>
<name>Anup Patel</name>
<email>anup.patel@wdc.com</email>
</author>
<published>2019-04-04T06:19:43Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=54f31e82093969eaca9f7ebab06c92fa044dd076'/>
<id>urn:sha1:54f31e82093969eaca9f7ebab06c92fa044dd076</id>
<content type='text'>
This patch extends our current build-system for building platform
sources which are not part of OpenSBI sources.

For example:

Let's say we have out-of-tree ABC platform sources. We place these
sources under &lt;XYZ&gt;/ABC directory along with its config.mk and
objects.mk.

To build out-of-tree ABC platform from OpenSBI directory:
$ make PLATFORM_DIR=&lt;XYZ&gt;/ABC
OR
$ make PLATFORM_DIR=&lt;XYZ&gt; PLATFORM=ABC

To build out-of-tree ABC platform from &lt;XYZ&gt;/ABC directory:
$ make PLATFORM_DIR=&lt;XYZ&gt;/ABC -C &lt;path_to_opensbi&gt;
OR
$ make PLATFORM_DIR=&lt;XYZ&gt; PLATFORM=ABC -C &lt;path_to_opensbi&gt;

Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Reviewed-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
</content>
</entry>
<entry>
<title>firmware: Introduce "options" in "struct sbi_scratch"</title>
<updated>2019-03-29T10:19:11Z</updated>
<author>
<name>Bin Meng</name>
<email>bmeng.cn@gmail.com</email>
</author>
<published>2019-03-27T14:57:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=132f3e024b3c773000ef4dac3f6cae57eb335e1b'/>
<id>urn:sha1:132f3e024b3c773000ef4dac3f6cae57eb335e1b</id>
<content type='text'>
Introduce "options" in "struct sbi_scratch" and firmware can update
it based on optional compile time flags before calling sbi_init().

Signed-off-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
</content>
</entry>
</feed>
