summaryrefslogtreecommitdiffstats
path: root/kernel-arm64-fix-psci-when-pg.patch
diff options
context:
space:
mode:
Diffstat (limited to 'kernel-arm64-fix-psci-when-pg.patch')
-rw-r--r--kernel-arm64-fix-psci-when-pg.patch30
1 files changed, 7 insertions, 23 deletions
diff --git a/kernel-arm64-fix-psci-when-pg.patch b/kernel-arm64-fix-psci-when-pg.patch
index 675b2ad44..09878d92a 100644
--- a/kernel-arm64-fix-psci-when-pg.patch
+++ b/kernel-arm64-fix-psci-when-pg.patch
@@ -1,38 +1,22 @@
diff --git a/arch/arm64/kernel/psci.c b/arch/arm64/kernel/psci.c
-index 0ec0dc5..abd13dc 100644
+index 3425f31..381c533 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,
+@@ -113,7 +113,7 @@ 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)
++static noinline notrace 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,
+@@ -128,7 +128,7 @@ 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)
++static noinline notrace 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")