Skip to content

Submodule update#1480

Merged
julianuziemblo merged 1 commit intomasterfrom
julianuziemblo/remove-stm32l1
Nov 20, 2025
Merged

Submodule update#1480
julianuziemblo merged 1 commit intomasterfrom
julianuziemblo/remove-stm32l1

Conversation

@julianuziemblo
Copy link
Contributor

@julianuziemblo julianuziemblo commented Nov 18, 2025

  • phoenix-rtos-build e594e16...bfb71a8 (1):

    remove obsolete stm32l1 target

  • phoenix-rtos-devices 7bcd2106...74c5e16c (5):

    multi/stm32l4: fix spelling errors
    remove obsolete stm32l1 target's drivers
    grspwrtr/grspwrtr.c: remove unused regs
    grspwrtr/grspwrtr.c: fix comment
    grspwrtr/grspwrtr.c: fix wrong offset in reg arrays

  • phoenix-rtos-filesystems 7c0791e...3840bae (1):

    remove obsolete stm32l1 targets

  • phoenix-rtos-kernel c8272471...ef519850 (82):

    remove obsolete stm32l1 target support
    update supported targets in README.md
    proc: fix ELF header validation
    proc: minimize diff in elf32/elf64 validation
    proc: handle zero size str section in elf64
    hal/stm32n6: add platformctl for setting DMA list base address register
    misra: add refactor commits to .git-blame-ignore-revs
    hal/string: add refactoring TODO for hal_i2s
    make refs signed
    proc/process: improve ELF headers parsing loops
    proc/threads: revert sigsuspend argument name amask to mask
    make numeric literals conformant to code style
    syscalls: remove unused SYSCALLS_STRING macro
    syscalls: add proper cast + FIXME comment
    fix format and codespell
    proc/name: remove redundant if 1
    posix/unix: revert unix_bufferSetSize sz to int
    posix: simplify poll timeout calculation
    posix/sockport.h: fix MAX_SOCKNAME_LEN definition
    posix: fix posix_fcntl case fallthrough
    posix/unix.c: revert unixsock_cmp to branchless code
    posix: explicitly cast to proper file-related types
    !posix: change ino_t type to unsigned long long
    posix/posix: remove dead alternative poll implementation
    posix: remove unnecessary FIXME
    posix: cast oid.id to unsigned int
    posix: fix types
    hal: define common exception handler function type
    !syscalls: remove obsolete syscall_mmdump
    lib/printf: fix constant suffixes
    lib: make _cbuffer_init return void
    (lib, proc): fix atomic operations
    header guard unification
    proc/userintr: remove dead assert
    syscalls: cast to proper type instead of turning rule off
    remove not-C-style comments
    proc: define process/thread states as constants to reduce casts
    proc/threads: reduce number of casts, type priority as u8
    proc/process: remove dead code
    proc: misrify msg, name, ports
    hal/riscv64: remove lazy mapping dead code
    vm: remove dead map_pageFault implementation
    elf: make constants unsigned, make relType unsigned char
    hal/armv7r/zynqmp: fix devclock get, remove TBC comment
    hal/armv7r/cpu.h: remove unnecessary cast
    hal: add clang-format off for long enums
    hal/ia32: import hal/hal.h
    hal: remove redundant declarations of _hal_cpuInit
    hal: mark reboot functions as noreturn
    hal, proc: strongly-type handlers
    hal: make SYSTICK_INTERVAL signed (revert)
    posix: remove empty else branch
    remove assign+check and implicit checks in conditionals
    vm/map: disable dead code for not merging anon entries
    vm/map: remove redundant nullcheck
    vm/map: simplify rmerge/lmerge conditionals
    vm/map: ensure map->stop >= size
    vm/kmalloc: split large if conditional
    vm/page-nommu: remove unnecessary variable
    vm/page.c: break up lengthy line
    vm/map: extract common offset expression in map_force
    vm/kmalloc: extract blocksz to variable
    hal: make hal aware of vm types
    vm: clean up types, introduce vm
    {flags,attr,prot}_t
    vm: make map_entry_t::aoffs and amap_t::size size_t
    remove extern from function declarations
    hal: U suffix and type unification
    hal: change prot type to unsigned int
    hal: change 'count' to 'n' in hal_strncmp for consistency
    hal/pmap: only compile code when needed
    hal: add noreturn to reboot/reset functions
    syscalls: make ustack arg type u8*
    syscalls/mmap: cast flags to unsigned in impl
    syscalls: revert mmap flags to int, drop redundant size_t cast, add unreachable builtin
    syspage: remove unnecessary suppresion
    replace all unsigned occurences to unsigned int
    log: simplify if-else
    log: use msg_rid_t, return size_t from log_write
    test: remove dead code, make count and lock global variables static
    gitignore: add .cpptest
    misra: adapt kernel to MISRA C standard
    lib/rb: remove dead store

  • phoenix-rtos-utils 728bc94...1d06ed5 (1):

    _targets: remove obsolete stm32l1 target

