Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: arch: arm: Remove aarch32 directory and split Cortex-M and Cortex-A/r code #60031

Commits on Sep 13, 2023

  1. arch: arm: Remove aarch32 directory

    It doesn't make sense to keep the aarch32 directory in the
    'arch/arm/core' directory as the aarch64 has been moved out.
    
    This commit introduces the following major changes.
    
      1. Move all directories and files in 'arch/arm/core/aarch32' to
        'arch/arm/core' and remove the 'arch/arm/core/aarch32' directory.
      2. Move all directories and files in 'arch/include/aarch32' to
        'arch/include' and remove the 'arch/include/aarch32' directory.
      3. Remove the nested including in the 'arch/include/kernel_arch_func.h'
        and 'arch/include/offsets_short_arch.h' header files.
      4. Change the path string which is influenced by the changement 1
        and 2.
    
    Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
    SgrrZhf committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    87f757d View commit details
    Browse the repository at this point in the history
  2. include: arch: arm: Remove aarch32 directory

    This commit follows the parent commit work.
    
    This commit introduces the following major changes.
    
      1. Move all directories and files in 'include/zephyr/arch/arm/aarch32'
        to the 'include/zephyr/arch/arm' directory.
    
      2. Change the path string which is influenced by the changement 1.
    
    Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
    SgrrZhf committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    bb24e9a View commit details
    Browse the repository at this point in the history
  3. arch: arm: cortex-m: Move irq_relay.S to the cortex-m directory

    'irq_relay.S' is only used for Arm Cortex-M architecture, so it's better
    to place it to the 'arch/arm/core/cortex_m' directory.
    
    Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
    SgrrZhf committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    fe5d8c7 View commit details
    Browse the repository at this point in the history
  4. arch: arm: Separate common swap code

    There are too many differences between Cortex-A/R and Cortex-M on swap
    code. For reducing the complexity and easier to maintain, this commit
    introduces the following major changes
    
      1. Separate swap.c and swap_helper.S into two different parts based on
        the architecture.
    
      2. Rename 'z_arm_pendsv' to 'z_arm_do_swap' for Cortex-A/R.
    
      3. Removes the part related to the option 'CONFIG_BUILTIN_STACK_GUARD'
        in 'cortex_a_r/swap_helper.S' because this code is written for
        the Cortex-M architecture.
    
    Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
    SgrrZhf committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    26597a3 View commit details
    Browse the repository at this point in the history
  5. arch: arm: Separate common irq_manage and isr_wrapper code

    There are too many differences between Cortex-A/R and Cortex-M on irq
    code, e.g. Cortex-A/R use GIC and Cortex-M uses NVIC. For reducing
    the complexity and easier to maintain, this commit separates irq_manage.c
    and isr_wrapper.S into two different parts based on the architecture.
    
    This commit also Removes the part related to the option
    'CONFIG_ARM_SECURE_FIRMWARE' in 'cortex_a_r/irq_manage.c' because
    this code is written for the Cortex-M architecture.
    
    Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
    SgrrZhf committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    a034e86 View commit details
    Browse the repository at this point in the history
  6. arch: arm: Separate common exc header file

    This commit Separate exc.h into two header files, 'cortex_a_r/exc.h' and
    'cortex_m/exc.h'. Still, keep 'exc.h' so that we don't need to change
    other files which include it.
    
    Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
    SgrrZhf committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    e3b4244 View commit details
    Browse the repository at this point in the history
  7. arch: arm: Separate common prep_c code

    This commit Separate 'prep_c.c' into two file based on the architecture,
    one is 'cortex_m/prep_c.c', the other is 'cortex_a_r/prep_c.c'
    
    Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
    SgrrZhf committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    16d0e29 View commit details
    Browse the repository at this point in the history
  8. arch: arm: Separate common thread code

    This commit separates thread.c into two source files,
    'cortex_a_r/thread.c' and 'cortex_m/thread.c, it also introduces some
    changes.
    
    1. Migrate 'thread.c' and 'cortex_m/thread.c'.
    2. Migrate 'thread.c' and 'cortex_a_r/thread.c'
    3. Remove the 'z_arm_mpu_stack_guard_and_fpu_adjust' function as this is
       obviously written for Cortex-M architecture.
    4. Remove the 'z_arm_prepare_switch_to_main' function as this is only
       used by Cortex-M architecture.
    
    Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
    SgrrZhf committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    0b9cf13 View commit details
    Browse the repository at this point in the history
  9. arch: arm: Separate common cpu_idle codes

    This commit separates cpu_idle.S into two asm files,
    'cortex_a_r/cpu_idle.S' and 'cortex_m/cpu_idle.S'.
    
    Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
    SgrrZhf committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    67e8f39 View commit details
    Browse the repository at this point in the history
  10. arch: arm: Separate common kernel_arch_func code

    This commit separates kernel_arch_func.h into two header file,
    'cortex_a_r/kernel_arch_func.h' and 'cortex_m/kernel_arch_func.h', it
    also removes some functions which is empty.
    
    Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
    SgrrZhf committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    2aff843 View commit details
    Browse the repository at this point in the history
  11. doc: release-notes: Add Aarch32 v3.5.0 notes

    Adds release notes for Aarch32 for Zephyr 3.5.0.
    
    Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
    SgrrZhf committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    61b0703 View commit details
    Browse the repository at this point in the history