SCP-firmware merge requestshttps://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests2023-12-14T10:27:22Zhttps://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/524RFC: SCMI server for OP-TEE, Zephyr and Vhost User2023-12-14T10:27:22ZDarryl GreenRFC: SCMI server for OP-TEE, Zephyr and Vhost User*Created by: vingu-linaro*
This P-R integrates the changes that we have made in SCP firmware in order to make it run as a SCMI server in:
- OP-TEE env. This has been tested on FVP arm64 and stm32. SCP-Firmware is integrated as a sub...*Created by: vingu-linaro*
This P-R integrates the changes that we have made in SCP firmware in order to make it run as a SCMI server in:
- OP-TEE env. This has been tested on FVP arm64 and stm32. SCP-Firmware is integrated as a sub-module of op_tee-os. this PR has been tested with : https://github.com/vingu-linaro/optee_os/tree/scmi-over-optee. The product/optee-fvp is used with fvp platform.
- Vhost user virtio SCMI backend. The SCP-firmware handles virtio-scmi request over a vhost user socket. This has been tested with a Linux image VM with Qemu. The product/vhost-user is built to monitor vscmi.ospm0.sock and vscmi.ospm1.sock. Additional Qemu parameter to provides:
qemu-system-aarch64 <usual qemu parameters to run rou linux image ..> -chardev socket,path=vscmi-ospm0.sock,id=vscmi -device vhost-user-scmi-device,chardev=vscmi,id=scmi -object memory-backend-file,id=mem,size=1G,mem-path=/dev/shm,share=on -numa node,memdev=mem -dtb /home/vingu/Linaro/Kernel/out/binaries/arm64/virt-scmi.dtb -global virtio-mmio.force-legacy=false. You have to create your own dtb file based on Qemu's one in order to add the scmi protocol that you want to enable in Linux.
- Virtio MMIO/ virtio SCMI device in zephyr. The SCP-firmware is used as a submodule of a zephyr app : https://github.com/vingu-linaro/mySCP-zephyr. It handles virtio-mmio request through a new virtio mmio zephyr device. This full setup is a bit more complex to put in place as it needs some changes in several other repo but i can provides the details if you are interested in. This one uses CMake
I don't expect this P-R to be merged as it is but appreciate some feedback about the way the new arch have been added in arch/none. The P-R also add 2 new features:
- add a framework stop stage to let module and element to cleanly destroy and release resource and memory. This is useful for the vhost user backend as it delete cleanly host resources
- add a context in mono threading mode. Enable to create an event list per channel. The goal is to be able to handle simultaneously and independently the requests from 2 differents channels which don't access the same resources.
https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/492Resolve IRQ overflows in TC0/RD-N22021-08-02T08:09:34ZChris KayResolve IRQ overflows in TC0/RD-N2https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/463build(deps): bump rexml from 3.2.4 to 3.2.52021-05-04T16:11:38ZDarryl Greenbuild(deps): bump rexml from 3.2.4 to 3.2.5*Created by: dependabot[bot]*
Bumps [rexml](https://github.com/ruby/rexml) from 3.2.4 to 3.2.5.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/ruby/rexml/blob/master/NEWS.md">rexml's changelog</a>...*Created by: dependabot[bot]*
Bumps [rexml](https://github.com/ruby/rexml) from 3.2.4 to 3.2.5.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/ruby/rexml/blob/master/NEWS.md">rexml's changelog</a>.</em></p>
<blockquote>
<h2>3.2.5 - 2021-04-05 {#version-3-2-5}</h2>
<h3>Improvements</h3>
<ul>
<li>
<p>Add more validations to XPath parser.</p>
</li>
<li>
<p><code>require "rexml/document"</code> by default.
[GitHub#36][Patch by Koichi ITO]</p>
</li>
<li>
<p>Don't add <code>#dcloe</code> method to core classes globally.
[GitHub#37][Patch by Akira Matsuda]</p>
</li>
<li>
<p>Add more documentations.
[Patch by Burdette Lamar]</p>
</li>
<li>
<p>Added <code>REXML::Elements#parent</code>.
[GitHub#52][Patch by Burdette Lamar]</p>
</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>
<p>Fixed a bug that <code>REXML::DocType#clone</code> doesn't copy external ID
information.</p>
</li>
<li>
<p>Fixed round-trip vulnerability bugs.
See also: <a href="https://www.ruby-lang.org/en/news/2021/04/05/xml-round-trip-vulnerability-in-rexml-cve-2021-28965/">https://www.ruby-lang.org/en/news/2021/04/05/xml-round-trip-vulnerability-in-rexml-cve-2021-28965/</a>
[HackerOne#1104077][CVE-2021-28965][Reported by Juho Nurminen]</p>
</li>
</ul>
<h3>Thanks</h3>
<ul>
<li>
<p>Koichi ITO</p>
</li>
<li>
<p>Akira Matsuda</p>
</li>
<li>
<p>Burdette Lamar</p>
</li>
<li>
<p>Juho Nurminen</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/ruby/rexml/commit/a622645e980ea5b91ad7b4d6fec32d113f15df88"><code>a622645</code></a> Add 3.2.5 entry</li>
<li><a href="https://github.com/ruby/rexml/commit/3c137eb119550874b2b3e27d12b733ca67033377"><code>3c137eb</code></a> Fix a parser bug that some data may be ignored before DOCTYPE</li>
<li><a href="https://github.com/ruby/rexml/commit/9b311e59ae05749e082eb6bbefa1cb620d1a786e"><code>9b311e5</code></a> Fix a bug that invalid document declaration may be accepted</li>
<li><a href="https://github.com/ruby/rexml/commit/f9d88e4948b4a43294c25dc0edb16815bd9d8618"><code>f9d88e4</code></a> Fix a bug that invalid document declaration may be generated</li>
<li><a href="https://github.com/ruby/rexml/commit/f7bab8937513b1403cea5aff874cbf32fd5e8551"><code>f7bab89</code></a> Fix a bug that invalid element end may be accepted</li>
<li><a href="https://github.com/ruby/rexml/commit/6a250d2cd1194c2be72becbdd9c3e770aa16e752"><code>6a250d2</code></a> Fix a bug that invalid element start may be accepted</li>
<li><a href="https://github.com/ruby/rexml/commit/2fe62e29094d95921d7e19abbd2e26b23d78dc5b"><code>2fe62e2</code></a> Fix a bug that invalid notation declaration may be accepted</li>
<li><a href="https://github.com/ruby/rexml/commit/a659c63e37414506dfb0d4655e031bb7a2e73fc8"><code>a659c63</code></a> Fix a bug that invalid notation declaration may be generated</li>
<li><a href="https://github.com/ruby/rexml/commit/790dd113ce693ce831cbbc53f2f990a317643f75"><code>790dd11</code></a> Use ruby/setup-ruby (<a href="https://github-redirect.dependabot.com/ruby/rexml/issues/66">#66</a>)</li>
<li><a href="https://github.com/ruby/rexml/commit/eda1b2007dd8751f381bf741f16c9e33c5d3e52a"><code>eda1b20</code></a> Clean up and enhance high-level RDoc (<a href="https://github-redirect.dependabot.com/ruby/rexml/issues/65">#65</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/ruby/rexml/compare/v3.2.4...v3.2.5">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rexml&package-manager=bundler&previous-version=3.2.4&new-version=3.2.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/ARM-software/SCP-firmware/network/alerts).
</details>https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/453build(deps): bump kramdown from 2.3.0 to 2.3.12021-03-30T15:12:34ZDarryl Greenbuild(deps): bump kramdown from 2.3.0 to 2.3.1*Created by: dependabot[bot]*
Bumps [kramdown](https://github.com/gettalong/kramdown) from 2.3.0 to 2.3.1.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/gettalong/kramdown/commits">compare vi...*Created by: dependabot[bot]*
Bumps [kramdown](https://github.com/gettalong/kramdown) from 2.3.0 to 2.3.1.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/gettalong/kramdown/commits">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=kramdown&package-manager=bundler&previous-version=2.3.0&new-version=2.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/ARM-software/SCP-firmware/network/alerts).
</details>https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/460misra rule 15 62021-04-30T15:00:53ZDarryl Greenmisra rule 15 6*Created by: tarek-arm*
*Created by: tarek-arm*
https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/454[EXPERIMENTAL] Traffic cop and mpmm experimental2021-10-07T07:45:01ZDarryl Green[EXPERIMENTAL] Traffic cop and mpmm experimental*Created by: tarek-arm*
This is an experimental PR. It contains the initial work done for traffic cop and mpmm. This is not fully tested yet.*Created by: tarek-arm*
This is an experimental PR. It contains the initial work done for traffic cop and mpmm. This is not fully tested yet.https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/447[EXPERIMENTAL] Clock management framework2021-05-27T13:18:53ZDarryl Green[EXPERIMENTAL] Clock management framework*Created by: leandro-arm*
*Created by: leandro-arm*
https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/444scmi: fix psci protocol-count assertions2022-10-20T08:28:11ZDarryl Greenscmi: fix psci protocol-count assertions*Created by: HelloGravity*
I got assertion errors when trying to work with mod_scmi with a PSCI agent with `protocol_count=0`.
It turned out the assertion itself has a bug, it does not allow `scmi_ctx.protocol_count` to be equal to `...*Created by: HelloGravity*
I got assertion errors when trying to work with mod_scmi with a PSCI agent with `protocol_count=0`.
It turned out the assertion itself has a bug, it does not allow `scmi_ctx.protocol_count` to be equal to `scmi_ctx.config->dis_protocol_count_psci`.
The reason for the assertion is so that the subtraction `scmi_ctx.protocol_count - scmi_ctx.config->dis_protocol_count_psci` would not be negative. But no reason it cannot be 0.
It worked after fixing these 2 assertions.
https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/405module: rename cmn_rhodes to cmn6502021-01-28T15:25:04ZDarryl Greenmodule: rename cmn_rhodes to cmn650*Created by: vijayenthiran-arm*
The CMN-650 is the product name given to CMN-Rhodes interconnect. So
rename the module and corresponding product usage to reflect the same.
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subr...*Created by: vijayenthiran-arm*
The CMN-650 is the product name given to CMN-Rhodes interconnect. So
rename the module and corresponding product usage to reflect the same.
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
Change-Id: I3e930c61577a6c668274f8ec391b2cdd76c3e4cahttps://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/400Minor fix in cpu.mk of bug causing an intended error message to not be displayed2022-10-20T08:27:54ZDarryl GreenMinor fix in cpu.mk of bug causing an intended error message to not be displayed*Created by: yaronm-hailo*
When building without setting `BS_FIRMWARE_CPU` to a valid option I was not getting the intended error message because of a typo in the error line in `cpu.mk` - it should be `$(error ...)` and not `$(erro ...)`*Created by: yaronm-hailo*
When building without setting `BS_FIRMWARE_CPU` to a valid option I was not getting the intended error message because of a typo in the error line in `cpu.mk` - it should be `$(error ...)` and not `$(erro ...)`https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/399fwk_module: add debug message for module processing2022-10-20T08:27:06ZDarryl Greenfwk_module: add debug message for module processing*Created by: iwishguo*
When SCP firmware hangs in development, it is not very easy to find
which module and which stage of the module causes the hang.
Add debug messages using cli_printf() in the module processing
framework to make...*Created by: iwishguo*
When SCP firmware hangs in development, it is not very easy to find
which module and which stage of the module causes the hang.
Add debug messages using cli_printf() in the module processing
framework to make it easier to find which piece of code dies.
Signed-off-by: Heyi Guo <guoheyi@linux.alibaba.com>https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/384[RFC] framework thread context in OP-TEE threads2021-09-10T06:45:28ZDarryl Green[RFC] framework thread context in OP-TEE threads*Created by: etienne-lms*
This RFC shows how we currently bind an OP-TEE thread context with an SCMI thread context. This is used to allow unrelated SCMI services to nicely operate each on their own OP-TEE thread context. Actually this ...*Created by: etienne-lms*
This RFC shows how we currently bind an OP-TEE thread context with an SCMI thread context. This is used to allow unrelated SCMI services to nicely operate each on their own OP-TEE thread context. Actually this architecture is still being discussed internally.
This P-R is not really a RFC, rather a way to share code and show how we did.https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/383[RFC] Hacking framework to build SCP-firmware in OP-TEE2021-09-10T06:45:00ZDarryl Green[RFC] Hacking framework to build SCP-firmware in OP-TEE*Created by: etienne-lms*
This RFC shows changed we had to make in SCP-firmware framework to build it in optee_os Core. A specific BUILD_OPTEE configuration switch highlight where we needed a specific OP-TEE implementation.*Created by: etienne-lms*
This RFC shows changed we had to make in SCP-firmware framework to build it in optee_os Core. A specific BUILD_OPTEE configuration switch highlight where we needed a specific OP-TEE implementation.https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/382building some SCP-firmware resources without notification/multithread/...2021-09-10T06:44:31ZDarryl Greenbuilding some SCP-firmware resources without notification/multithread/...*Created by: etienne-lms*
*Created by: etienne-lms*
https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/381minor fix and cleaning changes2021-09-10T06:43:25ZDarryl Greenminor fix and cleaning changes*Created by: etienne-lms*
*Created by: etienne-lms*
https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/351Disable cppcheck for product rcar2020-10-12T15:30:31ZDarryl GreenDisable cppcheck for product rcar*Created by: jimqui01*
*Created by: jimqui01*
https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/352cppcheck suppression format incorrect for product/rcar2020-10-12T15:36:52ZDarryl Greencppcheck suppression format incorrect for product/rcar*Created by: jimqui01*
*Created by: jimqui01*
https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/341Platform/Product port for rcar2020-10-28T13:21:53ZDarryl GreenPlatform/Product port for rcar*Created by: n-royer*
*Created by: n-royer*
https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/338FWK: Minor changes to framework event handling to reduce overhead2020-09-25T08:37:12ZDarryl GreenFWK: Minor changes to framework event handling to reduce overhead*Created by: jimqui01*
*Created by: jimqui01*
https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/313power_domain: Add check for get_last_core_pd_id2020-08-28T13:50:47ZDarryl Greenpower_domain: Add check for get_last_core_pd_id*Created by: leandro-arm*
This patch implements a validation check such that when the
get_last_core_pd_id() function is called by the driver, the
module returns an error if the system is not performing
system_supend.
Change-Id: Ie...*Created by: leandro-arm*
This patch implements a validation check such that when the
get_last_core_pd_id() function is called by the driver, the
module returns an error if the system is not performing
system_supend.
Change-Id: Ied3a2f17b2fb471933232c8209e4d3048c4a1e8b
Signed-off-by: Leandro Belli <leandro.belli@arm.com>