<feed xmlns='http://www.w3.org/2005/Atom'>
<title>starfive-tech/opensbi.git/lib/sbi, branch starfive-dubhe</title>
<subtitle>StarFive Tech OpenSBI for VisionFive (JH7110) boards (mirror)</subtitle>
<id>https://git.radix-linux.su/starfive-tech/opensbi.git/atom?h=starfive-dubhe</id>
<link rel='self' href='https://git.radix-linux.su/starfive-tech/opensbi.git/atom?h=starfive-dubhe'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/opensbi.git/'/>
<updated>2021-07-11T09:01:21+00:00</updated>
<entry>
<title>lib: sbi: Fix sbi_pmu_exit() for systems not having MCOUNTINHIBIT csr</title>
<updated>2021-07-11T09:01:21+00:00</updated>
<author>
<name>Anup Patel</name>
<email>anup.patel@wdc.com</email>
</author>
<published>2021-07-11T08:58:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/opensbi.git/commit/?id=a76ac4449bf2b67b899ebdb5085834e94987b690'/>
<id>urn:sha1:a76ac4449bf2b67b899ebdb5085834e94987b690</id>
<content type='text'>
The sbi_pmu_exit() crashes on systems not having MCOUNTINHIBIT csr
so to fix this we check SBI_HART_HAS_MCOUNTINHIBIT feature in
sbi_pmu_exit() and do nothing if it is not available.

Fixes: 13d40f21d588 ("lib: sbi: Add PMU support")
Signed-off-by: Anup Patel &lt;anup.patel@wdc.com&gt;
</content>
</entry>
<entry>
<title>lib: sbi: Improve TLB function naming</title>
<updated>2021-07-11T05:08:26+00:00</updated>
<author>
<name>Atish Patra</name>
<email>atish.patra@wdc.com</email>
</author>
<published>2021-07-10T16:18:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/opensbi.git/commit/?id=ec1b8bb76336e3b2eda25a550808c1be56c02033'/>
<id>urn:sha1:ec1b8bb76336e3b2eda25a550808c1be56c02033</id>
<content type='text'>
Follow the standard conventon for static function names:

	All global functions should be start with sbi_&lt;module name&gt;_
	All static functions should be start with &lt;module name&gt;_

Reviewed-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Signed-off-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
<entry>
<title>lib: sbi: Implement firmware counters</title>
<updated>2021-07-11T05:08:23+00:00</updated>
<author>
<name>Atish Patra</name>
<email>atish.patra@wdc.com</email>
</author>
<published>2021-07-10T16:18:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/opensbi.git/commit/?id=764a17d852a8cc80050016a6e2ccdcaddd43f68c'/>
<id>urn:sha1:764a17d852a8cc80050016a6e2ccdcaddd43f68c</id>
<content type='text'>
RISC-V SBI v0.3 specification defines a set of firmware events that can
provide additional information about the current firmware context. All
of the firmware event monitoring are enabled now. The firmware
events must be defined as raw perf event with MSB set as specified in the
specification.

Reviewed-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Signed-off-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
<entry>
<title>lib: sbi: Implement SBI PMU extension</title>
<updated>2021-07-11T05:08:02+00:00</updated>
<author>
<name>Atish Patra</name>
<email>atish.patra@wdc.com</email>
</author>
<published>2021-07-10T16:18:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/opensbi.git/commit/?id=37f9b0f2f265b2f312d974fb8d100b85b3faf94f'/>
<id>urn:sha1:37f9b0f2f265b2f312d974fb8d100b85b3faf94f</id>
<content type='text'>
RISC-V SBI specfication 0.3 defines a PMU extension that allows supervisor
mode to start/stop/configure pmu related events. This patch implements
all of the functionality defined in the specification.

Reviewed-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Signed-off-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
<entry>
<title>lib: sbi: Add PMU support</title>
<updated>2021-07-11T04:53:18+00:00</updated>
<author>
<name>Atish Patra</name>
<email>atish.patra@wdc.com</email>
</author>
<published>2021-07-10T16:18:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/opensbi.git/commit/?id=13d40f21d588e17a31624ed415f114987b6bd3d0'/>
<id>urn:sha1:13d40f21d588e17a31624ed415f114987b6bd3d0</id>
<content type='text'>
RISC-V SBI v0.3 specification defined a PMU extension to configure/start/stop
the hardware/firmware pmu events.

