Changeset bea6233 in mainline for kernel/arch/ia32/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/ia32/include/arch/asm.h

    rdeed510 rbea6233  
    5757}
    5858
    59 _NO_TRACE static inline void cpu_sleep(void)
    60 {
    61         asm volatile (
     59/** Enables interrupts and blocks until an interrupt arrives,
     60 * atomically if possible on target architecture.
     61 * Disables interrupts again before returning to caller.
     62 */
     63_NO_TRACE static inline void cpu_interruptible_sleep(void)
     64{
     65        asm volatile (
     66            "sti\n"
    6267            "hlt\n"
     68            "cli\n"
    6369        );
    6470}
Note: See TracChangeset for help on using the changeset viewer.