Ignore:
Timestamp:
2023-02-26T15:27:13Z (14 months 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/mips32/include/arch/asm.h

    rdeed510 rbea6233  
    8989extern bool interrupts_disabled(void);
    9090
     91/** Enables interrupts and blocks until an interrupt arrives,
     92 * atomically if possible on target architecture.
     93 * Disables interrupts again before returning to caller.
     94 */
     95_NO_TRACE static inline void cpu_interruptible_sleep(void)
     96{
     97        // FIXME: do this atomically
     98        interrupts_enable();
     99        cpu_sleep();
     100        interrupts_disable();
     101}
     102
    91103#endif
    92104
Note: See TracChangeset for help on using the changeset viewer.