summaryrefslogtreecommitdiff
path: root/target-ppc
diff options
context:
space:
mode:
authorAurelien Jarno <aurelien@aurel32.net>2014-10-27 17:25:52 +0100
committerAlexander Graf <agraf@suse.de>2014-11-04 23:26:15 +0100
commit36cbde7c30ead127dcd7c03b96d4dabf10a6d6c5 (patch)
treecbe83ddf25a191ac6cbcc42010eb7630cf91de94 /target-ppc
parentfdfb7f2cdb2d0ed364a8c8c538d0ece8c464b534 (diff)
downloadqemu-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.c4
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])]);
}
}