xen: arm: refactor co-pro and sysreg reg handling.
authorIan Campbell <ian.campbell@citrix.com>
Fri, 22 Feb 2013 08:57:48 +0000 (08:57 +0000)
committerIan Campbell <ian.campbell@citrix.com>
Fri, 22 Feb 2013 12:14:51 +0000 (12:14 +0000)
commit0d6ceac410682359e2be3689197cb38f5ebb6cd6
tree0d78b66275ca93f3d8dbb8d9e6098ccfb1084da6
parentd2654a5568358ff0a08a1003df33087489b84d43
xen: arm: refactor co-pro and sysreg reg handling.

AArch64 has removed the concept of co-processors replacing them with a
combination of specific instructions (cache and tlb flushes etc) and
system registers (which are understood by name in the assembler).

However most system registers are equivalent to a particular AArch32
co-pro register and can be used by generic code in the same way. Note
that the names of the registers differ (often only slightly)

For consistency it would be better to use only set of names in the
common code. Therefore move the {READ,WRITE}_CP{32,64} accessors into
arm32/processor.h and provide {READ,WRITE}_SYSREG. Where the names
differ #defines will be provided on 32-bit.

HSR_CPREG and friends are required even on 64-bit in order to decode
traps from 32 bit guests.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Tim Deegan <tim@xen.org>
xen/include/asm-arm/arm32/processor.h [new file with mode: 0644]
xen/include/asm-arm/arm64/processor.h [new file with mode: 0644]
xen/include/asm-arm/cpregs.h
xen/include/asm-arm/processor.h