summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/ia32.h
diff options
context:
space:
mode:
authorNikolay Borisov <nik.borisov@suse.com>2023-06-23 14:14:04 +0300
committerThomas Gleixner <tglx@linutronix.de>2023-09-14 13:19:53 +0200
commit1da5c9bc119d3a749b519596b93f9b2667e93c4a (patch)
tree03602b88f850bf5c6a0ed3d3a3bfab7fc98b3502 /arch/x86/include/asm/ia32.h
parent0bb80ecc33a8fb5a682236443c1e740d5c917d1d (diff)
downloadlinux-stable-1da5c9bc119d3a749b519596b93f9b2667e93c4a.tar.gz
linux-stable-1da5c9bc119d3a749b519596b93f9b2667e93c4a.tar.bz2
linux-stable-1da5c9bc119d3a749b519596b93f9b2667e93c4a.zip
x86: Introduce ia32_enabled()
IA32 support on 64bit kernels depends on whether CONFIG_IA32_EMULATION is selected or not. As it is a compile time option it doesn't provide the flexibility to have distributions set their own policy for IA32 support and give the user the flexibility to override it. As a first step introduce ia32_enabled() which abstracts whether IA32 compat is turned on or off. Upcoming patches will implement the ability to set IA32 compat state at boot time. Signed-off-by: Nikolay Borisov <nik.borisov@suse.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/20230623111409.3047467-2-nik.borisov@suse.com
Diffstat (limited to 'arch/x86/include/asm/ia32.h')
-rw-r--r--arch/x86/include/asm/ia32.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/arch/x86/include/asm/ia32.h b/arch/x86/include/asm/ia32.h
index fada857f0a1e..5a2ae24b1204 100644
--- a/arch/x86/include/asm/ia32.h
+++ b/arch/x86/include/asm/ia32.h
@@ -68,6 +68,20 @@ extern void ia32_pick_mmap_layout(struct mm_struct *mm);
#endif
-#endif /* CONFIG_IA32_EMULATION */
+extern bool __ia32_enabled;
+
+static inline bool ia32_enabled(void)
+{
+ return __ia32_enabled;
+}
+
+#else /* !CONFIG_IA32_EMULATION */
+
+static inline bool ia32_enabled(void)
+{
+ return IS_ENABLED(CONFIG_X86_32);
+}
+
+#endif
#endif /* _ASM_X86_IA32_H */