This patch series addresses concerns raised by Richard Henderson regarding redundant copies of Advanced Encryption Standard (AES) data and code (see http://lists.nongnu.org/archive/html/qemu-devel/2014-02/msg04391.html).
The patches declare commonly used AES tables in the include/qemu/aes.h header file and define the tables in util/aes.c, thus eliminating redundant copies. Minor refactorization of the i386 and ARM instruction models are made to utilize this common support. The newly added PowerPC instructions are completely rewritten and look much more like the i386 equivalents; a substantial amount of code is eliminated. Tom Musta (6): util: Add S-Box and InvS-Box Arrays to Common AES Utils util: Add AES ShiftRows and InvShiftRows Tables util: Add InvMixColumns target-i386: Use Common ShiftRows and InvShiftRows Tables target-arm: Use Common Tables in AES Instructions target-ppc: Refactor AES Instructions include/qemu/aes.h | 14 ++ target-arm/crypto_helper.c | 79 +---------- target-i386/ops_sse.h | 32 ++--- target-ppc/int_helper.c | 292 +++++-------------------------------- util/aes.c | 343 ++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 412 insertions(+), 348 deletions(-)