]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
um: always include kconfig.h and compiler-version.h
authorBenjamin Berg <benjamin.berg@intel.com>
Sun, 3 Nov 2024 15:05:03 +0000 (16:05 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 7 Nov 2024 16:36:30 +0000 (17:36 +0100)
Since commit a95b37e20db9 ("kbuild: get <linux/compiler_types.h> out of
<linux/kconfig.h>") we can safely include these files in userspace code.
Doing so simplifies matters as options do not need to be exported via
asm-offsets.h anymore.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Link: https://patch.msgid.link/20241103150506.1367695-2-benjamin@sipsolutions.net
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
arch/um/Makefile
arch/um/include/shared/common-offsets.h
arch/um/include/shared/timetravel.h
arch/um/include/shared/user.h
arch/um/os-Linux/signal.c
arch/um/os-Linux/skas/process.c
arch/um/os-Linux/util.c

index 31e367e8ab4d04a70a06be08ac901f8d880870e2..1d36a613aad83dd96b9a79e56d2eb21c3597ab7f 100644 (file)
@@ -71,7 +71,9 @@ KBUILD_AFLAGS += $(ARCH_INCLUDE)
 USER_CFLAGS = $(patsubst $(KERNEL_DEFINES),,$(patsubst -I%,,$(KBUILD_CFLAGS))) \
                $(ARCH_INCLUDE) $(MODE_INCLUDE) $(filter -I%,$(CFLAGS)) \
                -D_FILE_OFFSET_BITS=64 -idirafter $(srctree)/include \
-               -idirafter $(objtree)/include -D__KERNEL__ -D__UM_HOST__
+               -idirafter $(objtree)/include -D__KERNEL__ -D__UM_HOST__ \
+               -include $(srctree)/include/linux/compiler-version.h \
+               -include $(srctree)/include/linux/kconfig.h
 
 #This will adjust *FLAGS accordingly to the platform.
 include $(srctree)/$(ARCH_DIR)/Makefile-os-Linux
index 86537e20942a672a639c88aebb9348cc6f4ee367..1d00fc6b6e9256e555772c088aa8923924c6d8f0 100644 (file)
@@ -15,21 +15,3 @@ DEFINE(UM_THREAD_SIZE, THREAD_SIZE);
 
 DEFINE(UM_NSEC_PER_SEC, NSEC_PER_SEC);
 DEFINE(UM_NSEC_PER_USEC, NSEC_PER_USEC);
-
-#ifdef CONFIG_PRINTK
-DEFINE(UML_CONFIG_PRINTK, CONFIG_PRINTK);
-#endif
-#ifdef CONFIG_UML_X86
-DEFINE(UML_CONFIG_UML_X86, CONFIG_UML_X86);
-#endif
-#ifdef CONFIG_64BIT
-DEFINE(UML_CONFIG_64BIT, CONFIG_64BIT);
-#endif
-#ifdef CONFIG_UML_TIME_TRAVEL_SUPPORT
-DEFINE(UML_CONFIG_UML_TIME_TRAVEL_SUPPORT, CONFIG_UML_TIME_TRAVEL_SUPPORT);
-#endif
-#ifdef CONFIG_UML_MAX_USERSPACE_ITERATIONS
-DEFINE(UML_CONFIG_UML_MAX_USERSPACE_ITERATIONS, CONFIG_UML_MAX_USERSPACE_ITERATIONS);
-#else
-DEFINE(UML_CONFIG_UML_MAX_USERSPACE_ITERATIONS, 0);
-#endif
index c8db2f213dbace04de30b1a4ccb660066efab7b7..7c2b277b7eb095490f00b394f159ebcdfc379615 100644 (file)
@@ -12,14 +12,13 @@ enum time_travel_mode {
        TT_MODE_EXTERNAL,
 };
 
-#if defined(UML_CONFIG_UML_TIME_TRAVEL_SUPPORT) || \
-    defined(CONFIG_UML_TIME_TRAVEL_SUPPORT)
+#if IS_ENABLED(CONFIG_UML_TIME_TRAVEL_SUPPORT)
 extern enum time_travel_mode time_travel_mode;
 extern int time_travel_should_print_bc_msg;
 #else
 #define time_travel_mode TT_MODE_OFF
 #define time_travel_should_print_bc_msg 0
-#endif /* (UML_)CONFIG_UML_TIME_TRAVEL_SUPPORT */
+#endif /* CONFIG_UML_TIME_TRAVEL_SUPPORT */
 
 void _time_travel_print_bc_msg(void);
 static inline void time_travel_print_bc_msg(void)
index bbab79c0c074ac05213545b43fe35dc4a2536fd7..139eb78a476748953fe66fd7d9df7c94d8547c89 100644 (file)
@@ -38,7 +38,7 @@ extern void panic(const char *fmt, ...)
 #define UM_KERN_DEBUG  KERN_DEBUG
 #define UM_KERN_CONT   KERN_CONT
 
-#ifdef UML_CONFIG_PRINTK
+#if IS_ENABLED(CONFIG_PRINTK)
 #define printk(...) _printk(__VA_ARGS__)
 extern int _printk(const char *fmt, ...)
        __attribute__ ((format (printf, 1, 2)));
index 1978eaa557e9b0f465b0decc68e3162eb6a5b025..1c6caa9dbd6c59c84740b5202bcd3f6cf8aacf02 100644 (file)
@@ -65,7 +65,7 @@ static void sig_handler_common(int sig, struct siginfo *si, mcontext_t *mc)
 #define SIGALRM_MASK (1 << SIGALRM_BIT)
 
 int signals_enabled;
-#ifdef UML_CONFIG_UML_TIME_TRAVEL_SUPPORT
+#if IS_ENABLED(CONFIG_UML_TIME_TRAVEL_SUPPORT)
 static int signals_blocked, signals_blocked_pending;
 #endif
 static unsigned int signals_pending;
@@ -75,7 +75,7 @@ static void sig_handler(int sig, struct siginfo *si, mcontext_t *mc)
 {
        int enabled = signals_enabled;
 
-#ifdef UML_CONFIG_UML_TIME_TRAVEL_SUPPORT
+#if IS_ENABLED(CONFIG_UML_TIME_TRAVEL_SUPPORT)
        if ((signals_blocked ||
             __atomic_load_n(&signals_blocked_pending, __ATOMIC_SEQ_CST)) &&
            (sig == SIGIO)) {
@@ -297,7 +297,7 @@ void unblock_signals(void)
                return;
 
        signals_enabled = 1;
-#ifdef UML_CONFIG_UML_TIME_TRAVEL_SUPPORT
+#if IS_ENABLED(CONFIG_UML_TIME_TRAVEL_SUPPORT)
        deliver_time_travel_irqs();
 #endif
 
@@ -389,7 +389,7 @@ int um_set_signals_trace(int enable)
        return ret;
 }
 
-#ifdef UML_CONFIG_UML_TIME_TRAVEL_SUPPORT
+#if IS_ENABLED(CONFIG_UML_TIME_TRAVEL_SUPPORT)
 void mark_sigio_pending(void)
 {
        /*
index 97856955e892ac613b188f042667df8e81bfd03a..f683cfc9e51a54e1c78d477da74e96fabcfca011 100644 (file)
@@ -413,12 +413,14 @@ void userspace(struct uml_pt_regs *regs)
                 */
                if (time_travel_mode == TT_MODE_INFCPU ||
                    time_travel_mode == TT_MODE_EXTERNAL) {
-                       if (UML_CONFIG_UML_MAX_USERSPACE_ITERATIONS &&
+#ifdef CONFIG_UML_MAX_USERSPACE_ITERATIONS
+                       if (CONFIG_UML_MAX_USERSPACE_ITERATIONS &&
                            unscheduled_userspace_iterations++ >
-                           UML_CONFIG_UML_MAX_USERSPACE_ITERATIONS) {
+                           CONFIG_UML_MAX_USERSPACE_ITERATIONS) {
                                tt_extra_sched_jiffies += 1;
                                unscheduled_userspace_iterations = 0;
                        }
+#endif
                }
 
                time_travel_print_bc_msg();
index 1dca4ffbd572f77ac0747feff11cdb9379ac5936..4193e04d7e4a7fb511545c11f6e23928bfe13547 100644 (file)
@@ -52,8 +52,8 @@ void setup_machinename(char *machine_out)
        struct utsname host;
 
        uname(&host);
-#ifdef UML_CONFIG_UML_X86
-# ifndef UML_CONFIG_64BIT
+#if IS_ENABLED(CONFIG_UML_X86)
+# if !IS_ENABLED(CONFIG_64BIT)
        if (!strcmp(host.machine, "x86_64")) {
                strcpy(machine_out, "i686");
                return;