Use the already stored VIA RNG probe information

instead of probing again.
Adjust style(9) somewhat in probe.c

Reviewed by:	pjd
MFC after:	1 week
This commit is contained in:
Michael Reifenberger 2006-07-13 09:15:14 +00:00
parent 24af5900eb
commit 4fd58e10b2
2 changed files with 6 additions and 17 deletions

View File

@ -58,6 +58,8 @@ __FBSDID("$FreeBSD$");
#if defined(__i386__) && !defined(PC98)
#include <machine/cpufunc.h>
#include <machine/cputypes.h>
#include <machine/md_var.h>
#include <machine/specialreg.h>
#endif
#include <opencrypto/cryptodev.h>
@ -160,24 +162,11 @@ padlock_init(void)
{
struct padlock_softc *sc;
#if defined(__i386__) && !defined(PC98)
u_int regs[4];
int has_ace = 0;
if (cpu_class < CPUCLASS_586)
return (EINVAL);
do_cpuid(1, regs);
if ((regs[0] & 0xf) >= 3) {
do_cpuid(0xc0000000, regs);
if (regs[0] == 0xc0000001) {
do_cpuid(0xc0000001, regs);
if ((regs[3] & 0xc0) == 0xc0)
has_ace = 1;
}
}
if (!has_ace) {
if (!(via_feature_xcrypt & VIA_HAS_AES)) {
printf("PADLOCK: No ACE support.\n");
return (EINVAL);
}
} else
printf("PADLOCK: HW support loaded.\n");
#else
return (EINVAL);
#endif

View File

@ -56,7 +56,7 @@ random_ident_hardware(struct random_systat *systat)
/* Then go looking for hardware */
#if defined(__i386__) && !defined(PC98)
if( via_feature_rng & VIA_HAS_RNG ) {
if(via_feature_rng & VIA_HAS_RNG) {
*systat = random_nehemiah;
}
#endif