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

Commit 908bfda7 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull x86 fixes from Peter Anvin:
 "This is a pretty small batch:

  The biggest single change is to stop using EFI time services on 32-bit
  platforms.  This matches our current behavior on 64-bit platforms as
  we already had ruled them out there as being too unreliable.  Turns
  out that affects 32-bit platforms, too.

  One NULL pointer fix for SGI UV.

  Two minor build fixes, one of which only affects icc and the other
  which affects icc and future versions or nonstandard default settings
  of gcc"

* 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86, efi: Don't use (U)EFI time services on 32 bit
  x86, build, icc: Remove uninitialized_var() from compiler-intel.h
  x86/UV: Fix NULL pointer dereference in uv_flush_tlb_others() if the 'nobau' boot option is used
  x86, build: Pass in additional -mno-mmx, -mno-sse options
parents 9199c4ca 04bf9ba7
Loading
Loading
Loading
Loading
+4 −4
Original line number Original line Diff line number Diff line
@@ -31,8 +31,8 @@ ifeq ($(CONFIG_X86_32),y)


        KBUILD_CFLAGS += -msoft-float -mregparm=3 -freg-struct-return
        KBUILD_CFLAGS += -msoft-float -mregparm=3 -freg-struct-return


        # Don't autogenerate SSE instructions
        # Don't autogenerate MMX or SSE instructions
	KBUILD_CFLAGS += -mno-sse
        KBUILD_CFLAGS += -mno-mmx -mno-sse


        # Never want PIC in a 32-bit kernel, prevent breakage with GCC built
        # Never want PIC in a 32-bit kernel, prevent breakage with GCC built
        # with nonstandard options
        # with nonstandard options
@@ -60,8 +60,8 @@ else
        KBUILD_AFLAGS += -m64
        KBUILD_AFLAGS += -m64
        KBUILD_CFLAGS += -m64
        KBUILD_CFLAGS += -m64


        # Don't autogenerate SSE instructions
        # Don't autogenerate MMX or SSE instructions
	KBUILD_CFLAGS += -mno-sse
        KBUILD_CFLAGS += -mno-mmx -mno-sse


	# Use -mpreferred-stack-boundary=3 if supported.
	# Use -mpreferred-stack-boundary=3 if supported.
	KBUILD_CFLAGS += $(call cc-option,-mpreferred-stack-boundary=3)
	KBUILD_CFLAGS += $(call cc-option,-mpreferred-stack-boundary=3)
+3 −3
Original line number Original line Diff line number Diff line
@@ -53,18 +53,18 @@ $(obj)/cpustr.h: $(obj)/mkcpustr FORCE


# How to compile the 16-bit code.  Note we always compile for -march=i386,
# How to compile the 16-bit code.  Note we always compile for -march=i386,
# that way we can complain to the user if the CPU is insufficient.
# that way we can complain to the user if the CPU is insufficient.
KBUILD_CFLAGS	:= $(USERINCLUDE) -g -Os -D_SETUP -D__KERNEL__ \
KBUILD_CFLAGS	:= $(USERINCLUDE) -m32 -g -Os -D_SETUP -D__KERNEL__ \
		   -DDISABLE_BRANCH_PROFILING \
		   -DDISABLE_BRANCH_PROFILING \
		   -Wall -Wstrict-prototypes \
		   -Wall -Wstrict-prototypes \
		   -march=i386 -mregparm=3 \
		   -march=i386 -mregparm=3 \
		   -include $(srctree)/$(src)/code16gcc.h \
		   -include $(srctree)/$(src)/code16gcc.h \
		   -fno-strict-aliasing -fomit-frame-pointer -fno-pic \
		   -fno-strict-aliasing -fomit-frame-pointer -fno-pic \
		   -mno-mmx -mno-sse \
		   $(call cc-option, -ffreestanding) \
		   $(call cc-option, -ffreestanding) \
		   $(call cc-option, -fno-toplevel-reorder,\
		   $(call cc-option, -fno-toplevel-reorder,\
		   $(call cc-option, -fno-unit-at-a-time)) \
		   $(call cc-option, -fno-unit-at-a-time)) \
		   $(call cc-option, -fno-stack-protector) \
		   $(call cc-option, -fno-stack-protector) \
		   $(call cc-option, -mpreferred-stack-boundary=2)
		   $(call cc-option, -mpreferred-stack-boundary=2)
KBUILD_CFLAGS	+= $(call cc-option, -m32)
KBUILD_AFLAGS	:= $(KBUILD_CFLAGS) -D__ASSEMBLY__
KBUILD_AFLAGS	:= $(KBUILD_CFLAGS) -D__ASSEMBLY__
GCOV_PROFILE := n
GCOV_PROFILE := n


+1 −0
Original line number Original line Diff line number Diff line
@@ -13,6 +13,7 @@ KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING
cflags-$(CONFIG_X86_32) := -march=i386
cflags-$(CONFIG_X86_32) := -march=i386
cflags-$(CONFIG_X86_64) := -mcmodel=small
cflags-$(CONFIG_X86_64) := -mcmodel=small
KBUILD_CFLAGS += $(cflags-y)
KBUILD_CFLAGS += $(cflags-y)
KBUILD_CFLAGS += -mno-mmx -mno-sse
KBUILD_CFLAGS += $(call cc-option,-ffreestanding)
KBUILD_CFLAGS += $(call cc-option,-ffreestanding)
KBUILD_CFLAGS += $(call cc-option,-fno-stack-protector)
KBUILD_CFLAGS += $(call cc-option,-fno-stack-protector)


+0 −7
Original line number Original line Diff line number Diff line
@@ -690,13 +690,6 @@ void __init efi_init(void)


	set_bit(EFI_MEMMAP, &x86_efi_facility);
	set_bit(EFI_MEMMAP, &x86_efi_facility);


#ifdef CONFIG_X86_32
	if (efi_is_native()) {
		x86_platform.get_wallclock = efi_get_time;
		x86_platform.set_wallclock = efi_set_rtc_mmss;
	}
#endif

#if EFI_DEBUG
#if EFI_DEBUG
	print_efi_memmap();
	print_efi_memmap();
#endif
#endif
+3 −2
Original line number Original line Diff line number Diff line
@@ -1070,12 +1070,13 @@ const struct cpumask *uv_flush_tlb_others(const struct cpumask *cpumask,
	unsigned long status;
	unsigned long status;


	bcp = &per_cpu(bau_control, cpu);
	bcp = &per_cpu(bau_control, cpu);
	stat = bcp->statp;
	stat->s_enters++;


	if (bcp->nobau)
	if (bcp->nobau)
		return cpumask;
		return cpumask;


	stat = bcp->statp;
	stat->s_enters++;

	if (bcp->busy) {
	if (bcp->busy) {
		descriptor_status =
		descriptor_status =
			read_lmmr(UVH_LB_BAU_SB_ACTIVATION_STATUS_0);
			read_lmmr(UVH_LB_BAU_SB_ACTIVATION_STATUS_0);
Loading