Difference between revisions of "FuSa SIG/Status"

From Xen
 
Line 1: Line 1:
 
= Scope Definition =
 
= Scope Definition =
 
* Hardware
 
* Hardware
** Only platform core components (no platform drivers)
+
** Platform core components (no platform drivers): timer, mmu, iommu, irq controller
*** timer, mmu, iommu, irq controller
 
** board/platform specific code to be done by user
 
   
 
* System configuration
 
* System configuration
 
** Dom0less
 
** Dom0less
** Mixed criticality (a certifiable VM and a non-certifiable VM)
+
** Mixed criticality: a certifiable VM and a non-certifiable VM
   
 
= Ongoing Efforts =
 
= Ongoing Efforts =
   
* Requirements format (doxygen)
+
* Requirements and documentation
  +
** Doxygen for documentation of internal and external interfaces
** table of requirements followed/to be followed/not applicable
 
** doorstop (links requirements to code)
+
** Doorstop to link documentation and requirements to code
** Zephyr solution (originally by Intel) based on doxygen
+
** Zephyr solution (originally by Intel) based on Doxygen
  +
** In Progress: conversion of hypercalls docs to Doxygen format
** Challenge: all changes required within 1 release cycle. ACTION: plan out the activities with the committers.
 
   
 
* MISRA C
 
* MISRA C
  +
** MISRA C Working Group established
** MISRA C working group is evaluating MISRA C rules and accepting them into the Xen coding style.
 
  +
** MISRA C Working Group is evaluating MISRA C rules and accepting them into the Xen coding style.
** [https://gitlab.com/xen-project/xen/-/blob/staging/docs/misra/rules.rst|MISRA C rules accepted in Xen]
 
  +
** [https://gitlab.com/xen-project/xen/-/blob/staging/docs/misra/rules.rst|MISRA C rules officially accepted in Xen]
 
** cppcheck available to detect violations, see *make cppcheck* and *make cppcheck-html*
 
** cppcheck available to detect violations, see *make cppcheck* and *make cppcheck-html*
** In progress: violations reduction
+
** In Progress: violations reduction and MISRA C rules acceptance
   
  +
* Static System Definition
* static system definition
 
** static memory allocation
+
** Static memory allocation
** static heap allocation
+
** Static heap allocation
** cpupools
+
** Static cpupools
** status: upstraming in progress
+
** Done: cpupools
  +
** In Progress: memory and heap allocation
   
* Real-time and interference reduction
+
* Determinism and interference reduction
** real time analysis of Xen
+
** Interrupt latency analysis in Xen
  +
** Cache Coloring
*** interrupt forward response time
 
  +
** In Progress: Cache Coloring upstreaming
** cache coloring
 
** status: upstreaming in progress
 
   
  +
* Traceability
* commit review tracing
 
  +
** Trace review comments and patch versions all the way to a commit
** get info from mailing list archive
 
** script available to retrieve all mailing list discussions from a commit id
+
** Status: script prototype available to retrieve all mailing list discussions from a commit id
   
   

Latest revision as of 22:21, 11 August 2022

Scope Definition

  • Hardware
    • Platform core components (no platform drivers): timer, mmu, iommu, irq controller
  • System configuration
    • Dom0less
    • Mixed criticality: a certifiable VM and a non-certifiable VM

Ongoing Efforts

  • Requirements and documentation
    • Doxygen for documentation of internal and external interfaces
    • Doorstop to link documentation and requirements to code
    • Zephyr solution (originally by Intel) based on Doxygen
    • In Progress: conversion of hypercalls docs to Doxygen format
  • MISRA C
    • MISRA C Working Group established
    • MISRA C Working Group is evaluating MISRA C rules and accepting them into the Xen coding style.
    • C rules officially accepted in Xen
    • cppcheck available to detect violations, see *make cppcheck* and *make cppcheck-html*
    • In Progress: violations reduction and MISRA C rules acceptance
  • Static System Definition
    • Static memory allocation
    • Static heap allocation
    • Static cpupools
    • Done: cpupools
    • In Progress: memory and heap allocation
  • Determinism and interference reduction
    • Interrupt latency analysis in Xen
    • Cache Coloring
    • In Progress: Cache Coloring upstreaming
  • Traceability
    • Trace review comments and patch versions all the way to a commit
    • Status: script prototype available to retrieve all mailing list discussions from a commit id