The ppc64 host support has gotten little or no love over the past few years. This patch set spends half its time making the source more readable, and then goes on to implement a bunch of missing optional tcg operations.
Tested on power7 with fc18 with a variety of system and user images from the wiki. Success with user images never regresses, but is not in really good shape. This has more to do with the 64k host page size and how that fails to work well with a 4k guest page than anything else. Perhaps I'll have another go at implementing softmmu for linux-user at some point... r~ Richard Henderson (24): disas: Disassemble all ppc insns for the host tcg-ppc64: Use TCGReg everywhere tcg-ppc64: Introduce and use tcg_out_rlw tcg-ppc64: Introduce and use tcg_out_ext32u tcg-ppc64: Introduce and use tcg_out_shli64 tcg-ppc64: Introduce and use tcg_out_shri64 tcg-ppc64: Cleanup tcg_out_movi tcg-ppc64: Introduce and use TAI and SAI tcg-ppc64: Rearrange integer constant constraints tcg-ppc64: Improve constant add and sub ops. tcg-ppc64: Tidy or and xor patterns. tcg-ppc64: Improve and_i32 with constant tcg-ppc64: Improve and_i64 with constant tcg-ppc64: Streamline qemu_ld/st insn selection tcg-ppc64: Implement rotates tcg-ppc64: Implement bswap16 and bswap32 tcg-ppc64: Implement bswap64 tcg-ppc64: Implement compound logicals tcg-ppc64: Implement deposit tcg-ppc64: Use I constraint for mul tcg-ppc64: Use TCGType throughout compares tcg-ppc64: Rewrite setcond tcg-ppc64: Implement movcond tcg-ppc64: Use getauxval for ISA detection configure | 18 + disas.c | 1 + tcg/ppc64/tcg-target.c | 1292 +++++++++++++++++++++++++++++++----------------- tcg/ppc64/tcg-target.h | 52 +- 4 files changed, 893 insertions(+), 470 deletions(-) -- 1.8.1.2