<feed xmlns='http://www.w3.org/2005/Atom'>
<title>opensbi.git/firmware, branch v1.4</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/opensbi.git/atom/firmware?h=v1.4</id>
<link rel='self' href='http://cgit.235523.xyz/opensbi.git/atom/firmware?h=v1.4'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/'/>
<updated>2023-12-09T08:56:58Z</updated>
<entry>
<title>firmware: fix section types</title>
<updated>2023-12-09T08:56:58Z</updated>
<author>
<name>Matt Waltz</name>
<email>matthewwaltzis@gmail.com</email>
</author>
<published>2023-12-05T15:13:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=06968103dcd99c2cf2dad97549ef3880ea00ccd2'/>
<id>urn:sha1:06968103dcd99c2cf2dad97549ef3880ea00ccd2</id>
<content type='text'>
These sections are only intended to hold data, and should not be executable.

Signed-off-by: Matt Waltz &lt;matthewwaltzis@gmail.com&gt;
Reviewed-by: Xiang W &lt;wxjstz@126.com&gt;
Reviewed-by: Anup Patel &lt;anup@brainfault.org&gt;
</content>
</entry>
<entry>
<title>firmware: fw_base.S: Fix boot hart status synchronization</title>
<updated>2023-11-16T10:49:42Z</updated>
<author>
<name>Guo Ren</name>
<email>guoren@linux.alibaba.com</email>
</author>
<published>2023-10-19T09:27:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=fccdf41d32877eca0cef3789d12a197cba73c2e2'/>
<id>urn:sha1:fccdf41d32877eca0cef3789d12a197cba73c2e2</id>
<content type='text'>
It's wrong to put the fence after setting the boot status flag because
all relocation operations must be finished before setting the status
flag. So, this fence must be put before the setting status flag, and
there is no use in putting a fence between _start_warm and setting
status flag.

Also, nop can't delay other harts too much, so use div instead, just
like Linux cpu_relax. Current opensbi force enables “M” Standard
Extension, and mul instructions have been used in the fw_base.S.

After the above two fixes, the boot hart index param of the
fw_dynamic_info could be guaranteed properly for all platforms.

Signed-off-by: Guo Ren &lt;guoren@linux.alibaba.com&gt;
Signed-off-by: Guo Ren &lt;guoren@kernel.org&gt;
Reviewed-by: Anup Patel &lt;anup@brainfault.org&gt;
</content>
</entry>
<entry>
<title>firmware: Remove handling of R_RISCV_{32,64}</title>
<updated>2023-10-06T03:51:23Z</updated>
<author>
<name>Vivian Wang</name>
<email>dramforever@live.com</email>
</author>
<published>2023-09-17T17:52:50Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=2a6d72534d44c39e1de0614970a0dad97b1c41ba'/>
<id>urn:sha1:2a6d72534d44c39e1de0614970a0dad97b1c41ba</id>
<content type='text'>
Since everything is statically linked, we won't actually have
R_RISCV_{32,64} relocations. No need to handle these.

Fixes: 0f20e8adcf42 ("firmware: Support position independent execution")
Signed-off-by: Vivian Wang &lt;dramforever@live.com&gt;
Reviewed-by: Anup Patel &lt;anup@brainfault.org&gt;
</content>
</entry>
<entry>
<title>firmware: Remove ALIGN in .rela.dyn in linker script</title>
<updated>2023-10-06T03:51:21Z</updated>
<author>
<name>Vivian Wang</name>
<email>dramforever@live.com</email>
</author>
<published>2023-09-17T17:52:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=de525ac18dc32bafc64e78893f343afdd6003028'/>
<id>urn:sha1:de525ac18dc32bafc64e78893f343afdd6003028</id>
<content type='text'>
The .rela.dyn section should be exactly the size of the relocations,
without padding. On RV64, .rela* sections are already aligned and
there's no need for padding. On RV32, this adds padding up to 4 bytes,
which, if present, confuses the relocation loop into processing an extra
entry past the end of .rela*, and it crashes with an invalid memory
access.

Fixes: 0f20e8adcf42 ("firmware: Support position independent execution")
Signed-off-by: Vivian Wang &lt;dramforever@live.com&gt;
Reviewed-by: Anup Patel &lt;anup@brainfault.org&gt;
</content>
</entry>
<entry>
<title>firmware: payload: test: Change to SBI v2.0 DBCN ecalls</title>
<updated>2023-09-06T11:20:50Z</updated>
<author>
<name>Inochi Amaoto</name>
<email>inochiama@outlook.com</email>
</author>
<published>2023-08-30T00:34:43Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=a9cffd65324caf5512e3ebb5b08d5b85efd0a23c'/>
<id>urn:sha1:a9cffd65324caf5512e3ebb5b08d5b85efd0a23c</id>
<content type='text'>
As the the "Console Putchar" extension is already legacy and may
be removed in the furture. So replace it with the SBI v2.0 "DBCN"
extension.

