linux/arch/powerpc/platforms
Jordan Niethe 94afd069d9 powerpc: Use a datatype for instructions
Currently unsigned ints are used to represent instructions on powerpc.
This has worked well as instructions have always been 4 byte words.

However, ISA v3.1 introduces some changes to instructions that mean
this scheme will no longer work as well. This change is Prefixed
Instructions. A prefixed instruction is made up of a word prefix
followed by a word suffix to make an 8 byte double word instruction.
No matter the endianness of the system the prefix always comes first.
Prefixed instructions are only planned for powerpc64.

Introduce a ppc_inst type to represent both prefixed and word
instructions on powerpc64 while keeping it possible to exclusively
have word instructions on powerpc32.

Signed-off-by: Jordan Niethe <jniethe5@gmail.com>
[mpe: Fix compile error in emulate_spe()]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200506034050.24806-12-jniethe5@gmail.com
2020-05-19 00:10:37 +10:00
..
4xx powerpc: remove the ppc44x ocm.c file 2019-08-27 13:03:33 +10:00
8xx powerpc: Replace setup_irq() by request_irq() 2020-03-25 12:07:57 +11:00
40x powerpc updates for 5.3 2019-07-13 16:08:36 -07:00
44x powerpc/32: drop unused ISA_DMA_THRESHOLD 2020-04-01 14:30:50 +11:00
52xx powerpc/32: drop unused ISA_DMA_THRESHOLD 2020-04-01 14:30:50 +11:00
82xx treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
83xx powerpc/83xx: Add some error handling in 'quirk_mpc8360e_qe_enet10()' 2020-03-04 22:44:25 +11:00
85xx powerpc: Replace setup_irq() by request_irq() 2020-03-25 12:07:57 +11:00
86xx powerpc: Use a datatype for instructions 2020-05-19 00:10:37 +10:00
512x powerpc/512x: Use dma_request_chan() instead dma_request_slave_channel() 2020-01-06 16:25:29 +11:00
amigaone powerpc/32: drop unused ISA_DMA_THRESHOLD 2020-04-01 14:30:50 +11:00
cell powerpc: Replace _ALIGN_UP() by ALIGN() 2020-05-11 23:15:15 +10:00
chrp powerpc/32: drop unused ISA_DMA_THRESHOLD 2020-04-01 14:30:50 +11:00
embedded6xx treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
maple powerpc/maple: Fix declaration made after definition 2020-03-25 12:09:48 +11:00
pasemi arch/powerpc/setup: Drop dummy_con initialization 2020-01-14 15:29:17 +01:00
powermac powerpc: Use a datatype for instructions 2020-05-19 00:10:37 +10:00
powernv powerpc: Replace _ALIGN_UP() by ALIGN() 2020-05-11 23:15:15 +10:00
ps3 powerpc/ps3: Fix kexec shutdown hang 2020-05-19 00:10:35 +10:00
pseries powerpc/pseries: Machine check use rtas_call_unlocked() with args on stack 2020-05-19 00:10:34 +10:00
fsl_uli1575.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
Kconfig powerpc/64s: Reimplement power4_idle code in C 2020-01-16 14:59:37 +10:00
Kconfig.cputype powerpc/kuap: PPC_KUAP_DEBUG should depend on PPC_KUAP 2020-03-20 13:10:22 +11:00
Makefile powerpc: Add -Werror at arch/powerpc level 2018-10-19 00:56:17 +11:00