K2LL33D SHELL

 Apache/2.4.7 (Ubuntu)
 Linux sman1baleendah 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64
 uid=33(www-data) gid=33(www-data) groups=33(www-data)
 safemode : OFF
 MySQL: ON | Perl: ON | cURL: OFF | WGet: ON
  >  / usr / src / linux-headers-3.13.0-24 / arch / sh / include / asm /
server ip : 104.21.89.46

your ip : 172.70.80.203

H O M E


Filename/usr/src/linux-headers-3.13.0-24/arch/sh/include/asm/atomic-irq.h
Size1.37 kb
Permissionrw-r--r--
Ownerroot : root
Create time27-Apr-2025 09:50
Last modified20-Jan-2014 10:40
Last accessed06-Jul-2025 21:55
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
#ifndef __ASM_SH_ATOMIC_IRQ_H
#define __ASM_SH_ATOMIC_IRQ_H

#include <linux/irqflags.h>

/*
* To get proper branch prediction for the main line, we must branch
* forward to code at the end of this object's .text section, then
* branch back to restart the operation.
*/
static inline void atomic_add(int i, atomic_t *v)
{
unsigned long flags;

raw_local_irq_save(flags);
v->counter += i;
raw_local_irq_restore(flags);
}

static inline void atomic_sub(int i, atomic_t *v)
{
unsigned long flags;

raw_local_irq_save(flags);
v->counter -= i;
raw_local_irq_restore(flags);
}

static inline int atomic_add_return(int i, atomic_t *v)
{
unsigned long temp, flags;

raw_local_irq_save(flags);
temp = v->counter;
temp += i;
v->counter = temp;
raw_local_irq_restore(flags);

return temp;
}

static inline int atomic_sub_return(int i, atomic_t *v)
{
unsigned long temp, flags;

raw_local_irq_save(flags);
temp = v->counter;
temp -= i;
v->counter = temp;
raw_local_irq_restore(flags);

return temp;
}

static inline void atomic_clear_mask(unsigned int mask, atomic_t *v)
{
unsigned long flags;

raw_local_irq_save(flags);
v->counter &= ~mask;
raw_local_irq_restore(flags);
}

static inline void atomic_set_mask(unsigned int mask, atomic_t *v)
{
unsigned long flags;

raw_local_irq_save(flags);
v->counter |= mask;
raw_local_irq_restore(flags);
}

#endif /* __ASM_SH_ATOMIC_IRQ_H */