<feed xmlns='http://www.w3.org/2005/Atom'>
<title>opensbi.git/firmware/fw_base.S, branch v0.6</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/opensbi.git/atom/firmware/fw_base.S?h=v0.6</id>
<link rel='self' href='http://cgit.235523.xyz/opensbi.git/atom/firmware/fw_base.S?h=v0.6'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/'/>
<updated>2020-01-10T04:00:27Z</updated>
<entry>
<title>firmware: Fix placement of .align directives</title>
<updated>2020-01-10T04:00:27Z</updated>
<author>
<name>Andreas Schwab</name>
<email>schwab@suse.de</email>
</author>
<published>2020-01-09T11:49:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=6ffe1bed09be1cb2db8755b30c0258849184400b'/>
<id>urn:sha1:6ffe1bed09be1cb2db8755b30c0258849184400b</id>
<content type='text'>
Move the .align directives after switching the section.  We want to align
the start of the current section, not the end of the previous section.
This also obsoletes the misguided workaround of disabling relaxation.

Signed-off-by: Andreas Schwab &lt;schwab@suse.de&gt;
Reviewed-by: Anup Patel &lt;anup.patel@wdc.com&gt;
</content>
</entry>
<entry>
<title>firmware: Add preferred boot HART field in struct fw_dynamic_info</title>
<updated>2019-11-15T12:11:18Z</updated>
<author>
<name>Anup Patel</name>
<email>anup.patel@wdc.com</email>
</author>
<published>2019-11-06T10:54:35Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=7a13beb213266cbf6f15ddbbef5bfca274086bd3'/>
<id>urn:sha1:7a13beb213266cbf6f15ddbbef5bfca274086bd3</id>
<content type='text'>
It has been reported that link address range of previous booting stage
(such as U-Boot SPL) can overlap the link address rage of FW_DYNAMIC.

This means self-relocation in FW_DYNAMIC can potentially corrupt
previous booting stage if any of the secondary HART enter FW_DYNAMIC
before primary HART.

To tackle this, we add preferred boot HART field (i.e boot_hart) in
struct fw_dyanmic_info. We use this field to force secondary HARTs
into relocation wait loop till preferred/primary boot HART enters
FW_DYNAMIC completes self-relocation. If preferred boot HART is not
available then we fall back to relocation lottery approach.

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: Introduce relocation lottery</title>
<updated>2019-11-05T03:20:04Z</updated>
<author>
<name>Anup Patel</name>
<email>anup.patel@wdc.com</email>
</author>
<published>2019-10-31T08:41:55Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=98f4a208995b027662a7b04a25e4fa5df5f3eefe'/>
<id>urn:sha1:98f4a208995b027662a7b04a25e4fa5df5f3eefe</id>
<content type='text'>
Instead of forcing HART0 to do the relocation and scratch init
work, we should have an atomic lottery to decide which HART does
the relocation and scratch init.

This way any HART can be boot/main HART.

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>lib: Extend sbi_trap_redirect() for hypervisor extension</title>
<updated>2019-09-30T09:59:37Z</updated>
<author>
<name>Anup Patel</name>
<email>anup.patel@wdc.com</email>
</author>
<published>2019-04-15T06:23:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=bbeb8e619d1cc528d2d56531512d6ea406f9738b'/>
<id>urn:sha1:bbeb8e619d1cc528d2d56531512d6ea406f9738b</id>
<content type='text'>
When hypervisor extension is available, we can get traps from VS/VU
modes. We should be able to force redirect some of these traps to
HS-mode. In other words, we should be able forward traps from VS/VU
mode to HS-mode using sbi_trap_redirect() hence this patch.

Signed-off-by: Atish Patra &lt;atish.patra@wdc.com&gt;
Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Signed-off-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
</content>
</entry>
<entry>
<title>firmware: do not use relocated _boot_status before it is valid</title>
<updated>2019-08-13T03:37:16Z</updated>
<author>
<name>Lukas Auer</name>
<email>lukas.auer@aisec.fraunhofer.de</email>
</author>
<published>2019-08-12T21:50:42Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=2e0f3ac758da99fb6d1b4c651643999d83cd0a7f'/>
<id>urn:sha1:2e0f3ac758da99fb6d1b4c651643999d83cd0a7f</id>
<content type='text'>
When OpenSBI is started from an address not equal to the link address,
it is first relocated to the link address. Hart 0 performs the
relocation and notifies the other harts of its completion with the
_boot_status variable. It uses the copy of the variable relative to the
link address. This copy contains valid data only after relocation has
finished. The waiting harts will therefore read invalid data until
relocation has finished. This can cause them to continue execution too
early.

