diff options
author | Aurelien Jarno <aurelien@aurel32.net> | 2014-10-27 17:25:52 +0100 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2014-11-04 23:26:15 +0100 |
commit | 36cbde7c30ead127dcd7c03b96d4dabf10a6d6c5 (patch) | |
tree | cbe83ddf25a191ac6cbcc42010eb7630cf91de94 /target-ppc | |
parent | fdfb7f2cdb2d0ed364a8c8c538d0ece8c464b534 (diff) | |
download | qemu-36cbde7c30ead127dcd7c03b96d4dabf10a6d6c5.tar.gz qemu-36cbde7c30ead127dcd7c03b96d4dabf10a6d6c5.tar.bz2 qemu-36cbde7c30ead127dcd7c03b96d4dabf10a6d6c5.zip |
target-ppc: simplify AES emulation
This patch simplifies the AES code, by directly accessing the newly added
S-Box, InvS-Box tables instead of recreating them by using the AES_Te and
AES_Td tables.
Cc: Alexander Graf <agraf@suse.de>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Tested-by: Tom Musta <tommusta@gmail.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'target-ppc')
-rw-r--r-- | target-ppc/int_helper.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/target-ppc/int_helper.c b/target-ppc/int_helper.c index 83c1ad0654..1c7e0f1f77 100644 --- a/target-ppc/int_helper.c +++ b/target-ppc/int_helper.c @@ -2352,7 +2352,7 @@ void helper_vcipherlast(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b) int i; VECTOR_FOR_INORDER_I(i, u8) { - r->AVRB(i) = b->AVRB(i) ^ (AES_Te4[a->AVRB(AES_shifts[i])] & 0xFF); + r->AVRB(i) = b->AVRB(i) ^ (AES_sbox[a->AVRB(AES_shifts[i])]); } } @@ -2381,7 +2381,7 @@ void helper_vncipherlast(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b) int i; VECTOR_FOR_INORDER_I(i, u8) { - r->AVRB(i) = b->AVRB(i) ^ (AES_Td4[a->AVRB(AES_ishifts[i])] & 0xFF); + r->AVRB(i) = b->AVRB(i) ^ (AES_isbox[a->AVRB(AES_ishifts[i])]); } } |