Signed-off-by: Inochi Amaoto &lt;inochiama@outlook.com&gt;
Reviewed-by: Anup Patel &lt;anup@brainfault.org&gt;
</content>
</entry>
<entry>
<title>fw_base.S: Fix assembler error with clang 16+</title>
<updated>2023-08-06T05:36:02Z</updated>
<author>
<name>Mitchell Horne</name>
<email>mhorne@freebsd.org</email>
</author>
<published>2023-08-06T05:15:36Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=94197a8c49751eabe73ff2849fce183ac8ead3fd'/>
<id>urn:sha1:94197a8c49751eabe73ff2849fce183ac8ead3fd</id>
<content type='text'>
Attempting to build OpenSBI with clang 16 and the following command:

   $ make LLVM=1 PLATFORM=generic

Results in the following error:

    AS        platform/generic/firmware/fw_dynamic.o
   /tmp/fw_dynamic-d000a6.s:429:9: error: symbol '_fw_start' can not be undefined in a subtraction expression
    .dword _fw_rw_start - _fw_start

Work around this issue by eliminating the __fw_rw_offset variable and
performing the offset calculation at run-time instead. This takes
advantage of the fact that the a4 register contains the value of
_fw_start.

Signed-off-by: Mitchell Horne &lt;mhorne@FreeBSD.org&gt;
Reviewed-by: Anup Patel &lt;anup@brainfault.org&gt;
</content>
</entry>
<entry>
<title>firmware: Fix find hart index</title>
<updated>2023-06-21T04:50:51Z</updated>
<author>
<name>Xiang W</name>
<email>wxjstz@126.com</email>
</author>
<published>2023-06-16T07:03:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=d64942f0e4fe63a248e7ba3dd7ff4dec02954134'/>
<id>urn:sha1:d64942f0e4fe63a248e7ba3dd7ff4dec02954134</id>
<content type='text'>
After the loop to find the hartid is launched, assigning -1 to
index will fail in the subsequent compare instruction bge. Fix
This.

Signed-off-by: Xiang W &lt;wxjstz@126.com&gt;
Reviewed-by: Anup Patel &lt;anup@brainfault.org&gt;
</content>
</entry>
<entry>
<title>platform: Allow platforms to specify heap size</title>
<updated>2023-06-05T10:15:33Z</updated>
<author>
<name>Anup Patel</name>
<email>apatel@ventanamicro.com</email>
</author>
<published>2023-04-17T05:58:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=5cf9a540164a018a31a679578a27eb964af0340d'/>
<id>urn:sha1:5cf9a540164a018a31a679578a27eb964af0340d</id>
<content type='text'>
We extend struct sbi_platform and struct sbi_scratch to allow platforms
specify the heap size to the OpenSBI firmwares. The OpenSBI firmwares
will use this information to determine the location of heap and provide
heap base address in per-HART scratch space.

Signed-off-by: Anup Patel &lt;apatel@ventanamicro.com&gt;
Reviewed-by: Andrew Jones &lt;ajones@ventanamicro.com&gt;
</content>
</entry>
<entry>
<title>firmware: Change to use positive offset to access relocation entries</title>
<updated>2023-04-17T03:25:55Z</updated>
<author>
<name>Bin Meng</name>
<email>bmeng@tinylab.org</email>
</author>
<published>2023-04-04T04:46:01Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=e41dbb507c422c52cf93228ca7157394d49ca9fe'/>
<id>urn:sha1:e41dbb507c422c52cf93228ca7157394d49ca9fe</id>
<content type='text'>
The codes currently skip the very first relocation entry, but later
reference the elements in the relocation entry using minus offsets.

Change to use positive offsets so that there is no need to skip the
first relocation entry.

Signed-off-by: Bin Meng &lt;bmeng@tinylab.org&gt;
Reviewed-by: Anup Patel &lt;anup@brainfault.org&gt;
Reviewed-by: Xiang W &lt;wxjstz@126.com&gt;
</content>
</entry>
<entry>
<title>firmware: Optimize loading relocation type</title>
<updated>2023-04-17T03:25:49Z</updated>
<author>
<name>Bin Meng</name>
<email>bmeng@tinylab.org</email>
</author>
<published>2023-04-04T04:46:00Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=f692289ed42882567491c35700a1feb64ba540b5'/>
<id>urn:sha1:f692289ed42882567491c35700a1feb64ba540b5</id>
<content type='text'>
't5' already contains relocation type so don't bother reloading it.

Signed-off-by: Bin Meng &lt;bmeng@tinylab.org&gt;
Reviewed-by: Anup Patel &lt;anup@brainfault.org&gt;
Reviewed-by: Xiang W &lt;wxjstz@126.com&gt;
</content>
</entry>
</feed>
