summaryrefslogtreecommitdiffstats
path: root/kernel.spec
diff options
context:
space:
mode:
authorKyle McMartin <kyle@redhat.com>2013-06-16 08:31:18 -0400
committerKyle McMartin <kyle@redhat.com>2013-06-16 15:29:14 -0400
commit575de6c9a6d4f8210b41bbfa4e0f482da91d959b (patch)
tree25ca74910d463d2b72da5c64f4cfe081bca17044 /kernel.spec
parent3e75bb64f8424bfb2e6e50baeb92121548de1f2a (diff)
downloadkernel-575de6c9a6d4f8210b41bbfa4e0f482da91d959b.tar.gz
kernel-575de6c9a6d4f8210b41bbfa4e0f482da91d959b.tar.xz
kernel-575de6c9a6d4f8210b41bbfa4e0f482da91d959b.zip
Add initial arm64 support
Based on a working config by Paul Whalen. The generated config ends up being the same, so hopefully this marks the first ARMv8 Fedora kernel. Signed-off-by: Kyle McMartin <kyle@redhat.com>
Diffstat (limited to 'kernel.spec')
-rw-r--r--kernel.spec46
1 files changed, 39 insertions, 7 deletions
diff --git a/kernel.spec b/kernel.spec
index bcff42f0e..71fe323da 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -285,7 +285,7 @@ Summary: The Linux kernel
%if %{with_vdso_install}
# These arches install vdso/ directories.
-%define vdso_arches %{all_x86} x86_64 ppc ppc64 ppc64p7 s390 s390x
+%define vdso_arches %{all_x86} x86_64 ppc ppc64 ppc64p7 s390 s390x aarch64
%endif
# Overrides for generic default options
@@ -391,6 +391,15 @@ Summary: The Linux kernel
%endif
%endif
+%ifarch aarch64
+%define all_arch_configs kernel-%{version}-arm64.config
+%define asmarch arm64
+%define hdrarch arm64
+%define make_target Image.gz
+%define kernel_image arch/arm64/boot/Image.gz
+%define image_install_path boot
+%endif
+
# Should make listnewconfig fail if there's config options
# printed out?
%if %{nopatches}%{using_upstream_branch}
@@ -424,7 +433,7 @@ Summary: The Linux kernel
%endif
# Architectures we build tools/cpupower on
-%define cpupowerarchs %{ix86} x86_64 ppc ppc64 ppc64p7 %{arm}
+%define cpupowerarchs %{ix86} x86_64 ppc ppc64 ppc64p7 %{arm} aarch64
#
# Three sets of minimum package version requirements in the form of Conflicts:
@@ -499,7 +508,7 @@ Version: %{rpmversion}
Release: %{pkg_release}
# DO NOT CHANGE THE 'ExclusiveArch' LINE TO TEMPORARILY EXCLUDE AN ARCHITECTURE BUILD.
# SET %%nobuildarches (ABOVE) INSTEAD
-ExclusiveArch: noarch %{all_x86} x86_64 ppc ppc64 ppc64p7 s390 s390x %{arm}
+ExclusiveArch: noarch %{all_x86} x86_64 ppc ppc64 ppc64p7 s390 s390x %{arm} aarch64
ExclusiveOS: Linux
%kernel_reqprovconf
@@ -574,10 +583,14 @@ Source54: config-powerpc64p7
Source70: config-s390x
+Source100: config-arm-generic
+
# Unified ARM kernels
-Source100: config-armv7-generic
-Source101: config-armv7
-Source102: config-armv7-lpae
+Source101: config-armv7-generic
+Source102: config-armv7
+Source103: config-armv7-lpae
+
+Source110: config-arm64
# This file is intentionally left empty in the stock kernel. Its a nicety
# added for those wanting to do custom rebuilds with altered config opts.
@@ -701,6 +714,9 @@ Patch14010: lis3-improve-handling-of-null-rate.patch
Patch15000: nowatchdog-on-virt.patch
+# ARM64
+
+Patch16000: arm64-makefile-vdso_install.patch
# ARM
@@ -1323,6 +1339,9 @@ ApplyPatch debug-bad-pte-modules.patch
# Architecture patches
# x86(-64)
+# ARM64
+ApplyPatch arm64-makefile-vdso_install.patch
+
#
# ARM
#
@@ -2291,11 +2310,24 @@ fi
# ||----w |
# || ||
%changelog
+* Fri Jun 14 2013 Kyle McMartin <kyle@redhat.com>
+- ARM64 support (config-arm64)
+ Split out some config-armv7-generic options common between 32-bit and 64-bit
+ ARM into a new config-arm-generic, and use that as a base for
+ both.
+ Buildable in rawhide, and F-19 by installing {gcc,binutils}-aarch64-linux-gnu
+ and running:
+ rpmbuild --rebuild --target $ARCH --with cross --without perf \
+ --without tools --without debuginfo --define "_arch aarch64" \
+ --define "_build_arch aarch64" \
+ --define "__strip /usr/bin/aarch64-linux-gnu-strip" kernel*.src.rpm
+ As rpm in F-19 doesn't have aarch64-linux macros yet.
+
* Thu Jun 13 2013 Kyle McMartin <kyle@redhat.com>
- Introduce infrastructure for cross-compiling Fedora kernels. Intended to
assist building for secondary architectures like ppc64, s390x, and arm.
To use, create an .src.rpm using "fedpkg srpm" and then run
- "rpmbuild --rebuild --with cross --without perf --without tools \
+ "rpmbuild --rebuild --target t --with cross --without perf --without tools \
kernel*.src.rpm" to cross compile. This requires binutils and gcc
packages named like %_target_cpu, which all but powerpc64 currently provides
in rawhide/F-19. Can't (currently) cross compile perf or kernel-tools, since