-/*
+/*-
* Support for VIA PadLock Advanced Cryptography Engine (ACE)
* Written by Michal Ludvig <michal@logix.cz>
* http://www.logix.cz/michal
# if (defined(__GNUC__) && (defined(__i386__) || defined(__i386))) || \
(defined(_MSC_VER) && defined(_M_IX86))
# define COMPILE_HW_PADLOCK
-static ENGINE *ENGINE_padlock (void);
# endif
#endif
#ifdef OPENSSL_NO_DYNAMIC_ENGINE
+#ifdef COMPILE_HW_PADLOCK
+static ENGINE *ENGINE_padlock (void);
+#endif
void ENGINE_load_padlock (void)
{
return 1;
}
+#ifdef OPENSSL_NO_DYNAMIC_ENGINE
+
/* Constructor */
static ENGINE *
ENGINE_padlock(void)
return eng;
}
+#endif
+
/* Check availability of the engine */
static int
padlock_init(ENGINE *e)
static volatile struct padlock_cipher_data *padlock_saved_context;
#endif
-/*
+/*-
* =======================================================
* Inline assembler section(s).
* =======================================================
}
#ifndef OPENSSL_NO_AES
+#ifndef AES_ASM
/* Our own htonl()/ntohl() */
static inline void
padlock_bswapl(AES_KEY *ks)
}
}
#endif
+#endif
/* Force key reload from memory to the CPU microcode.
Loading EFLAGS from the stack clears EFLAGS[30]
return 1;
}
-/*
+/*-
* Simplified version of padlock_aes_cipher() used when
* 1) both input and output buffers are at aligned addresses.
* or when