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

Interrupt nesting #10057

Merged
merged 9 commits into from
Aug 7, 2023
Merged

Commits on Aug 3, 2023

  1. arch/armv7-m: Add CONTROL register to xcptcontext.

    To simplify the interrupt handling in protected mode.
    
    Signed-off-by: wangming9 <[email protected]>
    wangming9 committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    7b5d101 View commit details
    Browse the repository at this point in the history
  2. arch/armv7-m: Supports interrupt nesting

    1、The process stack supports interrupt nesting, Execute in MSP;
    2、The interrupt stack supports interrupt nesting;
       The thread mode use PSP, and the handle mode use MSP;
    3、Adjust arm_doirq、exception_common implementation to meet interrupt nesting
    4、Adjust the conditions for returning MSP and PSP;
    5、remove setintstack,add arm_initialize_stack;
    
    Signed-off-by: wangming9 <[email protected]>
    wangming9 committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    054d8f0 View commit details
    Browse the repository at this point in the history
  3. arch/armv6-m: By default, add REG_EXC_RETURN to xcptcontext.

    Signed-off-by: wangming9 <[email protected]>
    wangming9 committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    5731e08 View commit details
    Browse the repository at this point in the history
  4. arch/armv6-m: Add CONTROL register to xcptcontext.

    To simplify the interrupt handling in protected mode.
    
    Signed-off-by: wangming9 <[email protected]>
    wangming9 committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    996177f View commit details
    Browse the repository at this point in the history
  5. arch/tlsr82: Port arm_doirq to tc32_doirq.c

    Solve the dependency on ARMV6M when compiling tlsr8278adk80d:nsh.
    
    Signed-off-by: wangming9 <[email protected]>
    wangming9 committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    4b1625e View commit details
    Browse the repository at this point in the history
  6. arch/armv6-m: Supports interrupt nesting

    1、The process stack supports interrupt nesting, Execute in MSP;
    2、The interrupt stack supports interrupt nesting;
       The thread mode use PSP, and the handle mode use MSP;
    3、Adjust arm_doirq、exception_common implementation to meet interrupt nesting
    4、Adjust the conditions for returning MSP and PSP;
    5、remove setintstack;
    
    Signed-off-by: wangming9 <[email protected]>
    wangming9 committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    9366cb4 View commit details
    Browse the repository at this point in the history
  7. arch/armv8-m: Add CONTROL register to xcptcontext.

    To simplify the interrupt handling in protected mode.
    
    Signed-off-by: wangming9 <[email protected]>
    wangming9 committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    7721400 View commit details
    Browse the repository at this point in the history
  8. arch/armv8-m: Supports interrupt nesting

    1、The process stack supports interrupt nesting, Execute in MSP;
    2、The interrupt stack supports interrupt nesting;
       The thread mode use PSP, and the handle mode use MSP;
    3、Adjust arm_doirq、exception_common implementation to meet interrupt nesting
    4、Adjust the conditions for returning MSP and PSP;
    5、remove setintstack;
    
    Signed-off-by: wangming9 <[email protected]>
    wangming9 committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    d00f36a View commit details
    Browse the repository at this point in the history
  9. arch/armv8-m: Supports interrupt nesting between TEE and REE

    The first time interrupt nesting occurs between REE and TEE,
    CURRENT_REGS needs to be set.
    
    If TEE nesting REE breaks, then EXC_RETURN.S=0,EXC_RETURN.ES=1;
    Conversely, EXC_RETURN.S=1,EXC_RETURN.ES=0;
    Interrupt nesting between TEE and REE can be determined based
    on the S and ES bits of EXC_RETURN.
    Only once nesting between TEE and REE is supported, and cyclic
    nesting between TEE and REE is not supported.
    
    Signed-off-by: wangming9 <[email protected]>
    wangming9 committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    85c0206 View commit details
    Browse the repository at this point in the history