Changeset bea6233 in mainline for kernel/arch/arm32/include/arch/asm.h


Ignore:
Timestamp:
2023-02-26T15:27:13Z (2 years ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Branches:
master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
7cf5ddb
Parents:
deed510
git-author:
Jiří Zárevúcky <zarevucky.jiri@…> (2023-02-26 15:18:02)
git-committer:
Jiří Zárevúcky <zarevucky.jiri@…> (2023-02-26 15:27:13)
Message:

Replace cpu_sleep() with cpu_interruptible_sleep()

The new function combines interrupt reenabling with sleep,
so that a platform can implement this sequence atomically.
This is currently done only on ia32 and amd64.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/arm32/include/arch/asm.h

    rdeed510 rbea6233  
    6565}
    6666
     67/** Enables interrupts and blocks until an interrupt arrives,
     68 * atomically if possible on target architecture.
     69 * Disables interrupts again before returning to caller.
     70 */
     71_NO_TRACE static inline void cpu_interruptible_sleep(void)
     72{
     73        // FIXME: do this atomically
     74        interrupts_enable();
     75        cpu_sleep();
     76        interrupts_disable();
     77}
     78
    6779_NO_TRACE static inline void cpu_spin_hint(void)
    6880{
Note: See TracChangeset for help on using the changeset viewer.