Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 11721,
"has_wiki": true,
"homepage": "https://gitlab.arm.com/firmware/SCP-firmware",
"languages": {
"C": 16565200,
"Ruby": 1607,
"CMake": 569339,
"Shell": 8373,
"Python": 94804,
"Assembly": 63920,
"Makefile": 13831,
"Dockerfile": 5625
},
"pushed_at": "2024-08-20T08:04:12Z",
"created_at": "2018-05-22T10:35:56Z",
"owner_type": "Organization",
"updated_at": "2026-07-11T04:14:38Z",
"description": "This System Control Processor (SCP) firmware repository is no longer used and has been set to Read-only for archiving purposes. Please refer to the following active repository.",
"is_archived": true,
"is_disabled": false,
"license_spdx": null,
"default_branch": "master",
"license_spdx_raw": "NOASSERTION",
"primary_language": "C",
"significant_languages": [
"C"
]
},
"owner": {
"blog": "www.arm.com",
"name": "Arm Software",
"type": "Organization",
"login": "ARM-software",
"company": null,
"location": "Cambridge, UK",
"followers": 2615,
"avatar_url": "https://avatars.githubusercontent.com/u/5690313?v=4",
"created_at": "2013-10-15T10:38:41Z",
"is_verified": null,
"public_repos": 195,
"account_age_days": 4663
},
"license": {
"state": "custom",
"spdx_id": null,
"raw_spdx": "NOASSERTION",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v2.14.0",
"kind": "minor",
"published_at": "2024-03-08T16:00:01Z"
},
{
"tag": "v2.14.0-rc1",
"kind": "prerelease",
"published_at": "2024-03-04T12:42:48Z"
},
{
"tag": "v2.14.0-rc0",
"kind": "prerelease",
"published_at": "2024-03-04T10:29:29Z"
},
{
"tag": "v2.13.0",
"kind": "minor",
"published_at": "2023-09-13T14:27:08Z"
},
{
"tag": "v2.13.0-rc0",
"kind": "prerelease",
"published_at": "2023-09-06T15:26:33Z"
},
{
"tag": "v2.12.0",
"kind": "minor",
"published_at": "2023-04-14T15:20:21Z"
},
{
"tag": "v2.12.0-rc0",
"kind": "prerelease",
"published_at": "2023-04-04T08:17:29Z"
},
{
"tag": "v2.11.0",
"kind": "minor",
"published_at": "2022-10-06T08:27:52Z"
},
{
"tag": "v2.11.0-rc0",
"kind": "prerelease",
"published_at": "2022-09-21T15:06:57Z"
},
{
"tag": "v2.10.0",
"kind": "minor",
"published_at": "2022-03-31T12:53:23Z"
},
{
"tag": "v2.10.0-rc1",
"kind": "prerelease",
"published_at": "2022-03-28T12:12:49Z"
},
{
"tag": "v2.10.0-rc0",
"kind": "prerelease",
"published_at": "2022-03-24T14:18:41Z"
},
{
"tag": "v2.9.0",
"kind": "minor",
"published_at": "2021-10-05T11:13:43Z"
},
{
"tag": "v2.9.0-rc0",
"kind": "prerelease",
"published_at": "2021-09-30T11:18:17Z"
},
{
"tag": "v2.8.0",
"kind": "minor",
"published_at": "2021-04-22T08:10:41Z"
},
{
"tag": "v2.8.0-rc0",
"kind": "prerelease",
"published_at": "2021-04-08T11:54:02Z"
},
{
"tag": "v2.7.0",
"kind": "minor",
"published_at": "2020-10-20T17:42:06Z"
},
{
"tag": "v2.7.0-rc1",
"kind": "prerelease",
"published_at": "2020-10-20T11:54:24Z"
},
{
"tag": "v2.7.0-rc0",
"kind": "prerelease",
"published_at": "2020-10-15T17:47:47Z"
},
{
"tag": "v2.6.0",
"kind": "minor",
"published_at": "2020-03-19T17:20:59Z"
},
{
"tag": "v2.6.0-rc0",
"kind": "prerelease",
"published_at": "2020-03-17T21:14:14Z"
},
{
"tag": "v2.5.0",
"kind": "minor",
"published_at": "2019-08-08T10:51:27Z"
},
{
"tag": "v2.5.0-rc0",
"kind": "prerelease",
"published_at": "2019-07-24T14:04:21Z"
},
{
"tag": "v2.4.0",
"kind": "minor",
"published_at": "2018-10-10T14:33:05Z"
},
{
"tag": "v2.4.0-rc1",
"kind": "prerelease",
"published_at": "2018-10-10T14:33:05Z"
},
{
"tag": "v2.4.0-rc0",
"kind": "prerelease",
"published_at": "2018-10-09T07:09:10Z"
}
],
"recent_commits": [
{
"oid": "b34e5ceb5bab4bb351e0ba4b86c2f8a539cdbbb4",
"body": "The files were updated after the git revert.\nThis change corrects the copyright year.\n\nSigned-off-by: Tarek El-Sherbiny <tarek.el-sherbiny@arm.com>",
"is_bot": false,
"headline": "smcf: Fix copyright year after revert",
"author_name": "Tarek El-Sherbiny",
"author_login": "tarek-arm",
"committed_at": "2024-08-19T11:29:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bc0a62090b663b799a84e2519f674351a21f462d",
"body": "The method of application the mode is largely determined by the type of\nmonitor being used. Each monitor implementation may require different handling.\nFrom a design perspective, it is preferable to delegate this handling to the\nspecific monitor driver and keep the smcf code generic.\n\nThis reverts commit 9860d64bd6ee38901257cacdc4915d10874b4329\n\nSigned-off-by: Tarek El-Sherbiny <tarek.el-sherbiny@arm.com>",
"is_bot": false,
"headline": "Revert \"smcf: Check MODE_STAT after setting MODE_REQ\"",
"author_name": "Tarek El-Sherbiny",
"author_login": "tarek-arm",
"committed_at": "2024-08-19T11:29:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0f666b2e131c86f6e27001fe6dac99b627d14656",
"body": "Signed-off-by: Leandro Belli <leandro.belli@arm.com>\nChange-Id: Ie8c1d80b9f32a5004c76a86351a018b4cfb7b2e6",
"is_bot": false,
"headline": "requirements.txt: update pyyaml to be compatible with Python 3.10",
"author_name": "Leandro Belli",
"author_login": "leandro-arm",
"committed_at": "2024-08-16T17:35:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "249524daa2f9231969384a79be2523c2f2e98b22",
"body": "On gcc 13.2.0 the following error is flagged:\nstoring the address of local variable ‘data_api’ in\n‘sensor_smcf_drv_ctx.data_api’ [-Werror=dangling-pointer=].\n\nStoring a local pointer in a global variable should be avoided.\n\nSigned-off-by: Tarek El-Sherbiny <tarek.el-sherbiny@arm.com>",
"is_bot": false,
"headline": "sensor_smcf_drv/unit_test: Fix compiler error",
"author_name": "Tarek El-Sherbiny",
"author_login": "tarek-arm",
"committed_at": "2024-08-15T08:27:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5a00810541699953f6ed1732c8b81fdcde310a58",
"body": "On gcc 13.2.0 the following error is flagged:\nerror: comparison of integer expressions of different signedness:\n‘int’ and ‘enum pd_idx’ [-Werror=sign-compare]\n\nPositive enum should be compared against unsigned variables.\n\nSigned-off-by: Tarek El-Sherbiny <tarek.el-sherbiny@arm.com>",
"is_bot": false,
"headline": "mod_power_domain/unit_test: fix compiler error",
"author_name": "Tarek El-Sherbiny",
"author_login": "tarek-arm",
"committed_at": "2024-08-15T08:27:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2da65a4266a33a15968d2724084b9daa4179c94e",
"body": "On gcc 13.2.0 the following error is flagged:\nstoring the address of local variable ‘data_api’ in\n‘amu_smcf_drv_ctx.data_api’ [-Werror=dangling-pointer=].\n\nStoring a local pointer in a global variable should be avoided.\n\nSigned-off-by: Tarek El-Sherbiny <tarek.el-sherbiny@arm.com>",
"is_bot": false,
"headline": "amu_smcf_drv/unit_test: Fix compiler error",
"author_name": "Tarek El-Sherbiny",
"author_login": "tarek-arm",
"committed_at": "2024-08-15T08:27:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ed7e163e111535789250ebb76607bc8028163382",
"body": "Programmable System Address Map feature in NoC S3 allows configurable\naddress map for address‑based routing from each upstream interface to\nthe corresponding downstream interfaces.\n\nAdd the support to configure PSAM during runtime in following mode\n1) Static mapping with the information passed throu\n[…]\nor this reason, the module will maintain the\n context for the blocks that it is managing.\n\nSigned-off-by: Nishant Sharma <nishant.sharma@arm.com>\nChange-Id: Ia2c08a76e5d48ecdb6b38d19180e015aca22dc41",
"is_bot": false,
"headline": "mod/noc_s3: add the support to program psam",
"author_name": "Nishant Sharma",
"author_login": "nissha03",
"committed_at": "2024-08-14T13:09:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "468ef4467f23ca8c16818bd10f06fed80e24ad32",
"body": "The configuration register layout for NoC S3 is laid out in a\nmultibranch tree format. On the top of the tree is global configuration\nnode which points to the domain and domains points to components nodes.\nThe components nodes contains subfeatures that can be used to enable\nPSAM, APU, FCU and IDM.\n\n\n[…]\ne user\nwill access the table using node type 4 and Id 2. Table[4][2] will give\noffset of C2\n\nSigned-off-by: Nishant Sharma <nishant.sharma@arm.com>\nChange-Id: I221694d12a853e46df0f6c434058eaf6dfb4aa2b",
"is_bot": false,
"headline": "mod/noc_s3: add the support to discovery node offset",
"author_name": "Nishant Sharma",
"author_login": "nissha03",
"committed_at": "2024-08-14T13:09:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ffd00f4998e35f798446a8ace0d730c9ece1e33e",
"body": "NoC S3 Network-on-Chip Interconnect is a highly configurable\nsystem-level interconnect. This design allows the creation of a highly\noptimized, non-coherent interconnect which supports Programmable System\nAddress Map, Programmable Access Protection Unit, Programmable Fault\nProtection Unit and many mo\n[…]\n S3 features. The handlers added in this change will be consumed by\nthe subsequent changes.\n\nSigned-off-by: Nishant Sharma <nishant.sharma@arm.com>\nChange-Id: I81d9d7175a4c1f43dd84e5118772bc8b9d6826d5",
"is_bot": false,
"headline": "mod/noc_s3: add initial framework handlers",
"author_name": "Nishant Sharma",
"author_login": "nissha03",
"committed_at": "2024-08-14T13:09:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e1fb6b016a242734b4a01cfbdf2d16671b446a7a",
"body": "In Cortex-M3/M4/M23/M33, a core register block was named the System Control and\nID Register, separate from the System Control Block (SCnSCB). In Cortex-M55/M85,\nthe same block was renamed to Implementation Control Registers (ICB), creating a\nnaming discrepancy within the same Cortex v8m family. Ther\n[…]\nnsure compatibility, the register's definition\nis utilized over the family.\n\nThis adjustment should facilitate the build for Cortex-M23 and M33 cores.\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
"is_bot": false,
"headline": "arch: Enhance compatibility for `arch_nvic_init`",
"author_name": "Wei-Chia Su",
"author_login": null,
"committed_at": "2024-08-12T15:23:34Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "98379844eb154240398dcc1a1885e0575dfce44f",
"body": "This commit removes the dependencies of clang-tidy including configuration file\nlocated in the parent directory.\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
"is_bot": false,
"headline": "cmake: Terminate Clang-Tidy support",
"author_name": "Wei-Chia Su",
"author_login": null,
"committed_at": "2024-08-09T17:05:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3c4305d916c2c6dd650c030e8740fc1c723cda19",
"body": "This commit removes the dependencies of IWYU including pragmas in source file.\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
"is_bot": false,
"headline": "cmake: Terminate Include What You Use (IWYU) support",
"author_name": "Wei-Chia Su",
"author_login": null,
"committed_at": "2024-08-09T17:05:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a86c59b96dccf618428f57d00448874d3ba7db4d",
"body": "This commit removes cmake targets for yamllint by dropping unused cmake and\nconfiguration file. Also, It removes redundant python package and script.\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
"is_bot": false,
"headline": "cmake: Terminate yamllint support",
"author_name": "Wei-Chia Su",
"author_login": null,
"committed_at": "2024-08-09T17:05:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "124b59ee1336cd9335c637d3d9b4c83db00acb8a",
"body": "This commit removes targets for c. All the dependencies of clang-format are\ndropped including submodule `run-clang-format`.\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
"is_bot": false,
"headline": "cmake: Terminate Clang-format support",
"author_name": "Wei-Chia Su",
"author_login": null,
"committed_at": "2024-08-09T17:05:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "68c1a0ff9e01f1b8446b9ff6c322014bc6d1a945",
"body": "Currently, within the deployment and daily pipeline, products are\nbuild sequentially instead of in parallel which is slow. This patch\nadds building all products in parallel within the pipelines. In the\ndeployment pipeline, all products are built with default log level\nand in the daily pipeline all products are built with all log levels\n(all in parallel).\n\nSigned-off-by: Haaris Farooq <haaris.farooq@arm.com>",
"is_bot": false,
"headline": "ci: Build products in parallel in pipelines",
"author_name": "Haaris Farooq",
"author_login": null,
"committed_at": "2024-08-09T16:05:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a6a4be936fb64fa3fbf803117e85c263fd6fe711",
"body": "Add a function which roughly estimate the overhead of tracing by calling\na FWK_TRACE_START followed by FWK_TRACE_FINISH and calculating how long\nthe empty trace took.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "fwk/trace: add calculate overhead function",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-08-09T14:51:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3d6478a1cb930093da436d4b16be66043693b7c0",
"body": "Enable fwk trace by providing the required driver functions.\n\nget_trace_count is implemented by returning the current time provided\nby the fwk.\n\nreport_trace_entry implemented to use the fwk log to dump the trace\nentry.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "prod/juno/ramfw: Enable fwk trace",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-08-09T14:51:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9b5070b2ff9dfee95450ff837200bfe9c03530a1",
"body": "Add the fwk_trace to the scpfw-path to be visible\nfor optee product.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "prod/optee: Add fwk_trace to scpfw-path for optee",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-08-09T14:51:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "47422069be5038aa3ec5c683769b65ea871df3d0",
"body": "Add a unit test for the fwk_trace component.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "fwk/trace/test: add test to fwk_trace component",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-08-09T14:51:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "813d518e23fcc57704bde5db84c2576bc2f58ea6",
"body": "Similar to fwk Timer adding a fwk trace mechanism.\nWhich depends on trace driver that should be provided by product.\n\nThe driver should provide functions to\n- Get trace count which get current timestamp or cycle from the start.\n- Report trace entry which dumps the entry data.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "fwk/trace: Add tracing mechanism",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-08-09T14:51:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "80befa77a8b2a49c71254dc86efcf5ec275485c2",
"body": "The SCMI-perf protocol ops default unit test target is build with\nBUILD_HAS_SCMI_PERF_FAST_CHANNELS flag, which was incorrectly\nintroduced, has now been removed.\n\nThe two unit tests for checking incorrect message id which was not\nbeing compiled before for default target are modified accordingly.\n\nSigned-off-by: Md Golam Tanvir Zim <mdgolamtanvir.zim@arm.com>\nChange-Id: Ia18b4c7ffa8bfc0d70d2a55e9d5a7358366d00a5",
"is_bot": false,
"headline": "scmi_perf: Fixing perf protocol ops unit test build",
"author_name": "Md Golam Tanvir Zim",
"author_login": "mdgzim01",
"committed_at": "2024-08-09T13:10:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "450a3b070440fb261ead92803ba8ae4f7903ee23",
"body": "get_limit API defined with the second argument power_limit as\nuint32_t. Hence, changing the local variable (placeholder) type to\nuint32_t to avoid building compatibility issues.\n\n`unsigned int` translates differently based on the target.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "mod/metrics-analyzer: fix argument compatibility",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-08-08T15:03:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "19e742dbdfcdf5c23916737ded847f6a5ca13431",
"body": "Modules to be included in product firmwares, has to be added to\nthe \"SCP_MODULE_PATHS\".\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "mod/metrics-analyzer: Add module to SCP_MODULE_PATHS",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-08-08T15:03:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f158b6328c2fef98cad4e11bcded42885f642af1",
"body": "Add the missing fwk_id.h include.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "mod/metrics-analyzer: Add missing fwk_id header",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-08-08T15:03:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a3694d4f08c3445a95966f2a9e5d821118e75923",
"body": "As a convention SCP_MODULE name is `-` sperated.\nThis patch fixes the module name to follow the convention.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "mod/metrics-analyzer: fix the module name",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-08-08T15:03:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "54c43f480901d3fd4de2bdb0e65811a836456945",
"body": "Modify the FWK_IS_VALUE_POWER_OF_TWO macro to address cppcheck warnings\nencountered with unsigned integers in the previous version.\nThe revised macro ensures proper handling of both signed and unsigned integers\nby checking if a value is positive and a power of two.\n\nThe specific cppcheck warning encountered was: \"Checking if unsigned expression\n'page_size' is less than zero. [unsignedLessThanZero].\"\n\nChange-Id: I59c42016f207956ec07f557714cadd946ad58a91",
"is_bot": false,
"headline": "framework: update FWK_IS_VALUE_POWER_OF_TWO macro",
"author_name": "Shaileshwar M",
"author_login": null,
"committed_at": "2024-08-08T09:35:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0e64924675aa2f0bb2c32e0f70f8684c6bd1881a",
"body": "Added a configuration attribute that allows for building with any\npre-defined configuration of flags and not just the default flags.\n\nSigned-off-by: Haaris Farooq <haaris.farooq@arm.com>",
"is_bot": false,
"headline": "tools: Add configuration attribute to builds",
"author_name": "Haaris Farooq",
"author_login": null,
"committed_at": "2024-08-07T12:19:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0db8caa15c6e996bd3c18aa99ab5430ea7e0d38a",
"body": "Currently, when a build is built in check_build.py, every build is written\nto the same directory which is the default output path specified. Now, each\nbuild is given its own build directory which is a concatenation of its\nproperties which is:\noutput_path/product-group/platform/log-level/variant/toolchain/mode\n\nSigned-off-by: Haaris Farooq <haaris.farooq@arm.com>",
"is_bot": false,
"headline": "tools: Add unique build directories for each build",
"author_name": "Haaris Farooq",
"author_login": null,
"committed_at": "2024-08-07T12:19:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "434bc9977f7f3e83c2538571b9546ee3ff0291c6",
"body": "…ducts\n\nIntroduces -p flag to allow for building with specific products. The flag\ncan take in a list of parameters, i.e. \"-p juno host morello\" will only\ncheck builds for those 3 products.\n\nSigned-off-by: Haaris Farooq <haaris.farooq@arm.com>",
"is_bot": false,
"headline": "tools: Add parameter to check_build.py for building with specific pro…",
"author_name": "hf",
"author_login": null,
"committed_at": "2024-08-07T12:15:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b844ff3280a08fb6fa898d8ee09fe97d88269140",
"body": "Fixing a leftover from a commit where P2A SCMI service channel were\nintroduced in JUNO which means the service count would not be equal\nto agent count as an agent can have both A2P and P2A.\n\nSigned-off-by: Md Golam Tanvir Zim <mdgolamtanvir.zim@arm.com>\nChange-Id: I0d876219f9447434e95ab55bcd00d47376abeeb9",
"is_bot": false,
"headline": "product/juno: Fix number of agents in agent table for SCMI clock",
"author_name": "Md Golam Tanvir Zim",
"author_login": "mdgzim01",
"committed_at": "2024-08-06T17:08:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "33bb61dce737c3aead29f4ec9492e8cc58ab4f81",
"body": "…ctory\n\nSigned-off-by: Leandro Belli <leandro.belli@arm.com>\nChange-Id: Ia6385bba7e585a2e785912fdd8c8d01d2c81f8ed",
"is_bot": false,
"headline": "tools/check_build: move default product build list to a separate dire…",
"author_name": "Leandro Belli",
"author_login": "leandro-arm",
"committed_at": "2024-08-02T13:39:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f6339976c27e646326de8f6d45edd3e8367d5362",
"body": "Signed-off-by: Leandro Belli <leandro.belli@arm.com>\nChange-Id: Ib6694cb8614a0a3120d91ea4235e2baa9c742ced",
"is_bot": false,
"headline": "tools/check_api: move default banned API list to a separate directory",
"author_name": "Leandro Belli",
"author_login": "leandro-arm",
"committed_at": "2024-08-02T13:39:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bd9bdf6a155e3aa7e0be62b520e122db3c1fc5ae",
"body": "Signed-off-by: Leandro Belli <leandro.belli@arm.com>\nChange-Id: I17b3c214629ac6f38341d50c9928529df90caf5e",
"is_bot": false,
"headline": "cppcheck: move configuration files to a separate directory",
"author_name": "Leandro Belli",
"author_login": "leandro-arm",
"committed_at": "2024-08-02T13:39:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "26fb80038996e002315350172e5b0922f189c109",
"body": "This patch deletes Gemfile and cleans up dependencies of Markdownlint in cmake\nbuild system.\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
"is_bot": false,
"headline": "tools: Remove Gemfile and Markdownlint",
"author_name": "Wei-Chia Su",
"author_login": null,
"committed_at": "2024-08-01T16:06:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "511a3851e61d82f7c2544549417f72a5606b9526",
"body": "The cached_counters and delta variables are 64 bits, but they are allocated at the init function with 32 bits size.\nFix unit test utest_mpmm_element_init_two_core_success to expect 64 bits.\n\nSigned-off-by: mohmah01 <mohammed.mahmoud@arm.com>",
"is_bot": false,
"headline": "module/mpmm: Fix calloc variables size for counters",
"author_name": "mohmah01",
"author_login": null,
"committed_at": "2024-07-31T13:00:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "75c1086186947694799c03d0e8b3d679236320bc",
"body": "Adding a macro to determine if a value is aligned with a given\nalignment or not.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "fwk/macros: Add a check alignment macro",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-07-30T13:37:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7e6c11448c1660137d2f36a77af71bf865f387f4",
"body": "Adding a macro to determine if a value is a power of two number or not.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "fwk/macros: Add a power of two check macro",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-07-30T13:37:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e5c8d0249bcb9be4d93ecd0b584dd87256c546ad",
"body": "In the `.board-test-run` template, the stage is incorrectly defined,\nthis has to be specified in the job. This patch also adds a retries\nvalue to prevent failure when resources are exhausted and the\njob times out.\n\nSigned-off-by: Leandro Belli <leandro.belli@arm.com>\nChange-Id: I6e667260358d9e7b6587ded15fb70919453d2b97",
"is_bot": false,
"headline": "ci/platform-test: fix stage definition in template and add retries value",
"author_name": "Leandro Belli",
"author_login": "leandro-arm",
"committed_at": "2024-07-30T10:20:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "18338b6c872cb4e367c7c4e21047ad2b0f0326f9",
"body": "Add a CI job in templates to build OPTEE with SCP. The job is scheduled\nto run in the daily and deployment pipeline.\n\nSigned-off-by: Wen Ping Teh <wenping.teh@arm.com>",
"is_bot": false,
"headline": "ci/build: Build OPTEE with SCP",
"author_name": "Wen Ping Teh",
"author_login": "wenping-arm",
"committed_at": "2024-07-29T11:21:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "05af272f9b717c2d11bec7a12a72ad155da169c0",
"body": "Fixes a redundant check in mod_juno_reset_domain.c which causes cppcheck to\nfail when building for juno with the SCP_ENABLE_SCMI_RESET build flag enabled\n\nSigned-off-by: Haaris Farooq <haaris.farooq@arm.com>",
"is_bot": false,
"headline": "juno: Fix redundant check in mod_juno_reset_domain",
"author_name": "Haaris Farooq",
"author_login": null,
"committed_at": "2024-07-26T15:48:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "91ffcb6e57c4faa33676d26b2b46c19144dc7c30",
"body": "Integrate FVP boot test coverage into the deployment pipeline report.\n\nSigned-off-by: Leandro Belli <leandro.belli@arm.com>\nChange-Id: Ic128d1974d5a480a5f44b37fc08d23d5f010b91c",
"is_bot": false,
"headline": "ci/deployment-pipeline: add FVP boot coverage data to report",
"author_name": "Leandro Belli",
"author_login": "leandro-arm",
"committed_at": "2024-07-23T15:01:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e5e71df0fe3270514246e4f75ba4f71a35385010",
"body": "This patch adds `fvp-boot-test` job output coverage to be merged\ninto the coverage report on the daily pipeline.\n\nSigned-off-by: Leandro Belli <leandro.belli@arm.com>\nChange-Id: If874aa7cebb2999c3c75386f267fb6365acd529c",
"is_bot": false,
"headline": "ci/daily-pipeline: add `fvp-boot-test` to coverage report",
"author_name": "Leandro Belli",
"author_login": "leandro-arm",
"committed_at": "2024-07-22T18:09:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "29004d91a9a6940a73fdb8bf740f8f08c0bdb2ec",
"body": "`fvp-boot-test` now manages its artifacts by saving the correspoding\nones into `artifacts` directory.\n\nSigned-off-by: Leandro Belli <leandro.belli@arm.com>\nChange-Id: I4383394845ab2bf022fd0ccbdd60682da86a0e63",
"is_bot": false,
"headline": "ci/platform-test: Update artifact path location for `fvp-boot-test`",
"author_name": "Leandro Belli",
"author_login": "leandro-arm",
"committed_at": "2024-07-22T18:09:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b7fc8f0ab8ab308594675dbce43bf8898d04397b",
"body": "Merge unit test coverage report in daily and deployment pipeline using\nthe merge-report template. The job in deployment pipeline will also\nenables code coverage visualization.\n\nThe unit-test template will copy the coverage report to a folder to be\nmerge later in the merge-ut-coverage job.\n\nSigned-off-by: Wen Ping Teh <wenping.teh@arm.com>",
"is_bot": false,
"headline": "ci/ut: Merge UT coverage report",
"author_name": "Wen Ping Teh",
"author_login": "wenping-arm",
"committed_at": "2024-07-22T14:51:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c5d1709cf15c3e316493b766c08919e6bf30fafb",
"body": "Add a job to merge all coverage reports at the end of daily and\ndevelopment pipeline. The 'coverage' keyword is added to display\ncode coverage result.\n\nSigned-off-by: Wen Ping Teh <wenping.teh@arm.com>",
"is_bot": false,
"headline": "ci/coverage: Merge all coverage report",
"author_name": "Wen Ping Teh",
"author_login": "wenping-arm",
"committed_at": "2024-07-22T14:51:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c103c67a581000ff56bc1f7bfc2c9b84c7736a49",
"body": "This patch introduces a job template to merge all coverage reports\nthat is in artifacts/coverage_reports/ directory using qa-tools\nlibrary. The template also generate html or xml output by using\ngenhtml and lcov-cobertura respectively.\n\nSigned-off-by: Wen Ping Teh <wenping.teh@arm.com>",
"is_bot": false,
"headline": "ci/coverage: Add template to merge coverage report",
"author_name": "Wen Ping Teh",
"author_login": "wenping-arm",
"committed_at": "2024-07-22T14:51:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bcebd429a4cf737b1dc8ab5cde74fd392231557d",
"body": "The scmi-tester code coverage flag is enabled. The coverage report is\nfilter to remove CMSIS reference and copy into a common folder to be\nmerge with other reports.\n\nSigned-off-by: Wen Ping Teh <wenping.teh@arm.com>",
"is_bot": false,
"headline": "ci/scmi: Enable scmi-tester code coverage",
"author_name": "Wen Ping Teh",
"author_login": "wenping-arm",
"committed_at": "2024-07-22T14:51:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d7cd4e06077972fb9923080f0530ee50ada2b4a7",
"body": "Modify filter_coverage_report.py to filter out cmock and cmsis from\ncoverage report. A report can have their own filter by appending\nthe 'regex_list'. This is done by using get() method which will return\nthe default regex if filename is not found.\n\nUpdate a few variables naming to PEP8 style guide.\n\nSigned-off-by: Wen Ping Teh <wenping.teh@arm.com>",
"is_bot": false,
"headline": "ci/filter: Filter cmock and cmsis from coverage report",
"author_name": "Wen Ping Teh",
"author_login": "wenping-arm",
"committed_at": "2024-07-22T14:50:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "85d9db73507ffa1667a3ff97db1bb8f133eb9114",
"body": "Add lcov-cobertura library for coverage report generation of xml file.\n\nSigned-off-by: Wen Ping Teh <wenping.teh@arm.com>",
"is_bot": false,
"headline": "requirements.txt: Add lcov-cobertura library",
"author_name": "Wen Ping Teh",
"author_login": "wenping-arm",
"committed_at": "2024-07-18T11:42:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b20b44fbdbe1f0371091bad71f041a40331a9cf4",
"body": "The artifacts within the setup-workspace test were missing\nan expire_in value. This has been introduced and set to 2\ndays to be inline with the other tests.\n\nSigned-off-by: Katherine Vincent <katherine.vincent@arm.com>\nChange-Id: I2af2f7818006048ed0285b6e937bcb6bc53afa0e",
"is_bot": false,
"headline": "ci/setup-workspace: Add an expire_in value",
"author_name": "Katherine Vincent",
"author_login": "katvin01",
"committed_at": "2024-07-16T16:22:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "07af990302563f13d0b524c208b675dd1f2b7fe8",
"body": "Fixing the initialize_module_domains inner loop control variable.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "mod/metrics_analyzer/test: fix loop ctrl variable in UT initialization",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-07-12T16:29:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d0a77d7904b0c82fd890d398b21385ef7ad57cea",
"body": "This patch adds a scope section to the document and clarifies\nthe trusted boundary in the diagram.\n\nSigned-off-by: Tarek El-Sherbiny <tarek.el-sherbiny@arm.com>",
"is_bot": false,
"headline": "threat model: Add scope section and update the trusted boundary",
"author_name": "Tarek El-Sherbiny",
"author_login": "tarek-arm",
"committed_at": "2024-07-09T13:14:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "032aed5a4a8f74765ae40017c7f51dc4bf484225",
"body": "This patch removes all remaining deprecated files from tc0 and\ntc1 that were reintroduced by mistake because of a rebase.\n\nSigned-off-by: Leandro Belli <leandro.belli@arm.com>\nChange-Id: I1692364f48a50b1aa6843dc585335cc4a208aec7",
"is_bot": false,
"headline": "totalcompute: Remove deprecated files from tc0 and tc1",
"author_name": "Leandro Belli",
"author_login": "leandro-arm",
"committed_at": "2024-07-08T10:29:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d1dd151e731f0946b159d332740c0fa754546096",
"body": "In this patch set_limit and controller_update apis are implemented.\nIt also includes unit tests for the added features and the\nframework related functions.\n\nSigned-off-by: Ahmed Gadallah <ahmed.gadallah@arm.com>",
"is_bot": false,
"headline": "mod/perf_controller: add set_limit and controller_update apis",
"author_name": "Ahmed Gadallah",
"author_login": "AhmedImbabyGadallah",
"committed_at": "2024-07-05T18:11:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "854b9b576caf2527a341cfafb3c48ec6be64fd52",
"body": "As the perf_controller breaks the tight coupling between the SCMI_perf\nand DVFS, the DVFS will have some changes accordingly.\n\nThe DVFS will need to implement the driver interface for the\nperformance controller which for now will support the set_performance_level\nrequest while still supporting the rest of the APIs required by the SCMI_perf.\n\nThis changes are implemented in this patch.\n\nSigned-off-by: Ahmed Gadallah <ahmed.gadallah@arm.com>",
"is_bot": false,
"headline": "mod/dvfs: integrate with perf_controller",
"author_name": "Ahmed Gadallah",
"author_login": "AhmedImbabyGadallah",
"committed_at": "2024-07-05T18:11:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "638a7137061a5786fb92a931211507334039f393",
"body": "The SCMI_perf module doesn't follow the same layered architecture as\nthe other protocols which use a HAL to communicate with different drivers.\nInstead it is tightly couple to one driver which is the DVFS module.\n\nWith the introduction of the perf_controller module, it will act as the\nHAL for the SC\n[…]\nrf.\n\nIn this patch only the changes to the SCMI_perf are added for simplicity.\nthe changes to the DVFS module will be added in the next commits.\n\nSigned-off-by: Ahmed Gadallah <ahmed.gadallah@arm.com>",
"is_bot": false,
"headline": "mod/scmi_perf: integrate SCMI perf with perf_controller",
"author_name": "Ahmed Gadallah",
"author_login": "AhmedImbabyGadallah",
"committed_at": "2024-07-05T18:11:24Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "787d5b17f93d05ce1d35f0f781543ed949565bc9",
"body": "This commit adds the skeleton of the performance controller module.\nIt will replace the DVFS module in receiveing the performance set\nrequests from the SCMI perf.\n\nThe performance controller receives the power limit request by\nimplementing the generic set_limit interface. The power limit request co\n[…]\nducing this module would be explained in the subsequent commits\nthat include the integration with SCMI perf, DVFS module and SCMI power capping.\n\nSigned-off-by: Ahmed Gadallah <ahmed.gadallah@arm.com>",
"is_bot": false,
"headline": "Add perf_controller module",
"author_name": "Ahmed Gadallah",
"author_login": "AhmedImbabyGadallah",
"committed_at": "2024-07-05T18:11:24Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6c0582260707be85cbeb2e29f98a15ffcd06a597",
"body": "Fix the include cmsis directory comment in CMakeLists.txt for all\nproducts.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "prod/cmake: fix a comment for all products",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-07-05T15:35:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8ef1a8afb7f2c389d744003c486277dff8efd76c",
"body": "- Make necessary changes to add cortex-M85 support.\n\n- The CMSIS definitions for System control Register not in SCB (SCnSCB)\n are deprecated on M85 header. Armv8m based cores define a separate\n Implementation Control Registers instead. Hence change the arch/nvic\n reference accordingly.\n\nSigned-off-by: Tintu Thomas <tintu.thomas@arm.com>",
"is_bot": false,
"headline": "toolchain: Add cortex-M85 support",
"author_name": "Tintu Thomas",
"author_login": "tintuthomas-arm",
"committed_at": "2024-07-05T14:08:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d784dbb4c98f4aee750b07cc2dd5e087970b309b",
"body": "Add custom banner for LCP RAM firmware in fmw_log.h file.\n\nSigned-off-by: Shriram K <shriram.k@arm.com>\nSigned-off-by: Pranav Madhu <pranav.madhu@arm.com>\nChange-Id: I35ef9430570c8b302eb554ce7af3edb96bc260ad",
"is_bot": false,
"headline": "neoverse-rd/rdfremont: add custom banner for lcpfw",
"author_name": "Shriram K",
"author_login": "shriram-k-arm",
"committed_at": "2024-07-04T12:48:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "449fb0ac6a77f876df457884281dc036c12f556b",
"body": "As the support for other compute blocks of the platform is now\navailable, remove the use of FMW_DISABLE_ARCH_SUSPEND from LCP\nfirmware.\n\nSigned-off-by: Shriram K <shriram.k@arm.com>\nSigned-off-by: Pranav Madhu <pranav.madhu@arm.com>\nChange-Id: I17843d1bd3f2c871087356b508811d61e6100a70",
"is_bot": false,
"headline": "neoverse-rd/rdfremont: remove use of FMW_DISABLE_ARCH_SUSPEND for lcpfw",
"author_name": "Shriram K",
"author_login": "shriram-k-arm",
"committed_at": "2024-07-04T12:48:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eb764eed756f4fc3643a6fc8c014cd9c4dd5ed3a",
"body": "The dvfs-handler controller enables support for DVFS on the platform. AP\nrequests for setting of supported performance levels using the MHU3\nfastchannel interface. So include the dvfs-handler module and its\nassociated configuration data in the lcp firmware build.\n\nSigned-off-by: Pranav Madhu <pranav.madhu@arm.com>\nChange-Id: Iaf8b61c1c16da3dffae104b21cd35951c4fc6fce",
"is_bot": false,
"headline": "neoverse-rd/rdfremont: enable support for dvfs-handler in lcpfw",
"author_name": "Pranav Madhu",
"author_login": "Pranav-Madhu",
"committed_at": "2024-07-04T12:48:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "370e4e42ebed824d88ffacebc74e1e3279510f5b",
"body": "Update transport module config data for LCP with AP-LCP fastchannel for\nDVFS and remove the SCP-LCP transport channel as it is not used at this\nstage. Also, set the CMake flag\nSCP_TARGET_EXCLUDE_SCMI_PERF_PROTOCOL_OPS to enable fast channel\nsupport.\n\nSigned-off-by: Pranav Madhu <pranav.madhu@arm.com>\nChange-Id: If0825f6a1083ac5d9ac782a010262c39c5598722",
"is_bot": false,
"headline": "neoverse-rd/rdfremont: update transport module config data in lcpfw",
"author_name": "Pranav Madhu",
"author_login": "Pranav-Madhu",
"committed_at": "2024-07-04T12:48:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e50a229d54624b251dbf639aec70535c09e874f2",
"body": "Remove SCP-LCP doorbell channel and add fastchannel between LCP and AP\nfor the DVFS module. Also, update the driver ID in the transport config\ndata to use the LCP-AP fastchannel in the MHU driver.\n\nSigned-off-by: Pranav Madhu <pranav.madhu@arm.com>\nChange-Id: Iec000f267467ed702986c7f5c83dc7401acc05d4",
"is_bot": false,
"headline": "neoverse-rd/rdfremont: update mhu3 module config data in lcpfw",
"author_name": "Pranav Madhu",
"author_login": "Pranav-Madhu",
"committed_at": "2024-07-04T12:48:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8f0dc9f1bc0de8fb58ac5cee0f9ebb0a832ed5a6",
"body": "Fix the incorrect AP-LCP MHU instance base address.\n\nSigned-off-by: Pranav Madhu <pranav.madhu@arm.com>\nChange-Id: Ic2cdf60bb8d1166e4e66b1277ee4c5d42c7b5ce4",
"is_bot": false,
"headline": "neoverse-rd/rdfremont: fix AP-LCP MHU instance base address",
"author_name": "Pranav Madhu",
"author_login": "Pranav-Madhu",
"committed_at": "2024-07-04T12:48:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "25f2fc4eda91595244d242f1b270e5225ba1053a",
"body": "…emory regions\n\nLCP does not have a non-secure ITCM and DTCM memory regions. So remove\nthe definitions of these memory regions and use the secure ITCM and DTCM\nmemory regions instead.\n\nSigned-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>\nSigned-off-by: Pranav Madhu <pranav.madhu@arm.com>\nChange-Id: Ifb4a28307b2ab2f47e48fb09d4471efbb5ab209f",
"is_bot": false,
"headline": "neoverse-rd/rdfremont: remove use of non-secure LCP's ITCM and DTCM m…",
"author_name": "Vijayenthiran Subramaniam",
"author_login": "vijayenthiran-arm",
"committed_at": "2024-07-04T12:48:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8c0534b090cdcabc4a0c58624b2d4c64f43670fb",
"body": "Reduce the LCP's DTCM size to 32KB to align FVP platform implementation\nwhich has 32KB DTCM and 64KB ITCM.\n\nSigned-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>\nSigned-off-by: Pranav Madhu <pranav.madhu@arm.com>\nChange-Id: I040991960b3a3ec22b73367bb5f7748a3c93e1a9",
"is_bot": false,
"headline": "neoverse-rd/rdfremont: reduce LCP's DTCM size to 32KB",
"author_name": "Vijayenthiran Subramaniam",
"author_login": "vijayenthiran-arm",
"committed_at": "2024-07-04T12:48:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4b45e0f5dd819ea34d2005db1e82190da95892d1",
"body": "The SCP and MCP firmware include files have been moved under their\nrespective firmware directories. Correspondingly, move the LCP firmware\nheader files under LCP firmware directory and add fmw_io.h to configure\niostream for LCP firmware.\n\nSigned-off-by: Shriram K <shriram.k@arm.com>\nSigned-off-by: Pranav Madhu <pranav.madhu@arm.com>\nChange-Id: I7fd6a2688a10dca6f2be4c4751d640c85d2a1401",
"is_bot": false,
"headline": "neoverse-rd/rdfremont: reorganize lcp include files",
"author_name": "Shriram K",
"author_login": "shriram-k-arm",
"committed_at": "2024-07-04T12:48:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ce432984a9e2f3d2426974b63564192adcdda616",
"body": "DVFS hardware is a hardware level abstraction to achieve frequency and\nvoltage scaling. DVFS hardware reduces the complexity in software to\nachieve frequency and voltage scaling, by writing directly to the DVFS\nhardware register and not to worry about the complex hardware logic\nbeneath the DVFS hard\n[…]\ne RD-Fremont\nplatform, as it enables dynamic voltage and frequency scaling for\nindividual CPUs.\n\nSigned-off-by: Pranav Madhu <pranav.madhu@arm.com>\nChange-Id: Ie9c49297b7e16d1be53b5d92e450250425b52ba4",
"is_bot": false,
"headline": "neoverse-rd/rdfremont: Add dvfs_handler driver",
"author_name": "Pranav Madhu",
"author_login": "Pranav-Madhu",
"committed_at": "2024-07-04T12:47:49Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ca081df6678e648594ab54b1c3c5a23a1917edeb",
"body": "Checking the subelement count in metrics_analyzer_element_init\ncovered by UT.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "mod/metrics_analyzer: Add boundry check for subelement count",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-07-03T12:11:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f9a2dddbe256e15b59eae6e5cbb54f781e7adf86",
"body": "Add a unit test such that a provider return no power limit\nusing the Macro defined in interface power management.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "mod/metrics_analyzer: Add No power limit test case",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-07-03T12:11:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0a30f90fb841e9dd02f28323ee1d6ed59700ee8a",
"body": "Combine collecting powerlimits and evaluating the aggregate limit\non the fly.\n\naggregate_limit has to be set to the maximum value (invalidated) for\na correct evaluation.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "mod/metrics_analyzer: Combine collection and evaluation",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-07-03T12:11:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "af462ad4968223d1de7524823ddbb8204aa62b97",
"body": "Adding the analysis process, which consists of:\n- Collecting all associated limits for all domains from the providers.\n- Evaluate the aggregate limit for each domain.\n- Report the aggregate limit to consumers of each domain.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "mod/metrics_analyzer: Implement analysis logic",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-07-03T12:11:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a679ac977c939df94507dc9418f7e978fdd3a0f4",
"body": "Add implementation of framework handlers (covered with UT)\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "mod/metrics_analyzer: Implement framework handlers",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-07-03T12:11:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5addcc193aec9f913cd494f6a93c298adcdf5b0a",
"body": "A typical test configuration\nthat involves different metrics for different domains.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "mod/metrics_analyzer/test: Add a test configuration",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-07-03T12:11:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "056601c8f2ee9ae0b90169d52554105ac6676016",
"body": "Add to the unit test the mocks for\n- limit providers API `get_limit`\n- limit consumers API `set_limit`\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "mod/metrics_analyzer/test: Add power mgmt APIs mocks",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-07-03T12:11:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e47d0a2d4d6402b4b4b149e843ff7428e2303b09",
"body": "module context:\n- List of domains (should be allocated in initialization)\n- Module configurations\n\ndomain:\n- List of metrics_ctx associated with the domain\n (should be allocated during element initialization)\n- The aggregate limit which should be consumed.\n- Domain configurations\n\nmetrics:\n- Power limit for this metric\n- Limit provider configs\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "mod/metrics_analyzer: Add module/domain ctx definitions",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-07-03T12:11:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0d25a542dbe817e246c95394b77da2e6683141ba",
"body": "Add element configuration definitions.\n\nmetrics analyzer domain configs:\n- List of metrics power limit providers information (for collecting metrics limits).\n- Providers count\n- Metrics power limit consumer information\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "mod/metrics_analyzer: Add element configuration",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-07-03T12:11:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5dfa8093df6c4807e6e010f0d186f829eb6a6e85",
"body": "Add useful power related macro definitions to be used across users of\npower_management interface.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "interface/power_management: Add power related Macros",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-07-03T12:11:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b022b5beb3e6c73c1c091271a8813e7c21640b86",
"body": "Add the definition of the get limit interface.\nInterface implemented by modules considered as metrics for\nsystem domains. these modules provide power limits through this\ninterface.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "interface/power_management: Add get limit API",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-07-03T12:11:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d36f83eeb36326041ba4e8054f6ccae6424be7f6",
"body": "Add the skeleton of the module:\n- src and header files\n- unittest files\n- CMake files\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "mod/metrics_analyzer: Add initial module files",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-07-03T12:11:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9731d613c6cacb5aa21cf759f3766cbbffb18efa",
"body": "Adding metrics analyzer documentation which explains the module\npurpose and operation.\n\nThe document is in markdown format and for the best viewing experience\nit should be used on viewers that provide `mermaid` rendering.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "mod/metrics_analyzer/doc: Add metrics analyzer doc",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-07-03T12:11:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "17da2bca9f9fb3c0797321f45ddb736cc0766c62",
"body": "This patch adds the initial set-up for unit tests for this module\nand includes two brief tests to cover the addition to the gtimer\nget timestamp function.\n\nSigned-off-by: Katherine Vincent <katherine.vincent@arm.com>\nChange-Id: I4ab3da912e3c7fca67e20fe13da2e3654ac8a25d",
"is_bot": false,
"headline": "mod/gtimer: add unit tests for the change to timestamps",
"author_name": "Katherine Vincent",
"author_login": "katvin01",
"committed_at": "2024-07-01T16:05:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "50d31535e250eeee97677d4fa3e333ab358be78f",
"body": "If a call is made to request a timestamp, which uses the element\nconfiguration to read the corresponding registers, then it will\nnow return 0 if the module has yet to be initialised. This prevents\nerroneously reading a memory location prior to it being set up\nensuring it fails in a way that does not crash the system.\n\nSigned-off-by: Katherine Vincent <katherine.vincent@arm.com>\nChange-Id: I3c896823041eef71221c0a39da2e9dd62ea95617",
"is_bot": false,
"headline": "mod/gtimer: return 0 if timestamp registers uninitalised",
"author_name": "Katherine Vincent",
"author_login": "katvin01",
"committed_at": "2024-07-01T16:05:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7080140310f0d961ef1d39c1fa8da44cbaf4d264",
"body": "… to printing\n\nThe purpose of this change is to ensure that the PL011 module will not start\nprinting UART until the module has been initalised.\n\nIt also includes corresponding unit tests.\n\nSigned-off-by: Katherine Vincent <katherine.vincent@arm.com>\nChange-Id: I0d22ffbe6e4aaa7ad3b229848705e8ca77e7d475",
"is_bot": false,
"headline": "mod/pl011: Introduce a check to ensure the module is initalised prior…",
"author_name": "Katherine Vincent",
"author_login": "katvin01",
"committed_at": "2024-07-01T15:31:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d5f955445f4fe84811bdd3765d5893dbb86d574e",
"body": "This change defines the per agent mapping config for OSPM\nand PSCI in SCMI Power protocol. It only introduces the mapping\nfor JUNO and not change the behaviour as all ten power domains\nare still exposed to both the agents.\n\nSigned-off-by: Abhishek Rawat <abhishek.rawat@arm.com>\nChange-Id: I2469b7da83742b2c4e5c41da7654a4836bc790d2",
"is_bot": false,
"headline": "juno: Add per agent mapping in SCMI Power protocol",
"author_name": "Abhishek Rawat",
"author_login": "abhishek-arm",
"committed_at": "2024-06-28T15:39:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e1e5d1255abde33401f8eff72d97100bb25db689",
"body": "This change adds unit tests for new per agent mapping feature.\n\nSigned-off-by: Abhishek Rawat <abhishek.rawat@arm.com\nChange-Id: I7ea1c4ce97322ef96ddb04d584e78611d83d5265",
"is_bot": false,
"headline": "scmi_power_domain: Add unit tests for per agent mapping",
"author_name": "Abhishek Rawat",
"author_login": "abhishek-arm",
"committed_at": "2024-06-28T15:39:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6efe7bfc51a68c94f778c4a0fd4a30fa63833d60",
"body": "This change adds per agent view for SCMI Power protocol.\nIt allows platforms to define agent's relative mapping of power\ndomains and consequently limits their visibility of domains\nas per their scope of operability. SCMI power_domain handles\nan additional layer of translation (agent_pd_index --> power_hal_domain_index).\n\nSigned-off-by: Abhishek Rawat <abhishek.rawat@arm.com>\nChange-Id: Idc9d60de49a4f5289f472c8334feb9d39c6f634c",
"is_bot": false,
"headline": "scmi_power_domain: Add agent context handling in scmi_power_domain",
"author_name": "Abhishek Rawat",
"author_login": "abhishek-arm",
"committed_at": "2024-06-28T15:39:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6981bbe59829515d67f9b63b0958f7ec53d2e502",
"body": "This patch updates the cppcheck suppression list to include\nelements missing from the update from version V2.8 to V1.90.\n\nSigned-off-by: Leandro Belli <leandro.belli@arm.com>\nChange-Id: I4d6857f5c3cd53d1c2cf2c8ab52fcfb913ffe61f",
"is_bot": false,
"headline": "cppcheck: Update suppression list for version change",
"author_name": "Leandro Belli",
"author_login": "leandro-arm",
"committed_at": "2024-06-25T13:27:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a04a919b079ca4b0101b3bc0f285578a59e843ed",
"body": "This patch removes all the remaining false positve case in 1.90.\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
"is_bot": false,
"headline": "cppcheck: Modify suppression list for cppcheck 2.8 landing",
"author_name": "Wei-Chia Su",
"author_login": null,
"committed_at": "2024-06-24T17:20:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6b1147392e43aef249db56d93e1007721e382dc2",
"body": "Adding a default tag for the untagged jobs to run on arm64 runners\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
"is_bot": false,
"headline": "ci: Add default for untagged jobs",
"author_name": "Mohamed Omar Asaker",
"author_login": "mohamedasaker-arm",
"committed_at": "2024-06-24T14:30:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cd5ef3fc2732ea1a452c93f86b5aff6e68368770",
"body": "This patch updates document/script to cppcheck V2.8 and bypass error ids with\nunknown macro before switching to V2.8 which is also compatible with V1.90.\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
"is_bot": false,
"headline": "cppcheck: Update guide, wrapper and suppression list",
"author_name": "Wei-Chia Su",
"author_login": null,
"committed_at": "2024-06-24T13:31:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c09e6513c90e3dd72a1213a34c3dd910b613f918",
"body": "Fixes the error with id:\n- arrayIndexOutOfBoundsCond\n- constStatement\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
"is_bot": false,
"headline": "product/synquacer: Resolve defect with cppcheck V2.8",
"author_name": "Wei-Chia Su",
"author_login": null,
"committed_at": "2024-06-24T13:31:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8fcf2d53d28d77ceb7ab255d08ff5accba845521",
"body": "Fixes the error with id:\n- constVariable\n- constParameter\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
"is_bot": false,
"headline": "product/rcar: Resolve defect with cppcheck V2.8",
"author_name": "Wei-Chia Su",
"author_login": null,
"committed_at": "2024-06-24T13:31:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "390e32b7a87ff3ed2443f87728aedad1c30bcc4a",
"body": "Fixes the error with id:\n- constParameter\n- unassignedVariable\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
"is_bot": false,
"headline": "product/n1sdp: Resolve defect with cppcheck V2.8",
"author_name": "Wei-Chia Su",
"author_login": null,
"committed_at": "2024-06-24T13:31:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0485def8e0ede6e8ba6e5cd0f25dbe8f3c420aba",
"body": "Fixes the error with id:\n- constParameter\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
"is_bot": false,
"headline": "product/morello: Resolve defect with cppcheck V2.8",
"author_name": "Wei-Chia Su",
"author_login": null,
"committed_at": "2024-06-24T13:31:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0b6d8c2fac043c37958fa1381e31551ab2af99e7",
"body": "Fixes the error with id:\n- constParameter\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
"is_bot": false,
"headline": "product/juno: Resolve defect with cppcheck V2.8",
"author_name": "Wei-Chia Su",
"author_login": null,
"committed_at": "2024-06-24T13:31:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c7caaa95153d04d116b6c4925efd76125ff2f3e3",
"body": "Fixes the cppcheck V2.8 warning with id knownConditionTrueFalse. There is no\nneed to check the condition within the inner if-else statement since condition\n'hnf_node_pos.port_num<=region_hnf_pos_end.port_num' is alongside with boundary\ncheck and is always true.\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
"is_bot": false,
"headline": "cmn700: Refines conditional check flow in `is_hnf_inside_rect()`",
"author_name": "Wei-Chia Su",
"author_login": null,
"committed_at": "2024-06-24T13:31:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "caf8c71eaa73d7807000c4f8df2c67e37071b5b8",
"body": "For sensor_enable/disable, this patch removes duplicate statement to get\nsensor_dev_ctx by element index. In additions, this patch applies 'const' to\nfunction parameter in preparation for switching to cppcheck V2.8.\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
"is_bot": false,
"headline": "mod_sensor: Refine sensor_enable/disable and fix potential defects.",
"author_name": "Wei-Chia Su",
"author_login": null,
"committed_at": "2024-06-24T13:31:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "968ce826c4352571a5dc8c1577c6741f88525ba8",
"body": "Fixes the error with id:\n- arrayIndexOutOfBoundsCond\n- constParameter\n- constStatement\n- constVariable\n- knownConditionTrueFalse\n- missingReturn\n- nullPointer\n- unreadVariable\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
"is_bot": false,
"headline": "module: Resolve defect with cppcheck V2.8",
"author_name": "Wei-Chia Su",
"author_login": null,
"committed_at": "2024-06-24T13:31:41Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 26,
"commits_last_year": 0,
"latest_release_at": "2024-03-08T16:00:01Z",
"latest_release_tag": "v2.14.0",
"releases_from_tags": true,
"days_since_last_push": 701,
"active_weeks_last_year": 0,
"days_since_latest_release": 866,
"mean_days_between_releases": 78.7
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 62,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": []
},
"popularity": {
"forks": 196,
"stars": 265,
"watchers": 2,
"fork_history": {
"days": [
{
"date": "2018-07-25",
"count": 3
},
{
"date": "2018-08-14",
"count": 1
},
{
"date": "2018-08-30",
"count": 1
},
{
"date": "2018-09-03",
"count": 1
},
{
"date": "2018-09-06",
"count": 1
},
{
"date": "2018-09-19",
"count": 1
},
{
"date": "2018-10-19",
"count": 1
},
{
"date": "2018-10-26",
"count": 1
},
{
"date": "2018-11-16",
"count": 1
},
{
"date": "2018-12-14",
"count": 1
},
{
"date": "2019-01-08",
"count": 1
},
{
"date": "2019-02-22",
"count": 1
},
{
"date": "2019-02-28",
"count": 1
},
{
"date": "2019-03-02",
"count": 1
},
{
"date": "2019-03-07",
"count": 1
},
{
"date": "2019-03-22",
"count": 1
},
{
"date": "2019-05-03",
"count": 1
},
{
"date": "2019-05-12",
"count": 1
},
{
"date": "2019-05-22",
"count": 1
},
{
"date": "2019-06-18",
"count": 2
},
{
"date": "2019-07-05",
"count": 1
},
{
"date": "2019-07-26",
"count": 1
},
{
"date": "2019-08-20",
"count": 1
},
{
"date": "2019-08-23",
"count": 2
},
{
"date": "2019-08-26",
"count": 1
},
{
"date": "2019-08-28",
"count": 1
},
{
"date": "2019-09-25",
"count": 1
},
{
"date": "2019-10-16",
"count": 1
},
{
"date": "2019-10-18",
"count": 2
},
{
"date": "2019-11-13",
"count": 1
},
{
"date": "2020-01-13",
"count": 1
},
{
"date": "2020-01-15",
"count": 1
},
{
"date": "2020-01-31",
"count": 1
},
{
"date": "2020-02-05",
"count": 1
},
{
"date": "2020-02-10",
"count": 1
},
{
"date": "2020-02-25",
"count": 1
},
{
"date": "2020-02-27",
"count": 1
},
{
"date": "2020-03-03",
"count": 1
},
{
"date": "2020-03-23",
"count": 2
},
{
"date": "2020-04-13",
"count": 1
},
{
"date": "2020-05-05",
"count": 1
},
{
"date": "2020-05-06",
"count": 1
},
{
"date": "2020-05-14",
"count": 1
},
{
"date": "2020-05-19",
"count": 2
},
{
"date": "2020-05-22",
"count": 1
},
{
"date": "2020-06-08",
"count": 2
},
{
"date": "2020-06-15",
"count": 1
},
{
"date": "2020-07-02",
"count": 1
},
{
"date": "2020-07-04",
"count": 1
},
{
"date": "2020-07-07",
"count": 1
},
{
"date": "2020-08-13",
"count": 1
},
{
"date": "2020-08-16",
"count": 1
},
{
"date": "2020-08-25",
"count": 1
},
{
"date": "2020-09-08",
"count": 1
},
{
"date": "2020-10-08",
"count": 1
},
{
"date": "2020-10-29",
"count": 1
},
{
"date": "2020-11-21",
"count": 1
},
{
"date": "2021-01-11",
"count": 1
},
{
"date": "2021-01-21",
"count": 1
},
{
"date": "2021-02-15",
"count": 1
},
{
"date": "2021-02-23",
"count": 1
},
{
"date": "2021-02-24",
"count": 1
},
{
"date": "2021-03-02",
"count": 1
},
{
"date": "2021-03-04",
"count": 1
},
{
"date": "2021-03-17",
"count": 1
},
{
"date": "2021-03-18",
"count": 2
},
{
"date": "2021-03-26",
"count": 3
},
{
"date": "2021-05-26",
"count": 2
},
{
"date": "2021-05-27",
"count": 1
},
{
"date": "2021-06-04",
"count": 1
},
{
"date": "2021-06-16",
"count": 1
},
{
"date": "2021-06-29",
"count": 1
},
{
"date": "2021-07-03",
"count": 1
},
{
"date": "2021-07-04",
"count": 1
},
{
"date": "2021-07-17",
"count": 1
},
{
"date": "2021-08-01",
"count": 1
},
{
"date": "2021-11-01",
"count": 1
},
{
"date": "2021-11-05",
"count": 1
},
{
"date": "2021-11-09",
"count": 1
},
{
"date": "2021-12-20",
"count": 1
},
{
"date": "2021-12-29",
"count": 1
},
{
"date": "2021-12-30",
"count": 1
},
{
"date": "2022-01-06",
"count": 1
},
{
"date": "2022-01-12",
"count": 1
},
{
"date": "2022-01-26",
"count": 1
},
{
"date": "2022-01-31",
"count": 1
},
{
"date": "2022-02-06",
"count": 1
},
{
"date": "2022-02-10",
"count": 1
},
{
"date": "2022-02-16",
"count": 2
},
{
"date": "2022-02-22",
"count": 1
},
{
"date": "2022-02-28",
"count": 1
},
{
"date": "2022-03-10",
"count": 1
},
{
"date": "2022-04-21",
"count": 1
},
{
"date": "2022-04-28",
"count": 1
},
{
"date": "2022-05-13",
"count": 1
},
{
"date": "2022-06-17",
"count": 1
},
{
"date": "2022-06-27",
"count": 1
},
{
"date": "2022-07-01",
"count": 1
},
{
"date": "2022-07-25",
"count": 1
},
{
"date": "2022-07-30",
"count": 1
},
{
"date": "2022-08-09",
"count": 1
},
{
"date": "2022-08-31",
"count": 1
},
{
"date": "2022-09-26",
"count": 1
},
{
"date": "2022-10-20",
"count": 1
},
{
"date": "2022-11-06",
"count": 1
},
{
"date": "2022-11-16",
"count": 1
},
{
"date": "2022-12-06",
"count": 1
},
{
"date": "2022-12-08",
"count": 1
},
{
"date": "2022-12-09",
"count": 1
},
{
"date": "2022-12-13",
"count": 1
},
{
"date": "2023-01-10",
"count": 1
},
{
"date": "2023-01-24",
"count": 1
},
{
"date": "2023-02-08",
"count": 1
},
{
"date": "2023-02-16",
"count": 1
},
{
"date": "2023-02-17",
"count": 2
},
{
"date": "2023-02-23",
"count": 1
},
{
"date": "2023-03-16",
"count": 1
},
{
"date": "2023-03-20",
"count": 1
},
{
"date": "2023-03-29",
"count": 1
},
{
"date": "2023-04-16",
"count": 1
},
{
"date": "2023-04-19",
"count": 1
},
{
"date": "2023-05-24",
"count": 1
},
{
"date": "2023-06-01",
"count": 1
},
{
"date": "2023-06-09",
"count": 2
},
{
"date": "2023-06-14",
"count": 1
},
{
"date": "2023-06-16",
"count": 2
},
{
"date": "2023-06-21",
"count": 1
},
{
"date": "2023-06-26",
"count": 1
},
{
"date": "2023-07-07",
"count": 1
},
{
"date": "2023-07-26",
"count": 1
},
{
"date": "2023-08-04",
"count": 1
},
{
"date": "2023-08-16",
"count": 1
},
{
"date": "2023-08-24",
"count": 1
},
{
"date": "2023-09-12",
"count": 1
},
{
"date": "2023-09-29",
"count": 2
},
{
"date": "2023-10-04",
"count": 1
},
{
"date": "2023-11-08",
"count": 1
},
{
"date": "2023-11-13",
"count": 1
},
{
"date": "2023-12-07",
"count": 1
},
{
"date": "2023-12-12",
"count": 1
},
{
"date": "2023-12-14",
"count": 1
},
{
"date": "2024-01-24",
"count": 1
},
{
"date": "2024-02-05",
"count": 1
},
{
"date": "2024-03-29",
"count": 1
},
{
"date": "2024-04-01",
"count": 2
},
{
"date": "2024-04-09",
"count": 1
},
{
"date": "2024-06-24",
"count": 2
},
{
"date": "2024-06-25",
"count": 1
},
{
"date": "2024-07-02",
"count": 1
},
{
"date": "2024-07-12",
"count": 1
},
{
"date": "2024-07-15",
"count": 1
},
{
"date": "2024-07-25",
"count": 1
},
{
"date": "2024-08-19",
"count": 1
},
{
"date": "2024-10-22",
"count": 1
},
{
"date": "2024-10-31",
"count": 1
},
{
"date": "2024-11-01",
"count": 1
},
{
"date": "2024-12-09",
"count": 1
},
{
"date": "2024-12-26",
"count": 1
},
{
"date": "2025-01-16",
"count": 2
},
{
"date": "2025-02-01",
"count": 1
},
{
"date": "2025-03-06",
"count": 1
},
{
"date": "2025-04-02",
"count": 1
},
{
"date": "2025-07-19",
"count": 1
},
{
"date": "2025-10-15",
"count": 2
},
{
"date": "2025-11-15",
"count": 1
},
{
"date": "2025-12-22",
"count": 1
},
{
"date": "2026-01-15",
"count": 1
},
{
"date": "2026-01-29",
"count": 2
},
{
"date": "2026-02-26",
"count": 1
},
{
"date": "2026-04-09",
"count": 1
},
{
"date": "2026-05-14",
"count": 1
},
{
"date": "2026-05-15",
"count": 1
},
{
"date": "2026-05-30",
"count": 1
}
],
"complete": true,
"collected": 195,
"total_forks": 196
},
"star_history": null,
"open_issues_and_prs": 3
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [],
"largest_source_bytes": 409650,
"source_files_sampled": 2197,
"oversized_source_files": 39,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"requirements.txt"
],
"advisories": {
"error": "No resolved dependencies to assess",
"scope": "repository_graph",
"source": null,
"findings": [],
"collected": false,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 0,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"pypi"
],
"dependencies": [],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [],
"collected": true,
"truncated": false,
"total_count": 0,
"direct_count": 0,
"indirect_count": 0
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 774,
"open_issues": 3,
"closed_ratio": 0.885,
"closed_issues": 23,
"closed_unmerged_prs": 96
},
"bus_factor": 8,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "nicola-mazzucato-arm",
"commits": 375,
"avatar_url": "https://avatars.githubusercontent.com/u/42373140?v=4"
},
{
"type": "User",
"login": "CJKay",
"commits": 224,
"avatar_url": "https://avatars.githubusercontent.com/u/1470499?v=4"
},
{
"type": "User",
"login": "leandro-arm",
"commits": 186,
"avatar_url": "https://avatars.githubusercontent.com/u/66436985?v=4"
},
{
"type": "User",
"login": "manojkumar-arm",
"commits": 172,
"avatar_url": "https://avatars.githubusercontent.com/u/35599589?v=4"
},
{
"type": "User",
"login": "shriram-k-arm",
"commits": 156,
"avatar_url": "https://avatars.githubusercontent.com/u/84845124?v=4"
},
{
"type": "User",
"login": "vijayenthiran-arm",
"commits": 147,
"avatar_url": "https://avatars.githubusercontent.com/u/45235138?v=4"
},
{
"type": "User",
"login": "girishpathak",
"commits": 125,
"avatar_url": "https://avatars.githubusercontent.com/u/11646433?v=4"
},
{
"type": "User",
"login": "jimqui01",
"commits": 109,
"avatar_url": "https://avatars.githubusercontent.com/u/54316584?v=4"
},
{
"type": "User",
"login": "adiang01",
"commits": 108,
"avatar_url": "https://avatars.githubusercontent.com/u/49706881?v=4"
},
{
"type": "User",
"login": "tarek-arm",
"commits": 92,
"avatar_url": "https://avatars.githubusercontent.com/u/56722698?v=4"
}
],
"contributors_sampled": 86,
"top_contributor_share": 0.133
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"scp_gitlab_mirroring.yml",
"scp_pr_auto_message.yml"
],
"has_docs_dir": true,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": null,
"reason": "no pull request found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 0/30 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 12 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 9,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 0,
"reason": "project is archived",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 7,
"reason": "dependency not pinned by hash detected -- score normalized to 7",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "no SAST tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 10,
"reason": "security policy file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 10,
"reason": "0 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "b34e5ceb5bab4bb351e0ba4b86c2f8a539cdbbb4",
"ran_at": "2026-07-22T18:10:44Z",
"aggregate_score": 4.6,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": true,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": null,
"oldest_open_prs": [],
"last_merged_pr_at": "2023-12-13T09:26:41Z",
"ci_last_conclusion": null,
"oldest_open_issues": [
{
"number": 560,
"created_at": "2021-11-25T17:09:33Z",
"last_comment_at": "2023-12-06T20:48:14Z",
"last_comment_author": "nicola-mazzucato-arm"
},
{
"number": 892,
"created_at": "2024-02-27T02:59:04Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 893,
"created_at": "2024-04-08T07:02:09Z",
"last_comment_at": "2024-08-16T08:02:00Z",
"last_comment_author": "tarek-arm"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/ARM-software/SCP-firmware",
"host": "github.com",
"name": "SCP-firmware",
"owner": "ARM-software"
},
"metrics": {
"overall": {
"key": "overall",
"band": "critical",
"name": "Overall health",
"note": "Abandonment Policy applies a 40% multiplier to weighted overall health and gives it a ceiling of 29.",
"notes": [
{
"code": "abandonment_overall_adjustment",
"params": {
"cap": 29,
"pct": 40
}
}
],
"value": 23,
"inputs": {
"security": 46,
"vitality": 17,
"community": 61,
"governance": 85,
"engineering": 72,
"abandonment_cap": 29,
"abandonment_state": "declared",
"abandonment_multiplier": 40,
"weighted_overall_before_abandonment": 57,
"overall_after_abandonment_multiplier": 23
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "critical",
"name": "Vitality",
"value": 17,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "critical",
"name": "Development activity",
"note": null,
"notes": [],
"value": 1,
"inputs": {
"commits_last_year": 0,
"human_commit_share": 1,
"days_since_last_push": 701,
"active_weeks_last_year": 0
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 701 days ago",
"points": 0,
"status": "missed",
"details": [
{
"code": "push_recency",
"params": {
"days": 701
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "0/52 weeks with commits",
"points": 0,
"status": "missed",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 0
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "0 commits in the last year",
"points": 0,
"status": "missed",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 0
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "project is archived",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "at_risk",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 40,
"inputs": {
"releases_count": 26,
"latest_release_tag": "v2.14.0",
"releases_from_tags": true,
"days_since_latest_release": 866,
"mean_days_between_releases": 78.7
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "26 version tags (no GitHub releases)",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "version_tags_no_releases",
"params": {
"count": 26
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 866 days ago",
"points": 0,
"status": "missed",
"details": [
{
"code": "release_recency",
"params": {
"days": 866
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~78.7 days",
"points": 19.8,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 78.7
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "at_risk",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"cap": 29,
"state": "declared",
"guards": [],
"signals": [],
"red_flag": true,
"multiplier_pct": 40,
"declared_reason": "archived",
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": null,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "the repository is archived on GitHub",
"points": 40,
"status": "partial",
"details": [
{
"code": "abandonment_archived",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "moderate",
"name": "Community & Adoption",
"value": 61,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "moderate",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 58,
"inputs": {
"forks": 196,
"stars": 265,
"watchers": 2,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "265 stars",
"points": 39.3,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 265
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "196 forks",
"points": 19.1,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 196
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "2 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 2
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 64,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "license file present, not a recognized license",
"points": 16.9,
"status": "partial",
"details": [
{
"code": "license_custom",
"params": {}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "excellent",
"name": "Sustainability & Governance",
"value": 85,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "excellent",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 97,
"inputs": {
"bus_factor": 8,
"contributors_sampled": 86,
"top_contributor_share": 0.133
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "8 contributor(s) cover half of all commits",
"points": 54,
"status": "met",
"details": [
{
"code": "bus_factor",
"params": {
"count": 8
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 13% of commits",
"points": 19.5,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 13
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "86 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 86
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 12 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 75,
"inputs": {
"merged_prs": 774,
"open_issues": 3,
"closed_issues": 23,
"issue_closed_ratio": 0.885,
"closed_unmerged_prs": 96
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "88% of issues closed",
"points": 41.4,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 88
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "774/870 decided PRs merged",
"points": 34,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 774,
"decided": 870
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"followers": 2615,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "ARM-software",
"public_repos": 195,
"account_age_days": 4663
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "2,615 followers of ARM-software",
"points": 24.6,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 2615,
"login": "ARM-software"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "195 public repos, account ~12 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 195
}
},
{
"code": "account_age_years",
"params": {
"years": 12
}
}
],
"max_points": 25
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "good",
"name": "Engineering Quality",
"value": 72,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_ci_tests"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 60,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "2 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 2
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "no pull request found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"topics": [],
"has_wiki": true,
"homepage": "https://gitlab.arm.com/firmware/SCP-firmware",
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://gitlab.arm.com/firmware/SCP-firmware",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "at_risk",
"name": "Security",
"value": 46,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, CI-Tests, Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"ci_tests",
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 46,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 14,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 4,
"scorecard_aggregate": 4.6
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "no pull request found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 0/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 12 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.2,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "project is archived",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 7",
"points": 3.5,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "no SAST tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "0 existing vulnerabilities detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 8
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "moderate",
"name": "AI Readiness",
"value": 55,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 1,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "100 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 100,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [],
"has_dockerfile": true,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "C (statically typed)",
"points": 11,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "C"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "Dockerfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Dockerfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 7",
"points": 7,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 99,
"inputs": {
"primary_language": "C",
"largest_source_bytes": 409650,
"source_files_sampled": 2197,
"oversized_source_files": 39
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "C (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "C"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "39/2197 source files over 60KB",
"points": 54,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 2197,
"oversized": 39
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
],
"report_type": "repository",
"generated_at": "2026-07-22T18:11:02.567137Z",
"schema_version": "0.26.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/a/ARM-software/SCP-firmware.svg",
"full_name": "ARM-software/SCP-firmware",
"license_state": "custom",
"license_spdx": null
}