fix build on aarch64 with gcc5
This commit is contained in:
parent
08f431fa3a
commit
739741434f
38
kernel-arm64-fix-psci-when-pg.patch
Normal file
38
kernel-arm64-fix-psci-when-pg.patch
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
diff --git a/arch/arm64/kernel/psci.c b/arch/arm64/kernel/psci.c
|
||||||
|
index 0ec0dc5..abd13dc 100644
|
||||||
|
--- a/arch/arm64/kernel/psci.c
|
||||||
|
+++ b/arch/arm64/kernel/psci.c
|
||||||
|
@@ -115,9 +115,14 @@ static void psci_power_state_unpack(u32 power_state,
|
||||||
|
* The following two functions are invoked via the invoke_psci_fn pointer
|
||||||
|
* and will not be inlined, allowing us to piggyback on the AAPCS.
|
||||||
|
*/
|
||||||
|
-static noinline int __invoke_psci_fn_hvc(u64 function_id, u64 arg0, u64 arg1,
|
||||||
|
- u64 arg2)
|
||||||
|
+static noinline int __invoke_psci_fn_hvc(u64 _function_id, u64 _arg0,
|
||||||
|
+ u64 _arg1, u64 _arg2)
|
||||||
|
{
|
||||||
|
+ register u64 function_id asm("x0") = _function_id;
|
||||||
|
+ register u64 arg0 asm("x1") = _arg0;
|
||||||
|
+ register u64 arg1 asm("x2") = _arg1;
|
||||||
|
+ register u64 arg2 asm("x3") = _arg2;
|
||||||
|
+
|
||||||
|
asm volatile(
|
||||||
|
__asmeq("%0", "x0")
|
||||||
|
__asmeq("%1", "x1")
|
||||||
|
@@ -130,9 +135,14 @@ static noinline int __invoke_psci_fn_hvc(u64 function_id, u64 arg0, u64 arg1,
|
||||||
|
return function_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static noinline int __invoke_psci_fn_smc(u64 function_id, u64 arg0, u64 arg1,
|
||||||
|
- u64 arg2)
|
||||||
|
+static noinline int __invoke_psci_fn_smc(u64 _function_id, u64 _arg0,
|
||||||
|
+ u64 _arg1, u64 _arg2)
|
||||||
|
{
|
||||||
|
+ register u64 function_id asm("x0") = _function_id;
|
||||||
|
+ register u64 arg0 asm("x1") = _arg0;
|
||||||
|
+ register u64 arg1 asm("x2") = _arg1;
|
||||||
|
+ register u64 arg2 asm("x3") = _arg2;
|
||||||
|
+
|
||||||
|
asm volatile(
|
||||||
|
__asmeq("%0", "x0")
|
||||||
|
__asmeq("%1", "x1")
|
21019
kernel-arm64.patch
21019
kernel-arm64.patch
File diff suppressed because it is too large
Load Diff
10
kernel.spec
10
kernel.spec
@ -42,7 +42,7 @@ Summary: The Linux kernel
|
|||||||
# For non-released -rc kernels, this will be appended after the rcX and
|
# For non-released -rc kernels, this will be appended after the rcX and
|
||||||
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
|
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
|
||||||
#
|
#
|
||||||
%global baserelease 1
|
%global baserelease 2
|
||||||
%global fedora_build %{baserelease}
|
%global fedora_build %{baserelease}
|
||||||
|
|
||||||
# base_sublevel is the kernel version we're starting with and patching
|
# base_sublevel is the kernel version we're starting with and patching
|
||||||
@ -624,6 +624,7 @@ Patch26136: vhost-scsi-potential-memory-corruption.patch
|
|||||||
|
|
||||||
# git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel
|
# git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel
|
||||||
Patch30000: kernel-arm64.patch
|
Patch30000: kernel-arm64.patch
|
||||||
|
Patch30001: kernel-arm64-fix-psci-when-pg.patch
|
||||||
|
|
||||||
# END OF PATCH DEFINITIONS
|
# END OF PATCH DEFINITIONS
|
||||||
|
|
||||||
@ -1359,6 +1360,7 @@ ApplyPatch kernel-arm64.patch
|
|||||||
ApplyPatch kernel-arm64.patch -R
|
ApplyPatch kernel-arm64.patch -R
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
ApplyPatch kernel-arm64-fix-psci-when-pg.patch
|
||||||
|
|
||||||
# END OF PATCH APPLICATIONS
|
# END OF PATCH APPLICATIONS
|
||||||
|
|
||||||
@ -2219,6 +2221,12 @@ fi
|
|||||||
# ||----w |
|
# ||----w |
|
||||||
# || ||
|
# || ||
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Feb 17 2015 Kyle McMartin <kyle@fedoraproject.org> - 3.20.0-0.rc0.git7.2
|
||||||
|
- kernel-arm64.patch merge, but leave it off.
|
||||||
|
- kernel-arm64-fix-psci-when-pg.patch: when -pg (because of ftrace) is enabled
|
||||||
|
we must explicitly annotate which registers should be assigned, otherwise
|
||||||
|
gcc will do unexpected things behind our backs.
|
||||||
|
|
||||||
* Tue Feb 17 2015 Josh Boyer <jwboyer@fedoraproject.org> - 3.20.0-0.rc0.git7.1
|
* Tue Feb 17 2015 Josh Boyer <jwboyer@fedoraproject.org> - 3.20.0-0.rc0.git7.1
|
||||||
- Linux v3.19-7478-g796e1c55717e
|
- Linux v3.19-7478-g796e1c55717e
|
||||||
- DRM merge
|
- DRM merge
|
||||||
|
Loading…
Reference in New Issue
Block a user