Add ppc64le support from Brent Baude (rhbz 1073102)
This commit is contained in:
parent
e23ada1998
commit
5a77287012
@ -12,7 +12,8 @@ CONFIGFILES = \
|
|||||||
$(CFG)-armv7hl.config $(CFG)-armv7hl-lpae.config \
|
$(CFG)-armv7hl.config $(CFG)-armv7hl-lpae.config \
|
||||||
$(CFG)-aarch64.config \
|
$(CFG)-aarch64.config \
|
||||||
$(CFG)-ppc.config $(CFG)-ppc-smp.config \
|
$(CFG)-ppc.config $(CFG)-ppc-smp.config \
|
||||||
$(CFG)-ppc64.config $(CFG)-ppc64p7.config $(CFG)-ppc64-debug.config
|
$(CFG)-ppc64.config $(CFG)-ppc64p7.config $(CFG)-ppc64-debug.config \
|
||||||
|
$(CFG)-ppc64le.config
|
||||||
|
|
||||||
PLATFORMS = x86 x86_64 powerpc powerpc32 powerpc64 s390x arm arm64
|
PLATFORMS = x86 x86_64 powerpc powerpc32 powerpc64 s390x arm arm64
|
||||||
TEMPFILES = $(addprefix temp-, $(addsuffix -generic, $(PLATFORMS)))
|
TEMPFILES = $(addprefix temp-, $(addsuffix -generic, $(PLATFORMS)))
|
||||||
@ -86,6 +87,9 @@ temp-powerpc32-generic: config-powerpc32-generic temp-powerpc-generic
|
|||||||
temp-powerpc64-generic: config-powerpc64 temp-powerpc-generic
|
temp-powerpc64-generic: config-powerpc64 temp-powerpc-generic
|
||||||
perl merge.pl $^ > $@
|
perl merge.pl $^ > $@
|
||||||
|
|
||||||
|
temp-powerpc64le-generic: config-powerpc64le temp-powerpc64-generic
|
||||||
|
perl merge.pl $^ > $@
|
||||||
|
|
||||||
temp-s390-generic: config-s390x temp-generic
|
temp-s390-generic: config-s390x temp-generic
|
||||||
perl merge.pl $^ > $@
|
perl merge.pl $^ > $@
|
||||||
|
|
||||||
@ -116,6 +120,9 @@ $(CFG)-ppc64-debug.config: temp-powerpc64-generic temp-powerpc-debug-generic
|
|||||||
$(CFG)-ppc64p7.config: config-powerpc64p7 temp-powerpc64-generic
|
$(CFG)-ppc64p7.config: config-powerpc64p7 temp-powerpc64-generic
|
||||||
perl merge.pl $^ powerpc > $@
|
perl merge.pl $^ powerpc > $@
|
||||||
|
|
||||||
|
$(CFG)-ppc64le.config: /dev/null temp-powerpc64le-generic
|
||||||
|
perl merge.pl $^ powerpc > $@
|
||||||
|
|
||||||
$(CFG)-s390x.config: config-s390x temp-s390-generic
|
$(CFG)-s390x.config: config-s390x temp-s390-generic
|
||||||
perl merge.pl $^ s390 > $@
|
perl merge.pl $^ s390 > $@
|
||||||
|
|
||||||
|
3
config-powerpc64le
Normal file
3
config-powerpc64le
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# CONFIG_VIRTUALIZATION is not set
|
||||||
|
# CONFIG_BPF_JIT is not set
|
||||||
|
CONFIG_CPU_LITTLE_ENDIAN=y
|
27
kernel.spec
27
kernel.spec
@ -222,7 +222,7 @@ Summary: The Linux kernel
|
|||||||
|
|
||||||
%if %{with_vdso_install}
|
%if %{with_vdso_install}
|
||||||
# These arches install vdso/ directories.
|
# These arches install vdso/ directories.
|
||||||
%define vdso_arches %{all_x86} x86_64 ppc ppc64 ppc64p7 s390 s390x aarch64
|
%define vdso_arches %{all_x86} x86_64 ppc ppc64 ppc64p7 s390 s390x aarch64 ppc64le
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Overrides for generic default options
|
# Overrides for generic default options
|
||||||
@ -252,7 +252,7 @@ Summary: The Linux kernel
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
# sparse blows up on ppc64 and sparc64
|
# sparse blows up on ppc64 and sparc64
|
||||||
%ifarch ppc64 ppc ppc64p7
|
%ifarch ppc64 ppc ppc64p7 ppc64le
|
||||||
%define with_sparse 0
|
%define with_sparse 0
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -284,6 +284,17 @@ Summary: The Linux kernel
|
|||||||
%define kernel_image_elf 1
|
%define kernel_image_elf 1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%ifarch ppc64le
|
||||||
|
%define asmarch powerpc
|
||||||
|
%define hdrarch powerpc
|
||||||
|
%define all_arch_configs kernel-%{version}-ppc64le.config
|
||||||
|
%define image_install_path boot
|
||||||
|
%define make_target vmlinux
|
||||||
|
%define kernel_image vmlinux
|
||||||
|
%define kernel_image_elf 1
|
||||||
|
%define with_tools 0
|
||||||
|
%endif
|
||||||
|
|
||||||
%ifarch s390x
|
%ifarch s390x
|
||||||
%define asmarch s390
|
%define asmarch s390
|
||||||
%define hdrarch s390
|
%define hdrarch s390
|
||||||
@ -365,7 +376,7 @@ Summary: The Linux kernel
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Architectures we build tools/cpupower on
|
# Architectures we build tools/cpupower on
|
||||||
%define cpupowerarchs %{ix86} x86_64 ppc ppc64 ppc64p7 %{arm} aarch64
|
%define cpupowerarchs %{ix86} x86_64 ppc ppc64 ppc64p7 %{arm} aarch64 ppc64le
|
||||||
|
|
||||||
#
|
#
|
||||||
# Packages that need to be installed before the kernel is, because the %%post
|
# Packages that need to be installed before the kernel is, because the %%post
|
||||||
@ -406,7 +417,7 @@ Version: %{rpmversion}
|
|||||||
Release: %{pkg_release}
|
Release: %{pkg_release}
|
||||||
# DO NOT CHANGE THE 'ExclusiveArch' LINE TO TEMPORARILY EXCLUDE AN ARCHITECTURE BUILD.
|
# DO NOT CHANGE THE 'ExclusiveArch' LINE TO TEMPORARILY EXCLUDE AN ARCHITECTURE BUILD.
|
||||||
# SET %%nobuildarches (ABOVE) INSTEAD
|
# SET %%nobuildarches (ABOVE) INSTEAD
|
||||||
ExclusiveArch: noarch %{all_x86} x86_64 ppc ppc64 ppc64p7 s390 s390x %{arm} aarch64
|
ExclusiveArch: noarch %{all_x86} x86_64 ppc ppc64 ppc64p7 s390 s390x %{arm} aarch64 ppc64le
|
||||||
ExclusiveOS: Linux
|
ExclusiveOS: Linux
|
||||||
|
|
||||||
%kernel_reqprovconf
|
%kernel_reqprovconf
|
||||||
@ -473,6 +484,7 @@ Source51: config-powerpc32-generic
|
|||||||
Source52: config-powerpc32-smp
|
Source52: config-powerpc32-smp
|
||||||
Source53: config-powerpc64
|
Source53: config-powerpc64
|
||||||
Source54: config-powerpc64p7
|
Source54: config-powerpc64p7
|
||||||
|
Source55: config-powerpc64le
|
||||||
|
|
||||||
Source70: config-s390x
|
Source70: config-s390x
|
||||||
|
|
||||||
@ -637,6 +649,9 @@ Patch25034: bug-1071998.patch
|
|||||||
#rhbz 1051748
|
#rhbz 1051748
|
||||||
Patch25035: Bluetooth-allocate-static-minor-for-vhci.patch
|
Patch25035: Bluetooth-allocate-static-minor-for-vhci.patch
|
||||||
|
|
||||||
|
#Fixes module loading on ppc64le
|
||||||
|
Patch25036: ppc64le_module_fix.patch
|
||||||
|
|
||||||
# END OF PATCH DEFINITIONS
|
# END OF PATCH DEFINITIONS
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
@ -1293,6 +1308,9 @@ ApplyPatch bug-1071998.patch
|
|||||||
#rhbz 1051748
|
#rhbz 1051748
|
||||||
ApplyPatch Bluetooth-allocate-static-minor-for-vhci.patch
|
ApplyPatch Bluetooth-allocate-static-minor-for-vhci.patch
|
||||||
|
|
||||||
|
# Fixes module loading on ppc64le
|
||||||
|
ApplyPatch ppc64le_module_fix.patch
|
||||||
|
|
||||||
# END OF PATCH APPLICATIONS
|
# END OF PATCH APPLICATIONS
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
@ -2073,6 +2091,7 @@ fi
|
|||||||
# || ||
|
# || ||
|
||||||
%changelog
|
%changelog
|
||||||
* Thu Mar 06 2014 Josh Boyer <jwboyer@fedoraproject.org>
|
* Thu Mar 06 2014 Josh Boyer <jwboyer@fedoraproject.org>
|
||||||
|
- Add ppc64le support from Brent Baude (rhbz 1073102)
|
||||||
- Fix depmod error message from hci_vhci module (rhbz 1051748)
|
- Fix depmod error message from hci_vhci module (rhbz 1051748)
|
||||||
- Fix bogus WARN in iwlwifi (rhbz 1071998)
|
- Fix bogus WARN in iwlwifi (rhbz 1071998)
|
||||||
|
|
||||||
|
35
ppc64le_module_fix.patch
Normal file
35
ppc64le_module_fix.patch
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
From 414794ae6a59c38f6e5793ad50df97cba3dda4e3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tony Breeds <tony@bakeyournoodle.com>
|
||||||
|
Date: Thu, 30 Jan 2014 19:58:55 +1100
|
||||||
|
Subject: [PATCH] powerpc/le: Avoid creatng R_PPC64_TOCSAVE relocations for
|
||||||
|
modules.
|
||||||
|
|
||||||
|
When building modules with a native le toolchain the linker will
|
||||||
|
generate R_PPC64_TOCSAVE relocations when it's safe to omit saving r2 on
|
||||||
|
a plt call. This isn't helpful in the conext of a kernel module and the
|
||||||
|
kernel will fail to load those modules with an error like:
|
||||||
|
nf_conntrack: Unknown ADD relocation: 109
|
||||||
|
|
||||||
|
This patch tells the linker to avoid createing R_PPC64_TOCSAVE
|
||||||
|
relocations allowing modules to load.
|
||||||
|
|
||||||
|
Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
|
||||||
|
---
|
||||||
|
arch/powerpc/Makefile | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
|
||||||
|
index 0f4344e..fff3945 100644
|
||||||
|
--- a/arch/powerpc/Makefile
|
||||||
|
+++ b/arch/powerpc/Makefile
|
||||||
|
@@ -74,6 +74,9 @@ override CROSS32AS += -mlittle-endian
|
||||||
|
LDEMULATION := lppc
|
||||||
|
GNUTARGET := powerpcle
|
||||||
|
MULTIPLEWORD := -mno-multiple
|
||||||
|
+ifeq ($(call cc-option-yn,-mno-save-toc-indirect),y)
|
||||||
|
+ KBUILD_CFLAGS_MODULE += -mno-save-toc-indirect
|
||||||
|
+endif
|
||||||
|
else
|
||||||
|
ifeq ($(call cc-option-yn,-mbig-endian),y)
|
||||||
|
override CC += -mbig-endian
|
||||||
|
--
|
Loading…
Reference in New Issue
Block a user