Description

Motivation and Context

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Chore (refactoring, style fixes, git/CI config, submodule management, no code logic changes)

How Has This Been Tested?

  • Already covered by automatic testing.
  • New test added: (add PR link here).
  • Tested by hand on: (list targets here).

Checklist:

  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing linter checks and tests passed.
  • My changes generate no new compilation warnings for any of the targets.

Special treatment

@julianuziemblo julianuziemblo changed the title [DO NOT MERGE] update [DO NOT MERGE] remove obsolete stm32l1 target Nov 18, 2025
@gemini-code-assist
Copy link

Summary of Changes

Hello @julianuziemblo, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request primarily focuses on removing the obsolete stm32l1 target support across multiple core submodules, including build, devices, filesystems, and the kernel. Concurrently, the phoenix-rtos-kernel submodule undergoes a significant overhaul, encompassing extensive code refactoring, type unification, dead code elimination, and general code quality improvements to enhance maintainability and align with coding standards like MISRA C. These changes collectively aim to streamline the project, remove deprecated components, and improve the overall robustness and clarity of the kernel.

Highlights

  • Obsolete Target Removal: The stm32l1 target support has been completely removed across phoenix-rtos-build, phoenix-rtos-devices, phoenix-rtos-filesystems, and phoenix-rtos-kernel, streamlining the codebase.
  • Kernel Code Quality and Refactoring: The phoenix-rtos-kernel submodule received extensive updates focusing on code quality, type unification, dead code removal, and adherence to coding standards, including MISRA C adaptation.
  • ELF Parsing and POSIX Layer Improvements: Several fixes and improvements were applied to ELF header validation and parsing within the proc component, as well as various corrections and simplifications in the POSIX compatibility layer.
  • HAL and VM Enhancements: The Hardware Abstraction Layer (HAL) and Virtual Memory (VM) components received numerous cleanups, type fixes, and minor functional improvements, such as adding platformctl for DMA list base address in stm32n6.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the commit pointers for four submodules. While the title indicates the goal is to remove the stm32l1 target, the associated commit history, particularly for phoenix-rtos-kernel, reveals a vast number of unrelated changes (over 80 commits). This includes bug fixes, extensive refactoring, and MISRA compliance updates. Mixing so many different logical changes into one pull request significantly hinders the review process and makes it difficult to assess the impact of each change. I strongly recommend splitting this work into smaller, logically-grouped pull requests. For example, the target removal, ELF parsing fixes, and MISRA adaptations should each be in separate PRs. This will facilitate a more thorough and effective review.

@julianuziemblo julianuziemblo marked this pull request as draft November 18, 2025 15:37
@github-actions
Copy link

github-actions bot commented Nov 18, 2025

Unit Test Results

    1 files  ±     0    561 suites   - 1 575   51m 2s ⏱️ - 5h 1m 59s
9 462 tests  - 14 963  8 873 ✅  - 11 671  589 💤  - 3 292  0 ❌ ±0 
9 462 runs   - 15 149  8 873 ✅  - 11 818  589 💤  - 3 331  0 ❌ ±0 