Implement PMU support in OpenSBI library. The implementation is agnostic of
event to counter mapping &amp; mhpmevent value configuration. That means, it
expects platform hooks will be used to set up the mapping and provide
the mhpmevent value at runtime.

Reviewed-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Signed-off-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
<entry>
<title>lib: sbi: Use csr_read/write_num to read/update PMU counters</title>
<updated>2021-07-11T04:50:44+00:00</updated>
<author>
<name>Atish Patra</name>
<email>atish.patra@wdc.com</email>
</author>
<published>2021-07-10T16:18:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/opensbi.git/commit/?id=49966db30658a3d5070e1a10200bd8c73dab0851'/>
<id>urn:sha1:49966db30658a3d5070e1a10200bd8c73dab0851</id>
<content type='text'>
Currently, csr_read/write_num functions are used to read/write PMP related
CSRs where CSR value is decided at runtime. Expand this function to include
PMU related CSRs as well.

Reviewed-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Reviewed-by: Xiang W &lt;wxjstz@126.com&gt;
Signed-off-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
<entry>
<title>lib: sbi: Remove redundant boot time print statement</title>
<updated>2021-07-11T04:49:48+00:00</updated>
<author>
<name>Atish Patra</name>
<email>atish.patra@wdc.com</email>
</author>
<published>2021-07-10T16:18:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/opensbi.git/commit/?id=fd9116bd46e59ef8fbeaa147bb102527635615ba'/>
<id>urn:sha1:fd9116bd46e59ef8fbeaa147bb102527635615ba</id>
<content type='text'>
This patch removes redundant print from sbi_boot_print_hart().

Reviewed-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Signed-off-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
<entry>
<title>lib: sbi: Disable m/scounteren &amp; enable mcountinhibit</title>
<updated>2021-07-11T04:44:26+00:00</updated>
<author>
<name>Atish Patra</name>
<email>atish.patra@wdc.com</email>
</author>
<published>2021-07-10T16:18:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/opensbi.git/commit/?id=9c9b4ad24bf5891272679a6e994c64463db8ca03'/>
<id>urn:sha1:9c9b4ad24bf5891272679a6e994c64463db8ca03</id>
<content type='text'>
Currently, all bits in mcountern are enabled unconditionally at boot time.
With SBI PMU extension, all the programmable counters should enabled only
during performance monitoring for a particular event. However, this is done
only if mcountinhibit is implemented because the supervisor mode can not
start/stop any event without mcountinhibit.

Similarly, supervisor should take care enabling scounteren which allows
U-mode to access programmable pmu counters. All the non-programmable ones
(CY, TM, IR) should be enabled in M-mode because some userspace may rely on
builtins such as __builtin_readcyclecounter. Supervisor OS can still disable
them during initial configuration.

Reviewed-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Signed-off-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
<entry>
<title>lib: sbi: Detect number of bits implemented in mhpmcounter</title>
<updated>2021-07-11T04:43:04+00:00</updated>
<author>
<name>Atish Patra</name>
<email>atish.patra@wdc.com</email>
</author>
<published>2021-07-10T16:18:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/opensbi.git/commit/?id=0829f2bc284c07576a0dc9a569beea2a2d68dc3d'/>
<id>urn:sha1:0829f2bc284c07576a0dc9a569beea2a2d68dc3d</id>
<content type='text'>
RISC-V privilege specification allows the implementation to have less
than 64 bits.

Add a function to detect the number of implemented bits in mhpmcounter
dynamically at runtime.

Reviewed-by: Xiang W &lt;wxjstz@126.com&gt;
Reviewed-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Signed-off-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
<entry>
<title>lib: sbi: Remove stray '\' character</title>
<updated>2021-07-11T04:42:06+00:00</updated>
<author>
<name>Atish Patra</name>
<email>atish.patra@wdc.com</email>
</author>
<published>2021-07-10T16:18:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/opensbi.git/commit/?id=d3a96cc46989783c2fbb47e11349dbd5d652938d'/>
<id>urn:sha1:d3a96cc46989783c2fbb47e11349dbd5d652938d</id>
<content type='text'>
Reviewed-by: Xiang W &lt;wxjstz@126.com&gt;
Reviewed-by: Anup Patel &lt;anup.patel@wdc.com&gt;
Signed-off-by: Atish Patra &lt;atish.patra@wdc.com&gt;
</content>
</entry>
</feed>
