Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a1a70c25 authored by Adrian Bunk's avatar Adrian Bunk Committed by Andi Kleen
Browse files

[PATCH] i386: always enable regparm



-mregparm=3 has been enabled by default for some time on i386, and AFAIK
there aren't any problems with it left.

This patch removes the REGPARM config option and sets -mregparm=3
unconditionally.

Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
Signed-off-by: default avatarAndi Kleen <ak@suse.de>
parent 73ad8355
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -62,9 +62,6 @@ consider the following facts about the Linux kernel:
      - different structures can contain different fields
      - Some functions may not be implemented at all, (i.e. some locks
	compile away to nothing for non-SMP builds.)
      - Parameter passing of variables from function to function can be
	done in different ways (the CONFIG_REGPARM option controls
	this.)
      - Memory within the kernel can be aligned in different ways,
	depending on the build options.
  - Linux runs on a wide range of different processor architectures.
+0 −14
Original line number Diff line number Diff line
@@ -721,20 +721,6 @@ config BOOT_IOREMAP
	depends on (((X86_SUMMIT || X86_GENERICARCH) && NUMA) || (X86 && EFI))
	default y

config REGPARM
	bool "Use register arguments"
	default y
	help
	Compile the kernel with -mregparm=3. This instructs gcc to use
	a more efficient function call ABI which passes the first three
	arguments of a function call via registers, which results in denser
	and faster code.

	If this option is disabled, then the default ABI of passing
	arguments via the stack is used.

	If unsure, say Y.

config SECCOMP
	bool "Enable seccomp to safely compute untrusted bytecode"
	depends on PROC_FS
+1 −3
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ LDFLAGS_vmlinux := --emit-relocs
endif
CHECKFLAGS	+= -D__i386__

CFLAGS += -pipe -msoft-float
CFLAGS += -pipe -msoft-float -mregparm=3

# prevent gcc from keeping the stack 16 byte aligned
CFLAGS += $(call cc-option,-mpreferred-stack-boundary=2)
@@ -39,8 +39,6 @@ CFLAGS += $(call cc-option,-mpreferred-stack-boundary=2)
# CPU-specific tuning. Anything which can be shared with UML should go here.
include $(srctree)/arch/i386/Makefile.cpu

cflags-$(CONFIG_REGPARM) += -mregparm=3

# temporary until string.h is fixed
cflags-y += -ffreestanding

+1 −7
Original line number Diff line number Diff line
@@ -62,18 +62,12 @@ struct mod_arch_specific
#error unknown processor family
#endif

#ifdef CONFIG_REGPARM
#define MODULE_REGPARM "REGPARM "
#else
#define MODULE_REGPARM ""
#endif

#ifdef CONFIG_4KSTACKS
#define MODULE_STACKSIZE "4KSTACKS "
#else
#define MODULE_STACKSIZE ""
#endif

#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_REGPARM MODULE_STACKSIZE
#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_STACKSIZE

#endif /* _ASM_I386_MODULE_H */