diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-08-04 19:37:59 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-08-04 19:37:59 -0400 |
| commit | 9e0243db6169d7d1fc39a087e78fed22a2fe7071 (patch) | |
| tree | 867da284894bc179e0d6f4df062e293fa5dfe85b /arch/um/include | |
| parent | b067c9045af4791a5836042f743d12477131f7b5 (diff) | |
| parent | 8a545f185145e3c09348cd74326268ecfc6715a3 (diff) | |
Merge branch 'for-linus-4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml
Pull UML updates from Richard Weinberger:
"Beside of various fixes this also contains patches to enable features
such was Kcov, kmemleak and TRACE_IRQFLAGS_SUPPORT on UML"
* 'for-linus-4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
hostfs: Freeing an ERR_PTR in hostfs_fill_sb_common()
um: Support kcov
um: Enable TRACE_IRQFLAGS_SUPPORT
um: Use asm-generic/irqflags.h
um: Fix possible deadlock in sig_handler_common()
um: Select HAVE_DEBUG_KMEMLEAK
um: Setup physical memory in setup_arch()
um: Eliminate null test after alloc_bootmem
Diffstat (limited to 'arch/um/include')
| -rw-r--r-- | arch/um/include/asm/irqflags.h | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/arch/um/include/asm/irqflags.h b/arch/um/include/asm/irqflags.h index c780d8a16773..3bb221e1d5a4 100644 --- a/arch/um/include/asm/irqflags.h +++ b/arch/um/include/asm/irqflags.h | |||
| @@ -6,37 +6,33 @@ extern int set_signals(int enable); | |||
| 6 | extern void block_signals(void); | 6 | extern void block_signals(void); |
| 7 | extern void unblock_signals(void); | 7 | extern void unblock_signals(void); |
| 8 | 8 | ||
| 9 | #define arch_local_save_flags arch_local_save_flags | ||
| 9 | static inline unsigned long arch_local_save_flags(void) | 10 | static inline unsigned long arch_local_save_flags(void) |
| 10 | { | 11 | { |
| 11 | return get_signals(); | 12 | return get_signals(); |
| 12 | } | 13 | } |
| 13 | 14 | ||
| 15 | #define arch_local_irq_restore arch_local_irq_restore | ||
| 14 | static inline void arch_local_irq_restore(unsigned long flags) | 16 | static inline void arch_local_irq_restore(unsigned long flags) |
| 15 | { | 17 | { |
| 16 | set_signals(flags); | 18 | set_signals(flags); |
| 17 | } | 19 | } |
| 18 | 20 | ||
| 21 | #define arch_local_irq_enable arch_local_irq_enable | ||
| 19 | static inline void arch_local_irq_enable(void) | 22 | static inline void arch_local_irq_enable(void) |
| 20 | { | 23 | { |
| 21 | unblock_signals(); | 24 | unblock_signals(); |
| 22 | } | 25 | } |
| 23 | 26 | ||
| 27 | #define arch_local_irq_disable arch_local_irq_disable | ||
| 24 | static inline void arch_local_irq_disable(void) | 28 | static inline void arch_local_irq_disable(void) |
| 25 | { | 29 | { |
| 26 | block_signals(); | 30 | block_signals(); |
| 27 | } | 31 | } |
| 28 | 32 | ||
| 29 | static inline unsigned long arch_local_irq_save(void) | 33 | #define ARCH_IRQ_DISABLED 0 |
| 30 | { | 34 | #define ARCh_IRQ_ENABLED (SIGIO|SIGVTALRM) |
| 31 | unsigned long flags; | ||
| 32 | flags = arch_local_save_flags(); | ||
| 33 | arch_local_irq_disable(); | ||
| 34 | return flags; | ||
| 35 | } | ||
| 36 | 35 | ||
| 37 | static inline bool arch_irqs_disabled(void) | 36 | #include <asm-generic/irqflags.h> |
| 38 | { | ||
| 39 | return arch_local_save_flags() == 0; | ||
| 40 | } | ||
| 41 | 37 | ||
| 42 | #endif | 38 | #endif |
