aboutsummaryrefslogtreecommitdiff
path: root/linux/src
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2019-11-11 23:50:03 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2019-11-12 00:00:14 +0100
commit097f9cf735ffa1212b828682ad92f0f6c5f1c552 (patch)
tree69c228c18d9c813d83e685bcccc91b87b9e2a6ef /linux/src
parent1fc9b4b56e8425f5f68c019b511189f25c82c122 (diff)
downloadgnumach-097f9cf735ffa1212b828682ad92f0f6c5f1c552.tar.gz
gnumach-097f9cf735ffa1212b828682ad92f0f6c5f1c552.tar.bz2
gnumach-097f9cf735ffa1212b828682ad92f0f6c5f1c552.zip
irq: Add disabling counter
* linux/dev/arch/i386/kernel/irq.c (ndisabled_irq): New array. (__disable_irq, __enable_irq): New functions, count with ndisabled_irq before really calling mask_irq/unmask_irq. (linux_pic_mask): New variable. (disable_irq, enable_irq): Manage linux_pic_mask and call __disable_irq/__enable_irq instead of calling mask_irq/unmask_irq. * linux/src/include/asm-i386/irq.h (__disable_irq, __enable_irq): New prototypes.
Diffstat (limited to 'linux/src')
-rw-r--r--linux/src/include/asm-i386/irq.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/linux/src/include/asm-i386/irq.h b/linux/src/include/asm-i386/irq.h
index c75744a5..d7d1e3c5 100644
--- a/linux/src/include/asm-i386/irq.h
+++ b/linux/src/include/asm-i386/irq.h
@@ -16,6 +16,8 @@
#define TIMER_IRQ 0
+extern void __disable_irq(unsigned int);
+extern void __enable_irq(unsigned int);
extern void disable_irq(unsigned int);
extern void enable_irq(unsigned int);