Fix this by using the _boot_status variable relative to the load address
while OpenSBI has not finished relocation.

Signed-off-by: Lukas Auer &lt;lukas.auer@aisec.fraunhofer.de&gt;
Reviewed-by: Anup Patel &lt;anup.patel@wdc.com&gt;
</content>
</entry>
<entry>
<title>firmware: Use macro instead of magic number for boot status</title>
<updated>2019-08-09T07:00:08Z</updated>
<author>
<name>Bin Meng</name>
<email>bmeng.cn@gmail.com</email>
</author>
<published>2019-08-08T08:59:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=b1318e578b81690d7dcc57019e3f26c2b563bd74'/>
<id>urn:sha1:b1318e578b81690d7dcc57019e3f26c2b563bd74</id>
<content type='text'>
The boot status is currently hard-coded. Define some macros for it.

Signed-off-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Reviewed-by: Anup Patel &lt;anup.patel@wdc.com&gt;
</content>
</entry>
<entry>
<title>firmware: Fix the loop condition of _wait_relocate_copy_done section</title>
<updated>2019-08-07T12:34:53Z</updated>
<author>
<name>Nylon Chen</name>
<email>nylon7@andestech.com</email>
</author>
<published>2019-08-02T05:34:42Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=c1b9dd3ab5177c3f3116b713e0e398243f73f2fa'/>
<id>urn:sha1:c1b9dd3ab5177c3f3116b713e0e398243f73f2fa</id>
<content type='text'>
If core-0 have finished _fdt_reloc_done but any of other cores has not
yet left the loop in _wait_relocate_copy_done, they could never leave
the loop because _boot_status is not equal to 1.
</content>
</entry>
<entry>
<title>firmware: For no relocation skip two stage wait for secondary HARTs</title>
<updated>2019-07-01T03:24:13Z</updated>
<author>
<name>Anup Patel</name>
<email>anup.patel@wdc.com</email>
</author>
<published>2019-07-01T03:24:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=bb3edd36afedc03903930380bef93ed77e83aef8'/>
<id>urn:sha1:bb3edd36afedc03903930380bef93ed77e83aef8</id>
<content type='text'>
When relocation is not required (i.e. _load_start == _link_start), we
can skip two stage wait for secondary HARTs. This means secondary HARTs
can skip the _wait_relocate_copy_done() loop and directly jump to the
_wait_for_boot_hart() loop when no relocation not required.

Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
</content>
</entry>
<entry>
<title>firmware: Handle overlapping load and link addresses in relocation</title>
<updated>2019-06-24T04:09:18Z</updated>
<author>
<name>Xiang W</name>
<email>wxjstz@126.com</email>
</author>
<published>2019-06-20T07:01:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=65aa5873c377cfd01f4923e02871e401be644162'/>
<id>urn:sha1:65aa5873c377cfd01f4923e02871e401be644162</id>
<content type='text'>
The old code may corrupt the code of the waiting hart hence this patch
keeps waiting HART within relocation code range at time of relocation.

Signed-off-by: Xiang W &lt;wxjstz@126.com&gt;
Acked-by: Anup Patel &lt;anup.patel@wdc.com&gt;
</content>
</entry>
<entry>
<title>firmware: Handle overlapping load and link addresses in relocation</title>
<updated>2019-06-17T06:23:42Z</updated>
<author>
<name>Xiang W</name>
<email>wxjstz@126.com</email>
</author>
<published>2019-06-13T07:23:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=a5b37bd7d275fc65d8fd0b19bd3a08edfe4e6096'/>
<id>urn:sha1:a5b37bd7d275fc65d8fd0b19bd3a08edfe4e6096</id>
<content type='text'>
This patch extends relocation to handle overlapping load and link
addresses.

The updated relocation will work fine in most cases except when the
relocate copy loop itself falls in overlapping load and link addresses.

Signed-off-by: Xiang W &lt;wxjstz@126.com&gt;
Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
</content>
</entry>
</feed>
