<feed xmlns='http://www.w3.org/2005/Atom'>
<title>opensbi.git/firmware/fw_base.S, branch v0.5</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.5</id>
<link rel='self' href='http://cgit.235523.xyz/opensbi.git/atom/firmware/fw_base.S?h=v0.5'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/'/>
<updated>2019-09-30T09:59:37Z</updated>
<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>
<entry>
<title>firmware: Relocate when load address is not equal to link address</title>
<updated>2019-06-12T12:26:28Z</updated>
<author>
<name>Anup Patel</name>
<email>anup.patel@wdc.com</email>
</author>
<published>2019-06-07T14:56:55Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=331f291e4cff8f0b7b35edded21132c2fa69fb97'/>
<id>urn:sha1:331f291e4cff8f0b7b35edded21132c2fa69fb97</id>
<content type='text'>
This patch extends fw_base to relocate to link address whenever
firmware load address is not equal to link address.

The relocation will not work when load start to load end overlap
link start to link end.

Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Tested-by: Lukas Auer &lt;lukas.auer@aisec.fraunhofer.de&gt;
</content>
</entry>
<entry>
<title>firmware: Allow firmwares to provide next mode and options</title>
<updated>2019-05-10T06:56:22Z</updated>
<author>
<name>Anup Patel</name>
<email>anup.patel@wdc.com</email>
</author>
<published>2019-04-29T05:14:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=25472de89ee3b98cd466f69d1f419f943dcbcb0f'/>
<id>urn:sha1:25472de89ee3b98cd466f69d1f419f943dcbcb0f</id>
<content type='text'>
This patch extends existing firmwares (i.e. fw_jump and fw_payload)
to explicitly provide next mode and options to fw_base.

We also introduce fw_save_info() which is called by fw_base very
early on boot HART. This function can be used by existing firmwares
(i.e. fw_jump and fw_payload) to save information passed by previous
booting stage.

Overall, this is a preparatory patch for implementing fw_dynamic.

Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Reviewed-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
Reviewed-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
<entry>
<title>firmware: Fix source fdt alignment</title>
<updated>2019-04-04T03:40:28Z</updated>
<author>
<name>Xiang Wang</name>
<email>wxjstz@126.com</email>
</author>
<published>2019-04-02T08:57:22Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=09f976802bcd291c80b8260746bdcf5b530179ae'/>
<id>urn:sha1:09f976802bcd291c80b8260746bdcf5b530179ae</id>
<content type='text'>
When I tried to start opensbi with coreboot, I found that aligning to a 16-byte
boundary would make a copy error.

Corrected to align to an machine word length boundary.

Signed-off-by: Xiang Wang &lt;wxjstz@126.com&gt;
</content>
</entry>
</feed>
