1/* softirq.h: 64-bit Sparc soft IRQ support. 2 * 3 * Copyright (C) 1997, 1998 David S. Miller (davem@caip.rutgers.edu) 4 */ 5 6#ifndef __SPARC64_SOFTIRQ_H 7#define __SPARC64_SOFTIRQ_H 8 9#include <asm/atomic.h> 10#include <asm/hardirq.h> 11#include <asm/system.h> /* for membar() */ 12 13#define local_bh_disable() (local_bh_count(smp_processor_id())++) 14#define __local_bh_enable() (local_bh_count(smp_processor_id())--) 15#define local_bh_enable() \ 16do { if (!--local_bh_count(smp_processor_id()) && \ 17 softirq_pending(smp_processor_id())) { \ 18 do_softirq(); \ 19 __sti(); \ 20 } \ 21} while (0) 22 23#define in_softirq() (local_bh_count(smp_processor_id()) != 0) 24 25#endif /* !(__SPARC64_SOFTIRQ_H) */ 26