Michael Ellerman
16ef9767e4
powerpc: Add ppc_inst_as_u64()
...
The code patching code wants to get the value of a struct ppc_inst as
a u64 when the instruction is prefixed, so we can pass the u64 down to
__put_user_asm() and write it with a single store.
The optprobes code wants to load a struct ppc_inst as an immediate
into a register so it is useful to have it as a u64 to use the
existing helper function.
Currently this is a bit awkward because the value differs based on the
CPU endianness, so add a helper to do the conversion.
This fixes the usage in arch_prepare_optimized_kprobe() which was
previously incorrect on big endian.
Fixes: 650b55b707 ("powerpc: Add prefixed instructions to instruction data type")
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au >
Tested-by: Jordan Niethe <jniethe5@gmail.com >
Link: https://lore.kernel.org/r/20200526072630.2487363-1-mpe@ellerman.id.au
2020-05-26 23:36:57 +10:00
..
2020-05-19 00:11:05 +10:00
2020-04-07 10:43:42 -07:00
2020-05-19 00:10:37 +10:00
2020-05-11 19:24:29 +10:00
2020-03-25 11:50:48 +01:00
2020-03-25 11:50:48 +01:00
2020-05-19 00:10:37 +10:00
2020-05-19 00:10:36 +10:00
2020-03-27 00:16:32 +11:00
2019-07-13 16:08:36 -07:00
2019-06-15 16:52:06 +10:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-11-17 01:56:31 -06:00
2019-06-05 17:37:06 +02:00
2019-09-21 08:36:53 +10:00
2019-05-30 11:26:32 -07:00
2020-04-01 14:30:51 +11:00
2020-05-19 00:10:39 +10:00
2020-05-19 00:11:05 +10:00
2019-09-24 12:46:26 +10:00
2019-09-20 11:48:06 -07:00
2019-05-30 11:26:32 -07:00
2020-03-25 12:09:37 +11:00
2019-11-13 19:27:40 +11:00
2020-01-23 21:31:18 +11:00
2019-08-22 23:12:46 +10:00
2020-02-17 12:47:05 +11:00
2019-09-14 00:01:14 +10:00
2019-09-05 14:22:37 +10:00
2020-01-23 21:31:19 +11:00
2020-05-18 21:58:44 +10:00
2020-04-22 20:24:02 +10:00
2020-05-07 11:00:41 +10:00
2019-05-30 11:26:32 -07:00
2020-05-19 00:10:37 +10:00
2020-04-01 13:42:14 +11:00
2020-05-26 22:56:03 +10:00
2020-05-04 22:29:58 +10:00
2019-05-30 11:26:32 -07:00
2020-01-27 22:37:24 +11:00
2019-11-13 19:27:40 +11:00
2020-05-26 22:22:23 +10:00
2020-03-10 15:16:42 +11:00
2020-05-20 22:35:52 +10:00
2020-05-12 21:22:11 +10:00
2019-05-30 11:26:32 -07:00
2020-05-15 11:58:54 +10:00
2020-05-11 23:15:15 +10:00
2020-01-26 22:15:09 +11:00
2020-05-19 00:14:45 +10:00
2020-02-18 21:31:12 +11:00
2019-05-30 11:26:32 -07:00
2020-01-16 14:59:37 +10:00
2019-05-30 11:26:32 -07:00
2020-01-16 14:59:37 +10:00
2020-05-07 17:25:54 +10:00
2019-08-27 13:03:34 +10:00
2019-05-30 11:26:32 -07:00
2019-08-30 09:52:57 +10:00
2020-04-03 00:09:53 +11:00
2019-05-30 11:26:32 -07:00
2020-05-19 00:10:37 +10:00
2020-05-19 00:10:37 +10:00
2019-05-30 11:26:35 -07:00
2020-05-19 00:11:03 +10:00
2019-09-14 00:04:40 +10:00
2019-09-14 00:04:40 +10:00
2019-05-24 17:36:45 +02:00
2019-12-18 15:04:42 +01:00
2020-04-03 00:10:00 +11:00
2020-05-19 00:10:37 +10:00
2020-05-19 00:10:34 +10:00
2019-11-21 15:41:34 +11:00
2019-11-14 19:23:33 +11:00
2020-03-04 22:44:28 +11:00
2020-05-11 23:15:14 +10:00
2020-05-19 00:10:36 +10:00
2019-05-30 11:26:35 -07:00
2019-05-30 11:26:32 -07:00
2019-08-30 09:40:15 +10:00
2020-05-11 23:15:15 +10:00
2020-03-25 12:09:39 +11:00
2020-05-19 00:10:39 +10:00
2020-05-26 23:36:57 +10:00
2020-03-25 12:09:38 +11:00
2019-08-22 23:11:48 +10:00
2020-05-11 23:15:15 +10:00
2020-01-23 21:31:19 +11:00
2020-01-06 16:25:29 +11:00
2020-04-05 11:12:59 -07:00
2020-05-18 21:58:44 +10:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2020-04-04 21:40:57 +11:00
2020-02-04 03:05:26 +00:00
2020-05-19 00:14:37 +10:00
2019-10-29 15:12:17 +11:00
2020-05-11 23:15:16 +10:00
2020-05-11 23:15:15 +10:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2020-02-04 03:05:26 +00:00
2019-05-30 11:26:35 -07:00
2020-02-04 03:05:26 +00:00
2019-08-20 21:22:27 +10:00
2020-02-04 03:05:26 +00:00
2019-11-12 12:25:49 +11:00
2020-05-19 00:10:36 +10:00
2019-11-13 00:33:22 +11:00
2019-11-13 00:33:22 +11:00
2020-05-26 22:22:19 +10:00
2020-05-26 22:56:03 +10:00
2020-03-04 22:44:25 +11:00
2020-03-25 12:09:38 +11:00
2020-05-15 11:58:54 +10:00
2020-05-15 11:58:54 +10:00
2020-05-19 00:11:05 +10:00
2020-04-01 13:42:13 +11:00
2020-03-27 01:15:09 +11:00
2020-03-04 22:44:28 +11:00
2019-06-14 10:48:56 +02:00
2019-06-19 20:05:07 +10:00
2019-06-19 17:11:22 +02:00
2019-06-19 17:11:22 +02:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2020-05-04 09:22:58 +10:00
2019-11-15 14:38:29 +01:00
2020-04-30 12:35:26 +10:00
2019-05-30 11:26:32 -07:00
2020-04-01 13:42:13 +11:00
2020-04-03 16:55:34 +11:00
2019-07-02 21:39:49 +10:00
2020-05-19 00:11:03 +10:00
2019-08-30 09:40:15 +10:00
2019-05-30 11:26:32 -07:00
2019-10-11 19:33:25 +11:00
2020-05-26 23:36:51 +10:00
2020-04-03 00:10:00 +11:00
2020-05-19 00:10:37 +10:00
2020-04-01 13:42:14 +11:00
2020-05-26 22:22:22 +10:00