Results for commit 4294b64. ± Comparison against base commit 782c8b6.

This pull request removes 14963 tests.
phoenix-rtos-tests/busybox/basename ‑ armv7a7-imx6ull-evk:phoenix-rtos-tests/busybox/basename.basename-does-not-remove-identical-extension
phoenix-rtos-tests/busybox/basename ‑ armv7a7-imx6ull-evk:phoenix-rtos-tests/busybox/basename.basename-works
phoenix-rtos-tests/busybox/basename ‑ armv7a9-zynq7000-qemu:phoenix-rtos-tests/busybox/basename.basename-does-not-remove-identical-extension
phoenix-rtos-tests/busybox/basename ‑ armv7a9-zynq7000-qemu:phoenix-rtos-tests/busybox/basename.basename-works
phoenix-rtos-tests/busybox/basename ‑ armv7a9-zynq7000-zedboard:phoenix-rtos-tests/busybox/basename.basename-does-not-remove-identical-extension
phoenix-rtos-tests/busybox/basename ‑ armv7a9-zynq7000-zedboard:phoenix-rtos-tests/busybox/basename.basename-works
phoenix-rtos-tests/busybox/basename ‑ ia32-generic-qemu:phoenix-rtos-tests/busybox/basename.basename-does-not-remove-identical-extension
phoenix-rtos-tests/busybox/basename ‑ ia32-generic-qemu:phoenix-rtos-tests/busybox/basename.basename-works
phoenix-rtos-tests/busybox/bunzip2 ‑ armv7a7-imx6ull-evk:phoenix-rtos-tests/busybox/bunzip2
phoenix-rtos-tests/busybox/bunzip2 ‑ armv7a9-zynq7000-qemu:phoenix-rtos-tests/busybox/bunzip2
…

♻️ This comment has been updated with latest results.

@julianuziemblo julianuziemblo force-pushed the julianuziemblo/remove-stm32l1 branch 4 times, most recently from 907121d to c97c8e4 Compare November 19, 2025 15:26
@julianuziemblo julianuziemblo force-pushed the julianuziemblo/remove-stm32l1 branch from c97c8e4 to a497dc4 Compare November 20, 2025 09:30
@julianuziemblo julianuziemblo changed the title [DO NOT MERGE] remove obsolete stm32l1 target Submodule update Nov 20, 2025
@julianuziemblo julianuziemblo marked this pull request as ready for review November 20, 2025 09:30
@julianuziemblo julianuziemblo requested a review from a team November 20, 2025 09:31
@adamgreloch
Copy link
Member

Let's also merge this first: phoenix-rtos/phoenix-rtos-kernel#717

* phoenix-rtos-build e594e16...bfb71a8 (1):
  > remove obsolete stm32l1 target

* phoenix-rtos-devices 7bcd2106...74c5e16c (5):
  > multi/stm32l4: fix spelling errors
  > remove obsolete stm32l1 target's drivers
  > grspwrtr/grspwrtr.c: remove unused regs
  > grspwrtr/grspwrtr.c: fix comment
  > grspwrtr/grspwrtr.c: fix wrong offset in reg arrays

* phoenix-rtos-filesystems 7c0791e...3840bae (1):
  > remove obsolete stm32l1 targets

