aboutsummaryrefslogtreecommitdiff
path: root/linux/dev/include
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2023-02-14 00:06:54 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2023-02-14 00:06:54 +0100
commit544071f200124fafd4fe7628c54f124e8577ca82 (patch)
treef0e0ef8a706126c3d6a65e21ee3f5dcd40759e26 /linux/dev/include
parentf9ebee5589f8056ef52c6ecfdf7d6e10f4d34d1c (diff)
downloadgnumach-544071f200124fafd4fe7628c54f124e8577ca82.tar.gz
gnumach-544071f200124fafd4fe7628c54f124e8577ca82.tar.bz2
gnumach-544071f200124fafd4fe7628c54f124e8577ca82.zip
Make curr_ipl[] per cpu
Diffstat (limited to 'linux/dev/include')
-rw-r--r--linux/dev/include/asm-i386/system.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/linux/dev/include/asm-i386/system.h b/linux/dev/include/asm-i386/system.h
index 41eb65a4..ac091e27 100644
--- a/linux/dev/include/asm-i386/system.h
+++ b/linux/dev/include/asm-i386/system.h
@@ -1,7 +1,8 @@
#ifndef __ASM_SYSTEM_H
#define __ASM_SYSTEM_H
-#include <i386/ipl.h> /* curr_ipl, splx */
+#include <i386/ipl.h> /* curr_ipl[], splx */
+#include <i386/cpu_number.h>
#include <asm/segment.h>
@@ -225,7 +226,7 @@ static inline unsigned long __xchg(unsigned long x, void * ptr, int size)
#define mb() __asm__ __volatile__ ("" : : :"memory")
#define __sti() __asm__ __volatile__ ("sti": : :"memory")
#define __cli() __asm__ __volatile__ ("cli": : :"memory")
-#define __save_flags(x) (x = ((curr_ipl > 0) ? 0 : (1 << 9)))
+#define __save_flags(x) (x = ((curr_ipl[cpu_number()] > 0) ? 0 : (1 << 9)))
#define __restore_flags(x) splx((x & (1 << 9)) ? 0 : 7)
#ifdef __SMP__