From f171ff88098ab563083f6ae0aba3479e8f86bbf1 Mon Sep 17 00:00:00 2001 From: Theo de Raadt Date: Sun, 1 Feb 2004 19:20:31 +0000 Subject: use VIA xstore-rng and xcrypt-* instructions, now that gas groks them --- sys/arch/i386/i386/machdep.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'sys/arch/i386') diff --git a/sys/arch/i386/i386/machdep.c b/sys/arch/i386/i386/machdep.c index 178b0b596ed..66186a600da 100644 --- a/sys/arch/i386/i386/machdep.c +++ b/sys/arch/i386/i386/machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: machdep.c,v 1.269 2004/02/01 19:16:54 deraadt Exp $ */ +/* $OpenBSD: machdep.c,v 1.270 2004/02/01 19:20:30 deraadt Exp $ */ /* $NetBSD: machdep.c,v 1.214 1996/11/10 03:16:17 thorpej Exp $ */ /*- @@ -1152,7 +1152,7 @@ viac3_rnd(void *v) * sure that we turn on maximum whitening (%edx[0,1] == "11"), so * that we get the best random data possible. */ - __asm __volatile ("rep;.byte 0x0F,0xA7,0xC0" + __asm __volatile("rep xstore-rng" : "=a" (rv) : "d" (3), "D" (buffer), "c" (len*sizeof(int)) : "memory", "cc"); @@ -1445,27 +1445,27 @@ viac3_crypto(void *cw, void *src, void *dst, void *key, int rep, /* Do the deed */ switch (type) { case VIAC3_CRYPTOP_RNG: - __asm __volatile("rep;.byte 0x0F,0xA7,0xC0" : + __asm __volatile("rep xstore-rng" : : "a" (iv), "b" (key), "c" (rep), "d" (cw), "S" (src), "D" (dst) : "memory", "cc"); break; case VIAC3_CRYPTOP_ECB: - __asm __volatile("rep;.byte 0x0F,0xA7,0xC8" : + __asm __volatile("rep xcrypt-ecb" : : "a" (iv), "b" (key), "c" (rep), "d" (cw), "S" (src), "D" (dst) : "memory", "cc"); break; case VIAC3_CRYPTOP_CBC: - __asm __volatile("rep;.byte 0x0F,0xA7,0xD0" : + __asm __volatile("rep xcrypt-cbc" : : "a" (iv), "b" (key), "c" (rep), "d" (cw), "S" (src), "D" (dst) : "memory", "cc"); break; case VIAC3_CRYPTOP_CFB: - __asm __volatile("rep;.byte 0x0F,0xA7,0xE0" : + __asm __volatile("rep xcrypt-cfb" : : "a" (iv), "b" (key), "c" (rep), "d" (cw), "S" (src), "D" (dst) : "memory", "cc"); break; case VIAC3_CRYPTOP_OFB: - __asm __volatile("rep;.byte 0x0F,0xA7,0xE8" : + __asm __volatile("rep xcrypt-ofb" : : "a" (iv), "b" (key), "c" (rep), "d" (cw), "S" (src), "D" (dst) : "memory", "cc"); break; -- cgit v1.2.3