From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55713) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WN5Vj-0006X3-P8 for qemu-devel@nongnu.org; Mon, 10 Mar 2014 15:05:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WN5Vd-0001c4-S2 for qemu-devel@nongnu.org; Mon, 10 Mar 2014 15:05:15 -0400 From: Tom Musta Date: Mon, 10 Mar 2014 14:04:56 -0500 Message-Id: <1394478302-8474-1-git-send-email-tommusta@gmail.com> Subject: [Qemu-devel] [PATCH 0/6] Refactor AES Instructions List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Tom Musta , qemu-ppc@nongnu.org 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(-)