* phoenix-rtos-kernel c8272471...76e72e4c (82):
  > vm/object: fix to ensure offs fits in addr_t only if accessing phys mem
  > remove obsolete stm32l1 target support
  > update supported targets in README.md
  > proc: fix ELF header validation
  > proc: minimize diff in elf32/elf64 validation
  > proc: handle zero size str section in elf64
  > hal/stm32n6: add platformctl for setting DMA list base address register
  > misra: add refactor commits to .git-blame-ignore-revs
  > hal/string: add refactoring TODO for hal_i2s
  > make refs signed
  > proc/process: improve ELF headers parsing loops
  > proc/threads: revert sigsuspend argument name amask to mask
  > make numeric literals conformant to code style
  > syscalls: remove unused SYSCALLS_STRING macro
  > syscalls: add proper cast + FIXME comment
  > fix format and codespell
  > proc/name: remove redundant `if 1`
  > posix/unix: revert unix_bufferSetSize sz to int
  > posix: simplify poll timeout calculation
  > posix/sockport.h: fix MAX_SOCKNAME_LEN definition
  > posix: fix posix_fcntl case fallthrough
  > posix/unix.c: revert unixsock_cmp to branchless code
  > posix: explicitly cast to proper file-related types
  > !posix: change ino_t type to unsigned long long
  > posix/posix: remove dead alternative poll implementation
  > posix: remove unnecessary FIXME
  > posix: cast oid.id to unsigned int
  > posix: fix types
  > hal: define common exception handler function type
  > !syscalls: remove obsolete syscall_mmdump
  > lib/printf: fix constant suffixes
  > lib: make _cbuffer_init return void
  > (lib, proc): fix atomic operations
  > header guard unification
  > proc/userintr: remove dead assert
  > syscalls: cast to proper type instead of turning rule off
  > remove not-C-style comments
  > proc: define process/thread states as constants to reduce casts
  > proc/threads: reduce number of casts, type priority as u8
  > proc/process: remove dead code
  > proc: misrify msg, name, ports
  > hal/riscv64: remove lazy mapping dead code
  > vm: remove dead map_pageFault implementation
  > elf: make constants unsigned, make relType `unsigned char`
  > hal/armv7r/zynqmp: fix devclock get, remove TBC comment
  > hal/armv7r/cpu.h: remove unnecessary cast
  > hal: add clang-format off for long enums
  > hal/ia32: import hal/hal.h
  > hal: remove redundant declarations of _hal_cpuInit
  > hal: mark reboot functions as noreturn
  > hal, proc: strongly-type handlers
  > hal: make SYSTICK_INTERVAL signed (revert)
  > posix: remove empty else branch
  > remove assign+check and implicit checks in conditionals
  > vm/map: disable dead code for not merging anon entries
  > vm/map: remove redundant nullcheck
  > vm/map: simplify rmerge/lmerge conditionals
  > vm/map: ensure map->stop >= size
  > vm/kmalloc: split large if conditional
  > vm/page-nommu: remove unnecessary variable
  > vm/page.c: break up lengthy line
  > vm/map: extract common offset expression in _map_force
  > vm/kmalloc: extract blocksz to variable
  > hal: make hal aware of vm types
  > vm: clean up types, introduce vm_{flags,attr,prot}_t
  > vm: make map_entry_t::aoffs and amap_t::size size_t
  > remove `extern` from function declarations
  > hal: U suffix and type unification
  > hal: change prot type to unsigned int
  > hal: change 'count' to 'n' in hal_strncmp for consistency
  > hal/pmap: only compile code when needed
  > hal: add noreturn to reboot/reset functions
  > syscalls: make ustack arg type u8*
  > syscalls/mmap: cast flags to unsigned in impl
  > syscalls: revert mmap flags to int, drop redundant size_t cast, add unreachable builtin
  > syspage: remove unnecessary suppresion
  > replace all `unsigned` occurences to `unsigned int`
  > log: simplify if-else
  > log: use msg_rid_t, return size_t from log_write
  > test: remove dead code, make count and lock global variables static
  > gitignore: add .cpptest
  > misra: adapt kernel to MISRA C standard
  > lib/rb: remove dead store

* phoenix-rtos-utils 728bc94...1d06ed5 (1):
  > _targets: remove obsolete stm32l1 target
@julianuziemblo julianuziemblo force-pushed the julianuziemblo/remove-stm32l1 branch from a497dc4 to 4294b64 Compare November 20, 2025 10:04
@julianuziemblo julianuziemblo merged commit 5d68727 into master Nov 20, 2025
41 checks passed
@julianuziemblo julianuziemblo deleted the julianuziemblo/remove-stm32l1 branch November 20, 2025 10:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments