Hi Stefano,
I fixed MISRA rules violation and now Pipeline passes with no regressions:
https://gitlab.com/xen-project/people/dimaprkp4k/xen/-/pipelines/2022022013

I will send V9 with updates.

BR,
Oleksii

On 04/09/2025 00:24, Stefano Stabellini wrote:
> Hi Oleksii,
>
> It is still not passing the ci-loop, this time due to MISRA. See the two
> new 8.3 and 8.4 violations (previously zero) and also new additional
> 12.2, 13.1 violations:
>
> https://gitlab.com/xen-project/people/sstabellini/xen/-/pipelines/2020545544
>
> https://eclair-analysis-logs.xenproject.org/fs/var/local/eclair/xen-project.ecdf/xen-project/people/sstabellini/xen/ECLAIR_normal/ppp2/ARM64/11238076156/PROJECT.ecd;/by_service.html#service&kind
>
> per comparison, this is the baseline:
> https://eclair-analysis-logs.xenproject.org/fs/var/local/eclair/xen-project.ecdf/xen-project/hardware/xen/ECLAIR_normal/staging/ARM64/11232061644/PROJECT.ecd;/by_service.html#service&kind
>
> These are the new 8.3 and 8.4 violations:
>
> https://eclair-analysis-logs.xenproject.org/fs/var/local/eclair/xen-project.ecdf/xen-project/people/sstabellini/xen/ECLAIR_normal/ppp2/ARM64/11238076156/PROJECT.ecd;/by_service/MC3A2.R8.3.html#{%22select%22:true,%22selection%22:{%22hiddenAreaKinds%22:[],%22hiddenSubareaKinds%22:[],%22show%22:false,%22selector%22:{%22enabled%22:true,%22negated%22:true,%22kind%22:0,%22domain%22:%22kind%22,%22inputs%22:[{%22enabled%22:true,%22text%22:%22violation%22}]}}}
>
> https://eclair-analysis-logs.xenproject.org/fs/var/local/eclair/xen-project.ecdf/xen-project/people/sstabellini/xen/ECLAIR_normal/ppp2/ARM64/11238076156/PROJECT.ecd;/by_service/MC3A2.R8.4.html#{%22select%22:true,%22selection%22:{%22hiddenAreaKinds%22:[],%22hiddenSubareaKinds%22:[],%22show%22:false,%22selector%22:{%22enabled%22:true,%22negated%22:true,%22kind%22:0,%22domain%22:%22kind%22,%22inputs%22:[{%22enabled%22:true,%22text%22:%22violation%22}]}}}
>
> Cheers,
>
> Stefano
>
> On Wed, 3 Sep 2025, Oleksii Moisieiev wrote:
>> Inroducing V8 patch series  on top of the Xen version 4.20-rc2
>> which includes implementation of the SCI SCMI SMC single-agent support.
>>
>> This patch series is the first chunk of the
>> "xen/arm: scmi: introduce SCI SCMI SMC multi-agent support" which can
>> be found at [0]
>>
>> SCMI-multiagent support will be provided as the followup patch series.
>>
>> [0] 
>> https://lore.kernel.org/xen-devel/cover.1753184487.git.oleksii_moisie...@epam.com/
>>
>> Patch 1 "xen/arm: add generic SCI subsystem"
>> - rebased and refactored
>> - introduced DEVICE_ARM_SCI DT device class and used for SCI drivers probing
>> instead of custom,
>>    linker sections based implementation.
>> - added SCI API for Dom0 DT handling, instead of manipulating with ARM arch
>> dom0 code directly.
>> - RFC changes in XEN_DOMCTL_assign_device OP processing
>> - Introduce arch_handle_passthrough_prop call to handle arm specific
>> nodes
>>
>> Patch 2 "xen/arm: scmi-smc: update to be used under sci subsystem"
>> - update driver introduced by commit 3e322bef8bc0 ("xen/arm: firmware: Add 
>> SCMI
>> over SMC calls
>> handling layer") be used under sci subsystem.
>> - no functional changes in general
>>
>> Patch 3 "xen/arm: scmi-smc: passthrough SCMI SMC to guest domain
>> This is new change which allows passthrough SCMI SMC, single agent interface 
>> to
>> guest domain
>> cover use case "thin Dom0 with guest domain, which serves as Driver domain".
>> See patch commit message for full description.
>>
>> Patch 4 - docs: arm: add docs for SCMI over SMC calls forwarding
>> driver
>> - add documentation section for Simple Arm SCMI over SMC calls
>> forwarding driver.
>>
>> Code can be found at:
>> https://github.com/oleksiimoisieiev/xen/tree/scmi_upstrv5
>>
>> [1] RFC v2:
>> http://patchwork.kernel.org/project/xen-devel/cover/cover.1644341635.git.oleksii_moisie...@epam.com/
>> [2] RFC v3:
>> https://patchwork.kernel.org/project/xen-devel/patch/20250311111618.1850927-1-grygorii_stras...@epam.com
>> SCMI spec:
>> https://developer.arm.com/documentation/den0056/e/?lang=en
>>
>> SCMI bindings:
>> https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
>> https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/access-controllers/access-controllers.yaml
>>
>> Reference EL3 FW:
>> RPI5: https://github.com/xen-troops/arm-trusted-firmware/commits/rpi5_dev/
>> Renesas v4h:
>> https://github.com/GrygiriiS/arm-trusted-firmware/commits/rcar_gen4_v2.7_v4x-scmi_upd/
>>
>> base-commit: dbe60f244c (Update Xen to 4.21, 2025-02-21)
>>
>> Changes in v8:
>> - reneregated {helpers/types}.gen.go, dropped unneeded parameters
>>
>> Changes in v7:
>> - fix sci_handl_call to make changes more readable
>> - fix build error when DOM0LESS_BUILD is disabled (removed
>>   arch_handle_passthrough_prop from the header)
>> - sort headers in alphabetical order in sci.h
>> - sort headers in scmi-smc.c file
>> - Fix commit description.
>> - Move scmi-smc-passthrough definition to match alphaberical order
>> - remove unneeded initialization with NULL
>> - changed u64 to uint64_t
>> - Send warning if iomem permit access was failed
>> - fixed typos
>>
>> Changes in v6:
>> - rebase on top of the latest master
>> - fix return value of sci_dt_finalize() call
>> - add R-b tag
>> - added generated helpers and types go files
>> - rename cmdline parameter to scmi-smc-passthrough
>> - fix goto tag in parse_arm_sci_config
>> - add link to the scmi bindings used in the doc
>> - remove mentions about HVC calls from doc
>> - rename cmdline parameter to scmi-smc-passthrough
>>
>> Changes in v5:
>> - update Maintainers file. Set role as a Reviewer
>> - rebased on the latest master branch
>> - Introduce arch_handle_passthrough_prop call to handle arm specific nodes
>> - rename dom0_scmi_smc_passthrough to scmi_smc_passthrough
>> - rename dom0_scmi_smc_passthrough in documentation
>>
>> Changes in v4:
>> - fix SPDX-License
>> - rename DEVICE_ARM_SCI DT device class to FIRMWARE_DEVICE
>> - move XEN_DOMCTL_assign_device code in separate patch
>> - Add documentation for SCI SCMI drivers
>> - xl.cfg doc
>> - fix comments from Stefano Stabellini
>> - fix toolstack code as sugested by Anthony PERARD
>>    - use MATCH_OPTION()
>>    - move arm_sci struct and cfg params in "arch_arm"
>> - add SCMI passthrough for dom0less case
>>
>> Grygorii Strashko (3):
>>    xen/arm: scmi-smc: update to be used under sci subsystem
>>    xen/arm: scmi-smc: passthrough SCMI SMC to domain, single agent
>>    docs: arm: add docs for SCMI over SMC calls forwarding driver
>>
>> Oleksii Moisieiev (1):
>>    xen/arm: add generic SCI subsystem
>>
>>   MAINTAINERS                                   |   6 +
>>   .../arm/firmware/arm-scmi.rst                 | 180 ++++++++++++++++
>>   docs/hypervisor-guide/arm/index.rst           |   9 +
>>   docs/hypervisor-guide/index.rst               |   1 +
>>   docs/man/xl.cfg.5.pod.in                      |  34 +++
>>   docs/misc/arm/device-tree/booting.txt         |  15 ++
>>   docs/misc/xen-command-line.pandoc             |   9 +
>>   tools/golang/xenlight/helpers.gen.go          |  35 +++
>>   tools/golang/xenlight/types.gen.go            |  11 +
>>   tools/include/libxl.h                         |   5 +
>>   tools/libs/light/libxl_arm.c                  |  14 ++
>>   tools/libs/light/libxl_types.idl              |  10 +
>>   tools/xl/xl_parse.c                           |  36 ++++
>>   xen/arch/arm/device.c                         |   5 +
>>   xen/arch/arm/dom0less-build.c                 |  40 ++++
>>   xen/arch/arm/domain.c                         |  12 +-
>>   xen/arch/arm/domain_build.c                   |   8 +
>>   xen/arch/arm/firmware/Kconfig                 |  25 ++-
>>   xen/arch/arm/firmware/Makefile                |   1 +
>>   xen/arch/arm/firmware/sci.c                   | 154 ++++++++++++++
>>   xen/arch/arm/firmware/scmi-smc.c              | 194 +++++++++++++----
>>   xen/arch/arm/include/asm/domain.h             |   5 +
>>   xen/arch/arm/include/asm/firmware/sci.h       | 200 ++++++++++++++++++
>>   xen/arch/arm/include/asm/firmware/scmi-smc.h  |  41 ----
>>   xen/arch/arm/vsmc.c                           |   4 +-
>>   xen/common/device-tree/dom0less-build.c       |   4 +
>>   xen/include/asm-generic/device.h              |   1 +
>>   xen/include/public/arch-arm.h                 |   5 +
>>   xen/include/xen/dom0less-build.h              |   3 +
>>   29 files changed, 982 insertions(+), 85 deletions(-)
>>   create mode 100644 docs/hypervisor-guide/arm/firmware/arm-scmi.rst
>>   create mode 100644 docs/hypervisor-guide/arm/index.rst
>>   create mode 100644 xen/arch/arm/firmware/sci.c
>>   create mode 100644 xen/arch/arm/include/asm/firmware/sci.h
>>   delete mode 100644 xen/arch/arm/include/asm/firmware/scmi-smc.h
>>
>> --
>> 2.34.1
>>

Reply via email to